123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- <chapter id="chapter04">
- <title>The materials: packages and patches</title>
- <?dbhtml filename="chapter04.html" dir="chapter04"?>
- <sect1 id="ch04-introduction">
- <title>Introduction</title>
- <?dbhtml filename="introduction.html" dir="chapter04"?>
- <para>Below is a list of packages you need to download for building a basic
- Linux system. The listed version numbers correspond to versions of the
- software that are <emphasis>known</emphasis> to work, and this book is
- based upon them. Unless you are an experienced LFS builder, we highly
- recommend not to try out newer versions, as the build commands for one
- version may not work with a newer version. Also, there is often a good
- reason for not using the latest version due to known problems that haven't
- been worked around yet.</para>
- <para>All the URLs, when possible, refer to the project's page at
- <ulink url="http://www.freshmeat.net/"/>. The Freshmeat
- pages will give you easy access to the official download sites as well as
- project websites, mailing lists, FAQs, changelogs and more.</para>
- <para>We can't guarantee that these download locations are always available.
- In case a download location has changed since this book was published, please
- try to google for the package. Should you remain unsuccessful with this, you
- can consult the book's errata page at
- <ulink url="http://linuxfromscratch.org/lfs/print/"/> or, better yet, try one
- of the alternative means of downloading listed on
- <ulink url="http://linuxfromscratch.org/lfs/packages.html"/>.</para>
- <para>You'll need to store all the downloaded packages and patches somewhere
- that is conveniently available throughout the entire build. You'll also need a
- working directory in which to unpack the sources and build them. A scheme that
- works well is to use <filename>$LFS/usr/src/packages</filename> for all the
- downloaded files and <filename>$LFS/usr/src</filename> as the working
- directory. In this way, everything will be on the LFS partition and available
- during all stages of the building process.</para>
- <!--
- <para>So you may want to execute the following command:</para>
- <para><screen><userinput>mkdir -p $LFS/usr/src/packages</userinput></screen></para>
- -->
- <!--
- <para>For your convenience the top of the list contains a link to a file
- you can use with the <ulink url="http://wget.sunsite.dk">wget</ulink>
- program. Using this file and the <userinput>wget</userinput> program will
- make it easy to download all the files at once, rather than downloading each
- and every individual file manually.</para>
- -->
- </sect1>
- <sect1 id="ch04-packages">
- <title>All the packages</title>
- <?dbhtml filename="packages.html" dir="chapter04"?>
- <para>Download or otherwise obtain the following packages:</para>
- <literallayout>
- Autoconf (&autoconf-version;) - &autoconf-size;:
- <ulink url="http://freshmeat.net/projects/autoconf/"/>
- Automake (&automake-version;) - &automake-size;:
- <ulink url="http://freshmeat.net/projects/automake/"/>
- Bash (&bash-version;) - &bash-size;:
- <ulink url="http://freshmeat.net/projects/gnubash/"/>
- Binutils (&binutils-version;) - &binutils-size;:
- <ulink url="http://freshmeat.net/projects/binutils/"/>
- Bison (&bison-version;) - &bison-size;:
- <ulink url="http://freshmeat.net/projects/bison/"/>
- Bzip2 (&bzip2-version;) - &bzip2-size;:
- <ulink url="http://freshmeat.net/projects/bzip2/"/>
- Coreutils (&coreutils-version;) - &coreutils-size;:
- <ulink url="http://freshmeat.net/projects/coreutils/"/>
- DejaGnu (&dejagnu-version;) - &dejagnu-size;:
- <ulink url="http://freshmeat.net/projects/dejagnu/"/>
- Diffutils (&diffutils-version;) - &diffutils-size;:
- <ulink url="http://freshmeat.net/projects/diffutils/"/>
- E2fsprogs (&e2fsprogs-version;) - &e2fsprogs-size;:
- <ulink url="http://freshmeat.net/projects/e2fsprogs/"/>
- Ed (&ed-version;) - &ed-size;:
- <ulink url="http://freshmeat.net/projects/ed/"/>
- Expect (&expect-version;) - &expect-size;:
- <ulink url="http://freshmeat.net/projects/expect/"/>
- File (&file-version;) - &file-size;:
- <ulink url="http://freshmeat.net/projects/file/"/>
- Findutils (&findutils-version;) - &findutils-size;:
- <ulink url="http://freshmeat.net/projects/findutils/"/>
- Flex (&flex-version;) - &flex-size;:
- <ulink url="ftp://ftp.gnu.org/gnu/non-gnu/flex/"/>
- Gawk (&gawk-version;) - &gawk-size;:
- <ulink url="http://freshmeat.net/projects/gnuawk/"/>
- GCC (&gcc-2953-version;) - &gcc-2953-size;:
- <ulink url="http://freshmeat.net/projects/gcc/"/>
- GCC-core (&gcc-version;) - &gcc-core-size;:
- <ulink url="http://freshmeat.net/projects/gcc/"/>
- GCC-g++ (&gcc-version;) - &gcc-gpp-size;:
- <ulink url="http://freshmeat.net/projects/gcc/"/>
- GCC-testsuite (&gcc-version;) - &gcc-testsuite-size;:
- <ulink url="http://freshmeat.net/projects/gcc/"/>
- Gettext (&gettext-version;) - &gettext-size;:
- <ulink url="http://freshmeat.net/projects/gettext/"/>
- Glibc (&glibc-version;) - &glibc-size;:
- <ulink url="http://freshmeat.net/projects/glibc/"/>
- Glibc-linuxthreads (&glibc-version;) - &glibc-threads-size;:
- <ulink url="http://freshmeat.net/projects/glibc/"/>
- Grep (&grep-version;) - &grep-size;:
- <ulink url="http://freshmeat.net/projects/grep/"/>
- Groff (&groff-version;) - &groff-size;:
- <ulink url="http://freshmeat.net/projects/groff/"/>
- Grub (&grub-version;) - &grub-size;:
- <ulink url="ftp://alpha.gnu.org/pub/gnu/grub/"/>
- Gzip (&gzip-version;) - &gzip-size;:
- <ulink url="ftp://alpha.gnu.org/gnu/gzip/"/>
- Inetutils (&inetutils-version;) - &inetutils-size;:
- <ulink url="http://freshmeat.net/projects/inetutils/"/>
- Kbd (&kbd-version;) - &kbd-size;:
- <ulink url="http://freshmeat.net/projects/kbd/"/>
- Less (&less-version;) - &less-size;:
- <ulink url="http://freshmeat.net/projects/less/"/>
- LFS-Bootscripts (&bootscripts-version;) - &bootscripts-size;:
- <ulink url="&http;/lfs-bootscripts-&bootscripts-version;.tar.bz2"/>
- Lfs-Utils (&lfs-utils-version;) - &lfs-utils-size;:
- <ulink url="http://www.linuxfromscratch.org/~winkie/downloads/lfs-utils/"/>
- Libtool (&libtool-version;) - &libtool-size;:
- <ulink url="http://freshmeat.net/projects/libtool/"/>
- Linux (&kernel-version;) - &kernel-size;:
- <ulink url="http://freshmeat.net/projects/linux/"/>
- M4 (&m4-version;) - &m4-size;:
- <ulink url="http://freshmeat.net/projects/gnum4/"/>
- Make (&make-version;) - &make-size;:
- <ulink url="http://freshmeat.net/projects/gnumake"/>
- MAKEDEV (&makedev-version;) - &makedev-size;:
- <ulink url="&http;/MAKEDEV-&makedev-version;.bz2"/>
- Man (&man-version;) - &man-size;:
- <ulink url="http://freshmeat.net/projects/man/"/>
- Man-pages (&man-pages-version;) - &man-pages-size;:
- <ulink url="http://freshmeat.net/projects/man-pages/"/>
- Modutils (&modutils-version;) - &modutils-size;:
- <ulink url="http://freshmeat.net/projects/modutils/"/>
- Ncurses (&ncurses-version;) - &ncurses-size;:
- <ulink url="http://freshmeat.net/projects/ncurses/"/>
- Net-tools (&net-tools-version;) - &net-tools-size;:
- <ulink url="http://freshmeat.net/projects/net-tools/"/>
- Patch (&patch-version;) - &patch-size;:
- <ulink url="http://freshmeat.net/projects/patch/"/>
- Perl (&perl-version;) - &perl-size;:
- <ulink url="http://freshmeat.net/projects/perl/"/>
- Procinfo (&procinfo-version;) - &procinfo-size;:
- <ulink url="http://freshmeat.net/projects/procinfo/"/>
- Procps (&procps-version;) - &procps-size;:
- <ulink url="http://freshmeat.net/projects/procps/"/>
- Psmisc (&psmisc-version;) - &psmisc-size;:
- <ulink url="http://freshmeat.net/projects/psmisc/"/>
- Sed (&sed-version;) - &sed-size;:
- <ulink url="http://freshmeat.net/projects/sed/"/>
- Shadow (&shadow-version;) - &shadow-size;:
- <ulink url="http://freshmeat.net/projects/shadow/"/>
- Sysklogd (&sysklogd-version;) - &sysklogd-size;:
- <ulink url="http://freshmeat.net/projects/sysklogd/"/>
- Sysvinit (&sysvinit-version;) - &sysvinit-size;:
- <ulink url="http://freshmeat.net/projects/sysvinit/"/>
- Tar (&tar-version;) - &tar-size;:
- <ulink url="ftp://alpha.gnu.org/gnu/tar/"/>
- Tcl (&tcl-version;) - &tcl-size;:
- <ulink url="http://freshmeat.net/projects/tcltk/"/>
- Texinfo (&texinfo-version;) - &texinfo-size;:
- <ulink url="http://freshmeat.net/projects/texinfo/"/>
- Util-linux (&util-linux-version;) - &util-linux-size;:
- <ulink url="http://freshmeat.net/projects/util-linux/"/>
- Vim (&vim-version;) - &vim-size;:
- <ulink url="http://freshmeat.net/projects/vim/"/>
- Zlib (&zlib-version;) - &zlib-size;:
- <ulink url="http://freshmeat.net/projects/zlib/"/>
- Total size of these packages: &all-size-mb;
- </literallayout>
- </sect1>
- <sect1 id="ch04-patches">
- <title>Needed patches</title>
- <?dbhtml filename="patches.html" dir="chapter04"?>
- <para>Besides all those packages, you'll also need several patches. These
- correct tiny mistakes in the packages that should be fixed by the maintainer,
- or just make some small modifications to bend things our way. You'll need the
- following:</para>
- <literallayout>
- Bash Patch - &bash-patch-size;:
- <ulink url="&patches-root;&bash-patch;"/>
- Bison Attribute Patch - &bison-patch-size;:
- <ulink url="&patches-root;&bison-patch;"/>
- Coreutils Hostname Patch - &coreutils-hostname-patch-size;:
- <ulink url="&patches-root;&coreutils-hostname-patch;"/>
- Coreutils Uname Patch - &coreutils-uname-patch-size;:
- <ulink url="&patches-root;&coreutils-uname-patch;"/>
- Ed Mkstemp Patch - &ed-patch-size;:
- <ulink url="&patches-root;&ed-patch;"/>
- Expect Spawn Patch - &expect-patch-size;:
- <ulink url="&patches-root;&expect-patch;"/>
- Gawk Libexecdir Patch - &gawk-patch-size;:
- <ulink url="&patches-root;&gawk-patch;"/>
- GCC No-Fixincludes Patch - &gcc-nofixincludes-patch-size;:
- <ulink url="&patches-root;&gcc-nofixincludes-patch;"/>
- GCC Specs Patch - &gcc-specs-patch-size;:
- <ulink url="&patches-root;&gcc-specs-patch;"/>
- GCC Suppress-Libiberty Patch - &gcc-suppress-libiberty-patch-size;:
- <ulink url="&patches-root;&gcc-suppress-libiberty-patch;"/>
- GCC-2 Patch - &gcc-2953-patch-size;:
- <ulink url="&patches-root;&gcc-2953-patch;"/>
- GCC-2 No-Fixincludes Patch - &gcc-2953-no-fixinc-patch-size;:
- <ulink url="&patches-root;&gcc-2953-no-fixinc-patch;"/>
- GCC-2 Return-Type Patch - &gcc-2953-returntype-fix-patch-size;:
- <ulink url="&patches-root;&gcc-2953-returntype-fix-patch;"/>
- Glibc Sscanf Patch - &glibc-sscanf-patch-size;:
- <ulink url="&patches-root;&glibc-sscanf-patch;"/>
- Grub Gcc33 Patch - &grub-patch-size;:
- <ulink url="&patches-root;&grub-patch;"/>
- Kbd More-Programs Patch - &kbd-patch-size;:
- <ulink url="&patches-root;&kbd-patch;"/>
- Man 80-Columns Patch - &man-80cols-patch-size;:
- <ulink url="&patches-root;&man-80cols-patch;"/>
- Man Manpath Patch - &man-manpath-patch-size;:
- <ulink url="&patches-root;&man-manpath-patch;"/>
- Man Pager Patch - &man-pager-patch-size;:
- <ulink url="&patches-root;&man-pager-patch;"/>
- Ncurses Etip Patch - &ncurses-etip-patch-size;:
- <ulink url="&patches-root;&ncurses-etip-patch;"/>
- Ncurses Vsscanf Patch - &ncurses-vsscanf-patch-size;:
- <ulink url="&patches-root;&ncurses-vsscanf-patch;"/>
- Net-tools Mii-Tool-Gcc33 Patch - &net-tools-mii-patch-size;:
- <ulink url="&patches-root;&net-tools-mii-patch;"/>
- Perl Libc Patch - &perl-libc-patch-size;:
- <ulink url="&patches-root;&perl-libc-patch;"/>
- Procps Locale Patch - &procps-patch-size;:
- <ulink url="&patches-root;&procps-patch;"/>
- Shadow Newgrp Patch - &shadow-patch-size;:
- <ulink url="&patches-root;&shadow-patch;"/>
- Zlib Vsnprintf Patch - &zlib-patch-size;:
- <ulink url="&patches-root;&zlib-patch;"/>
- </literallayout>
- <para>In addition to the above required patches, there exist a number of
- optional ones created by the LFS community. Most of these solve slight
- problems, or enable some functionality that's not enabled by default. Feel
- free to examine the patches database, located at
- <ulink url="http://www.linuxfromscratch.org/patches/"/>, and pick any
- additional patches you wish to use.</para>
- </sect1>
- </chapter>
|