source: BOOK/appendices/rationale/common.xml

systemd
Last change on this file was 2cc1e81, checked in by William Harrington <kb0iic@…>, 7 years ago

Be consistent with Libcap and Attr and use Acl rather than ACL.

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