From 673b0d84ba9591e07c0bdf0ee49d92eba10f502c Mon Sep 17 00:00:00 2001 From: Matthew Burgess Date: Mon, 3 May 2004 10:59:46 +0000 Subject: * Merged newxml into HEAD git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter03/chapter03.xml | 326 ++------------------------------------------- chapter03/introduction.xml | 57 ++++++++ chapter03/packages.xml | 216 ++++++++++++++++++++++++++++++ chapter03/patches.xml | 74 ++++++++++ 4 files changed, 357 insertions(+), 316 deletions(-) create mode 100644 chapter03/introduction.xml create mode 100644 chapter03/packages.xml create mode 100644 chapter03/patches.xml (limited to 'chapter03') diff --git a/chapter03/chapter03.xml b/chapter03/chapter03.xml index da14e970a..574d2db16 100644 --- a/chapter03/chapter03.xml +++ b/chapter03/chapter03.xml @@ -1,326 +1,20 @@ + + + %general-entities; +]> + The materials: packages and patches - + - -Introduction - + -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 known 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. -All the URLs, when possible, refer to the project's page at -. The Freshmeat -pages will give you easy access to the official download sites as well as -project websites, mailing lists, FAQs, changelogs and more. + -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 -or, better yet, try one of the alternative means of downloading listed on -. -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 $LFS/sources as the place to store -the tarballs and patches, and as a working directory. -This way everything you need will be located on the LFS partition and available -during all stages of the building process. - -So you may want to execute, as root, the following -command before starting your download session: - -mkdir $LFS/sources - -And make this directory writable (and sticky) for your normal user -- as -you won't do the downloading as root, we guess: - -chmod a+wt $LFS/sources - - - - - - - -All the packages - - -Download or otherwise obtain the following packages: - - -Autoconf (&autoconf-version;) - &autoconf-size;: - - -Automake (&automake-version;) - &automake-size;: - - -Bash (&bash-version;) - &bash-size;: - - -Binutils (&binutils-version;) - &binutils-size;: - - -Bison (&bison-version;) - &bison-size;: - - -Bzip2 (&bzip2-version;) - &bzip2-size;: - - -Coreutils (&coreutils-version;) - &coreutils-size;: - - -DejaGnu (&dejagnu-version;) - &dejagnu-size;: - - -Diffutils (&diffutils-version;) - &diffutils-size;: - - -E2fsprogs (&e2fsprogs-version;) - &e2fsprogs-size;: - - -Ed (&ed-version;) - &ed-size;: - - -Expect (&expect-version;) - &expect-size;: - - -File (&file-version;) - &file-size;: -- (see Note 1 below) - - -Findutils (&findutils-version;) - &findutils-size;: - - -Flex (&flex-version;) - &flex-size;: - - -Gawk (&gawk-version;) - &gawk-size;: - - -GCC-core (&gcc-version;) - &gcc-core-size;: - -GCC-g++ (&gcc-version;) - &gcc-gpp-size;: - -GCC-testsuite (&gcc-version;) - &gcc-testsuite-size;: - - -GCC-2 (&gcc-2953-version;) - &gcc-2953-size;: - - -Gettext (&gettext-version;) - &gettext-size;: - - -Glibc (&glibc-version;) - &glibc-size;: -- (see Note 2 below) - - -Grep (&grep-version;) - &grep-size;: - - -Groff (&groff-version;) - &groff-size;: - - -Grub (&grub-version;) - &grub-size;: - - -Gzip (&gzip-version;) - &gzip-size;: - - -Inetutils (&inetutils-version;) - &inetutils-size;: - - -Kbd (&kbd-version;) - &kbd-size;: - - -Less (&less-version;) - &less-size;: - - -LFS-Bootscripts (&bootscripts-version;) - &bootscripts-size;: - - -Lfs-Utils (&lfs-utils-version;) - &lfs-utils-size;: - - -Libtool (&libtool-version;) - &libtool-size;: - - -Linux (&kernel-version;) - &kernel-size;: - - -M4 (&m4-version;) - &m4-size;: - - -Make (&make-version;) - &make-size;: - - -Make_devices (&makedev-version;) - &makedev-size;: - - -Man (&man-version;) - &man-size;: - - -Man-pages (&man-pages-version;) - &man-pages-size;: - - -Modutils (&modutils-version;) - &modutils-size;: - - -Ncurses (&ncurses-version;) - &ncurses-size;: - - -Net-tools (&net-tools-version;) - &net-tools-size;: - - -Patch (&patch-version;) - &patch-size;: - - -Perl (&perl-version;) - &perl-size;: - - -Procinfo (&procinfo-version;) - &procinfo-size;: - - -Procps (&procps-version;) - &procps-size;: - - -Psmisc (&psmisc-version;) - &psmisc-size;: - - -Sed (&sed-version;) - &sed-size;: - - -Shadow (&shadow-version;) - &shadow-size;: - - -Sysklogd (&sysklogd-version;) - &sysklogd-size;: - - -Sysvinit (&sysvinit-version;) - &sysvinit-size;: - - -Tar (&tar-version;) - &tar-size;: - - -Tcl (&tcl-version;) - &tcl-size;: - - -Texinfo (&texinfo-version;) - &texinfo-size;: - - -Util-linux (&util-linux-version;) - &util-linux-size;: - - -Vim (&vim-version;) - &vim-size;: - - -Zlib (&zlib-version;) - &zlib-size;: - - -Total size of these packages: &all-size-mb; - - -1) File (&file-version;) may not be available by the time you read -this. The site admins of the master download location are known to occasionally -remove old versions when new ones are released. Please refer to the - section for an alternate download -location. - -2) As of this writing, the Glibc maintainers have decided in their -wisdom not to make available new release tarballs for download. The only way to -obtain the current Glibc release from pristine upstream sources is to pull it -from the Glibc CVS repository. The following commands will download the current -release and make a tarball from it: - -cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \ -    export -d &glibc-dir; -D "2003-12-02 UTC" libc -tar jcvf &glibc-package; &glibc-dir; - -Alternatively, we've made our own tarball available which you can -download courtesy of the generous LFS mirror sites. Please refer to the - section for the download links. - - - - - -Needed patches - - -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: - - -Bash Patch - &bash-patch-size;: - - -Bison Attribute Patch - &bison-patch-size;: - - -Coreutils Hostname Patch - &coreutils-hostname-patch-size;: - -Coreutils Posixver Patch - &coreutils-posixver-patch-size;: - -Coreutils Uname Patch - &coreutils-uname-patch-size;: - - -Ed Mkstemp Patch - &ed-patch-size;: - - -Expect Spawn Patch - &expect-patch-size;: - - -GCC No-Fixincludes Patch - &gcc-nofixincludes-patch-size;: - -GCC Specs Patch - &gcc-specs-patch-size;: - - -GCC-2 Patch - &gcc-2953-patch-size;: - -GCC-2 No-Fixincludes Patch - &gcc-2953-no-fixinc-patch-size;: - -GCC-2 Return-Type Patch - &gcc-2953-returntype-fix-patch-size;: - - -Inetutils No-Server-Man-Pages Patch - &inetutils-no-server-man-pages-patch-size;: - - -Kbd More-Programs Patch - &kbd-patch-size;: - - -Man 80-Columns Patch - &man-80cols-patch-size;: - - -Net-tools Mii-Tool-Gcc33 Patch - &net-tools-mii-patch-size;: - - -Perl Libc Patch - &perl-libc-patch-size;: - - - -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 , and pick any additional patches you wish to -use. - - + - diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml new file mode 100644 index 000000000..031d05c6e --- /dev/null +++ b/chapter03/introduction.xml @@ -0,0 +1,57 @@ + + + %general-entities; +]> + +Introduction + + +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 known 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. + +All the URLs, when possible, refer to the project's page at +. The Freshmeat +pages will give you easy access to the official download sites as well as +project websites, mailing lists, FAQs, changelogs and more. + +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 +or, better yet, try one of the alternative means of downloading listed on +. + +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 $LFS/sources as the place to store +the tarballs and patches, and as a working directory. +This way everything you need will be located on the LFS partition and available +during all stages of the building process. + +So you may want to execute, as root, the following +command before starting your download session: + +mkdir $LFS/sources + +And make this directory writable (and sticky) for your normal user -- as +you won't do the downloading as root, we guess: + +chmod a+wt $LFS/sources + + + + diff --git a/chapter03/packages.xml b/chapter03/packages.xml new file mode 100644 index 000000000..aa11f6fcb --- /dev/null +++ b/chapter03/packages.xml @@ -0,0 +1,216 @@ + + + %general-entities; +]> + +All the packages + + +Download or otherwise obtain the following packages: + + +Autoconf (&autoconf-version;) - 903 KB: + + +Automake (&automake-version;) - 644 KB: + + +Bash (&bash-version;) - 1,910 KB: + + +Binutils (&binutils-version;) - 10,666 KB: + + +Bison (&bison-version;) - 796 KB: + + +Bzip2 (&bzip2-version;) - 650 KB: + + +Coreutils (&coreutils-version;) - 3,860 KB: + + +DejaGnu (&dejagnu-version;) - 1,055 KB: + + +Diffutils (&diffutils-version;) - 762 KB: + + +E2fsprogs (&e2fsprogs-version;) - 3,003 KB: + + +Ed (&ed-version;) - 182 KB: + + +Expect (&expect-version;) - 510 KB: + + +File (&file-version;) - 356 KB: -- (see Note 1 below) + + +Findutils (&findutils-version;) - 760 KB: + + +Flex (&flex-version;) - 372 KB: + + +Gawk (&gawk-version;) - 1,596 KB: + + +GCC (&gcc-2953-version;) - 9,618 KB: + + +GCC-core (&gcc-version;) - 11,283KB: + + +GCC-g++ (&gcc-version;) - 2,026 KB: + + +GCC-testsuite (&gcc-version;) - 1,051 KB: + + +Gettext (&gettext-version;) - 6,397 KB: + + +Glibc (&glibc-version;) - 13,101 KB: -- (see Note 2 below) + + +Grep (&grep-version;) - 545 KB: + + +Groff (&groff-version;) - 2,360 KB: + + +Grub (&grub-version;) - 902 KB: + + +Gzip (&gzip-version;) - 324 KB: + + +Iana-Etc (&iana-etc-version;) - 161 KB: + + +Inetutils (&inetutils-version;) - 1,019 KB: + + +Kbd (&kbd-version;) - 617 KB: + + +Less (&less-version;) - 259 KB: + + +LFS-Bootscripts (&bootscripts-version;) - 32 KB: + + +Libtool (&libtool-version;) - 2,602 KB: + + +Linux (&linux-version;) - 30,051 KB: + + +M4 (&m4-version;) - 310 KB: + + +Make (&make-version;) - 899 KB: + + +Make_devices (&makedev-version;) - 20 KB: + + +Man (&man-version;) - 196 KB: + + +Man-pages (&man-pages-version;) - 1,582 KB: + + +Mktemp (&mktemp-version;) - 69 KB: + + +Modutils (&modutils-version;) - 229 KB: + + +Ncurses (&ncurses-version;) - 2,019 KB: + + +Net-tools (&net-tools-version;) - 194 KB: + + +Patch (&patch-version;) - 182 KB: + + +Perl (&perl-version;) - 9,373 KB: + + +Procinfo (&procinfo-version;) - 24 KB: + + +Procps (&procps-version;) - 260 KB: + + +Psmisc (&psmisc-version;) - 375 KB: + + +Sed (&sed-version;) - 751 KB: + + +Shadow (&shadow-version;) - 795 KB: + + +Sysklogd (&sysklogd-version;) - 80 KB: + + +Sysvinit (&sysvinit-version;) - 91 KB: + + +Tar (&tar-version;) - 1,025 KB: + + +Tcl (&tcl-version;) - 3,363 KB: + + +Texinfo (&texinfo-version;) - 1,385 KB: + + +Util-linux (&util-linux-version;) - 1,814 KB: + + +Vim (&vim-version;) - 3,193 KB: + + +Zlib (&zlib-version;) - 277 KB: + + +Total size of these packages: 134 MB + + +1) File (&file-version;) may not be available by the time you read +this. The site administrators of the master download location are known to occasionally +remove old versions when new ones are released. An alternative download location +that may have older versions available is . + +2) As of this writing, the Glibc maintainers have decided in their +wisdom not to make available new release tarballs for download. The only way to +obtain the current Glibc release from pristine upstream sources is to pull it +from the Glibc CVS (Concurrent Versioning System) repository. The following commands will download the current +release and make a tarball from it: + +cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \ + export -d glibc-2.3.3-20031202 -D "2003-12-02 UTC" libc +tar jcvf glibc-2.3.3-20031202.tar.bz2 glibc-2.3.3-20031202 + +Alternatively, we've made our own tarball available which you can +download courtesy of the generous LFS mirror sites. + + + + + + + + + + + + diff --git a/chapter03/patches.xml b/chapter03/patches.xml new file mode 100644 index 000000000..2c72ca029 --- /dev/null +++ b/chapter03/patches.xml @@ -0,0 +1,74 @@ + + + %general-entities; +]> + +Needed patches + + +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: + + +Bash Patch - 7 KB: + + +Bison Attribute Patch - 2 KB: + + +Coreutils Hostname Patch - 1 KB: + + +Coreutils Uname Patch - 1 KB: + + +Ed Mkstemp Patch - 1 KB: + + +Expect Spawn Patch - 6 KB: + + +GCC No-Fixincludes Patch - 1 KB: + + +GCC Specs Patch - 11 KB: + + +GCC-2 Patch - 16 KB: + + +GCC-2 No-Fixincludes Patch - 1 KB: + + +GCC-2 Return-Type Patch - 1 KB: + + +Inetutils No-Server-Man-Pages Patch - 4 KB: + + +Kbd More-Programs Patch - 1 KB: + + +Man 80-Columns Patch - 1 KB: + + +Mktemp Tempfile Patch - 3 KB: + + +Net-tools Mii-Tool-Gcc33 Patch - 2 KB: + + +Perl Libc Patch - 1 KB: + + + +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 , +and pick any additional patches you wish to use. + + -- cgit v1.2.3-54-g00ecf