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?
I might be over optimising here, but I think that 2b and 2c could be problematic. If I understand it, g-v-m is labelled as one of the power drains according to power top because it polls the CD-ROM device incessantly. Reduplicating that code in PackageKit could be asking for trouble. I think it would be best if package kit just responded to an event, “Install From CD”. It might not even have to be so complicated, rather just an “Install From Here” and rely on the client space to lock the CD tray, to reduce core dependencies.