The structure of LFS follows Linux standards as closely as possible. The primary standards are:
Linux Standard Base (LSB) Specifications
The LSB has five separate standards: Core, C++, Desktop, Runtime Languages, and Printing. In addition to generic requirements there are also architecture specific requirements. LFS attempts to conform to the architectures discussed in the previous section.
Many people do not agree with the requirements of the LSB. The main purpose of defining it is to ensure that proprietary software will be able to be installed and run properly on a compliant system. Since LFS is source based, the user has complete control over what packages are desired and many choose not to install some packages that are specified by the LSB.
Creating a complete LFS system capable of passing the LSB certifications tests is possible, but not without many additional packages that are beyond the scope of LFS. These additional packages have installation instructions in BLFS.
LSB Core: |
Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk, Grep, Gzip, M4, Man-DB, Ncurses, Procps, Psmisc, Sed, Shadow, Tar, Util-linux, Zlib |
LSB C++: |
Gcc |
LSB Desktop: |
None |
LSB Runtime Languages: |
Perl |
LSB Printing: |
None |
LSB Multimeda: |
None |
LSB Core: |
At, Batch (a part of At), Cpio, Ed, Fcrontab, Initd-tools, Lsb_release, PAM, Sendmail (or Postfix or Exim) |
LSB C++: |
None |
LSB Desktop: |
ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig, Glib2, GTK+2, Icon-naming-utils, Libjpeg, Libpng, Libxml2, MesaLib, Pango, Qt4, Xorg |
LSB Runtime Languages: |
Python |
LSB Printing: |
CUPS |
LSB Multimeda: |
Alsa Libraries, NSPR, NSS, OpenSSL, Java, Xdg-utils |
LSB Core: |
time (executable) and pax |
LSB C++: |
None |
LSB Desktop: |
Qt3 |
LSB Runtime Languages: |
None |
LSB Printing: |
None |
LSB Multimeda: |
None |