LCFG Level Package Lists for SL5

This page explains the role of each of the LCFG level package lists - what should go in them, who maintains them, where the packages come from. It's intended as a reminder for MPU members but it may help other people too.

The Operating System

lcfg_sl5_base.rpms
This lists the RPMs constituting the operating system distribution. The person who ports LCFG to a new OS originates the base package list for that OS. After that the base package list is never changed. We take binary and source packages straight from the OS's home site. Packages live in the distro bucket. The OS maintainers build the packages, we don't rebuild them.

lcfg_sl5_updates.rpms
This lists the updated versions of the packages in the base list, as released from time to time by the OS maintainers for example to fix bugs. Updated OS RPMs are never added to the base list (which never changes), always to the updates list. Every package spec in the updates list is prefixed with a ? (man updaterpms: The ? prefix is used to replace a previously listed package, but only if a version was previously listed). The latest set of updates is always added to the end of the file. This ensures that more recent updates overwrite earlier updates of the same packages. New updates are added roughly weekly. The MPU does this (Stephen at the time of writing). Binary packages come from the OS's home site. We don't take source RPMs for updates. Packages go in the updates bucket. The OS maintainers build the packages. We just download them.

lcfg_sl5_testupdates.rpms
This is a temporary testing ground for new OS updates before they go into the main updates list. It's not installed on machines by default. Other than that the same rules apply as for the updates list.

lcfg_sl5_postship.rpms
The MPU changes this list. Packages are built by the OS maintainers and are obtained from their site; we just download them. We put them in the updates bucket. This list has two purposes:
  1. Packages which the OS maintainers have added to the OS since shipping it - packages not present in the original OS release - are added here.
  2. Packages which the OS maintainers have subsequently removed from the OS since shipping it are removed here.

lcfg_sl5_extras.rpms
This is a list of sl5 LCFG packages (mostly components) which are included via the LCFG headers rather than the package lists. No profile should ever include this whole list in the profile as it will almost certainly not be installable.. The lcfgweb component can only read package lists and not the headers so this is needed to ensure it has a complete list of packages which should be distributed via the LCFG website.

lcfg_sl5_xen.rpms
The OS-provided packages necessary for adding Xen virtualisation support to SL5 were separated off into this list. They're listed here in a separate list so that machines can optionally exclude them. See also https://wiki.lcfg.org/bin/view/LCFG/MonthlyMeetings#Xen_option

lcfg_sl5_removeinternational.rpms
Some machines need space saving on their disks. Others could do with a quicker install process. On these we remove a bunch of internationalisation packages which provide facilities in various other languages and alphabets. We remove these packages using this list. From time to time we get a support request to add support back for a language and when this happens we remove the requested packages from this list.

The Linux Kernel

lcfg_sl5_kernel.rpms
This lists the current kernel packages in use on SL5. It's maintained by the MPU.

LCFG

lcfg_sl5_lcfg.rpms
This list specifies the core LCFG packages which should be installed on every machine. It also lists the packages on which they depend ("prereqs") - however it only lists those prereqs which are not already listed in base, updates or postship (those don't need to be listed here - they're already installed). The list is changed by developers of core LCFG components. The LCFG packages are developed and built locally. The prereq packages are preferably already in the extras bucket. Failing that they are in order of decreasing desirability taken from the EPEL repository and submitted to the extras bucket; rebuilt from EPEL source (and submitted to the extras bucket?); or taken from elsewhere, for example perl packages made from CPAN with cpanspec. For more on getting packages see Simon's blog post Using packages from upstream. Packages from EPEL go into the extras bucket. Prereq packages from elsewhere which are not in the base distribution should be submitted to the lcfg bucket. EPEL packages in extras are built by the EPEL package maintainers - we just take binary packages and submit them. Any other external packages are rebuilt from source and in the context of lcfg prereqs should be submitted to the lcfg bucket.

lcfg_sl5_devel.rpms
This lists packages which are necessary for the development of LCFG components. They're listed here in a separate list so that machines can optionally exclude them. This list has the same maintenance and prereq rules as lcfg_sl5_lcfg.rpms.

The Install Process

To explain the role of the package lists it is first necessary to give a brief explanation of the install process. The PXE or CD image contains a small Linux installation called the installroot. When this is run, its task is to install a small Linux installation on the machine's disk. This second small Linux installation is called the installbase. When the machine boots its new installbase, the installbase installs the rest of the machine's packages and configuration. A final reboot finishes the install process.

The install package lists are all maintained by the MPU.

lcfg_sl5_lcfg_installroot.rpms
This lists the LCFG packages which are needed in the installroot, together with their prerequisite packages in the lcfg or extras buckets. (Prerequisites in distro or updates buckets are listed in lcfg_sl5_installroot.rpms instead.)

lcfg_sl5_installroot.rpms
This lists those standard upstream packages (those in the distro or updates buckets) which are needed in the installroot. This includes the packages in these buckets which are required by the installroot's LCFG packages.

lcfg_sl5_installbase.rpms
The non-LCFG packages to be installed as part of the installbase. This includes those standard packages (in distro or updates) which are depended on by the LCFG packages. Alongside these packages are installed all the packages in lcfg_sl5_lcfg.rpms

All these lists have the standard "updates" package list applied to them. For further details see the lcfg/options/installroot.h and lcfg/options/installbase.h headers. (And for the DICE level also look at dice/options/installbase.h)

-- ChrisCooke - 14 Oct 2008 -- StephenQuinney - 28 Oct 2008

Topic revision: r2 - 28 Oct 2008 - 12:47:38 - StephenQuinney
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies