source: BOOK/appendices/rationale/common.xml@ 991595cf

sysvinit
Last change on this file since 991595cf was 715d370d, checked in by William Harrington <kb0iic@…>, 9 years ago

Remove CLooG from the book as it is no longer a dependancy of GCC with ISL and GRAPHITE.

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