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

clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since f7b2c72 was 11099cf, checked in by Chris Staub <chris@…>, 13 years ago

Added package rationale page

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