Service Packs and PackageKit

Microsoft Windows has the concept of service packs, i.e. a large package containing all the fixes to date. Service packs are really useful if a computer only has no (or slow) network connectivity and the whole system has to be updated on multiple computers.

I think some sort of PackageKit integration with a “service pack” type DVD/CD would be useful. Note, this concept is totally different to one click install, as it has a different perspective.

I think the ideal use case is this:

  • [1] insert CD/DVD/PenDrive with service pack .debs and .rpms on
  • [2a] cdrom is autorun by gnome-volume-manager and the location passed to gnome-packagekit to initiate a service pack update
  • [2b] gnome-packagekit watches for a cdrom to be inserted
  • [2c] packagekitd watches for a cdrom to be inserted and triggers a client side signal (means client doesn't have dep on libhal, and the daemon can Lock() the cd device from ejecting when the transaction starts)
  • [2d] gvfs does a new-fangled thing for autolaunch and tells gnome-packagekit
  • [3] gnome-packagekit asks the user to confirm it's valid update media, asks for PolicyKit auth and runs the ServicePack() backend method on the media device.

For [2] we'll need an identifier that can be recognized by PackageKit, maybe just the presence of the file packagekit-autostart.ini on the CDROM or DVD. The format of this file can be trivial, something like:

[PackageKit Autostart Section]
DataLocation=Fedora/updates/rpm
DistroName=Fedora8

For [3] we can make the ServicePack() method just do something like “yum local update /media/DiscFoo/Fedora/updates/rpm/*.rpm” (backend specific, and within yumBackend obviously).

Michael Vogt has already worked on add-on cds for Ubuntu, and I think there's some momentum for this for Fedora also. I really think this could rock.  I'm also after a better name than ServicePack, maybe UpdateMedia or UpdatePack might be better choices.

Comments?