source: prologue/standards.xml@ adb2579

xry111/loongarch
Last change on this file since adb2579 was adb2579, checked in by Xi Ruoyao <xry111@…>, 2 weeks ago

loongarch: standards: Fix LSB info

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

By the way drop libutil.so.1 from Glibc contents as it does not exist on
LoongArch.

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

  • Property mode set to 100644
File size: 8.9 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 LoongArch, and on LoongArch 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 <filename class='libraryfile'>libutil.so.1</filename>
185 (can be provided as a symlink to
186 <filename class='libraryfile'>libc.so.6</filename>)
187 </para>
188 </listitem>
189 </varlistentry>
190
191 <varlistentry>
192 <term><emphasis>LSB Desktop:</emphasis></term>
193 <listitem>
194 <para>
195 <filename class='libraryfile'>libgdk-x11-2.0</filename>
196 (but <filename class='libraryfile'>libgdk-3.so</filename>
197 is provided by the BLFS GTK+-3 package),
198 <filename class='libraryfile'>libgtk-x11-2.0</filename>
199 (but <filename class='libraryfile'>libgtk-3.so</filename>
200 and <filename class='libraryfile'>libgtk-4.so</filename>
201 are provided by the BLFS GTK+-3 and GTK-4 packages),
202 <filename class='libraryfile'>libpng12.so</filename>
203 (but <filename class='libraryfile'>libpng16.so</filename>
204 is provided by the BLFS Libpng package),
205 <filename class='libraryfile'>libQt*.so.4</filename>
206 (but <filename class='libraryfile'>libQt6*.so.6</filename>
207 are provided by the BLFS Qt6 package),
208 <filename class='libraryfile'>libtiff.so.4</filename>
209 (but <filename class='libraryfile'>libtiff.so.6</filename>
210 is provided by the BLFS Libtiff package)
211 </para>
212 </listitem>
213 </varlistentry>
214
215 <varlistentry>
216 <term><emphasis>LSB Languages:</emphasis></term>
217 <listitem>
218 <para><command>/usr/bin/python</command> (LSB requires Python2 but
219 LFS and BLFS only provide Python3)</para>
220 </listitem>
221 </varlistentry>
222
223 <varlistentry>
224 <term><emphasis>LSB Imaging:</emphasis></term>
225 <listitem>
226 <para>None</para>
227 </listitem>
228 </varlistentry>
229
230 <varlistentry>
231 <term><emphasis>LSB Gtk3 and LSB Graphics (Trial Use):</emphasis></term>
232 <listitem>
233 <para>
234 <filename class='libraryfile'>libpng15.so</filename>
235 (but <filename class='libraryfile'>libpng16.so</filename>
236 is provided by the BLFS Libpng package)
237 </para>
238 </listitem>
239 </varlistentry>
240
241 </variablelist>
242
243</sect1>
244
Note: See TracBrowser for help on using the repository browser.