Hardened Linux From Scratch - Version SVN-20110904

Chapter 3. Packages and Patches

3.1.
Introduction

This chapter includes a list of packages that need to be downloaded
in order to build a basic Linux system. The listed version numbers
correspond to versions of the software that are known to work, and
this book is based on their use. We highly recommend against using
newer versions because the build commands for one version may not
work with a newer version. The newest package versions may also have
problems that require work-arounds. These work-arounds will be
developed and stabilized in the development version of the book.

Downloaded packages and patches will need to be stored somewhere that
is conveniently available throughout the entire build. A working
directory is also required to unpack the sources and build them.
$HLFS/sources can be used both as the
place to store the tarballs and patches and as a working directory.
By using this directory, the required elements will be located on the
LFS partition and will be available during all stages of the building
process.

To create this directory, execute the following command, as user
root, before starting the download
session:

mkdir -v $HLFS/sources

Make this directory writable and sticky. “Sticky” means that even if multiple users have
write permission on a directory, only the owner of a file can delete
the file within a sticky directory. The following command will enable
the write and sticky modes:

chmod -v a+wt $HLFS/sources

An easy way to download all of the packages and patches is by using
wget-list as an input to
wget.