lfs/prologue/standards.xml

231 lines
8.0 KiB
XML
Raw Permalink Normal View History

2024-01-18 19:53:23 +00:00
<?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>
2022-09-05 02:52:05 +01:00
<para><ulink url="https://pubs.opengroup.org/onlinepubs/9699919799/">
POSIX.1-2008</ulink>.</para>
</listitem>
<listitem>
<para><ulink
2022-09-05 02:52:05 +01:00
url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html">
Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para>
</listitem>
<listitem>
2022-09-05 02:52:05 +01:00
<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.so</filename>
(but <filename class='libraryfile'>libgdk-3.so</filename>
is provided by the BLFS GTK+-3 package),
<filename class='libraryfile'>libgtk-x11-2.0.so</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>