source: prologue/standards.xml@ c6c122eb

xry111/arm64
Last change on this file since c6c122eb was c6c122eb, checked in by Xi Ruoyao <xry111@…>, 7 hours ago

arm64: standards: Fix LSB info

The standard page wasn't adapted for ARM64 since day one. Remove
the references to IA32 and AMD64, and state there's no ARM64
specific part of LSB. Also we cannot satisify some (really
unreasonable) requirements on symbol versions with Glibc on ARM64.

Link: https://sourceware.org/bugzilla/show_bug.cgi?id=31136#c11

(cherry picked from commit adb257913e426c83c423d9f102c7a51a9cd63004)

Edited for ARM64.

  • Property mode set to 100644
File size: 8.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="pre-standards">
9 <?dbhtml filename="standards.html"?>
10
11 <title>LFS and Standards</title>
12
13 <!--<sect2>
14 <title/> -->
15
16 <para>The structure of LFS follows Linux standards as closely as
17 possible. The primary standards are:</para>
18
19 <itemizedlist>
20 <listitem>
21 <para><ulink url="https://pubs.opengroup.org/onlinepubs/9699919799/">
22 POSIX.1-2008</ulink>.</para>
23 </listitem>
24 <listitem>
25 <para><ulink
26 url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html">
27 Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para>
28
29 </listitem>
30 <listitem>
31 <para><ulink url="https://refspecs.linuxfoundation.org/lsb.shtml">Linux
32 Standard Base (LSB) Version 5.0 (2015)</ulink></para>
33
34 <para>The LSB has four separate specifications: Core, Desktop,
35 Languages, and Imaging. Some parts of Core and Desktop
36 specifications are architecture specific. There are also two trial
37 specifications: Gtk3 and Graphics. There's no architecture specific
38 parts for ARM64, and on ARM64 Glibc has intentionally left out
39 some symbol versions required by the architecture independant part of
40 LSB Core. So we cannot satisfy the LSB architecture independant
41 parts, but we still use them as a reference.</para>
42
43 <note><para>Many people do not agree with these requirements.
44 The main purpose of the LSB is to ensure that proprietary software
45 can be installed and run on a compliant system.
46 Since LFS is source based, the user has complete control over what
47 packages are desired; you may choose not to install some packages that
48 are specified by the LSB.</para></note>
49
50 </listitem>
51 </itemizedlist>
52
53 <para>While it is possible to create a complete system that will pass the LSB
54 certification tests <quote>from scratch,</quote> this can't be done without many additional packages
55 that are beyond the scope of the LFS book. Installation instructions for some of these
56 additional packages can be found in BLFS. </para>
57
58 <variablelist>
59 <bridgehead renderas="sect3">Packages supplied by LFS needed to
60 satisfy the LSB Requirements</bridgehead>
61 <?dbfo list-presentation="list"?>
62 <?dbhtml list-presentation="table"?>
63
64 <varlistentry>
65 <term><emphasis>LSB Core:</emphasis></term>
66 <listitem>
67 <para>
68 Bash, Bc, Binutils, Coreutils, Diffutils, File, Findutils, Gawk,
69 GCC, Gettext, Glibc, Grep, Gzip, M4, Man-DB, Procps, Psmisc,
70 Sed, Shadow, <phrase revision='sysv'>SysVinit</phrase><phrase
71 revision='systemd'>Systemd</phrase>, Tar, Util-linux, Zlib
72 </para>
73 </listitem>
74 </varlistentry>
75
76 <varlistentry>
77 <term><emphasis>LSB Desktop:</emphasis></term>
78 <listitem>
79 <para>None</para>
80 </listitem>
81 </varlistentry>
82
83 <varlistentry>
84 <term><emphasis>LSB Languages:</emphasis></term>
85 <listitem>
86 <para>Perl</para>
87 </listitem>
88 </varlistentry>
89
90 <varlistentry>
91 <term><emphasis>LSB Imaging:</emphasis></term>
92 <listitem>
93 <para>None</para>
94 </listitem>
95 </varlistentry>
96
97 <varlistentry>
98 <term><emphasis>LSB Gtk3 and LSB Graphics (Trial Use):</emphasis></term>
99 <listitem>
100 <para>None</para>
101 </listitem>
102 </varlistentry>
103
104 </variablelist>
105
106 <variablelist>
107 <bridgehead renderas="sect3">Packages supplied by BLFS needed to
108 satisfy the LSB Requirements</bridgehead>
109 <?dbfo list-presentation="list"?>
110 <?dbhtml list-presentation="table"?>
111
112 <varlistentry>
113 <term><emphasis>LSB Core:</emphasis></term>
114 <listitem>
115 <para>At, Batch (a part of At), BLFS Bash Startup Files, Cpio, Ed,
116 Fcrontab, LSB-Tools, NSPR, NSS, Linux-PAM, Pax, Sendmail
117 (or Postfix or Exim), Time
118 </para>
119 </listitem>
120 </varlistentry>
121
122 <varlistentry>
123 <term><emphasis>LSB Desktop:</emphasis></term>
124 <listitem>
125 <para>Alsa, ATK, Cairo, Desktop-file-utils, Freetype, Fontconfig,
126 Gdk-pixbuf, Glib2, GLU, Icon-naming-utils, Libjpeg-turbo,
127 Libxml2, Mesa, Pango, Xdg-utils, Xorg</para>
128 </listitem>
129 </varlistentry>
130
131 <varlistentry>
132 <term><emphasis>LSB Languages:</emphasis></term>
133 <listitem>
134 <para>Libxml2, Libxslt</para>
135 </listitem>
136 </varlistentry>
137
138 <varlistentry>
139 <term><emphasis>LSB Imaging:</emphasis></term>
140 <listitem>
141 <para>CUPS, Cups-filters, Ghostscript, SANE</para>
142 </listitem>
143 </varlistentry>
144
145 <varlistentry>
146 <term><emphasis>LSB Gtk3 and LSB Graphics (Trial Use):</emphasis></term>
147 <listitem>
148 <para>GTK+3</para>
149 </listitem>
150 </varlistentry>
151
152 </variablelist>
153
154 <variablelist>
155 <bridgehead renderas="sect3">Components not supplied or optionally
156 supplied by LFS or BLFS needed to satisfy the LSB
157 Requirements</bridgehead>
158 <?dbfo list-presentation="list"?>
159 <?dbhtml list-presentation="table"?>
160
161 <varlistentry>
162 <term><emphasis>LSB Core:</emphasis></term>
163 <listitem>
164 <para>
165 <command>install_initd</command>,
166 <filename class='libraryfile'>libc.so.6</filename>
167 (the file is provided by the LFS Glibc package but it lacks some
168 symbol versions required by LSB),
169 <filename class='libraryfile'>libcrypt.so.1</filename>
170 (can be provided with optional instructions for the LFS
171 Libxcrypt package),
172 <filename class='libraryfile'>libpthread.so.2</filename>
173 (the file is provided by the LFS Glibc package but it lacks some
174 symbol versions required by LSB),
175 <filename class='libraryfile'>libncurses.so.5</filename>
176 (can be provided with optional instructions for the LFS
177 Ncurses package),
178 <filename class='libraryfile'>libncursesw.so.5</filename>
179 (but <filename class='libraryfile'>libncursesw.so.6</filename>
180 is provided by the LFS Ncurses package),
181 <filename class='libraryfile'>librt.so.1</filename>
182 (the file is provided by the LFS Glibc package but it lacks some
183 symbol versions required by LSB)
184 </para>
185 </listitem>
186 </varlistentry>
187
188 <varlistentry>
189 <term><emphasis>LSB Desktop:</emphasis></term>
190 <listitem>
191 <para>
192 <filename class='libraryfile'>libgdk-x11-2.0</filename>
193 (but <filename class='libraryfile'>libgdk-3.so</filename>
194 is provided by the BLFS GTK+-3 package),
195 <filename class='libraryfile'>libgtk-x11-2.0</filename>
196 (but <filename class='libraryfile'>libgtk-3.so</filename>
197 and <filename class='libraryfile'>libgtk-4.so</filename>
198 are provided by the BLFS GTK+-3 and GTK-4 packages),
199 <filename class='libraryfile'>libpng12.so</filename>
200 (but <filename class='libraryfile'>libpng16.so</filename>
201 is provided by the BLFS Libpng package),
202 <filename class='libraryfile'>libQt*.so.4</filename>
203 (but <filename class='libraryfile'>libQt6*.so.6</filename>
204 are provided by the BLFS Qt6 package),
205 <filename class='libraryfile'>libtiff.so.4</filename>
206 (but <filename class='libraryfile'>libtiff.so.6</filename>
207 is provided by the BLFS Libtiff package)
208 </para>
209 </listitem>
210 </varlistentry>
211
212 <varlistentry>
213 <term><emphasis>LSB Languages:</emphasis></term>
214 <listitem>
215 <para><command>/usr/bin/python</command> (LSB requires Python2 but
216 LFS and BLFS only provide Python3)</para>
217 </listitem>
218 </varlistentry>
219
220 <varlistentry>
221 <term><emphasis>LSB Imaging:</emphasis></term>
222 <listitem>
223 <para>None</para>
224 </listitem>
225 </varlistentry>
226
227 <varlistentry>
228 <term><emphasis>LSB Gtk3 and LSB Graphics (Trial Use):</emphasis></term>
229 <listitem>
230 <para>
231 <filename class='libraryfile'>libpng15.so</filename>
232 (but <filename class='libraryfile'>libpng16.so</filename>
233 is provided by the BLFS Libpng package)
234 </para>
235 </listitem>
236 </varlistentry>
237
238 </variablelist>
239
240</sect1>
241
Note: See TracBrowser for help on using the repository browser.