lfs/prologue/standards.xml
Xi Ruoyao d77b09e5d0
standards: Fix it up to date
The info has been severly outdated.  And some info is even incorrect
from day one, for example even Glibc and GCC are not listed for LSB core
(they provide libc.so.6, libstdc++.so.6, etc.).
2024-09-26 03:10:31 +08:00

231 lines
8.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-standards">
<?dbhtml filename="standards.html"?>
<title>LFS and Standards</title>
<!--<sect2>
<title/> -->
<para>The structure of LFS follows Linux standards as closely as
possible. The primary standards are:</para>
<itemizedlist>
<listitem>
<para><ulink url="https://pubs.opengroup.org/onlinepubs/9699919799/">
POSIX.1-2008</ulink>.</para>
</listitem>
<listitem>
<para><ulink
url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html">
Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para>
</listitem>
<listitem>
<para><ulink url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux
Standard Base (LSB) Version 5.0 (2015)</ulink></para>
<para>The LSB has four separate specifications: Core, Desktop,
Languages, and Imaging. Some parts of Core and Desktop
specifications are architecture specific. There are also two trial
specifications: Gtk3 and Graphics. LFS attempts to conform to the LSB
specifications for the IA32 (32-bit x86) or AMD64 (x86_64)
architectures discussed in the previous section.</para>
<note><para>Many people do not agree with these requirements.
The main purpose of the LSB is to ensure that proprietary software
can be installed and run on a compliant system.
Since LFS is source based, the user has complete control over what
packages are desired; you may choose not to install some packages that
are specified by the LSB.</para></note>
</listitem>
</itemizedlist>
<para>While it is possible to create a complete system that will pass the LSB
certification tests <quote>from scratch,</quote> this can't be done without many additional packages
that are beyond the scope of the LFS book. Installation instructions for some of these
additional packages can be found in BLFS. </para>
<variablelist>
<bridgehead renderas="sect3">Packages supplied by LFS needed to
satisfy the LSB Requirements</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry>
<term><emphasis>LSB Core:</emphasis></term>
<listitem>
<para>
Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk,
GCC, Gettext, Glibc, Grep, Gzip, M4, Man-DB, Procps, Psmisc,
Sed, Shadow, <phrase revision='sysv'>SysVinit</phrase><phrase
revision='systemd'>Systemd</phrase>, Tar, Util-linux, Zlib
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Desktop:</emphasis></term>
<listitem>
<para>None</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Languages:</emphasis></term>
<listitem>
<para>Perl</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Imaging:</emphasis></term>
<listitem>
<para>None</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Gtk3 and LSB Graphics (Trial Use):</emphasis></term>
<listitem>
<para>None</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<bridgehead renderas="sect3">Packages supplied by BLFS needed to
satisfy the LSB Requirements</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry>
<term><emphasis>LSB Core:</emphasis></term>
<listitem>
<para>At, Batch (a part of At), BLFS Bash Startup Files, Cpio, Ed,
Fcrontab, LSB-Tools, NSPR, NSS, Linux-PAM, Pax, Sendmail
(or Postfix or Exim), Time
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Desktop:</emphasis></term>
<listitem>
<para>Alsa, ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig,
Gdk-pixbuf, Glib2, GLU, Icon-naming-utils, Libjpeg-turbo,
Libxml2, Mesa, Pango, Xdg-utils, Xorg</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Languages:</emphasis></term>
<listitem>
<para>Libxml2, Libxslt</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Imaging:</emphasis></term>
<listitem>
<para>CUPS, Cups-filters, Ghostscript, SANE</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Gtk3 and LSB Graphics (Trial Use):</emphasis></term>
<listitem>
<para>GTK+3</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<bridgehead renderas="sect3">Components not supplied or optionally
supplied by LFS or BLFS needed to satisfy the LSB
Requirements</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry>
<term><emphasis>LSB Core:</emphasis></term>
<listitem>
<para>
<command>install_initd</command>,
<filename class='libraryfile'>libcrypt.so.1</filename>
(can be provided with optional instructions for the LFS
Libxcrypt package),
<filename class='libraryfile'>libncurses.so.5</filename>
(can be provided with optional instructions for the LFS
Ncurses package),
<filename class='libraryfile'>libncursesw.so.5</filename>
(but <filename class='libraryfile'>libncursesw.so.6</filename>
is provided by the LFS Ncurses package)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Desktop:</emphasis></term>
<listitem>
<para>
<filename class='libraryfile'>libgdk-x11-2.0</filename>
(but <filename class='libraryfile'>libgdk-3.so</filename>
is provided by the BLFS GTK+-3 package),
<filename class='libraryfile'>libgtk-x11-2.0</filename>
(but <filename class='libraryfile'>libgtk-3.so</filename>
and <filename class='libraryfile'>libgtk-4.so</filename>
are provided by the BLFS GTK+-3 and GTK-4 packages),
<filename class='libraryfile'>libpng12.so</filename>
(but <filename class='libraryfile'>libpng16.so</filename>
is provided by the BLFS Libpng package),
<filename class='libraryfile'>libQt*.so.4</filename>
(but <filename class='libraryfile'>libQt6*.so.6</filename>
are provided by the BLFS Qt6 package),
<filename class='libraryfile'>libtiff.so.4</filename>
(but <filename class='libraryfile'>libtiff.so.6</filename>
is provided by the BLFS Libtiff package)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Languages:</emphasis></term>
<listitem>
<para><command>/usr/bin/python</command> (LSB requires Python2 but
LFS and BLFS only provide Python3)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Imaging:</emphasis></term>
<listitem>
<para>None</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Gtk3 and LSB Graphics (Trial Use):</emphasis></term>
<listitem>
<para>
<filename class='libraryfile'>libpng15.so</filename>
(but <filename class='libraryfile'>libpng16.so</filename>
is provided by the BLFS Libpng package)
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>