lfs/prologue/standards.xml
Xi Ruoyao af6ea195fe
prologue/standards: rewrite LSB description
Well, somehow this paragraph has become too imprecise.

1. We don't support IA64.  Both Intel and AMD uses x86_64 now, which is
   referred as "AMD64" because it's first proposed by AMD.  Intel
   attempted to use IA64 (which is a VLIW architecture completely
   different with x86_64) to compete with AMD64, but failed.  Then Intel
   adapted x86_64.
2. The architecture specific part belongs to Core and Desktop.
3. LFS cannot conform to both AMD64 and IA32 because we don't support
   multilib.  It's "or", not "and".
2022-10-18 14:41:25 +08:00

193 lines
6.0 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!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,
Runtime 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 "from scratch", this can't be done without many additional packages
that are beyond the scope of the LFS book. Installation instructions for 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,
Grep, Gzip, M4, Man-DB, Ncurses, Procps, Psmisc, Sed,
Shadow, Tar, Util-linux, Zlib</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Desktop:</emphasis></term>
<listitem>
<para>None</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Runtime Languages:</emphasis></term>
<listitem>
<para>Perl, Python</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), Cpio, Ed, Fcrontab, LSB-Tools, NSPR,
NSS, 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, GTK+2, Icon-naming-utils, Libjpeg-turbo, Libpng, Libtiff,
Libxml2, MesaLib, Pango, Xdg-utils, Xorg</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Runtime 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">Packages not 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>None</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Desktop:</emphasis></term>
<listitem>
<para>Qt4 (but Qt5 is provided)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis>LSB Runtime Languages:</emphasis></term>
<listitem>
<para>None</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>
</sect1>