source: introduction/welcome/conventions.xml@ 1e9ccfa

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 1e9ccfa was 1e9ccfa, checked in by David Bryant <davidbryant@…>, 19 months ago

Corrected for English idiom, cleaned up punctuation, etc. Added some white space.
Re-phrased a few things here and there, to improve clarity.

  • Property mode set to 100644
File size: 10.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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="conventions">
9 <?dbhtml filename="conventions.html"?>
10
11 <sect1info>
12 <date>$Date$</date>
13 </sect1info>
14
15 <title>Conventions Used in this Book</title>
16
17 <sect2>
18 <title>Typographical Conventions</title>
19 <para>To make things easy to follow, a number of conventions are used
20 throughout the book. Here are some examples:</para>
21
22<screen><userinput>./configure --prefix=/usr</userinput></screen>
23
24 <blockquote>
25 <para>This form of text should be typed exactly as shown unless
26 otherwise noted in the surrounding text. It is also used to identify
27 references to specific commands.</para>
28 </blockquote>
29
30<screen><computeroutput>install-info: unknown option
31`--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen>
32
33 <blockquote>
34 <para>This form of text (fixed width font) shows screen
35 output, probably the result of issuing a command. It is also used to
36 show filenames such as <filename>/boot/grub/grub.conf</filename></para>
37 </blockquote>
38
39 <para><emphasis>Emphasis</emphasis></para>
40
41 <blockquote>
42 <para>This form of text is used for several purposes,
43 but mainly to emphasize important points, or to give examples of
44 what to type.</para>
45 </blockquote>
46
47 <para><ulink url="https://www.&lfs-domainname;/"/></para>
48
49 <blockquote>
50 <para>This form of text is used for hypertext links external to
51 the book, such as HowTos, download locations, websites, etc.</para>
52 </blockquote>
53
54 <para><xref linkend="seamonkey"/></para>
55
56 <blockquote>
57 <para>This form of text is used for links internal to
58 the book, such as another section describing a different package.</para>
59 </blockquote>
60
61<screen><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"
62<literal>root:x:0:
63bin:x:1:
64......</literal>
65EOF</userinput></screen>
66
67 <blockquote>
68 <para>This style is mainly used when creating configuration
69 files. The first command (in bold) tells the system to create
70 the file <filename>$LFS/etc/group</filename> from whatever is typed on the
71 following lines, until the sequence EOF is encountered.
72 Therefore, this whole section is usually typed exactly as shown.
73 Remember, copy and paste is your friend!</para>
74 </blockquote>
75
76 <para><replaceable>&lt;REPLACED TEXT&gt;</replaceable></para>
77
78 <blockquote>
79 <para>This form of text is used to encapsulate text that should be
80 modified, and is not to be typed as shown, or copied and pasted.
81 The angle brackets are not part of the literal text; they are part of the
82 substitution.</para>
83 </blockquote>
84
85 <para><systemitem class='username'>root</systemitem></para>
86
87 <blockquote>
88 <para>This form of text is used to show a specific system user or group
89 reference in the instructions.</para>
90 </blockquote>
91
92 <para>&nbsp;</para> <!-- add extra white space to improve readability -->
93 </sect2>
94
95 <sect2>
96 <title>Conventions Used for Package Dependencies</title>
97
98 <para>When new packages are created, the software's authors depend on prior work. In
99 order to build a package in BLFS, these dependencies must be built before
100 the desired package can be compiled. For each package, prerequisites are listed
101 in one or more separate sections: Required, Recommended, and Optional.</para>
102
103 <bridgehead renderas="sect3">Required Dependencies</bridgehead>
104
105 <para>These dependencies are the bare minimum needed to
106 build the package. Packages in LFS, and the required
107 dependencies of these required packages, are omitted from this list.
108 Always remember to check for nested dependencies.</para>
109
110 <bridgehead renderas="sect3">Recommended Dependencies</bridgehead>
111
112 <para>These are dependencies the BLFS editors have determined
113 are important to give the package reasonable capabilities. Package
114 installation instructions assume they are installed. If a recommended
115 package is not installed, the instructions may require modification, to
116 accommodate the missing package.</para>
117
118 <bridgehead renderas="sect3">Optional Dependencies</bridgehead>
119
120 <para>These are dependencies the package <emphasis>may</emphasis> use. Integration
121 of optional dependencies may be automatic by the package, or
122 additional steps not presented by BLFS may be necessary. Optional dependencies are
123 sometimes listed without explicit BLFS instructions. In this case you must
124 determine how to perform the installation yourself. </para>
125
126 <para>&nbsp;</para> <!-- add extra white space to improve readability -->
127 </sect2>
128
129 <sect2>
130 <title>Conventions Used for Kernel Configuration Options</title>
131
132 <para>Some packages require specific kernel configuration options.
133 The general layout for these looks like this:</para>
134
135<screen><literal>Master section ---&gt;
136 Subsection ---&gt;
137 [*] Required parameter [CONFIG_REQU_PAR]
138 &lt;*&gt; Required parameter (not as module) [CONFIG_REQU_PAR_NMOD]
139 &lt;*/M&gt; Required parameter (could be a module) [CONFIG_REQU_PAR_MOD]
140 &lt;*/M/ &gt; Optional parameter [CONFIG_OPT_PAR]
141 [ ] Incompatible parameter [CONFIG_INCOMP_PAR]
142 &lt; &gt; Incompatible parameter (even as module) [CONFIG_INCOMP_PAR_MOD]</literal></screen>
143
144 <para>[CONFIG_...] on the right gives the name of the option, so you can
145 easily check whether it is set in your <filename>.config</filename> file.
146 The meaning of the various entries is:
147
148 <blockquote>
149 <informaltable frame='none'><tgroup cols="2">
150 <colspec align="left"/><colspec align="left"/><tbody>
151 <row>
152 <entry><emphasis role="bold">Master section</emphasis></entry>
153 <entry>top level menu item</entry>
154 </row>
155 <row>
156 <entry><emphasis role="bold">Subsection</emphasis></entry>
157 <entry>submenu item</entry>
158 </row>
159 <row>
160 <entry>
161 <emphasis role="bold">Required parameter</emphasis></entry>
162 <entry>
163 the option can either be built-in, or not selected: it must be
164 selected
165 </entry>
166 </row>
167 <row>
168 <entry>
169 <emphasis role="bold">Required parameter (not as
170 module)</emphasis>
171 </entry>
172 <entry>
173 the option can be built-in, a module, or not selected (tri-state):
174 it must be selected as built-in
175 </entry>
176 </row>
177 <row>
178 <entry>
179 <emphasis role="bold">Required parameter (could be
180 a module)</emphasis>
181 </entry>
182 <entry>
183 the option can be built-in, a module, or not selected:
184 it must be selected, either as built-in or as a module
185 </entry>
186 </row>
187 <row>
188 <entry>
189 <emphasis role="bold">Optional parameter</emphasis>
190 </entry>
191 <entry>
192 rarely used: the option can be built-in, a module, or not
193 selected: it may be set any way you wish
194 </entry>
195 </row>
196 <row>
197 <entry>
198 <emphasis role="bold">Incompatible parameter</emphasis>
199 </entry>
200 <entry>
201 the option can either be built-in or not selected: it must
202 <emphasis>not</emphasis> be selected
203 </entry>
204 </row>
205 <row>
206 <entry>
207 <emphasis role="bold">Incompatible parameter (even as module)</emphasis>
208 </entry>
209 <entry>
210 the option can be built-in, a module, or not selected:
211 it must <emphasis>not</emphasis> be selected
212 </entry>
213 </row>
214 </tbody></tgroup></informaltable>
215 </blockquote>
216 </para>
217
218 <para>Note that, depending on other selections, the angle brackets
219 (&lt;&gt;) in the configuration menu may appear as braces ({}) if the option cannot be unselected,
220 or even as dashes (-*- or -M-), when the choice is imposed.
221 The help text describing the option specifies the other selections on which this
222 option relies, and how those other selections are set.</para>
223
224 <para>&nbsp;</para> <!-- add extra white space to improve readability -->
225 </sect2>
226
227 <sect2>
228 <title>SBU values in BLFS</title>
229
230 <para>As in LFS, each package in BLFS has a build time listed in Standard
231 Build Units (SBUs). These times are relative to the time it took to build
232 binutils in LFS, and are intended to provide some insight into how long it
233 will take to build a package. Most times listed are for a single processor
234 or core to build the package. In some cases, large, long running builds
235 tested on multi-core systems have SBU times listed with comments such
236 as '(parallelism=4)'. These values indicate testing was done using
237 multiple cores. Note that while this speeds up the build on systems with
238 the appropriate hardware, the speedup is not linear and to some extent
239 depends on the individual package and the specific hardware used. </para>
240
241 <para>For packages which use ninja (i.e., anything using meson) or rust, by
242 default all cores are used; similar comments will be seen on such packages
243 even when the build time is minimal.</para>
244
245 <para>Where even a parallel build takes more than 15 SBU, on certain
246 machines the time may be considerably greater even when the build does not
247 use swap. In particular, different micro-architectures will build some
248 files at different relative speeds, and this can introduce delays when
249 certain make targets wait for another file to be created. Where a large
250 build uses a lot of C++ files, processors with Simultaneous Multi Threading
251 will share the Floating Point Unit and can take 45% longer than when using
252 four 'prime' cores (measured on an intel i7 using taskset and keeping the
253 other cores idle).</para>
254
255 <para>Some packages do not support parallel builds; for these, the
256 make command must specify -j1. Packages that are known to impose such limits are
257 so marked in the text.</para>
258
259 </sect2>
260
261</sect1>
Note: See TracBrowser for help on using the repository browser.