Skip navigation.
Home

Background software updates

Having Zero Install check for updates once a month or so is handy, as it keeps you up-to-date, but it's pretty annoying that you have to wait for the check just when you're trying to start a program. Especially if there aren't any updates available anyway! I've just committed some new code to do the checking in the background, using the D-BUS notification daemon to let you know if there are updates. This screenshot shows what happens when I run Inkscape:

Updates ready to download for Inkscape

Inkscape 0.44 ran immediately, but (as I hadn't checked it for over a month) a background process was also started. After a couple of seconds, it discovered that version 0.45 is now available and offered me the option to download it.

This does mean that there are rather a lot of special cases now when you try to run something:

  • If we don't have enough information to start it, switch to GUI mode and download the XML while the user waits.
  • If we have enough information, run the program immediately. If the information is rather out-of-date (older than the configured 'freshness' setting), start a background process to check.
  • Any updates signed with a key you trust are imported. If any updates require confirmation, the GUI is launched so you can do that (this is pretty rare; perhaps the program has a new maintainer).
  • If no key confirmation was required, but the policy means that a non-cached version will be chosen next time the program is run, prompt the user to download it now, unless there's no notification daemon in which case the user will be notified next time they run the program.

I could use some help testing this! You can grab the latest version from svn like this:

$ svn co https://zero-install.svn.sourceforge.net/svnroot/zero-install/trunk/0launch
$ cd 0launch
$ sudo python setup.py install

If you don't have the svn command, you can get that through Zero Install too!

$ 0alias svn http://0install.net/2007/3rd-party/Subversion.xml

Just tried it (background updates)

Just tried it and I still get the foreground checking. Is there something I need to do to enable it?

Background updates

No nothing special is required.

It has to be under normal use, though (not using --refresh or similar), and it has to be able to run the program already without downloading anything first.

0install svn

My 0install of subversion halts with the following error:

Error downloading 'libpq4_8.1.5-2_i386.deb':
Error downloading 'http://ftp.uk.debian.org/debian/pool/main/p/postgresql-8.1/libpq4_8.1.5-2_i386.deb': HTTP Error 404: Not Found

Deb not found

I've switched to another mirror. However, sf.net's shell server is down at the moment so I can't update the live copy of the feed :-(

However, you can get the new version like this:

$ wget 'http://zero-install.svn.sourceforge.net/viewvc/*checkout*/zero-install/trunk/htdocs/2007/3rd-party/libpq4.xml?revision=1516'
$ 0launch --import 'libpq4.xml?revision=1516'

Syndicate content