source: BOOK/appendices/rationale/common.xml @ 4a58c79

clfs-3.0.0-sysvinitsysvinit
Last change on this file since 4a58c79 was 4a58c79, checked in by Chris Staub <chris@…>, 8 years ago

Change title for Linux Headers pages

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