Updates builder

From Rosalab Wiki
Revision as of 17:02, 4 December 2012 by D uragan (Talk | contribs) (First version)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Updates-builder is a tool to automatically check for package updates and build them in ABF.

Example

Let's take "alleyoop" package as an example - we have version 0.9.7 and want to look for updates:

$ updates_builder.py --run-one alleyoop
<...>
alleyoop-0.9.8 https://sourceforge.net/projects/alleyoop/files/alleyoop/alleyoop-0.9.8/alleyoop-0.9.8.tar.gz
<...>
Creating a new spec file
Downloading file https://sourceforge.net/projects/alleyoop/files/alleyoop/alleyoop-0.9.8/alleyoop-0.9.8.tar.gz
done

Wow, update is available! updates_builder has downloaded the new tarball, pushed it to ABF file store, updated .abf.yml and spec files and initiated a new build.

All changes are applied in a separaet branch called 'auto_update'. The build is initiated for rosa2012.1 platform, but the result is pushed to import_personal repository. Moreover, currently resulting packages are not published - you should go to container to download them.

The next step is to check if the package has been built successfully (if you subscribed to ABF notifications, you will receive a mail about build results). If the built succeeded then you can download the resulting package and check if it works properly. If yes, then merge it to the repository

First, let's checkout the alleyoop project itself using abf-console-client:

$ abf get alleyoop; cd alleyoop
$ git checkout auto_update

Take a look at the updated .abf.yml and spec file and add/commit chanegs if necessary.

And now let's switch to rosa2012.1 branch and merge the changes there:

$ git checkout rosa2012.1
$ git merge auto_update
$ abf put -m "LOG Updated to 0.9.8"

That's all! Now you can initiate a build for rosa2012.1 platform from the rosa2012.1 branch, The package is updated!

Technical Details

To get information about new software releases, updates_builder uses http://upstream-tracker.org service. If you want updates_builder to monitor some package for which the upstream URL is missing - feel free to contact upstream-tracker.org authors.

To work with ABF, updates_builder uses ABF Console Client.