source: BOOK/appendices/rationale/common.xml@ 507ded8

clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 507ded8 was 507ded8, checked in by William Harrington <kb0iic@…>, 11 years ago

Add Man-DB entry for rationale.

  • Property mode set to 100644
File size: 13.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE appendix 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<appendix id="appendixd-common" xreflabel="Appendix D">
9 <?dbhtml dir="appendixd"?>
10 <?dbhtml filename="rationale-common.html"?>
11
12 <title>Package Rationale</title>
13
14 <para>CLFS includes many packages, a number of which might not necessarily
15 be required for a "minimal" system, but still considered very useful. The
16 purpose of this page is to list the reasoning for each package's inclusion
17 in the book.</para>
18
19 <itemizedlist>
20
21 <listitem>
22 <para>ACL</para>
23 <para>The ACL package allows usage and setting of POSIX Access Control
24 Lists. It can be used by several other packages in CLFS, such as Coreutils
25 and Systemd.</para>
26 </listitem>
27
28 <listitem>
29 <para>Attr</para>
30 <para>Attr allows setting and viewing extended attributes of filesystem
31 objects. It is required by Systemd..</para>
32 </listitem>
33
34 <listitem>
35 <para>Autoconf</para>
36 <para>The Autoconf package contains programs for producing shell scripts
37 that can automatically configure source code. This is useful for software
38 developers, as well as anyone who wants to install packages that don't
39 come with a configure script, such as some of the packages in CBLFS.</para>
40 </listitem>
41
42 <listitem>
43 <para>Automake</para>
44 <para>The Automake package contains programs for generating Makefiles for use with Autoconf. This can be useful to software developers.</para>
45 </listitem>
46
47 <listitem>
48 <para>Bash</para>
49 <para>This package contains the Bourne-Again SHell. A shell is an
50 important component of a Linux system, as there must be some way of
51 allowing the users to enter commands.</para>
52 </listitem>
53
54 <listitem>
55 <para>Bc</para>
56 <para>This package contains a precision calculator. The Linux kernel
57 uses Bc to render the timeconst header.</para>
58 </listitem>
59
60
61 <listitem>
62 <para>Binutils</para>
63 <para>This package contains programs for handling object files. The
64 programs in this package are needed for compiling most of the packages
65 in CLFS.</para>
66 </listitem>
67
68 <listitem>
69 <para>Bison</para>
70 <para>This package contains programs that are required by several packages in CLFS.</para>
71 </listitem>
72
73 <listitem>
74 <para>Bzip2</para>
75 <para>The programs in this package are useful for compressing files to
76 reduce size. They are also needed to uncompress tarballs for many
77 CLFS packages.</para>
78 </listitem>
79
80 <listitem>
81 <para>CLFS-Boot-scripts</para>
82 <para>This package contains a number of scripts that run at boottime,
83 performing essential tasks such as mounting/checking filesystems and
84 starting the network interface.</para>
85 </listitem>
86
87 <listitem>
88 <para>Check</para>
89 <para>This package contains a test harness for other programs. It is
90 used for some packages' testsuites.</para>
91 </listitem>
92
93 <listitem>
94 <para>CLooG</para>
95 <para>This package is used by GCC.</para>
96 </listitem>
97
98 <listitem>
99 <para>Coreutils</para>
100 <para>This package contains many basic command-line file-management
101 tools, required for installation of every package in CLFS.</para>
102 </listitem>
103
104 <listitem>
105 <para>D-Bus</para>
106 <para>D-Bus is a message bus system, which allows applications to
107 communicate to each other. It is required by Systemd.</para>
108 </listitem>
109
110 <listitem>
111 <para>DejaGNU</para>
112 <para>This package is needed for the testsuites of several packages,
113 especially GCC and Binutils.</para>
114 </listitem>
115
116 <listitem>
117 <para>DHCPCD</para>
118 <para>This package allows for automatic configuration of network
119 interfaces from a DHCP server. It (or some other package providing a
120 DHCP client is needed to connect to a DHCP server.</para>
121 </listitem>
122
123 <listitem>
124 <para>Diffutils</para>
125 <para>This package contains programs to compare files, and can also
126 be used to create patches. It is required by the installation procedures of
127 many CLFS packages.</para>
128 </listitem>
129
130 <listitem>
131 <para>Glibc</para>
132 <para>Any dynamically-linked C program (which is nearly everything
133 in CLFS) needs a C library to compile and run.</para>
134 </listitem>
135
136 <listitem>
137 <para>Eudev</para>
138 <para>This is a package that allows for dynamic creation of device nodes.
139 It is a fork of Udev, which is now part of Systemd. It is still
140 used for the "Boot" method in the temp-system, as Systemd is not needed
141 there.</para>
142 </listitem>
143
144 <listitem>
145 <para>Expect</para>
146 <para>This package is needed for the testsuites for several packages.</para>
147 </listitem>
148
149 <listitem>
150 <para>E2fsprogs</para>
151 <para>The programs in this package are used for the creation and
152 maintenance of ext2/3/4 filesystems.</para>
153 </listitem>
154
155 <listitem>
156 <para>File</para>
157 <para>This package contains a program that determines the type of
158 a given file. It is needed by some CLFS packages.</para>
159 </listitem>
160
161 <listitem>
162 <para>Findutils</para>
163 <para>This package contains programs for finding files based on certain
164 criteria, and optionally performing commands on them. Used by the
165 installation procedures of many CLFS packages.</para>
166 </listitem>
167
168 <listitem>
169 <para>Flex</para>
170 <para>This package contains a tool for generating text scanners. It is
171 used by multiple packages in CLFS</para>
172 </listitem>
173
174 <listitem>
175 <para>Gawk</para>
176 <para>This package contains programs for manipulating text files, using
177 the AWK language. It is used by the installation procedures of many
178 packages in CLFS.</para>
179 </listitem>
180
181 <listitem>
182 <para>Gcc</para>
183 <para>This package contains a C compiler, which is required to compile
184 most of the packages in CLFS.</para>
185 </listitem>
186
187 <listitem>
188 <para>GDBM</para>
189 <para>This package contains the GNU Database Manager library. It is used
190 by one other CLFS package, Man-DB.</para>
191 </listitem>
192
193 <listitem>
194 <para>Gettext</para>
195 <para>A tool that allows programmers to easily implement i18n
196 (internationalization) in their programs. It is a required dependency
197 for a number of packages</para>
198 </listitem>
199
200 <listitem>
201 <para>GMP</para>
202 <para>This package is required by GCC.</para>
203 </listitem>
204
205 <listitem>
206 <para>Gperf</para>
207 <para>This package is required by Systemd.</para>
208 </listitem>
209
210 <listitem>
211 <para>Grep</para>
212 <para>This package contains programs for searching for text in files.
213 These programs are required by many packages in CLFS.</para>
214 </listitem>
215
216 <listitem>
217 <para>Groff</para>
218 <para>This package is required by Man.</para>
219 </listitem>
220
221 <listitem>
222 <para>Gzip</para>
223 <para>Useful for compressing files to reduce size. It is also needed to
224 uncompress tarballs for many CLFS packages</para>
225 </listitem>
226
227 <listitem>
228 <para>Iana-Etc</para>
229 <para>This package provides the <filename>/etc/services</filename> and
230 <filename>/etc/protocols</filename> files. These files map port names to
231 port numbers as well as protocol names to their corresponding numbers.
232 These files are essential for many network based programs to work properly.</para>
233 </listitem>
234
235 <listitem>
236 <para>Intltool</para>
237 <para>This package is required by Systemd.</para>
238 </listitem>
239
240 <listitem>
241 <para>IProute2</para>
242 <para>This package contains programs for administering network interfaces.</para>
243 </listitem>
244
245 <listitem>
246 <para>IPutils</para>
247 <para>This package contains several basic network-management tools.</para>
248 </listitem>
249
250 <listitem>
251 <para>ISL</para>
252 <para>This package is required by CLooG.</para>
253 </listitem>
254
255 <listitem>
256 <para>Kbd</para>
257 <para>Contains keytable files and keyboard utilities compatible with the
258 Linux kernel.</para>
259 </listitem>
260
261 <listitem>
262 <para>Kmod</para>
263 <para>This package contains programs that assist in loading an unloading
264 kernel modules.</para>
265 </listitem>
266
267 <listitem>
268 <para>Less</para>
269 <para>A program that lets you view text files one page at a time.
270 Used by Man for displaying manpages.</para>
271 </listitem>
272
273 <listitem>
274 <para>Libcap</para>
275 <para>This package is required by Systemd.</para>
276 </listitem>
277
278 <listitem>
279 <para>Libpipeline</para>
280 <para>The Libpipeline package contains a library for manipulating
281 pipelines of subprocesses in a flexible and convenient way. It is
282 required by the Man-DB package.</para>
283 </listitem>
284
285 <listitem>
286 <para>Libtool</para>
287 <para>The Libtool package contains the GNU generic library support
288 script. It is used by some CLFS packages.</para>
289 </listitem>
290
291 <listitem>
292 <para>Linux-Headers</para>
293 <para>This package consists of santized headers from the Linux Kernel.
294 These headers are required for Glibc to compile.</para>
295 </listitem>
296
297 <listitem>
298 <para>Linux Kernel</para>
299 <para>The Linux operating system.</para>
300 </listitem>
301
302 <listitem>
303 <para>M4</para>
304 <para>This package contains a macro processor. It is required by several
305 CLFS packages, including Bison.</para>
306 </listitem>
307
308 <listitem>
309 <para>Make</para>
310 <para>Required for installation of most CLFS packages</para>
311 </listitem>
312
313 <listitem>
314 <para>Man</para>
315 <para>Used for viewing manpages</para>
316 </listitem>
317
318 <listitem>
319 <para>Man-DB</para>
320 <para>This package contains programs for finding and viewing man pages,
321 and has superior internationalization capabilities compared to the
322 <application>man</application> package.</para>
323 </listitem>
324
325 <listitem>
326 <para>Man-Pages</para>
327 <para>A number of useful manpages, not supplied by other packages</para>
328 </listitem>
329
330 <listitem>
331 <para>MPC</para>
332 <para>This package is required by GCC.</para>
333 </listitem>
334
335 <listitem>
336 <para>MPFR</para>
337 <para>This package is required by GCC.</para>
338 </listitem>
339
340 <listitem>
341 <para>Ncurses</para>
342 <para>Needed by several packages in CLFS, such as Vim, Bash, and Less</para>
343 </listitem>
344
345 <listitem>
346 <para>Patch</para>
347 <para>Used for applying patches in several CLFS packages</para>
348 </listitem>
349
350 <listitem>
351 <para>Perl</para>
352 <para>The Perl package contains the Practical Extraction and Report
353 Language. It is required by several CLFS packages.</para>
354 </listitem>
355
356 <listitem>
357 <para>Pkg-config-lite</para>
358 <para>Needed by E2fsprogs</para>
359 </listitem>
360
361 <listitem>
362 <para>Procps-ng</para>
363 <para>Provides a number of small, useful utilities that give information
364 about the <filename class="directory">/proc</filename> filesystem.</para>
365 </listitem>
366
367 <listitem>
368 <para>Psmisc</para>
369 <para>Provides more utilties that give information about the
370 <filename class="directory">/proc</filename> filesystem.</para>
371 </listitem>
372
373 <listitem>
374 <para>Readline</para>
375 <para>The Readline library provides a set of functions for use by
376 applications that allow users to edit command lines as they are typed
377 in. This is essential for input in programs like <command>bash</command>
378 to work properly.</para>
379 </listitem>
380
381 <listitem>
382 <para>Sed</para>
383 <para>This package contains a stream editor. It is used in the
384 installation procedures of most CLFS packages.</para>
385 </listitem>
386
387 <listitem>
388 <para>Shadow</para>
389 <para>This package contains programs that assist in the administration
390 of users and groups, and passwords.</para>
391 </listitem>
392
393 <listitem>
394 <para>Systemd</para>
395 <para>Systemd provides the init daemon for the system, as well as Udev,
396 which dynamically creates device nodes.</para>
397 </listitem>
398
399 <listitem>
400 <para>Tar</para>
401 <para>Required to unpack the tar archives in which all CLFS packages
402 are distributed</para>
403 </listitem>
404
405 <listitem>
406 <para>Tcl</para>
407 <para>Needed for the testsuites of several packages</para>
408 </listitem>
409
410 <listitem>
411 <para>Texinfo</para>
412 <para>This package contains programs for viewing, installing and
413 converting info pages. It is used in the installation procedures
414 of many CLFS packages.</para>
415 </listitem>
416
417 <listitem>
418 <para>Util-linux</para>
419 <para>The Util-linux package contains miscellaneous utility programs.
420 Among them are utilities for handling file systems, consoles,
421 partitions, and messages. It also includes libraries that are required
422 by E2fsprogs.</para>
423 </listitem>
424
425 <listitem>
426 <para>Vim</para>
427 <para>The Vim package contains a text editor. Users may substitute Nano,
428 Joe, Emacs, or whatever other editor they prefer.</para>
429 </listitem>
430
431 <listitem>
432 <para>XML::Parser</para>
433 <para>This Perl module is required by Intltool.</para>
434 </listitem>
435
436 <listitem>
437 <para>XZ Utils</para>
438 <para>Useful for compressing files to reduce size. Also needed to
439 uncompress tarballs for many CLFS packages</para>
440 </listitem>
441
442 <listitem>
443 <para>Zlib</para>
444 <para>The Zlib package contains compression and decompression routines
445 used by some programs.</para>
446 </listitem>
447
448 </itemizedlist>
449
450</appendix>
Note: See TracBrowser for help on using the repository browser.