From 9c13f79681b20e51adf23414be19a9e5daf32c2c Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Tue, 29 Sep 2015 21:37:03 +0000 Subject: [PATCH] LFS-systemd-7.8 git-svn-id: http://svn.linuxfromscratch.org/LFS/tags/7.8-systemd@10957 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter01/changelog.xml | 59 +++++++ chapter01/whatsnew.xml | 15 +- chapter03/patches.xml | 19 ++- chapter05/adjusting.xml | 2 +- chapter05/gcc-pass2.xml | 2 +- chapter05/glibc.xml | 11 +- chapter06/adjusting.xml | 2 +- chapter06/diffutils.xml | 2 + chapter06/e2fsprogs.xml | 4 +- chapter06/glibc.xml | 6 +- chapter06/grep.xml | 2 + chapter06/inetutils.xml | 54 ++----- chapter06/introduction.xml | 4 +- chapter06/m4.xml | 2 + chapter06/mpfr.xml | 6 +- chapter06/ncurses.xml | 9 +- chapter06/pkgmgt.xml | 8 +- chapter06/revisedchroot.xml | 2 +- chapter06/xz.xml | 2 +- general.ent | 4 +- packages.ent | 300 ++++++++++++++++++------------------ patches.ent | 30 +--- prologue/bookinfo.xml | 3 +- prologue/hostreqs.xml | 4 +- 24 files changed, 303 insertions(+), 249 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index f764ee67c..d772530a5 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -36,6 +36,65 @@ --> + + 2015-09-28 + + + [renodr] - LFS 7.8-systemd released. + + + [renodr] - Fix a warning when doing the GCC compile tests. + + + [renodr] - Add additional discussion about copying LFS systems + from one machine to another machine. + + + [renodr] - Provide ncurses non-wide-character libraries that + are compliant with version 5 of ncurses. + + + [renodr] - Remove unnecessary sed in e2fsprogs. + + + [renodr] - Update to util-linux-2.27. + + + [renodr] - Update to linux-4.2. + + + [renodr] - Update to iproute2-4.2.0. + + + [renodr] - Refresh build sizes and SBU values. + + + + + + 2015-08-25 + + + [renodr] - Add an upstream patch for MPFR. + + + [renodr] - Update to libpipeline-1.4.1. + + + [renodr] - Update to linux-4.1.6. + + + [renodr] - Update to man-db-2.7.2. + + + [renodr] - Add a patch to allow glibc to build properly on i386 systems. + + + [renodr] - Remove obsolete r* programs from inetutils. + + + + 2015-08-19 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index e7bd21459..0906688ea 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -139,9 +139,9 @@ - + @@ -154,9 +154,9 @@ - + Man-pages &man-pages-version; @@ -246,6 +246,13 @@ &gcc-upstream-patch; --> + + &glibc-upstream-patch; + + + + &mpfr-upstream-patch; + &systemd-compat-patch; diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 57f21aeae..885570743 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -57,6 +57,14 @@ + + Glibc i386 Patch - &glibc-upstream-patch-size;: + + Download: + MD5 sum: &glibc-upstream-patch-md5; + + + Kbd Backspace/Delete Fix Patch - &kbd-backspace-patch-size;: @@ -64,13 +72,14 @@ MD5 sum: &kbd-backspace-patch-md5; - - + Readline Upstream Fixes Patch - &readline-fixes-patch-size;: diff --git a/chapter05/adjusting.xml b/chapter05/adjusting.xml index 7179233d2..e567da5a5 100644 --- a/chapter05/adjusting.xml +++ b/chapter05/adjusting.xml @@ -45,7 +45,7 @@ unset SPECS functions (compiling and linking) of the new toolchain are working as expected. To perform a sanity check, run the following commands: -echo 'main(){}' > dummy.c +echo 'int main(){}' > dummy.c $LFS_TGT-gcc -B/tools/lib dummy.c readelf -l a.out | grep ': /tools' diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml index e2df1764d..ec460e482 100644 --- a/chapter05/gcc-pass2.xml +++ b/chapter05/gcc-pass2.xml @@ -181,7 +181,7 @@ RANLIB=$LFS_TGT-ranlib \ functions (compiling and linking) of the new toolchain are working as expected. To perform a sanity check, run the following commands: -echo 'main(){}' > dummy.c +echo 'int main(){}' > dummy.c cc dummy.c readelf -l a.out | grep ': /tools' diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index ecbefa16a..111ba63ec 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -43,6 +43,10 @@ Installation of Glibc + First, fix a build problem that affects i386 systems: + +patch -Np1 -i ../&glibc-upstream-patch; + The Glibc documentation recommends building Glibc outside of the source directory in a dedicated build directory: @@ -187,7 +191,7 @@ cd ../glibc-build functions (compiling and linking) of the new toolchain are working as expected. To perform a sanity check, run the following commands: -echo 'main(){}' > dummy.c +echo 'int main(){}' > dummy.c $LFS_TGT-gcc dummy.c readelf -l a.out | grep ': /tools' @@ -196,9 +200,8 @@ readelf -l a.out | grep ': /tools' [Requesting program interpreter: /tools/lib/ld-linux.so.2] - Note that /tools/lib, or - /tools/lib64 for 64-bit machines - appears as the prefix of the dynamic linker. + Note that for 64-bit machines, the interpreter name will be + /tools/lib64/ld-linux-x86-64.so.2. If the output is not shown as above or there was no output at all, then something is wrong. Investigate and retrace the steps to find out diff --git a/chapter06/adjusting.xml b/chapter06/adjusting.xml index df01e9b68..bc9e236a6 100644 --- a/chapter06/adjusting.xml +++ b/chapter06/adjusting.xml @@ -42,7 +42,7 @@ ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld functions (compiling and linking) of the adjusted toolchain are working as expected. To do this, perform the following sanity checks: -echo 'main(){}' > dummy.c +echo 'int main(){}' > dummy.c cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' diff --git a/chapter06/diffutils.xml b/chapter06/diffutils.xml index d98bc500d..89bd81be7 100644 --- a/chapter06/diffutils.xml +++ b/chapter06/diffutils.xml @@ -57,6 +57,8 @@ make check + The test-update-copyright.sh failure can be safely ignored. + Install the package: make install diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml index 071fb147e..2ea667a3b 100644 --- a/chapter06/e2fsprogs.xml +++ b/chapter06/e2fsprogs.xml @@ -44,11 +44,11 @@ Installation of E2fsprogs - First, fix a potential security issue identified upstream: + The E2fsprogs documentation recommends that the package be built in a subdirectory of the source tree: diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml index f1c1a68d1..a55ef9722 100644 --- a/chapter06/glibc.xml +++ b/chapter06/glibc.xml @@ -66,6 +66,10 @@ Glibc autoconf tests would give false results and defeat the goal of achieving a clean build. + Now, fix a build problem that affects i386 systems: + +patch -Np1 -i ../&glibc-upstream-patch; + The Glibc documentation recommends building Glibc outside of the source directory in a dedicated build directory: @@ -135,7 +139,7 @@ cd ../glibc-build --> The elf/tst-protected1a and - elf/tst-protected1a tests are known to + elf/tst-protected1b tests are known to fail with the current stable version of binutils. diff --git a/chapter06/grep.xml b/chapter06/grep.xml index 126b65182..deeb99791 100644 --- a/chapter06/grep.xml +++ b/chapter06/grep.xml @@ -56,6 +56,8 @@ make check + The test-update-copyright.sh failure can be safely ignored. + Install the package: make install diff --git a/chapter06/inetutils.xml b/chapter06/inetutils.xml index 84fffedca..95a846326 100644 --- a/chapter06/inetutils.xml +++ b/chapter06/inetutils.xml @@ -51,11 +51,25 @@ --localstatedir=/var \ --disable-logger \ --disable-whois \ + --disable-rcp \ + --disable-rexec \ + --disable-rlogin \ + --disable-rsh \ --disable-servers The meaning of the configure options: + + --disable-r* + + These parameters disable building obsolete programs that should + not be used due to security issues. The functions provided by these + programs can be provided by the openssh + package in the BLFS book. + + + --disable-logger @@ -179,46 +193,6 @@ mv -v /usr/bin/ifconfig /sbin - - rcp - - Performs remote file copy - - rcp - - - - - - rexec - - Executes commands on a remote host - - rexec - - - - - - rlogin - - Performs remote login - - rlogin - - - - - - rsh - - Runs a remote shell - - rsh - - - - talk diff --git a/chapter06/introduction.xml b/chapter06/introduction.xml index ae0e54c58..4671662c6 100644 --- a/chapter06/introduction.xml +++ b/chapter06/introduction.xml @@ -64,10 +64,10 @@ into a program can be detrimental. If an update to the library is needed to remove a security problem, all programs that use the static library will need to be relinked to the new library. Since the use of static libraries - is not always obvious, deciding which programs (and the procedures needed to + is not always obvious, the relevant programs (and the procedures needed to do the linking) may not even be known. - In the prcedures in Chapter 6, we remove or disable installation of + In the procedures in Chapter 6, we remove or disable installation of most static libraries. In a few cases, especially glibc and gcc, the use of static libraries remains essential to the general package building process. Usually this is done by passing a diff --git a/chapter06/m4.xml b/chapter06/m4.xml index ca2f5b582..804173a8f 100644 --- a/chapter06/m4.xml +++ b/chapter06/m4.xml @@ -52,6 +52,8 @@ make check + The test-update-copyright.sh failure can safely be ignored. + Install the package: make install diff --git a/chapter06/mpfr.xml b/chapter06/mpfr.xml index 597df4d65..8da91cb47 100644 --- a/chapter06/mpfr.xml +++ b/chapter06/mpfr.xml @@ -40,12 +40,12 @@ Installation of MPFR - +patch -Np1 -i ../&mpfr-upstream-patch; + Prepare MPFR for compilation: ./configure --prefix=/usr \ diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index f84948146..e037f6a04 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -141,7 +141,9 @@ cp -v -R doc/* /usr/share/doc/ncurses-&ncurses-version; The instructions above don't create non-wide-character Ncurses libraries since no package installed by compiling from sources would - link against them at runtime. If you must have such libraries because + link against them at runtime. However, the only known binary-only + applications that link against non-wide-character Ncurses libraries + require version 5. If you must have such libraries because of some binary-only application or to be compliant with LSB, build the package again with the following commands: @@ -150,9 +152,10 @@ cp -v -R doc/* /usr/share/doc/ncurses-&ncurses-version; --with-shared \ --without-normal \ --without-debug \ - --without-cxx-binding + --without-cxx-binding \ + --with-abi-version=5 make sources libs -cp -av lib/lib*.so.6* /usr/lib +cp -av lib/lib*.so.5* /usr/lib diff --git a/chapter06/pkgmgt.xml b/chapter06/pkgmgt.xml index 4810bab78..64387f5b4 100644 --- a/chapter06/pkgmgt.xml +++ b/chapter06/pkgmgt.xml @@ -250,7 +250,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install One of the advantages of an LFS system is that there are no files that depend on the position of files on a disk system. Cloning an LFS build to - another computer with an architecture similar to the base system is as + another computer with the same architecture as the base system is as simple as using tar on the LFS partition that contains the root directory (about 250MB uncompressed for a base LFS build), copying that file via network transfer or CD-ROM to the new system and expanding @@ -268,6 +268,12 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install differences in system hardware and the original kernel configuration. + There have been some reports of issues when copying between + similar but not identical architectures. For instance, the instruction set + for an Intel architecture is not identical with an AMD processor and later + versions of some processors may have instructions that are unavailable in + earlier versions. + Finally the new system has to be made bootable via . diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml index 32a86a251..25332ba0e 100644 --- a/chapter06/revisedchroot.xml +++ b/chapter06/revisedchroot.xml @@ -41,7 +41,7 @@ linkend="ch-system-bindmount"/> and . - Finally, thre were several static libraries that were not supressed earlier + Finally, there were several static libraries that were not supressed earlier in the chapter in order to satisfy the regression tests in several packages. These libraries are from binutils, bzip2, e2fsprogs, libtool, and zlib. If desired, remove them now: diff --git a/chapter06/xz.xml b/chapter06/xz.xml index 6a94393ce..8d29b578a 100644 --- a/chapter06/xz.xml +++ b/chapter06/xz.xml @@ -149,7 +149,7 @@ ln -svf ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so lzegrep - Runs egrep on LZMA compressed files files + Runs egrep on LZMA compressed files lzegrep diff --git a/general.ent b/general.ent index d2ecb7df0..188199438 100644 --- a/general.ent +++ b/general.ent @@ -1,6 +1,6 @@ - + - + diff --git a/packages.ent b/packages.ent index a47a0f301..dd2a76169 100644 --- a/packages.ent +++ b/packages.ent @@ -11,7 +11,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -27,8 +27,8 @@ - - + + @@ -36,55 +36,55 @@ - - + + - + - - + + - - + + - + - - - - + + + + - - + + - + - + @@ -92,7 +92,7 @@ - + @@ -100,10 +100,10 @@ - - - - + + + + @@ -111,14 +111,14 @@ - + - + @@ -126,10 +126,10 @@ - + - - + + - + + + + + - + - + + + + - - - - - + + + diff --git a/prologue/bookinfo.xml b/prologue/bookinfo.xml index 87703b345..059509ea7 100644 --- a/prologue/bookinfo.xml +++ b/prologue/bookinfo.xml @@ -16,8 +16,7 @@ Beekmans - Edited by Matthew Burgess - and Douglas R. Reno + Edited by Douglas R. Reno diff --git a/prologue/hostreqs.xml b/prologue/hostreqs.xml index a2f5fa97e..39ecac34c 100644 --- a/prologue/hostreqs.xml +++ b/prologue/hostreqs.xml @@ -184,7 +184,7 @@ gawk --version | head -n1 if [ -h /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; elif [ -x /usr/bin/awk ]; then - echo yacc is `/usr/bin/awk --version | head -n1` + echo awk is `/usr/bin/awk --version | head -n1` else echo "awk not found" fi @@ -204,7 +204,7 @@ tar --version | head -n1 makeinfo --version | head -n1 xz --version | head -n1 -echo 'main(){}' > dummy.c && g++ -o dummy dummy.c +echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ] then echo "g++ compilation OK"; else echo "g++ compilation failed"; fi