This page is about a service for package maintainers to get notified in case rawhide does not contain the latest upstream release of their packages. In case upstream appears to be newer that the package currently in rawhide, a new bug like [[rhbug:733828|bug 733828]] is filed.

+

−

{{Admon/warning | Please only add your own packages here! | If you are not the maintainer or co-maintainer of a package, please do not add it here unless you were explicitly requested to do so by a maintainer/co-maintainer.}}

+

Get bug reports for a project's releases in Fedora's Bugzilla with three steps:

−

== Software ==

+

# Add the project to [https://release-monitoring.org anitya].

−

''cnucnu'' the software that monitors upstream releases is available at a [http://fedorapeople.org/gitweb?p=till/public_git/cnucnu.git;a=summary fedorapeople public git repository].

+

# Map the project to a Fedora package in [https://release-monitoring.org anitya].

+

# Enable the monitoring flag for that package in [https://admin.fedoraproject.org/pkgdb pkgdb2].

−

== The Basics ==

+

== Bugzilla bugs by the-new-hotness ==

−

=== How To Enable Version Checking for My Packages? ===

+

−

It is fairly simple. All you need to do is to add your package to the list at the end of this page, in the [[#PackagesList|List Of Packages]] section. Also you can add your package name to Check My Package Section and someone will eventually add your package to the list of packages.

It contains three fields: <code><package name></code>, <code><version regex></code> and <code><url></code>.

+

−

* <code><package name></code> - the name of your package

+

−

* <code><version regex></code> - The regular expression used to find the upstream versions of a package. An example is <code>\b<package name>[-_]([^-/_\s]+?)(?i)(?:[-_](?:src|source))?\.(?:tar|t[bglx]z|tbz2|zip)\b</code>, which usually works for packages distributed by sourceforge. An alias for this regular expression is <code>DEFAULT</code>. An alternative value for the package name can be set using a colon: <code>DEFAULT:foo</code>, e.g. if the tarball is called <code>pam-mount-1.33.tar.bz2</code>, but the Fedora package is <code>pam_mount</code>.

+

−

* <code><url></code> - contains an URL, where the upstream publishes release tarballs or mentions the latest version. For packages from sourceforge, <code>https://sourceforge.net/projects/<package name>/files/</code> with the above example regular expression often works. An alias for this URL is <code>SF-DEFAULT</code>. This alias will be updated in case future changes to sourceforge require a change. The name override works here, too. An attempt to replace all occurrences of <code>/*/</code> in the URL with the newest subdirectory at that level is made as well, which is useful for versioned subdirectories.

There are some URL aliases supported, that you can use instead of the normal URL. The "%s" formatstring is replaced by the package name or by the value specified after a colon, e.g. for the package pam_mount SF-DEFAULT:pam-mount is used. This is called "name-override".

* PEAR-DEFAULT: http://pear.php.net/package/%s/download (if name-override is not used, a "php-pear-" prefix is removed from the name)

+

−

* PECL-DEFAULT: http://pecl.php.net/package/%s/download (if name-override is not used, a "php-pecl-" prefix is removed from the name)

+

−

* LP-DEFAULT: https://launchpad.net/%s/+download

+

−

* GNOME-DEFAULT: http://download.gnome.org/sources/%s/*/

+

−

* RUBYGEMS-DEFAULT: http://rubygems.org/api/v1/gems/%s.json (if name-override is not used, a "rubygems-" prefix is removed from the name)

+

+

One of the core foundation of Fedora is "First" which implies having the latest

+

versions of software (in rawhide and sometimes in released branches), but as a

+

package maintainer it can be tedious to keep up with the releases from multiple

+

projects.

−

{{Anchor|HowToMakeRegex}}

+

Fedora thus offers a service to help with this. This service is divided into

+

three components:

−

=== How can I develop a regex? ===

+

* Anitya

−

{{Admon/warning | Command-line changes in Fedora 18 | Starting with Fedora 18 you need to use <code>cnucnu shell</code> to run the cnucnu shell.}}

+

* pkgdb2

−

<code>cnucnu --shell</code> can be used to interactively develop a regular expression. If your package is hosted at sourceforge, run it and try <code>name <package-name></code>, then it will show you the results for the default sourceforge URL and regular expression. If this does not work for your package or if your package is not hosted at sourceforge, you will be prompted for a URL and a regular expression.

+

* the-new-hotness

−

Here is an example session for bugzilla:

+

{{Admon/note|Previous Service|This service used to be managed by a tool called [https://fedorapeople.org/cgit/till/public_git/cnucnu.git/ cnucnu] which scraped a wiki page for what upstreams to monitor. You can find the old list of monitored packages in the history of this page.}}

It looks pretty good, but as you can see there are records like <code>'submit-0.5</code>' or <code>'STABLE'</code>, which are not good version strings. To improve it, you can make a simple change. Version always start with a number, so let's try to put it into the regex:

+

Available at [https://release-monitoring.org https://release-monitoring.org] it

−

<pre>

+

provides a web service where anyone can register a project and will broadcast a

{{Admon/warning | Don't forget to escape <code>(</code> and <code>)</code> chars! | You need to escape <code>(</code> and <code>)</code> chars because they are used on the page. Unescaped parenthesis are used by regex parser as grouping chars. So if you don't escape parenthesis, they will be included in version string (and this is unwanted). Read [http://docs.python.org/lib/re-syntax.html Regular Expressions Syntax] for more information.}}

+

−

{{Anchor|fever-check}}

+

This service is not specific to Fedora but we are using it as a way to learn

+

about new releases. Edit entries there to your heart's content.

−

=== Regex Aliases ===

+

Bugs, features request and patches should go to: https://github.com/fedora-infra/anitya/issues

[https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=VERIFIED&bug_status=RELEASE_PENDING&bug_status=POST&classification=Fedora&email1=upstream-release-monitoring%40fedoraproject.org&emailreporter1=1&emailtype1=substring&query_format=advanced&order=bug_id%20DESC&query_based_on= OPEN bugs]

+

When it receives a message indicating that a project has a new release, if that

+

project is mapped to a Fedora package, it will check in pkgdb2 if the Fedora

If the package is marked to be monitored, the-new-hotness will open a ticket

+

on [https://bugzilla.redhat.com Bugzilla] mentioning the

+

availability of the new release. It will then clone the git repository, bump

+

the version and reset the release, download the new sources (if it can) and

+

attempt a scratch build in koji.

−

== Last output log ==

+

The result of the scratch build is then added to the open bugzilla ticket.

−

[http://till.fedorapeople.org/tmp/cnucnu-last.log cnucnu-last.log]

+

Subsequent successful koji builds are added to the ticket as well.

−

== Feedback ==

−

If you have any questions or suggestions, you can contact [[User:till|Till Maas]].

−

{{Anchor|CheckMyPackage}}

+

Note: In some cases the scratch build will always fail

−

== Check My Package, please! ==

+

(for example if the Source0 in the spec file cannot be adjusted automatically), if

−

If you have no time to create your regex or you simple don't understand how to create it, you can add your package's name below and I will add your package to [[#PackagesList|List Of Packages]] section. It would be nice, if you added URL aside of your package name.

+

you wish to avoid receiving the notification that the scratch-build failed, you can

+

set the monitoring flag in pkgdb2 to ''nobuild'' (or ''Bugs only''). Then the bugzilla ticket will be

+

created upon finding a new version, but no scratch build will be made.

One of the core foundation of Fedora is "First" which implies having the latest
versions of software (in rawhide and sometimes in released branches), but as a
package maintainer it can be tedious to keep up with the releases from multiple
projects.

Fedora thus offers a service to help with this. This service is divided into
three components:

Anitya

pkgdb2

the-new-hotness

Previous ServiceThis service used to be managed by a tool called cnucnu which scraped a wiki page for what upstreams to monitor. You can find the old list of monitored packages in the history of this page.

Available at https://release-monitoring.org it
provides a web service where anyone can register a project and will broadcast a
fedmsg message when it finds a new release (checks are run
by cron twice a day).

This service is not specific to Fedora but we are using it as a way to learn
about new releases. Edit entries there to your heart's content.

When it receives a message indicating that a project has a new release, if that
project is mapped to a Fedora package, it will check in pkgdb2 if the Fedora
package is marked to be monitored.

If the package is marked to be monitored, the-new-hotness will open a ticket
on Bugzilla mentioning the
availability of the new release. It will then clone the git repository, bump
the version and reset the release, download the new sources (if it can) and
attempt a scratch build in koji.

The result of the scratch build is then added to the open bugzilla ticket.

Subsequent successful koji builds are added to the ticket as well.

Note: In some cases the scratch build will always fail
(for example if the Source0 in the spec file cannot be adjusted automatically), if
you wish to avoid receiving the notification that the scratch-build failed, you can
set the monitoring flag in pkgdb2 to nobuild (or Bugs only). Then the bugzilla ticket will be
created upon finding a new version, but no scratch build will be made.