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

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

Update Rationale and Dependencies. Tidy up some obsolete entries.

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