diff --git a/.gitignore b/.gitignore index e5fb52276..0d2478625 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ lfs-bootscripts-*.tar.xz +conditional.ent version.ent appendices/*.script diff --git a/Makefile b/Makefile index 68ecf9e7b..d75a2cd4f 100644 --- a/Makefile +++ b/Makefile @@ -204,7 +204,7 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \ $(BASEDIR)/md5sums version: - $(Q)./git-version.sh + $(Q)./git-version.sh $(REV) #dump-commands: validate # @echo "Dumping book commands..." diff --git a/chapter01/askforhelp.xml b/chapter01/askforhelp.xml index 56daa6023..efc42dd24 100644 --- a/chapter01/askforhelp.xml +++ b/chapter01/askforhelp.xml @@ -38,13 +38,7 @@ - The version of the book being used (in this case - &version; - &versiond;) - &version; - &version;-multilib - &versiond; - &versiond;-multilib) + The version of the book being used (in this case &version;-multilib) The host distribution and version being used to create LFS diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index dc650e583..3fd2bb484 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -10,12 +10,7 @@ Changelog - This is version - &version; - &version;-multilib - &versiond; - &versiond;-multilib - of the Linux From Scratch book, dated + This is version &version;&version;-multilib of the Linux From Scratch book, dated &releasedate;. If this book is more than six months old, a newer and better version is probably already available. To find out, please check one of the mirrors via . @@ -44,6 +39,44 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2021-10-15 + + + [bdubbs] - Update to vim-8.2.3508. Addresses + #4500. + + + [bdubbs] - Update to tzdata-2021c. Fixes + #4934. + + + [bdubbs] - Update to Python-3.10.0. Fixes + #4938. + + + [bdubbs] - Update to Jinja2-3.0.2. Fixes + #4937. + + + [bdubbs] - Update to linux-5.14.12. Fixes + #4932. + + + [bdubbs] - Update to iana-etc-20211004. Fixes + #4933. + + + [bdubbs] - Update to bc-5.1.1. Fixes + #4936. + + + [bdubbs] - Update to automake-1.16.5. Fixes + #4935. + + + + 2021-10-01 diff --git a/chapter01/resources.xml b/chapter01/resources.xml index c8cc98dca..52195bd91 100644 --- a/chapter01/resources.xml +++ b/chapter01/resources.xml @@ -57,7 +57,7 @@ Relay Chat (IRC). Before using this support, please make sure that your question is not already answered in the LFS FAQ or the mailing list archives. You can find the IRC network at irc.libera.chat. - The support channel is named #LFS-support. + The support channel is named #lfs-support. diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 2d655705b..8ee6fae1d 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -39,9 +39,9 @@ - + @@ -138,9 +138,9 @@ IPRoute2-&iproute2-version; - + diff --git a/chapter07/cleanup.xml b/chapter07/cleanup.xml index 1edb939be..81c9b98c9 100644 --- a/chapter07/cleanup.xml +++ b/chapter07/cleanup.xml @@ -130,12 +130,9 @@ umount $LFS/{sys,proc,run,dev} -cd $LFS +cd $LFS tar -cJpf $HOME/lfs-temp-tools-&version;.tar.xz . -cd $LFS -tar -cJpf $HOME/lfs-temp-tools-&versiond;.tar.xz . - @@ -160,14 +157,10 @@ tar -cJpf $HOME/lfs-temp-tools-&versiond;.tar.xz . environment variable is not set for the root user, it will destroy your entire host system. YOU ARE WARNED. -cd $LFS +cd $LFS rm -rf ./* tar -xpf $HOME/lfs-temp-tools-&version;.tar.xz -cd $LFS -rm -rf ./* -tar -xpf $HOME/lfs-temp-tools-&versiond;.tar.xz - Again, double check that the environment has been setup properly and continue building the rest of the system. diff --git a/chapter08/automake.xml b/chapter08/automake.xml index 92fae932b..4fc1bd277 100644 --- a/chapter08/automake.xml +++ b/chapter08/automake.xml @@ -58,10 +58,9 @@ the results, issue: make -j4 check - + + The test t/subobj.sh is known to fail. + Install the package: make install diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index 940fe3833..4c8ecc265 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -62,7 +62,7 @@ If desired, install the documentation: -mkdir -v /usr/share/doc/gawk-&gawk-version; +mkdir -pv /usr/share/doc/gawk-&gawk-version; cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-&gawk-version; diff --git a/chapter08/iproute2.xml b/chapter08/iproute2.xml index e1b2d189e..c39f892d1 100644 --- a/chapter08/iproute2.xml +++ b/chapter08/iproute2.xml @@ -79,7 +79,7 @@ rm -fv man/man8/arpd.8 If desired, install the documentation: -mkdir -v /usr/share/doc/iproute2-&iproute2-version; +mkdir -pv /usr/share/doc/iproute2-&iproute2-version; cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version; diff --git a/chapter08/kbd.xml b/chapter08/kbd.xml index 911720129..25b0a8726 100644 --- a/chapter08/kbd.xml +++ b/chapter08/kbd.xml @@ -97,7 +97,7 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in If desired, install the documentation: -mkdir -v /usr/share/doc/kbd-&kbd-version; +mkdir -pv /usr/share/doc/kbd-&kbd-version; cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version; diff --git a/chapter08/ncurses.xml b/chapter08/ncurses.xml index e66c38716..174521020 100644 --- a/chapter08/ncurses.xml +++ b/chapter08/ncurses.xml @@ -124,7 +124,7 @@ ln -sfv libncurses.so /usr/lib/libcurses.so If desired, install the Ncurses documentation: -mkdir -v /usr/share/doc/ncurses-&ncurses-version; +mkdir -pv /usr/share/doc/ncurses-&ncurses-version; cp -v -R doc/* /usr/share/doc/ncurses-&ncurses-version; diff --git a/chapter10/grub.xml b/chapter10/grub.xml index c32783e9a..c569525c9 100644 --- a/chapter10/grub.xml +++ b/chapter10/grub.xml @@ -135,7 +135,7 @@ xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.isoGenerate /boot/grub/grub.cfg: - cat > /boot/grub/grub.cfg << "EOF" + cat > /boot/grub/grub.cfg << "EOF" # Begin /boot/grub/grub.cfg set default=0 set timeout=5 @@ -148,20 +148,6 @@ menuentry "GNU/Linux, Linux &linux-version;-lfs-&version;" { } EOF - cat > /boot/grub/grub.cfg << "EOF" -# Begin /boot/grub/grub.cfg -set default=0 -set timeout=5 - -insmod ext2 -set root=(hd0,2) - -menuentry "GNU/Linux, Linux &linux-version;-lfs-&versiond;" { - linux /boot/vmlinuz-&linux-version;-lfs-&versiond; root=/dev/sda2 ro -} -EOF - - From GRUB's perspective, the kernel files are relative to the partition used. If you used a separate /boot partition, remove /boot from the above diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index d05b5d891..a454808ad 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -258,9 +258,7 @@ File systems ---> the automatic setup of the boot process described in the next section. The following command assumes an x86 architecture: -cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&version; - -cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&versiond; +cp -iv arch/x86/boot/bzImage /boot/vmlinuz-&linux-version;-lfs-&version; System.map is a symbol file for the kernel. It maps the function entry points of every function in the kernel API, @@ -369,8 +367,7 @@ EOF config-&linux-version;, - vmlinuz-&linux-version;-lfs-&version;, - vmlinuz-&linux-version;-lfs-&versiond;, + vmlinuz-&linux-version;-lfs-&version;, and System.map-&linux-version; /lib/modules, /usr/share/doc/linux-&linux-version; @@ -392,8 +389,7 @@ EOF - vmlinuz-&linux-version;-lfs-&version; - vmlinuz-&linux-version;-lfs-&versiond; + vmlinuz-&linux-version;-lfs-&version; The engine of the Linux system. When turning on the computer, the kernel is the first part of the operating system that gets loaded. diff --git a/chapter11/reboot.xml b/chapter11/reboot.xml index e2f0e0c59..adf1a9f3e 100644 --- a/chapter11/reboot.xml +++ b/chapter11/reboot.xml @@ -20,22 +20,19 @@ - A text mode browser such as LynxLynx + A text mode browser such as Lynx will allow you to easily view the BLFS book in one virtual terminal, while building packages in another. - The make-camake-ca package + The make-ca package will allow you to set up local trusted anchor certificates, allowing the system to verify SSL certificates provided by remote servers (for example, a website using HTTPS). - The GPMGPM package will allow + The GPM package will allow you to perform copy/paste actions in your virtual terminals. @@ -47,29 +44,21 @@ url='&blfs-book;basicnet/dhcp.html'>dhcp may be useful. - Installing sudosudo may be useful for + Installing sudo may be useful for building packages as a non-root user and easily installing the resulting packages in your new system. If you want to access your new system from a remote system - within a comfortable GUI environment, install opensshopenssh. - + within a comfortable GUI environment, install openssh. To make fetching files over the internet easier, install - wgetwget. - + wget. To connect to a wireless access point for networking, - install wpa_supplicantwpa_supplicant. + install wpa_supplicant. Finally, a review of the following configuration files diff --git a/chapter11/theend.xml b/chapter11/theend.xml index 6a5f8ad7a..8470948a3 100644 --- a/chapter11/theend.xml +++ b/chapter11/theend.xml @@ -31,50 +31,33 @@ out which LFS version is installed on the system. Create this file by running: -echo &version; > /etc/lfs-release +echo &version; > /etc/lfs-release -echo &versiond; > /etc/lfs-release - - Two files describing the installed system may be used by packages - that can be installed on the system later, either in binary form or by building + Two files describing the installed system may be used by packages that + can be installed on the system later, either in binary form or by building them. The first one shows the status of your new system with respect to the Linux Standards Base (LSB). To create this file, run: -cat > /etc/lsb-release << "EOF" +cat > /etc/lsb-release << "EOF" DISTRIB_ID="Linux From Scratch" DISTRIB_RELEASE="&version;" DISTRIB_CODENAME="<your name here>" DISTRIB_DESCRIPTION="Linux From Scratch" -EOF - -cat > /etc/lsb-release << "EOF" -DISTRIB_ID="Linux From Scratch" -DISTRIB_RELEASE="&versiond;" -DISTRIB_CODENAME="<your name here>" -DISTRIB_DESCRIPTION="Linux From Scratch" EOF The second one contains roughly the same information, and is used by systemd and some graphical desktop environments. To create this file, run: -cat > /etc/os-release << "EOF" +cat > /etc/os-release << "EOF" NAME="Linux From Scratch" VERSION="&version;" ID=lfs PRETTY_NAME="Linux From Scratch &version;" VERSION_CODENAME="<your name here>" -EOF - -cat > /etc/os-release << "EOF" -NAME="Linux From Scratch" -VERSION="&versiond;" -ID=lfs -PRETTY_NAME="Linux From Scratch &versiond;" -VERSION_CODENAME="<your name here>" EOF Be sure to put some sort of customization for the fields diff --git a/chapter11/whatnow.xml b/chapter11/whatnow.xml index e72f4ca5e..f8672ec69 100644 --- a/chapter11/whatnow.xml +++ b/chapter11/whatnow.xml @@ -57,8 +57,7 @@ The Beyond Linux From Scratch book covers installation procedures for a wide range of software beyond the scope of the LFS - Book. The BLFS project is located at . + Book. The BLFS project is located at . diff --git a/general.ent b/general.ent index 836043835..4f15d3fdd 100644 --- a/general.ent +++ b/general.ent @@ -1,44 +1,96 @@ - + + + + + + + + + + + + + +%conditional-entities; + + %version-entities; + + +]]> + + +]]> + +]]> - - + + +]]> + + +]]> + + + + +]]> - - - - - + + +]]> + + +]]> + + + + +]]> - + - - + diff --git a/git-version.sh b/git-version.sh index ff0eb6cdd..1214ea824 100755 --- a/git-version.sh +++ b/git-version.sh @@ -1,10 +1,28 @@ #!/bin/sh +if [ "$1" = sysv ]; then + SYSV="INCLUDE" + SYSTEMD="IGNORE " +elif [ "$1" = systemd ]; then + SYSV="IGNORE " + SYSTEMD="INCLUDE" +else + echo You must provide either \"sysv\" or \"systemd\" as argument + exit 1 +fi + +echo "" > conditional.ent +echo "" >> conditional.ent + if ! git status > /dev/null; then # Either it's not a git repository, or git is unavaliable. # Just workaround. - echo "" > version.ent - echo "" >> version.ent + echo " version.ent + echo "" >> version.ent + echo "]]>" >> version.ent + echo "> version.ent + echo "" >> version.ent + echo "]]>" >> version.ent echo "" >> version.ent echo "" >> version.ent exit 0 @@ -30,18 +48,20 @@ esac full_date="$month $day$suffix, $year" sha="$(git describe --abbrev=1)" -if [ "$(git branch --show-current)" = "trunk" ]; then - sha=$(echo "$sha" | sed 's/-g[^-]*$//') -fi -version="$sha" -versiond="$sha-systemd" +rev=$(echo "$sha" | sed 's/-g[^-]*$//') +version="$rev" +versiond="$rev-systemd" if [ "$(git diff HEAD | wc -l)" != "0" ]; then version="$version+" versiond="$versiond+" fi -echo "" > version.ent -echo "" >> version.ent +echo " version.ent +echo "" >> version.ent +echo "]]>" >> version.ent +echo "> version.ent +echo "" >> version.ent +echo "]]>" >> version.ent echo "" >> version.ent echo "" >> version.ent diff --git a/lfs-latest-git.php b/lfs-latest-git.php index a581792af..54a16eda2 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -318,7 +318,7 @@ function get_current() # Make version.ent chdir( "$tmpdir/LFS" ); - exec ( "./git-version.sh" ); + exec ( "./git-version.sh systemd" ); chdir( $cdir ); diff --git a/make-aux-files.sh b/make-aux-files.sh index 785ec1b64..27a8674f4 100755 --- a/make-aux-files.sh +++ b/make-aux-files.sh @@ -3,7 +3,7 @@ rm -f lfs-bootscripts*.tar.?z* # Get base file name and move bootscripts directory to that name -version=`grep "ENTITY lfs-bootscripts-version" packages.ent |cut -d'"' -f2` +version=`grep "ENTITY lfs-bootscripts-version" packages.ent | head -n1| cut -d'"' -f2` mv bootscripts lfs-bootscripts-$version # Create the tarball and clean up diff --git a/packages.ent b/packages.ent index b228764cc..17f6a6efd 100644 --- a/packages.ent +++ b/packages.ent @@ -38,11 +38,11 @@ - + - + - + @@ -58,10 +58,10 @@ - - + + - + @@ -321,10 +321,10 @@ - + - + @@ -362,10 +362,10 @@ - - + + - + @@ -436,12 +436,12 @@ - + - + - + - - - + + + - + - - + + @@ -705,10 +705,10 @@ - - + + - + @@ -728,13 +728,13 @@ - + - + - + diff --git a/prologue/bookinfo.xml b/prologue/bookinfo.xml index 61b845b17..5660a8017 100644 --- a/prologue/bookinfo.xml +++ b/prologue/bookinfo.xml @@ -7,10 +7,7 @@ Linux From Scratch - Version &version; - Version &versiond; - Version &version;-multilib - Version &versiond;-multilib + Version &version;-multilib Published &releasedate; diff --git a/prologue/errata.xml b/prologue/errata.xml index 2ecf71555..fa919bcca 100644 --- a/prologue/errata.xml +++ b/prologue/errata.xml @@ -15,8 +15,7 @@ the LFS book has been released. To check whether the package versions or instructions in this release of LFS need any modifications to accommodate security vulnerabilities or other bug fixes, please visit - - + before proceeding with your build. You should note any changes shown and apply them to the relevant section of the book as you progress with building the LFS system.