Service Pack Creator

Figur 8Service pack creator

This tool can be opened using Applications ▸ System Tools ▸ Service Pack Creator.

A service pack is a tarball which contains a set of packages and their dependencies. To explain better what a service pack is, it is best to show a few use-cases.

You can add multiple packages to a service pack by separating the package names with a comma, for instance hal,gnome-power-manager.

  1. You have seven desktops you've just installed with Fedora 9. Each one needs to have 204Mb of updates installed.
  2. You have a laptop that needs network drivers before it can download updates, and you have a similar up to date laptop with internet access nearby. The network drivers require a few dependencies, and other packages to be upgraded before they will install.
  3. You frequently install Linux on other peoples computers. You carry around a live-cd and a pendrive with a single 204Mb file Fedora-updates-SP1.servicepack which contains all the updates since last week.
  4. A free software magazine wants to distribute patent encumbered multimedia plugins and programs with the latest Fedora release DVD. They want a way in which even the most lazy user can get the things installed without much fuss.

Internally, the pack file is just an uncompressed tarball, with the packages and a single metadata.conf file inside. The metadata file is just the distribution identifier and the time of creation. This ensures you don't try installing a fedora-9-i386 service pack on a ubuntu-intrepid-ppc machine.

We need a destination file list because we not know what packages are installed on the destination computer. For example:

Figur 9Two example computers

Computer A has the following packages installed, and has internet access.

  • glib
  • dbus
  • dbus-glib
  • libgnome

Computer B has the following packages installed, and does not have internet access.

  • glib
  • dbus
  • kdebase
  • kdeapps

Computer B wants to have a service pack containing a new version of k3b so that it can burn DVD-RWs.

The k3b program has dependencies of dbus, dbus-glib and kdebase. Now, if we asked computer A to download k3b, it would download k3b and kdebase, but not dbus-glib. We need to provide computer A with the information about what packages computer B has got installed before we can create the service pack.

If we generate a package list on computer B, and the transfer it to computer A on a USB pendrive or CD-RW we can download the correct packages. In this case we would download k3b and dbus-glib and pack it into the new service pack.

The service pack can now be transferred from computer A to computer B on the USB pendrive.

The pkgenpack command line tool can also be used for creating service pack files.