source: BOOK/appendices/rationale/common.xml@ c3aff53

clfs-3.0.0-systemd systemd
Last change on this file since c3aff53 was 8047796, checked in by Chris Staub <chris@…>, 11 years ago

Moved Glibc to a more appropriate place in rationale page

  • Property mode set to 100644
File size: 14.0 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
45 for use with Autoconf. This can be useful to software developers.</para>
46 </listitem>
47
48 <listitem>
49 <para>Bash</para>
50 <para>This package contains the Bourne-Again SHell. A shell is an
51 important component of a Linux system, as there must be some way of
52 allowing the users to enter commands.</para>
53 </listitem>
54
55 <listitem>
56 <para>Bc</para>
57 <para>This package contains a precision calculator. The Linux kernel
58 uses Bc to render the timeconst header.</para>
59 </listitem>
60
61
62 <listitem>
63 <para>Binutils</para>
64 <para>This package contains programs for handling object files. The
65 programs in this package are needed for compiling most of the packages
66 in CLFS.</para>
67 </listitem>
68
69 <listitem>
70 <para>Bison</para>
71 <para>This package contains programs that are required by several
72 packages in CLFS.</para>
73 </listitem>
74
75 <listitem>
76 <para>Bzip2</para>
77 <para>The programs in this package are useful for compressing files to
78 reduce size. They are also needed to uncompress tarballs for many
79 CLFS packages.</para>
80 </listitem>
81
82 <listitem>
83 <para>CLFS-Boot-scripts</para>
84 <para>This package contains a number of scripts that run at boottime,
85 performing essential tasks such as mounting/checking filesystems and
86 starting the network interface.</para>
87 </listitem>
88
89 <listitem>
90 <para>Check</para>
91 <para>This package contains a test harness for other programs. It is
92 used for some packages' test suites.</para>
93 </listitem>
94
95 <listitem>
96 <para>CLooG</para>
97 <para>This package is used by GCC to enable its Graphite loop generation
98 code.</para>
99 </listitem>
100
101 <listitem>
102 <para>Coreutils</para>
103 <para>This package contains many basic command-line file-management
104 tools, required for installation of every package in CLFS.</para>
105 </listitem>
106
107 <listitem>
108 <para>D-Bus</para>
109 <para>D-Bus is a message bus system, which allows applications to
110 communicate to each other. It is used by Systemd.</para>
111 </listitem>
112
113 <listitem>
114 <para>DejaGNU</para>
115 <para>This package is needed for the test suites of several packages,
116 especially GCC and Binutils.</para>
117 </listitem>
118
119 <listitem>
120 <para>DHCPCD</para>
121 <para>This package allows for automatic configuration of network
122 interfaces from a DHCP server. It (or some other package providing a
123 DHCP client is needed to connect to a DHCP server.</para>
124 </listitem>
125
126 <listitem>
127 <para>Diffutils</para>
128 <para>This package contains programs to compare files, and can also
129 be used to create patches. It is required by the installation procedures
130 of many CLFS packages, and used by many packages' test suites.</para>
131 </listitem>
132
133 <listitem>
134 <para>Eudev</para>
135 <para>This is a package that allows for dynamic creation of device nodes.
136 It is a fork of Udev, which is now part of Systemd. It is still
137 used for the "Boot" method in the temp-system, as Systemd is not needed
138 there.</para>
139 </listitem>
140
141 <listitem>
142 <para>Expect</para>
143 <para>This package is needed for the test suites for several packages.</para>
144 </listitem>
145
146 <listitem>
147 <para>E2fsprogs</para>
148 <para>The programs in this package are used for the creation and
149 maintenance of ext2/3/4 filesystems.</para>
150 </listitem>
151
152 <listitem>
153 <para>File</para>
154 <para>This package contains a program that determines the type of
155 a given file. It is needed by some CLFS packages.</para>
156 </listitem>
157
158 <listitem>
159 <para>Findutils</para>
160 <para>This package contains programs for finding files based on certain
161 criteria, and optionally performing commands on them. These programs
162 are used by the installation procedures of many CLFS packages.</para>
163 </listitem>
164
165 <listitem>
166 <para>Flex</para>
167 <para>This package contains a tool for generating text scanners. It is
168 used by multiple packages in CLFS</para>
169 </listitem>
170
171 <listitem>
172 <para>Gawk</para>
173 <para>This package contains programs for manipulating text files, using
174 the AWK language. It is used by the installation procedures of many
175 packages in CLFS.</para>
176 </listitem>
177
178 <listitem>
179 <para>Gcc</para>
180 <para>This package contains a C compiler, which is required to compile
181 most of the packages in CLFS.</para>
182 </listitem>
183
184 <listitem>
185 <para>GDBM</para>
186 <para>This package contains the GNU Database Manager library. Man-DB
187 requires either GDBM or Berkeley DB, though it prefers GDBM.</para>
188 </listitem>
189
190 <listitem>
191 <para>Gettext</para>
192 <para>A tool that allows programmers to easily implement i18n
193 (internationalization) in their programs. It is a required dependency
194 for a number of packages</para>
195 </listitem>
196
197 <listitem>
198 <para>Glibc</para>
199 <para>Any dynamically-linked C program (nearly every package in CLFS
200 has these) needs a C library to compile and run.</para>
201 </listitem>
202
203 <listitem>
204 <para>GMP</para>
205 <para>This package is required by GCC.</para>
206 </listitem>
207
208 <listitem>
209 <para>Gperf</para>
210 <para>This package is required by Systemd.</para>
211 </listitem>
212
213 <listitem>
214 <para>Grep</para>
215 <para>This package contains programs for searching for text in files.
216 These programs are required by many packages in CLFS.</para>
217 </listitem>
218
219 <listitem>
220 <para>Groff</para>
221 <para>This package is required by Man-DB.</para>
222 </listitem>
223
224 <listitem>
225 <para>Gzip</para>
226 <para>Useful for compressing files to reduce size. It is also needed to
227 uncompress tarballs for many CLFS packages</para>
228 </listitem>
229
230 <listitem>
231 <para>Iana-Etc</para>
232 <para>This package provides the <filename>/etc/services</filename> and
233 <filename>/etc/protocols</filename> files. These files map port names to
234 port numbers as well as protocol names to their corresponding numbers.
235 These files are essential for many network based programs to work properly.</para>
236 </listitem>
237
238 <listitem>
239 <para>Intltool</para>
240 <para>This package is required by Systemd.</para>
241 </listitem>
242
243 <listitem>
244 <para>IProute2</para>
245 <para>This package contains programs for administering network
246 interfaces.</para>
247 </listitem>
248
249 <listitem>
250 <para>IPutils</para>
251 <para>This package contains several basic network-management tools.</para>
252 </listitem>
253
254 <listitem>
255 <para>ISL</para>
256 <para>This package is required by CLooG.</para>
257 </listitem>
258
259 <listitem>
260 <para>Kbd</para>
261 <para>Contains keytable files and keyboard utilities compatible with the
262 Linux kernel. These can be used to change the display font and keyboard
263 layout.</para>
264 </listitem>
265
266 <listitem>
267 <para>Kmod</para>
268 <para>This package contains programs that assist in loading an unloading
269 kernel modules.</para>
270 </listitem>
271
272 <listitem>
273 <para>Less</para>
274 <para>A program that lets you view text files one page at a time.
275 It is also used by Man-DB for displaying manpages.</para>
276 </listitem>
277
278 <listitem>
279 <para>Libcap</para>
280 <para>This package is required by Systemd.</para>
281 </listitem>
282
283 <listitem>
284 <para>Libpipeline</para>
285 <para>The Libpipeline package contains a library for manipulating
286 pipelines of subprocesses in a flexible and convenient way. It is
287 required by the Man-DB package.</para>
288 </listitem>
289
290 <listitem>
291 <para>Libtool</para>
292 <para>The Libtool package contains the GNU generic library support
293 script. It is used by some CLFS packages.</para>
294 </listitem>
295
296 <listitem>
297 <para>Linux-Headers</para>
298 <para>This package consists of santized headers from the Linux Kernel.
299 These headers are required for Glibc to compile.</para>
300 </listitem>
301
302 <listitem>
303 <para>Linux Kernel</para>
304 <para>The Linux operating system.</para>
305 </listitem>
306
307 <listitem>
308 <para>M4</para>
309 <para>This package contains a macro processor. It is required by several
310 CLFS packages, including Bison.</para>
311 </listitem>
312
313 <listitem>
314 <para>Make</para>
315 <para>This is required for installation of most CLFS packages</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>Several packages in CLFS, and many others outside of CLFS,
359 use <command>pkg-config</command> to locate dependencies.</para>
360 </listitem>
361
362 <listitem>
363 <para>Procps-ng</para>
364 <para>Provides a number of small, useful utilities that give information
365 about the <filename class="directory">/proc</filename> filesystem.</para>
366 </listitem>
367
368 <listitem>
369 <para>Psmisc</para>
370 <para>Provides more utilties that give information about the
371 <filename class="directory">/proc</filename> filesystem.</para>
372 </listitem>
373
374 <listitem>
375 <para>Readline</para>
376 <para>The Readline library provides a set of functions for use by
377 applications that allow users to edit command lines as they are typed
378 in. This is essential for input in programs like <command>bash</command>
379 to work properly.</para>
380 </listitem>
381
382 <listitem>
383 <para>Sed</para>
384 <para>This package contains a stream editor. It is used in the
385 installation procedures of most CLFS packages.</para>
386 </listitem>
387
388 <listitem>
389 <para>Shadow</para>
390 <para>This package contains programs that assist in the administration
391 of users and groups, and passwords.</para>
392 </listitem>
393
394 <listitem>
395 <para>Systemd</para>
396 <para>Systemd provides the init daemon for the system, as well as Udev,
397 which dynamically creates device nodes.</para>
398 </listitem>
399
400 <listitem>
401 <para>Tar</para>
402 <para>Required to unpack the tar archives in which all CLFS packages
403 are distributed</para>
404 </listitem>
405
406 <listitem>
407 <para>Tcl</para>
408 <para>Needed for the test suites of several packages</para>
409 </listitem>
410
411 <listitem>
412 <para>Texinfo</para>
413 <para>This package contains programs for viewing, installing and
414 converting info pages. It is used in the installation procedures
415 of many CLFS packages.</para>
416 </listitem>
417
418 <listitem>
419 <para>Util-linux</para>
420 <para>The Util-linux package contains miscellaneous utility programs.
421 Among them are utilities for handling file systems, consoles,
422 partitions, and messages. It also includes libraries that are required
423 by E2fsprogs.</para>
424 </listitem>
425
426 <listitem>
427 <para>Vim</para>
428 <para>The Vim package contains a text editor. Users may substitute Nano,
429 Joe, Emacs, or whatever other editor they prefer.</para>
430 </listitem>
431
432 <listitem>
433 <para>XML::Parser</para>
434 <para>This Perl module is required by Intltool.</para>
435 </listitem>
436
437 <listitem>
438 <para>XZ Utils</para>
439 <para>Useful for compressing files to reduce size. Also needed to
440 uncompress tarballs for many CLFS packages</para>
441 </listitem>
442
443 <listitem>
444 <para>Zlib</para>
445 <para>The Zlib package contains compression and decompression routines
446 used by some programs.</para>
447 </listitem>
448
449 </itemizedlist>
450
451</appendix>
Note: See TracBrowser for help on using the repository browser.