skip to main content

LCFG: FC6 Notes

The alpha release of LCFG was released on Thursday 15th March 2007. You should always aim to use the latest release as fixes and improvements will be forthcoming on a weekly basis at this stage. This is the first LCFG release for fedora to feature complete support for i386 and x86_64 platforms from the beginning and we expect both architectures to be of equal quality. We are aiming to have a stable production quality desktop platform by 1st May 2007.

You should read the official release notes for a full guide to all the changes in FC6.

Basic Usage

For an i386 machine you should do something like:

#include <local/site.h>
#include <lcfg/os/fc6.h>

and for x86_64 you should do:

#include <local/site.h>
#include <lcfg/os/fc6_64.h>

Notable Changes

updaterpms

For FC6 we are using updaterpms version 3 on both architectures, previously this was only used on fc5/x86_64. To provide support for multi-arch platforms such as those for x86_64 machines this version no longer considers noarch as a possible default architecture. It will only ever default to the architecture of the platform, e.g. i386 or x86_64.

The latest version of the LCFG updaterpms component uses a new syntax when you want to add the same package in multiple architectures to an x86_64 machine. This handling of the new syntax has to be turned on through the resource updaterpms.translate. Currently translation is turned on for x86_64 but not for i386. The architecture needs to be put before the package name and separated with a forward-slash. For example:

i386/libstdc++-4.1.1-30
libstdc++-4.1.1-30
?i386/libstdc++-4.1.1-51.fc6
?libstdc++-4.1.1-51.fc6
?i386/libstdc++-devel-4.1.1-51.fc6
?libstdc++-devel-4.1.1-51.fc6

This has been done to work around limitations in the package list parsing code within the LCFG server. The old style for specifying the architecture is still supported and where possible this method should be preferred. For example:

kernel-2.6.18-1.2798.fc6/i686
kernel-devel-2.6.18-1.2798.fc6/i686
?setup-2.6.1.1-1.fc6/noarch

Note that using the old syntax where possible allows the sharing of package lists between different architectures. At some point work will probably be done on the LCFG server to handle multi-arch platforms and this new syntax will be deprecated.

Package Lists

At the ed level we have added two new package lists - ed_fc6_i386_env.rpms and ed_fc6_x86_64_env.rpms. These are for packages which are only available for that particular architecture. At the moment the only usage is for RealPlayer which cannot be used on x86_64 even with some i386 libraries installed.

kernel

The linux kernel no longer comes in separate uniprocessor and SMP versions on fedora. It will automatically detect the required version at boot time. For FC6 machines the kernel.kerneltype resource should no longer be set to SMP (or anything else). Not changing it will not cause any problems though as the kernel component will default to the kernel package if it cannot find a kernel-smp package on a system.

The current kernel is version 2.6.19 (soon to be 2.6.20), many users will be pleased to note that this gives us support for installing and running on the Dell Optiplex 745.

xorg

The version of xorg on FC6 can automatically detect many monitors and configure itself appropriately. We're not yet sure how good this is going to be but it certainly works for all the LCD screens we've tried. With this in mind if the xfree.monitor_main resource is set to auto then rather than the component trying to detect the monitor it will just not add a Monitor section to /etc/X11/xorg.conf so that X will do the detection.

Interestingly, if there is no xorg.conf file at all then X will autodetect the graphics card as well as the monitor. We need to use the file to specify the list of modules to load and the keyboard layout (it otherwise defaults to US layout) so we have not gone the whole way and left the file empty. If the file is used then specifying the video card is obligatory.

make

FC5 has make version 3.80, FC6 uses version 3.81. A number of major backwards-incompatible changes have been made between these two versions. A full description is available, note that to build packages for FC6 you will need the latest lcfg-buildtools. You will not be able to rebuild LCFG packages from FC5 by just installing the SRPM and then using rpmbuild.

subversion

FC5 has subversion version 1.3 and FC6 has version 1.4. If you use the 1.4 client on a working copy it will automatically, and silently, upgrade the format of various files in the .svn directories. After this upgrade you will not be able to use a 1.3 client on that working copy. The solution is to either only ever use the working copy on one platform or have separate working copies for each platform.

Other Issues

Excluded packages

Wherever possible we aim to install all the packages in the base of a Fedora platform. We have had to exclude some packages though as their running conflicts with the LCFG package management system. The list can be seen at the bottom of the package lists lcfg_fc6_base.rpms and lcfg_fc6_64_base.rpms. Currently the list is:

-anaconda-*-*
-anaconda-runtime-*-*
-busybox-anaconda-*-*
-pirut-*-*/noarch
-system-config-kickstart-*-*/noarch
-yum-updatesd-*-*/noarch

Additional Components

Beyond the default desktop for FC6 initially not all components will be supported. We will work on these mainly as we require them for our own services. If you need support sooner you are, of course, welcome to do the porting and feed back the necessary changes.

Components Removed

The symlink component has been deprecated for a long time on the fedora platforms. It will not be included in the fc6 release, you should convert any resources to use the file component instead.

Components no longer in default install

RPMs for a number of components are no longer installed by default. The intention is to only install non-core component RPMs when the component is added to the profile. A number of new lcfg/options/ headers have been added which should be used to add both component resources and packages to the profile. The current list of component RPMs that were added by default in fc5 but will not be in fc6 is: lcfg-amd, lcfg-ramdisk, lcfg-routing, lcfg-rsync, lcfg-schemes, lcfg-snmp.

Known Problems

The routing component is known to currently not work with the version of quagga in fc6.