General ------- The dist-upgrader is designed to make upgrades for ubuntu (or similar distributions) easy and painless. It supports both network mode and cdrom upgrades. The cdromupgrade will ask if it should use the network or not. There is a wrapper script "cdromupgrade" (that assumes the file of the upgrade life in CDROM_ROOT/dists/stable/dist-upgrader/binary-all/) that can be put onto the CD and it will support upgrades directly from the CD. Environment ----------- The following environment variable will be *honored*: RELEASE_UPGRADE_NO_FORCE_OVERWRITE: - if that is set, no --force-overwrite is used RELEASE_UPRADER_NO_APPORT: - if that is set, apport is not run in case of package install falures RELEASE_UPGRADER_ALLOW_THIRD_PARTY: - if that is set, third party repositories will not be commented out but instead tried to be upgraded The following environment variable will be *set* by the upgrader: RELEASE_UPGRADE_IN_PROGRESS: - set to "1" if a release-upgrade is running (and not a normal package/security upgrade) RELEASE_UPGRADE_MODE: - either "desktop" or "server" Configuration ------------- The DistUpgrade.cfg format is based on the python ConfigParser. It supports the following sections: [View] - controls the output Depends: Packages that must be installed to the version specified (just like a regular depends line in a pkg). [$view-used] Depends: just like the global "view" depend but only evaluated when the specific view is in use [Distro] - global distribution specfic options BaseMetaPkgs: the basic meta-pkgs that must be installed (ubuntu-base usually) MetaPkgs: packages that define a "desktop" (e.g. ubuntu-desktop) PostUpgrade{Install,Remove,Purge}: action right after the upgrade was calculated in the cache (marking happens *before* the cache.commit()) ForcedObsoletes: Obsolete packages that the user is asked about after the upgrade (marking happens *after* the cache.commit()) RemoveEssentialOk: Those packages are ok to remove even though they are essential KeepInstalledPkgs: If the package was installed before, it should still be installed after the upgrade KeepInstalledSection: Packages from this section that were installed should always be installed afterwards as well (useful for eg translations) [$meta-pkg] KeyDependencies: Dependencies that are considered "key" dependencies of the meta-pkg to detect if it was installed but later removed by the user PostUpgrade{Install,Remove,Purge}: s.above ForcedObsoletes: s.above [Files] - file specific stuff [Sources] - how to rewrite the sources.list [Network] - network specific options [PreRequists] - use specific packages for dist-upgrade Packages= List of what packages to look for SourcesList=a sources.list fragment that will be placed into /etc/apt/sources.list.d and that contains the backported pkgs