You are here

LCFG Fedora 12 port (inf level)

Project ID: 
Current stage: 

Description: Develop Inf level support for Fedora 12.

This is preparatory work for the RHEL 6 based distribution project.

Deliverables: This project will deliver an Inf level managed version of the Fedora 12
distribution. It will target the 32 bit desktop but most packages will also be built and submitted for 64 bit. It will utilise DICE authentication/authorization and name services in client mode (no local services). AFS home directories will be supported.


Customer: This project is concerned with preparing for the RHEL 6 based distribution project so there is
no end customer.

However, the project's deliverable could be made available to end users who are currently being obliged to move off the current SL5 based DICE due to SL5's age.

Case statement: RHEL 6 is not expected until 2010 Q2. This will be too late to develop a full DICE platform in time for deployment in June/July 2010. There are strong
indications that RHEL 6 will be based on Fedora 12, so working on a Fedora 12
port in 2010 Q1 will, in effect, allow us to start the RHEL 6 port early.



Timescales: Around 8 weeks.

Priority: This project will tackle a large part of the work that would otherwise have to be done in project 131, the inf level port of LCFG to an RHEL 6 based distribution.




Resources: A couple of desktop machines and some space in the configuration and package repositories.

Plan: This is more or less how it should go:

  1. Install F12 (1 day)
    • Standard F12 desktop machine
    • Get onto the Informatics network.
    • Authentication with kerberos
    • Directory services from ldap.
    • AFS filesystem access.
    • Set up Mock for automated builds.
  2. RPM repositories (0.5 day)
    • Set up a site mirror of Fedora 12 (from which buckets will be populated and the package lists generated)
    • Create repository directory structure
    • Populate base, updates (if necessary)
  3. Package lists (2 days)
    • Create lists for F12 base, updates
    • Create empty lists for lcfg components
  4. Essential headers (0.5 day)
    • Create any essential headers for the platform
    • Add basics to lcfg/defaults/profile.h and lcfg/defaults/updaterpms.h
  5. Auto-build and run tests for all LCFG components (2 days). Also
    auto-build openssh with our patches.
  6. Create basic development platform (3 days)
    • Develop Inf level to create a basic profile with most components
    • lcfg-utils and lcfg-utils-devel
    • lcfg-pkgtools & lcfg-pkgtools-devel
    • perl-LCFG-PkgTools
    • perl-LCFG-PkgUtils
    • perl-LCFG-Utils
    • lcfg-ngeneric
    • lcfg-client
    • lcfg-file
    • lcfg-sysinfo
    • lcfg-logserver
    • lcfg-authorize
    • lcfg-om
    • pkgsubmit
    • updaterpms
    • lcfg-updaterpms
  7. Components necessary to keep a machine LCFG managed (2 days)
    • Go through boot procedure and check default configuration for platform
    • lcfg-auth
    • lcfg-boot
    • lcfg-cron
    • lcfg-etcservices
    • lcfg-init
    • lcfg-lcfginit
    • lcfg-nsu
    • lcfg-pam
    • lcfg-syslog
    • lcfg-tcpwrappers
    • lcfg-defetc-f12 (needed by lcfg-auth. Most things can be built from existing SRPMs but that package will have to be built from scratch using the passwd and group files from an F12 installation.)
  8. Components for auth/authz, directory services and dns in client mode. (2 days)
    • DNS (using lcfg-resolvconf)
    • DNS (using lcfg-dns) (see project 167)
    • Kerberos (not using lcfg-kerberos)
    • Kerberos (using lcfg-kerberos) (see project 167)
    • lcfg-openafs
    • lcfg-nsswitch
    • NTP (not using lcfg-ntp)
    • NTP (using lcfg-ntp) (see project 167)
    • LDAP (not using lcfg-openldap)
    • LDAP (using lcfg-openldap) (see project 167)
    • lcfg-openssh
    • lcfg-cyrussasl
  9. X support. (1 day)
    • lcfg-gdm
    • lcfg-xfree if necessary
  10. Other components, mainly just auto-build and install. (1 day)
    • lcfg-alias
    • lcfg-mailng
    • lcfg-mailcap
    • lcfg-prelink
    • lcfg-sleep
  11. Installation systems (4 days)
    • lcfg-fstab
    • lcfg-grub
    • lcfg-hardware
    • lcfg-install
    • lcfg-installfixups
    • lcfg-kernel
    • lcfg-network
    • Create installroot and installbase package lists
    • Build, install and test lcfg-buildinstallroot
    • Set up PXE, installer, etc
  12. Port MPU managed resources to the DICE level. (3 days)
  13. Document new platforms (2 days)
  14. Package LCFG Build Tools for F12
  15. Add Fedora 12 to the list of supported platforms on the LCFG website.

Dependencies: The installroot work is dependent on the completion of project 68, the
LCFG Linux install redevelopment project (devproj).

Apart from that Fedora 12 is already out so this project isn't waiting for anything else except the availability of human time to work on it.



Proposed date Achieved date Name Description
2010-03-11 2010-02-09 install Install Fedora 12
2010-02-10 2010-02-10 repo Create RPM repositories
2010-02-23 2010-02-16 lists Create package lists
2010-02-24 2010-02-17 essential Create essential headers
2010-03-12 2010-02-23 build Auto-build components
2010-03-12 2010-03-04 basic Create basic development platform
2010-04-15 2010-03-10 lcfg Components necessary to keep machine LCFG managed
2010-05-06 2010-03-16 auth Components for auth, directory services
2010-05-01 2010-03-18 X X support
2010-05-01 2010-03-22 other Other components
2010-05-06 2010-04-01 installation Installation systems
2010-04-15 2010-04-09 mpu Port MPU managed resources to DICE level
2010-04-15 2010-04-15 doc Document new platform
2010-04-16 buildtools Port build tools
2010-04-16 web Add Fedora 12 to supported platforms list on web