From 069c0ecc1ae0422f98f907c3c7f8fe7e49bd9f1f Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Mon, 8 Jun 2020 07:49:58 +0000 Subject: Remove unneeded files in chapter 5 git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11900 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter05/bash.xml | 96 -------------------- chapter05/binutils-pass2.xml | 94 ------------------- chapter05/bison.xml | 82 ----------------- chapter05/bzip2.xml | 112 ----------------------- chapter05/changingowner.xml | 41 --------- chapter05/chroot.xml | 65 -------------- chapter05/coreutils.xml | 105 ---------------------- chapter05/createfiles.xml | 204 ------------------------------------------ chapter05/creatingdirs.xml | 59 ------------ chapter05/dejagnu.xml | 96 -------------------- chapter05/diffutils.xml | 68 -------------- chapter05/expect.xml | 139 ---------------------------- chapter05/file.xml | 73 --------------- chapter05/findutils.xml | 75 ---------------- chapter05/flex.xml | 88 ------------------ chapter05/gawk.xml | 74 --------------- chapter05/gcc-pass2.xml | 160 --------------------------------- chapter05/gettext.xml | 85 ------------------ chapter05/grep.xml | 70 --------------- chapter05/gzip.xml | 72 --------------- chapter05/kernfs.xml | 115 ------------------------ chapter05/libstdc++-pass2.xml | 114 ----------------------- chapter05/m4.xml | 74 --------------- chapter05/make.xml | 83 ----------------- chapter05/ncurses.xml | 157 -------------------------------- chapter05/patch.xml | 70 --------------- chapter05/perl.xml | 79 ---------------- chapter05/python.xml | 88 ------------------ chapter05/sed.xml | 70 --------------- chapter05/stripping.xml | 53 ----------- chapter05/tar.xml | 71 --------------- chapter05/tcl.xml | 191 --------------------------------------- chapter05/texinfo.xml | 74 --------------- chapter05/util-linux.xml | 113 ----------------------- chapter05/xz.xml | 77 ---------------- 35 files changed, 3287 deletions(-) delete mode 100644 chapter05/bash.xml delete mode 100644 chapter05/binutils-pass2.xml delete mode 100644 chapter05/bison.xml delete mode 100644 chapter05/bzip2.xml delete mode 100644 chapter05/changingowner.xml delete mode 100644 chapter05/chroot.xml delete mode 100644 chapter05/coreutils.xml delete mode 100644 chapter05/createfiles.xml delete mode 100644 chapter05/creatingdirs.xml delete mode 100644 chapter05/dejagnu.xml delete mode 100644 chapter05/diffutils.xml delete mode 100644 chapter05/expect.xml delete mode 100644 chapter05/file.xml delete mode 100644 chapter05/findutils.xml delete mode 100644 chapter05/flex.xml delete mode 100644 chapter05/gawk.xml delete mode 100644 chapter05/gcc-pass2.xml delete mode 100644 chapter05/gettext.xml delete mode 100644 chapter05/grep.xml delete mode 100644 chapter05/gzip.xml delete mode 100644 chapter05/kernfs.xml delete mode 100644 chapter05/libstdc++-pass2.xml delete mode 100644 chapter05/m4.xml delete mode 100644 chapter05/make.xml delete mode 100644 chapter05/ncurses.xml delete mode 100644 chapter05/patch.xml delete mode 100644 chapter05/perl.xml delete mode 100644 chapter05/python.xml delete mode 100644 chapter05/sed.xml delete mode 100644 chapter05/stripping.xml delete mode 100644 chapter05/tar.xml delete mode 100644 chapter05/tcl.xml delete mode 100644 chapter05/texinfo.xml delete mode 100644 chapter05/util-linux.xml delete mode 100644 chapter05/xz.xml (limited to 'chapter05') diff --git a/chapter05/bash.xml b/chapter05/bash.xml deleted file mode 100644 index ee1fb574e..000000000 --- a/chapter05/bash.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - %general-entities; -]> - - - - - - bash - &bash-version; -
&bash-url;
-
- - Bash-&bash-version; - - - Bash - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/bash.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&bash-ch5-sbu;</seg> - <seg>&bash-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Bash - - Prepare Bash for compilation: - -./configure --prefix=/usr \ - --build=$(support/config.guess) \ - --host=$LFS_TGT \ - --without-bash-malloc - - - The meaning of the configure options: - - - --without-bash-malloc - - This option turns off the use of Bash's memory allocation - (malloc) function which is known to cause - segmentation faults. By turning this option off, Bash will use - the malloc functions from Glibc which are - more stable. - - - - - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - Move the excutable to where it is expected to be: - -mv $LFS/usr/bin/bash $LFS/bin/bash - - Make a link for the programs that use sh for - a shell: - -ln -sv bash $LFS/bin/sh - - - - - - - <para>Details on this package are located in - <xref linkend="contents-bash" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml deleted file mode 100644 index 5d0fd7e6d..000000000 --- a/chapter05/binutils-pass2.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-binutils-pass2" role="wrap"> - <?dbhtml filename="binutils-pass2.html"?> - - <sect1info condition="script"> - <productname>binutils-pass2</productname> - <productnumber>&binutils-version;</productnumber> - <address>&binutils-url;</address> - </sect1info> - - <title>Binutils-&binutils-version; - Pass 2 - - - Binutils - tools, pass 2 - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/binutils.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&binutils-ch5p2-sbu;</seg> - <seg>&binutils-ch5p2-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Binutils - - Create a separate build directory again: - -mkdir -v build -cd build - - Prepare Binutils for compilation: - -../configure \ - --prefix=/usr \ - --build=$(../config.guess) \ - --host=$LFS_TGT \ - --disable-nls \ - --enable-shared \ - --disable-werror - - - The meaning of the new configure options: - - - --host=$LFS_TGT - - This tells the configure script that we want to build - this pass of binutils for the $LFS_TGT machine, using our just - built cross-compiler. This prevents the linker from searching - through library directories on the host. - - - - - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-binutils" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/bison.xml b/chapter05/bison.xml deleted file mode 100644 index 3ed86713a..000000000 --- a/chapter05/bison.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-bison" role="wrap"> - <?dbhtml filename="bison.html"?> - - <sect1info condition="script"> - <productname>bison</productname> - <productnumber>&bison-version;</productnumber> - <address>&bison-url;</address> - </sect1info> - - <title>Bison-&bison-version; - - - Bison - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/bison.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&bison-ch5-sbu;</seg> - <seg>&bison-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Bison - - Prepare Bison for compilation: - -./configure --prefix=/usr \ - --docdir=/usr/share/doc/bison-&bison-version; - - - The meaning of the new configure option: - - - --docdir=/usr/share/doc/bison-&bison-version; - - This tells the build system to install bison documentation - into a versioned directory. - - - - - - Compile the package: - -make - - Install the package: - -make install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-bison" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/bzip2.xml b/chapter05/bzip2.xml deleted file mode 100644 index 828b7fc0f..000000000 --- a/chapter05/bzip2.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-bzip2" role="wrap"> - <?dbhtml filename="bzip2.html"?> - - <sect1info condition="script"> - <productname>bzip2</productname> - <productnumber>&bzip2-version;</productnumber> - <address>&bzip2-url;</address> - </sect1info> - - <title>Bzip2-&bzip2-version; - - - Bzip2 - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/bzip2.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&bzip2-ch5-sbu;</seg> - <seg>&bzip2-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Bzip2 - - Apply a patch that will install the documentation for this - package: - -patch -Np1 -i ../&bzip2-docs-patch; - - The following command ensures installation of symbolic links are - relative: - -sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile - - Ensure the man pages are installed into the correct location: - -sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile - - The Bzip2 package does not contain a configure - script. There are two Makefile, one for the shared - library, and the other for the static library. Since we need both, We - do the compilation in two stages. First the shared library: - -make CC=$LFS_TGT-gcc -f Makefile-libbz2_so -make clean - - - The meaning of the make parameter: - - - -f Makefile-libbz2_so - - This will cause Bzip2 to be built using a different - Makefile file, in this case the - Makefile-libbz2_so file, which creates a dynamic - libbz2.so library and links - the Bzip2 utilities against it. - - - - - - Compile and test the package with: - -make CC=$LFS_TGT-gcc AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib - - Install the package: - -make PREFIX=$LFS/usr install - - Install the shared bzip2 binary into the - /bin directory, make some necessary - symbolic links, and clean up: - -cp -v bzip2-shared $LFS/bin/bzip2 -cp -av libbz2.so* $LFS/lib -ln -sv ../../lib/libbz2.so.1.0 $LFS/usr/lib/libbz2.so -rm -v $LFS/usr/bin/{bunzip2,bzcat,bzip2} -ln -sv bzip2 $LFS/bin/bunzip2 -ln -sv bzip2 $LFS/bin/bzcat - - - - - - <para>Details on this package are located in - <xref linkend="contents-bzip2" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/changingowner.xml b/chapter05/changingowner.xml deleted file mode 100644 index 43a902821..000000000 --- a/chapter05/changingowner.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-changingowner"> - <?dbhtml filename="changingowner.html"?> - - <title>Changing Ownership - - - The commands in the remainder of this book must be performed while - logged in as user root and no - longer as user lfs. Also, double - check that $LFS is set in root's environment. - - - Currently, the whole directory hierarchy in $LFS - is owned by the user lfs, a user - that exists only on the host system. If the directories under $LFS are kept as they are, the files are - owned by a user ID without a corresponding account. This is dangerous because - a user account created later could get this same user ID and would own all - the files under $LFS, thus exposing - these files to possible malicious manipulation. - - To avoid this issue, you could add the lfs user to the new LFS system later when - creating the /etc/passwd file, taking care to assign it - the same user and group IDs as on the host system. Better yet, change the - ownership of the $LFS/* directories to - user root by running the following - command: - -chown -R root:root $LFS/{usr,lib,var,etc,bin,sbin,lib64,tools} - -
diff --git a/chapter05/chroot.xml b/chapter05/chroot.xml deleted file mode 100644 index 5b6310af7..000000000 --- a/chapter05/chroot.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - %general-entities; -]> - - - - - Entering the Chroot Environment - - Now that all the packages which depend on themselves for being built - are on the system, it is time to enter the chroot environment to finish - installing the remaining temporary tools. This environment will be in use - also for installing the final system. As user root, run the following command to enter the - realm that is, at the moment, populated with only the temporary tools: - -chroot "$LFS" /usr/bin/env -i \ - HOME=/root \ - TERM="$TERM" \ - PS1='(lfs chroot) \u:\w\$ ' \ - PATH=/bin:/usr/bin:/sbin:/usr/sbin \ - /bin/bash --login +h - - The -i option given to the env - command will clear all variables of the chroot environment. After that, only - the HOME, TERM, PS1, and - PATH variables are set again. The - TERM=$TERM construct will set the TERM - variable inside chroot to the same value as outside chroot. This variable is - needed for programs like vim and less - to operate properly. If other variables are needed, such as - CFLAGS or CXXFLAGS, this is a good place to set - them again. - - From this point on, there is no need to use the - LFS variable anymore, because all work will be restricted - to the LFS file system. This is because the Bash shell is told that - $LFS is now the root - (/) directory. - - Notice that /tools/bin is not - anymore in the PATH. This means that a temporary tool will no longer be - used once its final version is installed. This occurs when the shell does not - remember the locations of executed binaries—for this - reason, hashing is switched off by passing the +h option - to bash. - - Note that the bash prompt will say - I have no name! This is normal because the - /etc/passwd file has not been created yet. - - - It is important that all the commands throughout the remainder of this - chapter and the following chapters are run from within the chroot - environment. If you leave this environment for any reason (rebooting for - example), ensure that the virtual kernel filesystems are mounted as - explained in and and enter chroot again before continuing - with the installation. - - - diff --git a/chapter05/coreutils.xml b/chapter05/coreutils.xml deleted file mode 100644 index f1e380f7e..000000000 --- a/chapter05/coreutils.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - %general-entities; -]> - - - - - - coreutils - &coreutils-version; -
&coreutils-url;
-
- - Coreutils-&coreutils-version; - - - Coreutils - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/coreutils.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&coreutils-ch5-sbu;</seg> - <seg>&coreutils-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Coreutils - - Prepare Coreutils for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(build-aux/config.guess) \ - --enable-install-program=hostname \ - --enable-no-install-program=kill,uptime - - - The meaning of the configure options: - - - --enable-install-program=hostname - - This enables the hostname binary to be built - and installed – it is disabled by default but is required by the - Perl test suite. - - - - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - Move programs to their final expected locations. Although this is - not necessary in this temporary environment, we must do so because some - programs harcode executable locations: - -mv -v $LFS/usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} $LFS/bin -mv -v $LFS/usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} $LFS/bin -mv -v $LFS/usr/bin/{rmdir,stty,sync,true,uname} $LFS/bin -mv -v $LFS/usr/bin/chroot $LFS/usr/sbin -mkdir -pv $LFS/usr/share/man/man8 -mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8 -sed -i s/\"1\"/\"8\"/1 $LFS/usr/share/man/man8/chroot.8 -mv -v $LFS/usr/bin/{head,nice,sleep,touch} $LFS/bin - - - - - - - <para>Details on this package are located in - <xref linkend="contents-coreutils" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/createfiles.xml b/chapter05/createfiles.xml deleted file mode 100644 index aed8d79da..000000000 --- a/chapter05/createfiles.xml +++ /dev/null @@ -1,204 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-createfiles"> - <?dbhtml filename="createfiles.html"?> - - <title>Creating Essential Files and Symlinks - - - /etc/passwd - - - - /etc/group - - - - /var/run/utmp - - - - /var/log/btmp - - - - /var/log/lastlog - - - - /var/log/wtmp - - - Historically, Linux maintains a list of the mounted file systems in the - file /etc/mtab. Modern kernels maintain this list - internally and exposes it to the user via the /proc filesystem. To satisfy utilities that - expect the presence of /etc/mtab, create the following - symbolic link: - -ln -sv /proc/self/mounts /etc/mtab - - In order for user root to be - able to login and for the name root to be recognized, there - must be relevant entries in the /etc/passwd and - /etc/group files. - - Create the /etc/passwd file by running the following - command: - -cat > /etc/passwd << "EOF" -root:x:0:0:root:/root:/bin/bash -bin:x:1:1:bin:/dev/null:/bin/false -daemon:x:6:6:Daemon User:/dev/null:/bin/false -messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false -nobody:x:99:99:Unprivileged User:/dev/null:/bin/false -EOF - -cat > /etc/passwd << "EOF" -root:x:0:0:root:/root:/bin/bash -bin:x:1:1:bin:/dev/null:/bin/false -daemon:x:6:6:Daemon User:/dev/null:/bin/false -messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false -systemd-bus-proxy:x:72:72:systemd Bus Proxy:/:/bin/false -systemd-journal-gateway:x:73:73:systemd Journal Gateway:/:/bin/false -systemd-journal-remote:x:74:74:systemd Journal Remote:/:/bin/false -systemd-journal-upload:x:75:75:systemd Journal Upload:/:/bin/false -systemd-network:x:76:76:systemd Network Management:/:/bin/false -systemd-resolve:x:77:77:systemd Resolver:/:/bin/false -systemd-timesync:x:78:78:systemd Time Synchronization:/:/bin/false -systemd-coredump:x:79:79:systemd Core Dumper:/:/bin/false -nobody:x:99:99:Unprivileged User:/dev/null:/bin/false -EOF - - The actual password for root - (the x used here is just a placeholder) will be set later. - - Create the /etc/group file by running the following - command: - -cat > /etc/group << "EOF" -root:x:0: -bin:x:1:daemon -sys:x:2: -kmem:x:3: -tape:x:4: -tty:x:5: -daemon:x:6: -floppy:x:7: -disk:x:8: -lp:x:9: -dialout:x:10: -audio:x:11: -video:x:12: -utmp:x:13: -usb:x:14: -cdrom:x:15: -adm:x:16: -messagebus:x:18: -input:x:24: -mail:x:34: -kvm:x:61: -wheel:x:97: -nogroup:x:99: -users:x:999: -EOF - -cat > /etc/group << "EOF" -root:x:0: -bin:x:1:daemon -sys:x:2: -kmem:x:3: -tape:x:4: -tty:x:5: -daemon:x:6: -floppy:x:7: -disk:x:8: -lp:x:9: -dialout:x:10: -audio:x:11: -video:x:12: -utmp:x:13: -usb:x:14: -cdrom:x:15: -adm:x:16: -messagebus:x:18: -systemd-journal:x:23: -input:x:24: -mail:x:34: -kvm:x:61: -systemd-bus-proxy:x:72: -systemd-journal-gateway:x:73: -systemd-journal-remote:x:74: -systemd-journal-upload:x:75: -systemd-network:x:76: -systemd-resolve:x:77: -systemd-timesync:x:78: -systemd-coredump:x:79: -wheel:x:97: -nogroup:x:99: -users:x:999: -EOF - - The created groups are not part of any standard—they are groups - decided on in part by the requirements of the Udev configuration in the next - chapter, and in part by common convention employed by a number of existing - Linux distributions. In addition, some test suites rely on specific users - or groups. The Linux Standard Base (LSB, available at ) recommends only that, besides the group - root with a Group ID (GID) of 0, - a group bin with a GID of 1 be - present. All other group names and GIDs can be chosen freely by the system - administrator since well-written programs do not depend on GID numbers, but - rather use the group's name. - - Some tests in need a regular - user. We add this user here and delete this account at the end of that - chapter. - -echo "tester:x:$(ls -n $(tty) | cut -d" " -f3):101::/home/tester:/bin/bash" >> /etc/passwd -echo "tester:x:101:" >> /etc/group -install -o tester -d /home/tester - - To remove the I have no name! prompt, start a new - shell. Since the - /etc/passwd and /etc/group - files have been created, user name and group name resolution will now - work: - -exec /bin/bash --login +h - - Note the use of the +h directive. This tells - bash not to use its internal path hashing. Without this - directive, bash would remember the paths to binaries it has - executed. To ensure the use of the newly compiled binaries as soon as they are - installed, the +h directive will be used for the duration - of this chapter. - - The login, agetty, and - init programs (and others) use a number of log - files to record information such as who was logged into the system and - when. However, these programs will not write to the log files if they - do not already exist. Initialize the log files and give them - proper permissions: - -touch /var/log/{btmp,lastlog,faillog,wtmp} -chgrp -v utmp /var/log/lastlog -chmod -v 664 /var/log/lastlog -chmod -v 600 /var/log/btmp - - The /var/log/wtmp file records all logins and - logouts. The /var/log/lastlog file records when each - user last logged in. The /var/log/faillog file records - failed login attempts. The /var/log/btmp file records - the bad login attempts. - - The /run/utmp file records the users that - are currently logged in. This file is created dynamically in the boot - scripts. - -
diff --git a/chapter05/creatingdirs.xml b/chapter05/creatingdirs.xml deleted file mode 100644 index 359717ff7..000000000 --- a/chapter05/creatingdirs.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - %general-entities; -]> - - - - - Creating Directories - - It is time to create the full structure in the LFS file system. Create - a standard directory tree by issuing the following commands: - -mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt} -mkdir -pv /{media/{floppy,cdrom},srv,var} -install -dv -m 0750 /root -install -dv -m 1777 /tmp /var/tmp -mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} -mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man} -mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo} -mkdir -pv /usr/{,local/}share/man/man{1..8} - -mkdir -v /var/{log,mail,spool} -ln -sv /run /var/run -ln -sv /run/lock /var/lock -mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local} - - Directories are, by default, created with permission mode 755, but - this is not desirable for all directories. In the commands above, two - changes are made—one to the home directory of user root, and another to the directories for - temporary files. - - The first mode change ensures that not just anybody can enter - the /root directory—the - same as a normal user would do with his or her home directory. The - second mode change makes sure that any user can write to the - /tmp and /var/tmp directories, but cannot remove - another user's files from them. The latter is prohibited by the so-called - sticky bit, the highest bit (1) in the 1777 bit mask. - - - FHS Compliance Note - - The directory tree is based on the Filesystem Hierarchy Standard - (FHS) (available at ). The FHS also specifies - the optional existence of some directories such as /usr/local/games and /usr/share/games. We create only the - directories that are needed. However, feel free to create these - directories. - - - - diff --git a/chapter05/dejagnu.xml b/chapter05/dejagnu.xml deleted file mode 100644 index 8f1ab7648..000000000 --- a/chapter05/dejagnu.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - %general-entities; -]> - - - - - - dejagnu - &dejagnu-version; -
&dejagnu-url;
-
- - DejaGNU-&dejagnu-version; - - - DejaGNU - - - - - - <para>The <application>DejaGnu</application> package contains a framework for running test - suites on GNU tools. It is written in <command>expect</command>, which itself - uses <application>Tcl</application> (Tool Command Language).</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&dejagnu-ch5-sbu;</seg> - <seg>&dejagnu-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of DejaGNU - - Prepare DejaGNU for compilation: - -./configure --prefix=/usr -makeinfo --html --no-split -o doc/dejagnu.html doc/dejagnu.texi -makeinfo --plaintext -o doc/dejagnu.txt doc/dejagnu.texi - - Build and install the package: - -make install -install -v -dm755 /usr/share/doc/dejagnu-&dejagnu-version; -install -v -m644 doc/dejagnu.{html,txt} \ - /usr/share/doc/dejagnu-&dejagnu-version; - - To test the results, issue: - -make check - - - - - - Contents of DejaGNU - - - Installed program - - - runtest - - - - - Short Descriptions - - - - - runtest - - A wrapper script that locates the proper - expect shell and then runs DejaGNU - - runtest - - - - - - - - -
diff --git a/chapter05/diffutils.xml b/chapter05/diffutils.xml deleted file mode 100644 index 194fe4607..000000000 --- a/chapter05/diffutils.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - %general-entities; -]> - - - - - - diffutils - &diffutils-version; -
&diffutils-url;
-
- - Diffutils-&diffutils-version; - - - Diffutils - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/diffutils.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&diffutils-ch5-sbu;</seg> - <seg>&diffutils-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Diffutils - - Prepare Diffutils for compilation: - -./configure --prefix=/usr --host=$LFS_TGT - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-diffutils" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/expect.xml b/chapter05/expect.xml deleted file mode 100644 index 20b227ea5..000000000 --- a/chapter05/expect.xml +++ /dev/null @@ -1,139 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-expect" role="wrap"> - <?dbhtml filename="expect.html"?> - - <sect1info condition="script"> - <productname>expect</productname> - <productnumber>&expect-version;</productnumber> - <address>&expect-url;</address> - </sect1info> - - <title>Expect-&expect-version; - - - Expect - - - - - - <para>The <application>Expect</application> package contains tools for - automating, via scripted dialogues, interactive applications such as - <command>telnet</command>, <command>ftp</command>, - <command>passwd</command>, <command>fsck</command>, - <command>rlogin</command>, and <command>tip</command>. - <application>Expect</application> is also useful for testing these same - applications as well as easing all sorts of tasks that are prohibitively - difficult with anything else. The <application>DejaGnu</application> - framework is written in <application>Expect</application>.</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&expect-ch5-sbu;</seg> - <seg>&expect-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Expect - - Prepare Expect for compilation: - - -./configure --prefix=/usr \ - --with-tcl=/usr/lib \ - --enable-shared \ - --mandir=/usr/share/man \ - --with-tclinclude=/usr/include - - - The meaning of the configure options: - - - --with-tcl=/usr/lib - - This parameter is needed to tell the - configure where the - tclConfig.sh is located. - - - - - --with-tclinclude=/usr/include - - This explicitly tells Expect where to find Tcl's internal - headers. Using this option avoids conditions where - configure fails because it cannot automatically - discover the location of Tcl's headers. - - - - - - Build the package: - -make - - Install the package: - -make install -ln -svf expect&expect-version;/libexpect&expect-version;.so /usr/lib - - - - - Contents of Expect - - - Installed program - Installed library - - - expect - libexpect-&expect-lib-version;.so - - - - - Short Descriptions - - - - - expect - - Communicates with other interactive programs according - to a script - - expect - - - - - - libexpect-&expect-lib-version;.so - - Contains functions that allow Expect to be used as a Tcl - extension or to be used directly from C or C++ (without Tcl) - - libexpect-&expect-lib-version; - - - - - - - - -
diff --git a/chapter05/file.xml b/chapter05/file.xml deleted file mode 100644 index 5a821d180..000000000 --- a/chapter05/file.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - %general-entities; -]> - - - - - - file - &file-version; -
&file-url;
-
- - File-&file-version; - - - File - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/file.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&file-ch5-sbu;</seg> - <seg>&file-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of File - - Prepare File for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT - - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - <para>Details on this package are located in<!-- TODO - <xref linkend="contents-file" role="."/> --></para> - - </sect2> - -</sect1> diff --git a/chapter05/findutils.xml b/chapter05/findutils.xml deleted file mode 100644 index 073c1640c..000000000 --- a/chapter05/findutils.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-findutils" role="wrap"> - <?dbhtml filename="findutils.html"?> - - <sect1info condition="script"> - <productname>findutils</productname> - <productnumber>&findutils-version;</productnumber> - <address>&findutils-url;</address> - </sect1info> - - <title>Findutils-&findutils-version; - - - Findutils - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/findutils.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&findutils-ch5-sbu;</seg> - <seg>&findutils-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Findutils - - Prepare Findutils for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(build-aux/config.guess) - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - Move the excutable to its final expected location: - -mv -v $LFS/usr/bin/find $LFS/bin -sed -i 's|find:=${BINDIR}|find:=/bin|' $LFS/usr/bin/updatedb - - - - - - - <para>Details on this package are located in - <xref linkend="contents-findutils" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/flex.xml b/chapter05/flex.xml deleted file mode 100644 index 88e263413..000000000 --- a/chapter05/flex.xml +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-flex" role="wrap"> - <?dbhtml filename="flex.html"?> - - <sect1info condition="script"> - <productname>flex</productname> - <productnumber>&flex-version;</productnumber> - <address>&flex-url;</address> - </sect1info> - - <title>Flex-&flex-version; - - - Flex - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/flex.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&flex-ch5-sbu;</seg> - <seg>&flex-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Flex - - Prepare Flex for compilation: - -./configure --prefix=/usr \ - --docdir=/usr/share/doc/flex-&flex-version; - - - Compile the package: - -make - - Install the package: - -make install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-flex" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/gawk.xml b/chapter05/gawk.xml deleted file mode 100644 index d5b5d6d8d..000000000 --- a/chapter05/gawk.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-gawk" role="wrap"> - <?dbhtml filename="gawk.html"?> - - <sect1info condition="script"> - <productname>gawk</productname> - <productnumber>&gawk-version;</productnumber> - <address>&gawk-url;</address> - </sect1info> - - <title>Gawk-&gawk-version; - - - Gawk - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/gawk.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&gawk-ch5-sbu;</seg> - <seg>&gawk-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Gawk - - First, ensure some unneeded files are not installed: - -sed -i 's/extras//' Makefile.in - - Prepare Gawk for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(./config.guess) - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-gawk" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml deleted file mode 100644 index 5f6864d02..000000000 --- a/chapter05/gcc-pass2.xml +++ /dev/null @@ -1,160 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-gcc-pass2" role="wrap"> - <?dbhtml filename="gcc-pass2.html"?> - - <sect1info condition="script"> - <productname>gcc-pass2</productname> - <productnumber>&gcc-version;</productnumber> - <address>&gcc-url;</address> - </sect1info> - - <title>GCC-&gcc-version; - Pass 2 - - - GCC - tools, pass 2 - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/gcc.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&gcc-ch5p2-sbu;</seg> - <seg>&gcc-ch5p2-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of GCC - - As in the first build of GCC, the GMP, MPFR, and MPC packages are - required. Unpack the tarballs and move them into the required directory - names: - -tar -xf ../mpfr-&mpfr-version;.tar.xz -mv -v mpfr-&mpfr-version; mpfr -tar -xf ../gmp-&gmp-version;.tar.xz -mv -v gmp-&gmp-version; gmp -tar -xf ../mpc-&mpc-version;.tar.gz -mv -v mpc-&mpc-version; mpc - - If building on x86_64, change the default directory name for 64-bit - libraries to lib: - -case $(uname -m) in - x86_64) - sed -e '/m64=/s/lib64/lib/' \ - -i.orig gcc/config/i386/t-linux64 - ;; -esac - - Fix an issue with GCC-10.1 when building with a cross - compiler: - -patch -Np1 -i ../&gcc-cross-patch; - - Create a separate build directory again: - -mkdir -v build -cd build - - Create a symlink that allos libgcc to be built with posix threads - support: - -mkdir -pv $LFS_TGT/libgcc -ln -s ../../../libgcc/gthr-posix.h $LFS_TGT/libgcc/gthr-default.h - - Before starting to build GCC, remember to unset any environment - variables that override the default optimization flags. - - Now prepare GCC for compilation: - -../configure \ - --build=$(../config.guess) \ - --host=$LFS_TGT \ - --prefix=/usr \ - CC_FOR_TARGET=$LFS_TGT-gcc \ - --with-build-sysroot=$LFS \ - --enable-initfini-array \ - --disable-nls \ - --disable-multilib \ - --disable-decimal-float \ - --disable-libatomic \ - --disable-libgomp \ - --disable-libquadmath \ - --disable-libssp \ - --disable-libvtv \ - --disable-libstdcxx \ - --enable-languages=c,c++ - - - The meaning of the new configure options: - - - -with-build-sysroot=$LFS - - Normally, using --host= ensures that - a cross-compiler is used for building gcc, and that compiler knows - that it has to look for headers and libraries in $LFS. But the build system of GCC uses - other tools, which are not aware of this location. This switch is - needed to have them find the needed files in $LFS, and not on the host. - - - - - --enable-initfini-array - - This option is automatically enabled when building a native - compiler with a native compiler on x86. But here, we build with - a cross compiler, so we need to explicitely set this option. - - - - - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - As a finishing touch, create a symlink. Many programs and scripts - run cc instead of gcc, which is - used to keep programs generic and therefore usable on all kinds of UNIX - systems where the GNU C compiler is not always installed. Running - cc leaves the system administrator free to decide - which C compiler to install: - -ln -sv gcc $LFS/usr/bin/cc - - - - - - - <para>Details on this package are located in - <xref linkend="contents-gcc" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/gettext.xml b/chapter05/gettext.xml deleted file mode 100644 index a3baed723..000000000 --- a/chapter05/gettext.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-gettext" role="wrap"> - <?dbhtml filename="gettext.html"?> - - <sect1info condition="script"> - <productname>gettext</productname> - <productnumber>&gettext-version;</productnumber> - <address>&gettext-url;</address> - </sect1info> - - <title>Gettext-&gettext-version; - - - Gettext - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/gettext.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&gettext-ch5-sbu;</seg> - <seg>&gettext-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Gettext - - For our temporary set of tools, we only need to install - three programs from Gettext. - - Prepare Gettext for compilation: - -./configure --disable-shared - - - The meaning of the configure option: - - - --disable-shared - - We do not need to install any of the shared Gettext libraries at - this time, therefore there is no need to build them. - - - - - - Compile the package: - -make - - Install the msgfmt, msgmerge and - xgettext programs: - -cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin - - - - - - - <para>Details on this package are located in - <xref linkend="contents-gettext" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/grep.xml b/chapter05/grep.xml deleted file mode 100644 index bac311f2f..000000000 --- a/chapter05/grep.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-grep" role="wrap"> - <?dbhtml filename="grep.html"?> - - <sect1info condition="script"> - <productname>grep</productname> - <productnumber>&grep-version;</productnumber> - <address>&grep-url;</address> - </sect1info> - - <title>Grep-&grep-version; - - - Grep - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/grep.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&grep-ch5-sbu;</seg> - <seg>&grep-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Grep - - Prepare Grep for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --bindir=/bin - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-grep" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/gzip.xml b/chapter05/gzip.xml deleted file mode 100644 index e9bdd3bd8..000000000 --- a/chapter05/gzip.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-gzip" role="wrap"> - <?dbhtml filename="gzip.html"?> - - <sect1info condition="script"> - <productname>gzip</productname> - <productnumber>&gzip-version;</productnumber> - <address>&gzip-url;</address> - </sect1info> - - <title>Gzip-&gzip-version; - - - Gzip - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/gzip.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&gzip-ch5-sbu;</seg> - <seg>&gzip-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Gzip - - Prepare Gzip for compilation: - -./configure --prefix=/usr --host=$LFS_TGT - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - Move the excutable to its final expected location: - -mv -v $LFS/usr/bin/gzip $LFS/bin - - - - - - - <para>Details on this package are located in - <xref linkend="contents-gzip" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/kernfs.xml b/chapter05/kernfs.xml deleted file mode 100644 index dd6b8991c..000000000 --- a/chapter05/kernfs.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-kernfs"> - <?dbhtml filename="kernfs.html"?> - - <title>Preparing Virtual Kernel File Systems - - - /dev/* - - - Various file systems exported by the kernel are used to communicate to - and from the kernel itself. These file systems are virtual in that no disk - space is used for them. The content of the file systems resides in - memory. - - Begin by creating directories onto which the file systems will be - mounted: - -mkdir -pv $LFS/{dev,proc,sys,run} - - - Creating Initial Device Nodes - - When the kernel boots the system, it requires the presence of a few - device nodes, in particular the console and null devices. The device nodes must be created - on the hard disk so that they are available before udevd - has been started, and additionally when Linux is started with - init=/bin/bash. Create the devices by running the - following commands: - -mknod -m 600 $LFS/dev/console c 5 1 -mknod -m 666 $LFS/dev/null c 1 3 - - - - - Mounting and Populating /dev - - The recommended method of populating the /dev directory with devices is to mount a - virtual filesystem (such as tmpfs) on the /dev directory, and allow the devices to be - created dynamically on that virtual filesystem as they are detected or - accessed. Device creation is generally done during the boot process - by Udev. Since this new system does not yet have Udev and has not yet - been booted, it is necessary to mount and populate /dev manually. This is accomplished by bind - mounting the host system's /dev - directory. A bind mount is a special type of mount that allows you to - create a mirror of a directory or mount point to some other location. Use - the following command to achieve this: - -mount -v --bind /dev $LFS/dev - - - - - Mounting Virtual Kernel File Systems - - Now mount the remaining virtual kernel filesystems: - -mount -v --bind /dev/pts $LFS/dev/pts -mount -vt proc proc $LFS/proc -mount -vt sysfs sysfs $LFS/sys -mount -vt tmpfs tmpfs $LFS/run - - - The meaning of the mount options for devpts: - - - gid=5 - - This ensures that all devpts-created device nodes are owned by - group ID 5. This is the ID we will use later on for the tty group. We use the group ID instead - of a name, since the host system might use a different ID for its - tty group. - - - - - mode=0620 - - This ensures that all devpts-created device nodes have mode 0620 - (user readable and writable, group writable). Together with the - option above, this ensures that devpts will create device nodes that - meet the requirements of grantpt(), meaning the Glibc - pt_chown helper binary (which is not installed by - default) is not necessary. - - - - - - In some host systems, /dev/shm is a - symbolic link to /run/shm. - The /run tmpfs was mounted above so in this case only a - directory needs to be created. - -if [ -h $LFS/dev/shm ]; then - mkdir -pv $LFS/$(readlink $LFS/dev/shm) -fi - - - -
diff --git a/chapter05/libstdc++-pass2.xml b/chapter05/libstdc++-pass2.xml deleted file mode 100644 index 999a4fa4e..000000000 --- a/chapter05/libstdc++-pass2.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - %general-entities; -]> - - - - - - gcc-libstdc++ - &gcc-version; -
&gcc-url;
-
- - Libstdc++ from GCC-&gcc-version;, Pass 2 - - - GCC - tools, libstdc++ pass 2 - - - - - - <para>Again, when building <xref linkend="ch-tools-gcc-pass2"/>, we had to - defer the installation of the C++ standard library, because no suitable - compiler was available to compile it: we could not use the compiler - installed, because this compiler is a native - compiler, and should not be used outside of chroot without being at - risk of polluting the build with some host components.</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <!-- TODO --> - <seglistitem> - <seg>&libstdcpp-ch5-sbu;</seg> - <seg>&libstdcpp-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Target Libstdc++ - - - Libstdc++ is part of the GCC sources. - You should first unpack the GCC tarball and change to the - gcc-&gcc-version; directory. - - - Create a link which exists when building Libstdc++ in the gcc - tree: - -ln -s gthr-posix.h libgcc/gthr-default.h - - Create a separate build directory for Libstdc++ and enter it: - -mkdir -v build -cd build - - Prepare Libstdc++ for compilation: - -../libstdc++-v3/configure \ - CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ - --prefix=/usr \ - --disable-multilib \ - --disable-nls \ - --disable-libstdcxx-pch - - - The meaning of the configure options: - - - CXXFLAGS="-g -O2 -D_GNU_SOURCE" - - Those flags are passed by the top level Makefile when doing - a full build of GCC. - - - - - --disable-libstdcxx-pch - - This switch prevents the installation of precompiled - include files, which are not needed at this stage. - - - - - - Compile libstdc++ by running: - -make - - Install the library: - -make install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-gcc" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/m4.xml b/chapter05/m4.xml deleted file mode 100644 index 3f51c11d1..000000000 --- a/chapter05/m4.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-m4" role="wrap"> - <?dbhtml filename="m4.html"?> - - <sect1info condition="script"> - <productname>m4</productname> - <productnumber>&m4-version;</productnumber> - <address>&m4-url;</address> - </sect1info> - - <title>M4-&m4-version; - - - M4 - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/m4.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&m4-ch5-sbu;</seg> - <seg>&m4-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of M4 - - First, make some fixes introduced by glibc-2.28: - -sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c -echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h - - Prepare M4 for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(build-aux/config.guess) - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - <para>Details on this package are located in - <xref linkend="contents-m4" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/make.xml b/chapter05/make.xml deleted file mode 100644 index 2d054dd9e..000000000 --- a/chapter05/make.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> -<sect1 id="ch-tools-make" role="wrap"> - <?dbhtml filename="make.html"?> - - <sect1info condition="script"> - <productname>make</productname> - <productnumber>&make-version;</productnumber> - <address>&make-url;</address> - </sect1info> - - <title>Make-&make-version; - - - Make - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/make.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&make-ch5-sbu;</seg> - <seg>&make-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Make - - Prepare Make for compilation: - -./configure --prefix=/usr \ - --without-guile \ - --host=$LFS_TGT \ - --build=$(build-aux/config.guess) - - - The meaning of the new configure option: - - - --without-guile - - Although we are cross-compiling, configure tries to use - guile from the build host if it finds it. This makes compilation - fail, so this switch prevents using it. - - - - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-make" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/ncurses.xml b/chapter05/ncurses.xml deleted file mode 100644 index e2455eb7a..000000000 --- a/chapter05/ncurses.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-ncurses" role="wrap"> - <?dbhtml filename="ncurses.html"?> - - <sect1info condition="script"> - <productname>ncurses</productname> - <productnumber>&ncurses-version;</productnumber> - <address>&ncurses-url;</address> - </sect1info> - - <title>Ncurses-&ncurses-version; - - - Ncurses - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/ncurses.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&ncurses-ch5-sbu;</seg> - <seg>&ncurses-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Ncurses - - First, ensure that gawk is found first during configuration: - -sed -i s/mawk// configure - - Then, run the following commands to build the tic - program on the build host: - -mkdir build -cd build -../configure -make -C include -make -C progs tic -cd .. - - Prepare Ncurses for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(./config.guess) \ - --mandir=/usr/share/man \ - --with-shared \ - --without-debug \ - --without-ada \ - --without-normal \ - --enable-widec \ - --enable-pc-files - - - The meaning of the new configure options: - - - --without-ada - - This ensures that Ncurses does not build support for the Ada - compiler which may be present on the host but will not be available - once we enter the chroot environment. - - - - - --enable-widec - - This switch causes wide-character libraries (e.g., libncursesw.so.&ncurses-version;) - to be built instead of normal ones (e.g., libncurses.so.&ncurses-version;). - These wide-character libraries are usable in both multibyte and - traditional 8-bit locales, while normal libraries work properly - only in 8-bit locales. Wide-character and normal libraries are - source-compatible, but not binary-compatible. - - - - - --enable-pc-files - - This switch generates and installs .pc files for pkg-config. - - - - - - --without-normal - - This switch disables building and installing most static libraries. - - - - - - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install -ln -s libncursesw.so $LFS/usr/lib/libncurses.so - - Move the shared libraries to the - /lib directory, where they are - expected to reside: - -mv -v $LFS/usr/lib/libncursesw.so.6* $LFS/lib - - Because the libraries have been moved, one symlink points to - a non-existent file. Recreate it: - -ln -sfv ../../lib/$(readlink $LFS/usr/lib/libncursesw.so) $LFS/usr/lib/libncursesw.so - - - - - - - - <para>Details on this package are located in - <xref linkend="contents-ncurses" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/patch.xml b/chapter05/patch.xml deleted file mode 100644 index 08bad5c56..000000000 --- a/chapter05/patch.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-patch" role="wrap"> - <?dbhtml filename="patch.html"?> - - <sect1info condition="script"> - <productname>patch</productname> - <productnumber>&patch-version;</productnumber> - <address>&patch-url;</address> - </sect1info> - - <title>Patch-&patch-version; - - - Patch - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/patch.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&patch-ch5-sbu;</seg> - <seg>&patch-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Patch - - Prepare Patch for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(build-aux/config.guess) - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-patch" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/perl.xml b/chapter05/perl.xml deleted file mode 100644 index 663d3dbc2..000000000 --- a/chapter05/perl.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-perl" role="wrap"> - <?dbhtml filename="perl.html"?> - - <sect1info condition="script"> - <productname>perl</productname> - <productnumber>&perl-version;</productnumber> - <address>&perl-url;</address> - </sect1info> - - <title>Perl-&perl-version; - - - Perl - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/perl.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&perl-ch5-sbu;</seg> - <seg>&perl-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Perl - - Prepare Perl for compilation: - -sh Configure -des -Dprefix=/usr - - - The meaning of the new Configure options: - - -des - - This is a combination of three options: -d uses defaults for - all items; -e ensures completion of all tasks; -s silences - non-essential output. - - - - - - Build the package: - -make - -make install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-perl" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/python.xml b/chapter05/python.xml deleted file mode 100644 index 8e7afaf03..000000000 --- a/chapter05/python.xml +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-system-Python-temp" role="wrap"> - <?dbhtml filename="Python-temp.html"?> - - <sect1info condition="script"> - <productname>Python</productname> - <productnumber>&python-version;</productnumber> - <address>&python-url;</address> - </sect1info> - - <title>Python-&python-version; - - - Python - temporary - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/python.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&python-ch5-sbu;</seg> - <seg>&python-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Python - - - There are two package files whose name starts with - python. The one to extract from is - Python-&python-version;.tar.xz (notice the - uppercase first letter). - - - Prepare Python for compilation: - -./configure --prefix=/usr --without-ensurepip - - - The meaning of the configure option: - - - --without-ensurepip - - This switch disables the Python package installer, which is not - needed at this stage. - - - - - - Compile the package: - -make - - Install the package: - -make install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-python" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/sed.xml b/chapter05/sed.xml deleted file mode 100644 index 5daaf6b7e..000000000 --- a/chapter05/sed.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-sed" role="wrap"> - <?dbhtml filename="sed.html"?> - - <sect1info condition="script"> - <productname>sed</productname> - <productnumber>&sed-version;</productnumber> - <address>&sed-url;</address> - </sect1info> - - <title>Sed-&sed-version; - - - Sed - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/sed.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&sed-ch5-sbu;</seg> - <seg>&sed-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Sed - - Prepare Sed for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --bindir=/bin - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-sed" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/stripping.xml b/chapter05/stripping.xml deleted file mode 100644 index 7c054b6b2..000000000 --- a/chapter05/stripping.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-stripping"> - <?dbhtml filename="stripping.html"?> - - <title>Stripping - - The steps in this section are optional, but if the LFS partition is - rather small, it is beneficial to learn that unnecessary items can be removed. - The executables and libraries built so far contain about 70 MB of unneeded - debugging symbols. Remove those symbols with: - -$LFS_TGT-strip --strip-debug $LFS/usr/lib/* -$LFS_TGT-strip --strip-unneeded $LFS/usr/{,s}bin/* - - These commands will skip a number of files, reporting that it does not - recognize their file format. Most of these are scripts instead of binaries. - Note that we use the strip program built in - Binutils pass 1, since it is the one that knows how to strip - our cross-compiled programs. - - - Take care not to use - --strip-unneeded on the libraries. The static - ones would be destroyed and the toolchain packages would need to be - built all over again. - - To save more, remove the documentation: - -rm -rf $LFS/usr/{,share}/{info,man,doc} - - The libtool .la files are only useful when linking with static - libraries. They are unneeded, and potentially harmful, when using dynamic - shared libraries, specially when using also non-autotools build systems. - Remove those files now: - -find $LFS/usr/{lib,libexec} -name \*.la -delete - - At this point, you should have at least 3 GB of free space in - $LFS that can be used to build and install Glibc and Gcc in - the next phase. If you can build and install Glibc, you can build and install - the rest too. - -
diff --git a/chapter05/tar.xml b/chapter05/tar.xml deleted file mode 100644 index 26f676121..000000000 --- a/chapter05/tar.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - %general-entities; -]> - - - - - - tar - &tar-version; -
&tar-url;
-
- - Tar-&tar-version; - - - Tar - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/tar.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&tar-ch5-sbu;</seg> - <seg>&tar-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Tar - - Prepare Tar for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(build-aux/config.guess) \ - --bindir=/bin - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-tar" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/tcl.xml b/chapter05/tcl.xml deleted file mode 100644 index bd17a91a8..000000000 --- a/chapter05/tcl.xml +++ /dev/null @@ -1,191 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; - <!ENTITY tdbc-ver "1.1.1"> - <!ENTITY itcl-ver "4.2.0"> -]> - -<sect1 id="ch-tools-tcl" role="wrap"> - <?dbhtml filename="tcl.html"?> - - <sect1info condition="script"> - <productname>tcl</productname> - <productnumber>&tcl-version;</productnumber> - <address>&tcl-url;</address> - </sect1info> - - <title>Tcl-&tcl-version; - - - Tcl - - - - - - <para>The <application>Tcl</application> package contains the Tool Command Language, - a robust general-purpose scripting language. The <application>Expect</application> package - is written in the <application>Tcl</application> language.</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&tcl-ch5-sbu;</seg> - <seg>&tcl-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Tcl - - This package and the next two (Expect and DejaGNU) are - installed to support running the test suites for GCC and Binutils and other - packages. Installing three packages for testing purposes may seem - excessive, but it is very reassuring, if not essential, to know that the - most important tools are working properly. These packages are required - to run the test suites in . - - Note that the Tcl package used here is a minimal version needed - to run the LFS tests. For the full package, see the - BLFS Tcl procedures. - - Prepare Tcl for compilation: - -SRCDIR=$(pwd) -cd unix -./configure --prefix=/usr \ - --mandir=/usr/share/man \ - $([ "$(uname -m)" = x86_64 ] && echo --enable-64bit) - - - The meaning of the configure options: - - - $([ "$(uname -m)" = x86_64 ] && echo --enable-64bit) - - The construct $(<shell command>) - is replaced by the output of the chell command. Here this output is - empty if running on a 32 bit machine, and is - --enable-64bit if running on a 64 bit machine. - - - - - - - Build the package: - -make - -sed -e "s|$SRCDIR/unix|/usr/lib|" \ - -e "s|$SRCDIR|/usr/include|" \ - -i tclConfig.sh - -sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \ - -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \ - -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \ - -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \ - -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh - -sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \ - -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \ - -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \ - -i pkgs/itcl&itcl-ver;/itclConfig.sh - -unset SRCDIR - - The various sed after the make command - remove references to the build directory from various configuration files, - and replaces them with the install directory. This is not mandatory - for the remaining of LFS, but may be needed in case a package built later - uses Tcl. - - Install the package: - -make install - - Make the installed library writable so debugging symbols can - be removed later: - -chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so - - Install Tcl's headers. The next package, Expect, requires them - to build. - -make install-private-headers - - Now make a necessary symbolic link: - -ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh - - - - - Contents of Tcl - - - Installed programs - Installed library - - - tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version; - libtcl&tcl-major-version;.so, libtclstub&tcl-major-version;.a - - - - - Short Descriptions - - - - - tclsh&tcl-major-version; - - The Tcl command shell - - tclsh&tcl-major-version; - - - - - - tclsh - - A link to tclsh&tcl-major-version; - - tclsh - - - - - - libtcl&tcl-major-version;.so - - The Tcl library - - libtcl&tcl-major-version;.so - - - - - - libtclstub&tcl-major-version;.a - - The Tcl Stub library - - libtclstub&tcl-major-version;.a - - - - - - - - -
diff --git a/chapter05/texinfo.xml b/chapter05/texinfo.xml deleted file mode 100644 index 2cb7764cb..000000000 --- a/chapter05/texinfo.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - %general-entities; -]> - - - - - - texinfo - &texinfo-version; -
&texinfo-url;
-
- - Texinfo-&texinfo-version; - - - Texinfo - temporary - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/texinfo.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&texinfo-ch5-sbu;</seg> - <seg>&texinfo-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Texinfo - - Prepare Texinfo for compilation: - -./configure --prefix=/usr - - - As part of the configure process, a test is made that indicates an - error for TestXS_la-TestXS.lo. This is not relevant for LFS and should be - ignored. - - - Compile the package: - -make - - Install the package: - -make install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-texinfo" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/util-linux.xml b/chapter05/util-linux.xml deleted file mode 100644 index 6aebad7a1..000000000 --- a/chapter05/util-linux.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-util-linux" role="wrap"> - <?dbhtml filename="util-linux.html"?> - - <sect1info condition="script"> - <productname>util-linux</productname> - <productnumber>&util-linux-version;</productnumber> - <address>&util-linux-url;</address> - </sect1info> - - <title>Util-linux-&util-linux-version; - - - Util-linux - tools - - - - - - <para>The Util-linux package contains miscellaneous utility programs.</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&util-linux-ch5-sbu;</seg> - <seg>&util-linux-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Util-linux - - First create a directory - to enable storage for the hwclock program: - -mkdir -pv /var/lib/hwclock - - Prepare Util-linux for compilation: - -./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ - --docdir=/usr/share/doc/util-linux-&util-linux-version; \ - --disable-chfn-chsh \ - --disable-login \ - --disable-nologin \ - --disable-su \ - --disable-setpriv \ - --disable-runuser \ - --disable-pylibmount \ - --disable-static \ - --without-python - - - The meaning of the configure options: - - - ADJTIME_PATH=/var/lib/hwclock/adjtime - - This sets the location of the file recording information about - the hardware clock, in accordance to the FHS. This is not stricly - needed fot his temporary tool, but it prevent creating a file - at another location, which would not be overwritten or removed - when building the final util-linux. - - - - - --disable-* - - Those switches prevent warnings about building components - that require packages not in LFS or not installed yet. - - - - - --without-python - - This switch disables using Python. - It avoids trying to build unneeded bindings. - - - - - - Compile the package: - -make - - Install the package: - -make install - - - - - - - <para>Details on this package are located in - <xref linkend="contents-utillinux" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/xz.xml b/chapter05/xz.xml deleted file mode 100644 index 83e4a96d6..000000000 --- a/chapter05/xz.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" - "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> - -<sect1 id="ch-tools-xz" role="wrap"> - <?dbhtml filename="xz.html"?> - - <sect1info condition="script"> - <productname>xz</productname> - <productnumber>&xz-version;</productnumber> - <address>&xz-url;</address> - </sect1info> - - <title>Xz-&xz-version; - - - Xz - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/xz.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&xz-ch5-sbu;</seg> - <seg>&xz-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Xz - - Prepare Xz for compilation: - -./configure --prefix=/usr \ - --host=$LFS_TGT \ - --build=$(build-aux/config.guess) \ - --disable-static \ - --docdir=/usr/share/doc/xz-&xz-version; - - Compile the package: - -make - - Install the package: - -make DESTDIR=$LFS install - - Make sure that all essential files are in the correct directory: - -mv -v $LFS/usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} $LFS/bin -mv -v $LFS/usr/lib/liblzma.so.* $LFS/lib -ln -svf ../../lib/$(readlink $LFS/usr/lib/liblzma.so) $LFS/usr/lib/liblzma.so - - - - - - <para>Details on this package are located in<!-- TODO - <xref linkend="contents-xz" role="."/> --></para> - - </sect2> - -</sect1> -- cgit v1.2.3-54-g00ecf