source: chapter04/chapter04.xml@ d12fdb1

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 12.2 12.2-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/loongarch-12.2 xry111/mips64el xry111/multilib xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since d12fdb1 was d0a6c4c, checked in by Greg Schafer <greg@…>, 21 years ago

Upgraded to Glibc-2.3.3, Kbd-1.12, Perl-5.8.3 and Shadow-4.0.4.1.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3177 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 12.1 KB
Line 
1<chapter id="chapter04" xreflabel="Chapter 4">
2<title>The materials: packages and patches</title>
3<?dbhtml filename="chapter04.html" dir="chapter04"?>
4
5
6<sect1 id="ch04-introduction">
7<title>Introduction</title>
8<?dbhtml filename="introduction.html" dir="chapter04"?>
9
10<para>Below is a list of packages you need to download for building a basic
11Linux system. The listed version numbers correspond to versions of the
12software that are <emphasis>known</emphasis> to work, and this book is
13based upon them. Unless you are an experienced LFS builder, we highly
14recommend not to try out newer versions, as the build commands for one
15version may not work with a newer version. Also, there is often a good
16reason for not using the latest version due to known problems that haven't
17been worked around yet.</para>
18
19<para>All the URLs, when possible, refer to the project's page at
20<ulink url="http://www.freshmeat.net/"/>. The Freshmeat
21pages will give you easy access to the official download sites as well as
22project websites, mailing lists, FAQs, changelogs and more.</para>
23
24<para>We can't guarantee that these download locations are always available.
25In case a download location has changed since this book was published, please
26try to google for the package. Should you remain unsuccessful with this, you
27can consult the book's errata page at
28<ulink url="http://linuxfromscratch.org/lfs/print/"/> or, better yet, try one
29of the alternative means of downloading listed on
30<ulink url="http://linuxfromscratch.org/lfs/packages.html"/>.</para>
31
32<para>You'll need to store all the downloaded packages and patches somewhere
33that is conveniently available throughout the entire build. You'll also need a
34working directory in which to unpack the sources and build them. A scheme that
35works well is to use <filename>$LFS/sources</filename> as the place to store
36the tarballs and patches, <emphasis>and</emphasis> as a working directory.
37This way everything you need will be located on the LFS partition and available
38during all stages of the building process.</para>
39
40<para>So you may want to execute, as <emphasis>root</emphasis>, the following
41command before starting your download session:</para>
42
43<screen><userinput>mkdir $LFS/sources</userinput></screen>
44
45<para>And make this directory writable (and sticky) for your normal user -- as
46you won't do the downloading as <emphasis>root</emphasis>, we guess:</para>
47
48<screen><userinput>chmod a+wt $LFS/sources</userinput></screen>
49
50<!--
51<para>For your convenience the top of the list contains a link to a file
52you can use with the <ulink url="http://wget.sunsite.dk">wget</ulink>
53program. Using this file and the <userinput>wget</userinput> program will
54make it easy to download all the files at once, rather than downloading each
55and every individual file manually.</para>
56-->
57
58</sect1>
59
60
61<sect1 id="ch04-packages">
62<title>All the packages</title>
63<?dbhtml filename="packages.html" dir="chapter04"?>
64
65<para>Download or otherwise obtain the following packages:</para>
66
67<literallayout>
68Autoconf (&autoconf-version;) - &autoconf-size;:
69<ulink url="http://freshmeat.net/projects/autoconf/"/>
70
71Automake (&automake-version;) - &automake-size;:
72<ulink url="http://freshmeat.net/projects/automake/"/>
73
74Bash (&bash-version;) - &bash-size;:
75<ulink url="http://freshmeat.net/projects/gnubash/"/>
76
77Binutils (&binutils-version;) - &binutils-size;:
78<ulink url="http://freshmeat.net/projects/binutils/"/>
79
80Bison (&bison-version;) - &bison-size;:
81<ulink url="http://freshmeat.net/projects/bison/"/>
82
83Bzip2 (&bzip2-version;) - &bzip2-size;:
84<ulink url="http://freshmeat.net/projects/bzip2/"/>
85
86Coreutils (&coreutils-version;) - &coreutils-size;:
87<ulink url="http://freshmeat.net/projects/coreutils/"/>
88
89DejaGnu (&dejagnu-version;) - &dejagnu-size;:
90<ulink url="http://freshmeat.net/projects/dejagnu/"/>
91
92Diffutils (&diffutils-version;) - &diffutils-size;:
93<ulink url="http://freshmeat.net/projects/diffutils/"/>
94
95E2fsprogs (&e2fsprogs-version;) - &e2fsprogs-size;:
96<ulink url="http://freshmeat.net/projects/e2fsprogs/"/>
97
98Ed (&ed-version;) - &ed-size;:
99<ulink url="http://freshmeat.net/projects/ed/"/>
100
101Expect (&expect-version;) - &expect-size;:
102<ulink url="http://freshmeat.net/projects/expect/"/>
103
104File (&file-version;) - &file-size;: -- <emphasis role="strong">(*) See Note 1 Below</emphasis>
105<ulink url="http://freshmeat.net/projects/file/"/>
106
107Findutils (&findutils-version;) - &findutils-size;:
108<ulink url="http://freshmeat.net/projects/findutils/"/>
109
110Flex (&flex-version;) - &flex-size;:
111<ulink url="ftp://ftp.gnu.org/gnu/non-gnu/flex/"/>
112
113Gawk (&gawk-version;) - &gawk-size;:
114<ulink url="http://freshmeat.net/projects/gnuawk/"/>
115
116GCC (&gcc-2953-version;) - &gcc-2953-size;:
117<ulink url="http://freshmeat.net/projects/gcc/"/>
118
119GCC-core (&gcc-version;) - &gcc-core-size;:
120<ulink url="http://freshmeat.net/projects/gcc/"/>
121
122GCC-g++ (&gcc-version;) - &gcc-gpp-size;:
123<ulink url="http://freshmeat.net/projects/gcc/"/>
124
125GCC-testsuite (&gcc-version;) - &gcc-testsuite-size;:
126<ulink url="http://freshmeat.net/projects/gcc/"/>
127
128Gettext (&gettext-version;) - &gettext-size;:
129<ulink url="http://freshmeat.net/projects/gettext/"/>
130
131Glibc (&glibc-version;) - &glibc-size;: -- <emphasis role="strong">(*) See Note 2 Below</emphasis>
132<ulink url="http://freshmeat.net/projects/glibc/"/>
133
134Grep (&grep-version;) - &grep-size;:
135<ulink url="http://freshmeat.net/projects/grep/"/>
136
137Groff (&groff-version;) - &groff-size;:
138<ulink url="http://freshmeat.net/projects/groff/"/>
139
140Grub (&grub-version;) - &grub-size;:
141<ulink url="ftp://alpha.gnu.org/pub/gnu/grub/"/>
142
143Gzip (&gzip-version;) - &gzip-size;:
144<ulink url="ftp://alpha.gnu.org/gnu/gzip/"/>
145
146Inetutils (&inetutils-version;) - &inetutils-size;:
147<ulink url="http://freshmeat.net/projects/inetutils/"/>
148
149Kbd (&kbd-version;) - &kbd-size;:
150<ulink url="http://freshmeat.net/projects/kbd/"/>
151
152Less (&less-version;) - &less-size;:
153<ulink url="http://freshmeat.net/projects/less/"/>
154
155LFS-Bootscripts (&bootscripts-version;) - &bootscripts-size;:
156<ulink url="&http;/lfs-bootscripts-&bootscripts-version;.tar.bz2"/>
157
158Lfs-Utils (&lfs-utils-version;) - &lfs-utils-size;:
159<ulink url="http://www.linuxfromscratch.org/~winkie/downloads/lfs-utils/"/>
160
161Libtool (&libtool-version;) - &libtool-size;:
162<ulink url="http://freshmeat.net/projects/libtool/"/>
163
164Linux (&kernel-version;) - &kernel-size;:
165<ulink url="http://freshmeat.net/projects/linux/"/>
166
167M4 (&m4-version;) - &m4-size;:
168<ulink url="http://freshmeat.net/projects/gnum4/"/>
169
170Make (&make-version;) - &make-size;:
171<ulink url="http://freshmeat.net/projects/gnumake"/>
172
173MAKEDEV (&makedev-version;) - &makedev-size;:
174<ulink url="&http;/MAKEDEV-&makedev-version;.bz2"/>
175
176Man (&man-version;) - &man-size;:
177<ulink url="http://freshmeat.net/projects/man/"/>
178
179Man-pages (&man-pages-version;) - &man-pages-size;:
180<ulink url="http://freshmeat.net/projects/man-pages/"/>
181
182Modutils (&modutils-version;) - &modutils-size;:
183<ulink url="http://freshmeat.net/projects/modutils/"/>
184
185Ncurses (&ncurses-version;) - &ncurses-size;:
186<ulink url="http://freshmeat.net/projects/ncurses/"/>
187
188Net-tools (&net-tools-version;) - &net-tools-size;:
189<ulink url="http://freshmeat.net/projects/net-tools/"/>
190
191Patch (&patch-version;) - &patch-size;:
192<ulink url="http://freshmeat.net/projects/patch/"/>
193
194Perl (&perl-version;) - &perl-size;:
195<ulink url="http://freshmeat.net/projects/perl/"/>
196
197Procinfo (&procinfo-version;) - &procinfo-size;:
198<ulink url="http://freshmeat.net/projects/procinfo/"/>
199
200Procps (&procps-version;) - &procps-size;:
201<ulink url="http://freshmeat.net/projects/procps/"/>
202
203Psmisc (&psmisc-version;) - &psmisc-size;:
204<ulink url="http://freshmeat.net/projects/psmisc/"/>
205
206Sed (&sed-version;) - &sed-size;:
207<ulink url="http://freshmeat.net/projects/sed/"/>
208
209Shadow (&shadow-version;) - &shadow-size;:
210<ulink url="http://freshmeat.net/projects/shadow/"/>
211
212Sysklogd (&sysklogd-version;) - &sysklogd-size;:
213<ulink url="http://freshmeat.net/projects/sysklogd/"/>
214
215Sysvinit (&sysvinit-version;) - &sysvinit-size;:
216<ulink url="http://freshmeat.net/projects/sysvinit/"/>
217
218Tar (&tar-version;) - &tar-size;:
219<ulink url="ftp://alpha.gnu.org/gnu/tar/"/>
220
221Tcl (&tcl-version;) - &tcl-size;:
222<ulink url="http://freshmeat.net/projects/tcltk/"/>
223
224Texinfo (&texinfo-version;) - &texinfo-size;:
225<ulink url="http://freshmeat.net/projects/texinfo/"/>
226
227Util-linux (&util-linux-version;) - &util-linux-size;:
228<ulink url="http://freshmeat.net/projects/util-linux/"/>
229
230Vim (&vim-version;) - &vim-size;:
231<ulink url="http://freshmeat.net/projects/vim/"/>
232
233Zlib (&zlib-version;) - &zlib-size;:
234<ulink url="http://freshmeat.net/projects/zlib/"/>
235
236Total size of these packages: &all-size-mb;
237</literallayout>
238
239<note><para>1) File (&file-version;) may not be available by the time you read
240this. The site admins of the master download location are known to occasionally
241remove old versions when new ones are released. Please refer to the
242<xref linkend="ch06-file"/> section for an alternate download
243location.</para></note>
244
245<note><para>2) As of this writing, the Glibc maintainers have decided in their
246wisdom not to make available new release tarballs for download. The only way to
247obtain the current Glibc release from pristine upstream sources is to pull it
248from the Glibc CVS repository. The following commands will download the current
249release and make a tarball from it:</para>
250
251<screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \
252&nbsp;&nbsp;&nbsp;&nbsp;export -d &glibc-dir; -D "2003-12-02 UTC" libc
253tar jcvf &glibc-package; &glibc-dir;</userinput></screen>
254
255<para>Alternatively, we've made our own tarball available which you can
256download courtesy of the generous LFS mirror sites. Please refer to the
257<xref linkend="ch06-glibc"/> section for the download links.</para></note>
258
259</sect1>
260
261
262<sect1 id="ch04-patches">
263<title>Needed patches</title>
264<?dbhtml filename="patches.html" dir="chapter04"?>
265
266<para>Besides all those packages, you'll also need several patches. These
267correct tiny mistakes in the packages that should be fixed by the maintainer,
268or just make some small modifications to bend things our way. You'll need the
269following:</para>
270
271<literallayout>
272Bash Patch - &bash-patch-size;:
273<ulink url="&patches-root;&bash-patch;"/>
274
275Bison Attribute Patch - &bison-patch-size;:
276<ulink url="&patches-root;&bison-patch;"/>
277
278Coreutils Hostname Patch - &coreutils-hostname-patch-size;:
279<ulink url="&patches-root;&coreutils-hostname-patch;"/>
280
281Coreutils Posixver Patch - &coreutils-posixver-patch-size;:
282<ulink url="&patches-root;&coreutils-posixver-patch;"/>
283
284Coreutils Uname Patch - &coreutils-uname-patch-size;:
285<ulink url="&patches-root;&coreutils-uname-patch;"/>
286
287Ed Mkstemp Patch - &ed-patch-size;:
288<ulink url="&patches-root;&ed-patch;"/>
289
290Expect Spawn Patch - &expect-patch-size;:
291<ulink url="&patches-root;&expect-patch;"/>
292
293GCC No-Fixincludes Patch - &gcc-nofixincludes-patch-size;:
294<ulink url="&patches-root;&gcc-nofixincludes-patch;"/>
295
296GCC Specs Patch - &gcc-specs-patch-size;:
297<ulink url="&patches-root;&gcc-specs-patch;"/>
298
299GCC-2 Patch - &gcc-2953-patch-size;:
300<ulink url="&patches-root;&gcc-2953-patch;"/>
301
302GCC-2 No-Fixincludes Patch - &gcc-2953-no-fixinc-patch-size;:
303<ulink url="&patches-root;&gcc-2953-no-fixinc-patch;"/>
304
305GCC-2 Return-Type Patch - &gcc-2953-returntype-fix-patch-size;:
306<ulink url="&patches-root;&gcc-2953-returntype-fix-patch;"/>
307
308Inetutils No-Server-Man-Pages Patch - &inetutils-no-server-man-pages-patch-size;:
309<ulink url="&patches-root;&inetutils-no-server-man-pages-patch;"/>
310
311Kbd More-Programs Patch - &kbd-patch-size;:
312<ulink url="&patches-root;&kbd-patch;"/>
313
314Man 80-Columns Patch - &man-80cols-patch-size;:
315<ulink url="&patches-root;&man-80cols-patch;"/>
316
317Ncurses Etip Patch - &ncurses-etip-patch-size;:
318<ulink url="&patches-root;&ncurses-etip-patch;"/>
319
320Net-tools Mii-Tool-Gcc33 Patch - &net-tools-mii-patch-size;:
321<ulink url="&patches-root;&net-tools-mii-patch;"/>
322
323Perl Libc Patch - &perl-libc-patch-size;:
324<ulink url="&patches-root;&perl-libc-patch;"/>
325</literallayout>
326
327<para>In addition to the above required patches, there exist a number of
328optional ones created by the LFS community. Most of these solve slight
329problems, or enable some functionality that's not enabled by default. Feel
330free to examine the patches database, located at
331<ulink url="http://www.linuxfromscratch.org/patches/"/>, and pick any
332additional patches you wish to use.</para>
333
334</sect1>
335
336</chapter>
337
Note: See TracBrowser for help on using the repository browser.