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

clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since b521a6d was b521a6d, checked in by William Harrington <kb0iic@…>, 11 years ago

Add Bc entry to rationale.

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