diff --git a/chap5-6.sh b/chap5-6.sh index da6441f..30d9482 100644 --- a/chap5-6.sh +++ b/chap5-6.sh @@ -7,10 +7,10 @@ source vars.sh CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 5.2. ""$LFS_BINUTILS"" - Pass 1" >> build.log -tar xf "$LFS_BINUTILS".tar.* && -cd "$LFS_BINUTILS" && -mkdir -v build && -cd build && +tar xf "$LFS_BINUTILS".tar.* +cd "$LFS_BINUTILS" || exit +mkdir -v build +cd build || exit ../configure --prefix=$LFS/tools \ --with-sysroot=$LFS \ --target=$LFS_TGT \ @@ -18,11 +18,11 @@ cd build && --enable-gprofng=no \ --disable-werror \ --enable-new-dtags \ - --enable-default-hash-style=gnu && -make && -make install && -cd ../.. && -rm -rf "$LFS_BINUTILS" && + --enable-default-hash-style=gnu +make +make install +cd ../.. +rm -rf "$LFS_BINUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 5.2. ""$LFS_BINUTILS"" - Pass 1" >> build.log @@ -30,22 +30,22 @@ echo "$CURRENT_DATE_TIME: Finished 5.2. ""$LFS_BINUTILS"" - Pass 1" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 5.3. ""$LFS_GCC"" - Pass 1" >> build.log -tar xf "$LFS_GCC".tar.* && -cd "$LFS_GCC" && -tar -xf ../"$LFS_MPFR".tar.* && -mv -v "$LFS_MPFR" mpfr && -tar -xf ../"$LFS_GMP".tar.* && -mv -v "$LFS_GMP" gmp && -tar -xf ../"$LFS_MPC".tar.* && -mv -v "$LFS_MPC" mpc && +tar xf "$LFS_GCC".tar.* +cd "$LFS_GCC" || exit +tar -xf ../"$LFS_MPFR".tar.* +mv -v "$LFS_MPFR" mpfr +tar -xf ../"$LFS_GMP".tar.* +mv -v "$LFS_GMP" gmp +tar -xf ../"$LFS_MPC".tar.* +mv -v "$LFS_MPC" mpc case $(uname -m) in x86_64) sed -e '/m64=/s/lib64/lib/' \ -i.orig gcc/config/i386/t-linux64 ;; -esac && -mkdir -v build && -cd build && +esac +mkdir -v build +cd build || exit ../configure \ --target=$LFS_TGT \ --prefix=$LFS/tools \ @@ -65,14 +65,14 @@ cd build && --disable-libssp \ --disable-libvtv \ --disable-libstdcxx \ - --enable-languages=c,c++ && -make && -make install && -cd .. && + --enable-languages=c,c++ +make +make install +cd .. cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \ - $(dirname $($LFS_TGT-gcc -print-libgcc-file-name))/install-tools/include/limits.h && -cd .. && -rm -rf "$LFS_GCC" && + $(dirname $($LFS_TGT-gcc -print-libgcc-file-name))/install-tools/include/limits.h +cd .. +rm -rf "$LFS_GCC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 5.3. ""$LFS_GCC"" - Pass 1" >> build.log @@ -80,14 +80,14 @@ echo "$CURRENT_DATE_TIME: Finished 5.3. ""$LFS_GCC"" - Pass 1" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 5.4. ""$LFS_LINUX"" API Headers" >> build.log -tar xf "$LFS_LINUX".tar.* && -cd "$LFS_LINUX" && -make mrproper && -make headers && -find usr/include -type f ! -name '*.h' -delete && -cp -rv usr/include $LFS/usr && -cd .. && -rm -rf "$LFS_LINUX" && +tar xf "$LFS_LINUX".tar.* +cd "$LFS_LINUX" || exit +make mrproper +make headers +find usr/include -type f ! -name '*.h' -delete +cp -rv usr/include $LFS/usr +cd .. +rm -rf "$LFS_LINUX" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 5.4. ""$LFS_LINUX"" API Headers" >> build.log @@ -95,19 +95,19 @@ echo "$CURRENT_DATE_TIME: Finished 5.4. ""$LFS_LINUX"" API Headers" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 5.5. ""$LFS_GLIBC""" >> build.log -tar xf "$LFS_GLIBC".tar.* && -cd "$LFS_GLIBC" && +tar xf "$LFS_GLIBC".tar.* +cd "$LFS_GLIBC" || exit case $(uname -m) in i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3 ;; x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64 ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3 ;; -esac && -patch -Np1 -i ../"$LFS_GLIBC"-fhs-1.patch && -mkdir -v build && -cd build && -echo "rootsbindir=/usr/sbin" > configparms && +esac +patch -Np1 -i ../"$LFS_GLIBC"-fhs-1.patch +mkdir -v build +cd build || exit +echo "rootsbindir=/usr/sbin" > configparms ../configure \ --prefix=/usr \ --host=$LFS_TGT \ @@ -115,18 +115,18 @@ echo "rootsbindir=/usr/sbin" > configparms && --enable-kernel=4.19 \ --with-headers=$LFS/usr/include \ --disable-nscd \ - libc_cv_slibdir=/usr/lib && -make && -make DESTDIR=$LFS install && -sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd && + libc_cv_slibdir=/usr/lib +make +make DESTDIR=$LFS install +sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd echo 'At this point, it is imperative to stop and ensure that the basic functions (compiling and linking) of the new toolchain are working as expected.' echo 'int main(){}' | $LFS_TGT-gcc -xc - readelf -l a.out | grep ld-linux echo 'If everything is working correctly, there should be no errors, and the output of the last command will be of the form: [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]' sleep 10 -rm -v a.out && -cd ../.. && -rm -rf "$LFS_GLIBC" && +rm -v a.out +cd ../.. +rm -rf "$LFS_GLIBC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 5.5. ""$LFS_GLIBC""" >> build.log @@ -134,10 +134,10 @@ echo "$CURRENT_DATE_TIME: Finished 5.5. ""$LFS_GLIBC""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 5.6. Libstdc++ from ""$LFS_GCC""" >> build.log -tar xf "$LFS_GCC".tar.* && -cd "$LFS_GCC" && -mkdir -v build && -cd build && +tar xf "$LFS_GCC".tar.* +cd "$LFS_GCC" || exit +mkdir -v build +cd build || exit ../libstdc++-v3/configure \ --host=$LFS_TGT \ --build=$(../config.guess) \ @@ -145,12 +145,12 @@ cd build && --disable-multilib \ --disable-nls \ --disable-libstdcxx-pch \ - --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/14.2.0 && -make && -make DESTDIR=$LFS install && -rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la && -cd ../.. && -rm -rf "$LFS_GCC" && + --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/14.2.0 +make +make DESTDIR=$LFS install +rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la +cd ../.. +rm -rf "$LFS_GCC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 5.6. Libstdc++ from ""$LFS_GCC""" >> build.log @@ -158,15 +158,15 @@ echo "$CURRENT_DATE_TIME: Finished 5.6. Libstdc++ from ""$LFS_GCC""" >> build.lo CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.2. ""$LFS_M4""" >> build.log -tar xf "$LFS_M4".tar.* && -cd "$LFS_M4" && +tar xf "$LFS_M4".tar.* +cd "$LFS_M4" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ - --build=$(build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_M4" && + --build=$(build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_M4" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.2. ""$LFS_M4""" >> build.log @@ -174,10 +174,10 @@ echo "$CURRENT_DATE_TIME: Finished 6.2. ""$LFS_M4""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.3. ""$LFS_NCURSES""" >> build.log -tar xf "$LFS_NCURSES".tar.* && -cd "$LFS_NCURSES" && -sed -i s/mawk// configure && -mkdir build && +tar xf "$LFS_NCURSES".tar.* +cd "$LFS_NCURSES" || exit +sed -i s/mawk// configure +mkdir build pushd build ../configure make -C include @@ -193,15 +193,15 @@ popd --with-cxx-shared \ --without-debug \ --without-ada \ - --disable-stripping && + --disable-stripping -make && -make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install && -ln -sv libncursesw.so $LFS/usr/lib/libncurses.so && +make +make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install +ln -sv libncursesw.so $LFS/usr/lib/libncurses.so sed -e 's/^#if.*XOPEN.*$/#if 1/' \ - -i $LFS/usr/include/curses.h && -cd .. && -rm -rf "$LFS_NCURSES" && + -i $LFS/usr/include/curses.h +cd .. +rm -rf "$LFS_NCURSES" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.3. ""$LFS_NCURSES""" >> build.log @@ -209,18 +209,18 @@ echo "$CURRENT_DATE_TIME: Finished 6.3. ""$LFS_NCURSES""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.4. ""$LFS_BASH""" >> build.log -tar xf "$LFS_BASH".tar.* && -cd "$LFS_BASH" && +tar xf "$LFS_BASH".tar.* +cd "$LFS_BASH" || exit ./configure --prefix=/usr \ --build=$(sh support/config.guess) \ --host=$LFS_TGT \ --without-bash-malloc \ - bash_cv_strtold_broken=no && -make && -make DESTDIR=$LFS install && -ln -sv bash $LFS/bin/sh && -cd .. && -rm -rf "$LFS_BASH" && + bash_cv_strtold_broken=no +make +make DESTDIR=$LFS install +ln -sv bash $LFS/bin/sh +cd .. +rm -rf "$LFS_BASH" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.4. ""$LFS_BASH""" >> build.log @@ -228,21 +228,21 @@ echo "$CURRENT_DATE_TIME: Finished 6.4. ""$LFS_BASH""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.5. ""$LFS_COREUTILS""" >> build.log -tar xf "$LFS_COREUTILS".tar.* && -cd "$LFS_COREUTILS" && +tar xf "$LFS_COREUTILS".tar.* +cd "$LFS_COREUTILS" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(build-aux/config.guess) \ --enable-install-program=hostname \ - --enable-no-install-program=kill,uptime && -make && -make DESTDIR=$LFS install && -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"/' $LFS/usr/share/man/man8/chroot.8 && -cd .. && -rm -rf "$LFS_COREUTILS" && + --enable-no-install-program=kill,uptime +make +make DESTDIR=$LFS install +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"/' $LFS/usr/share/man/man8/chroot.8 +cd .. +rm -rf "$LFS_COREUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.5. ""$LFS_COREUTILS""" >> build.log @@ -250,15 +250,15 @@ echo "$CURRENT_DATE_TIME: Finished 6.5. ""$LFS_COREUTILS""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.6. ""$LFS_DIFFUTILS""" >> build.log -tar xf "$LFS_DIFFUTILS".tar.* && -cd "$LFS_DIFFUTILS" && +tar xf "$LFS_DIFFUTILS".tar.* +cd "$LFS_DIFFUTILS" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ - --build=$(./build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_DIFFUTILS" && + --build=$(./build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_DIFFUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.6. ""$LFS_DIFFUTILS""" >> build.log @@ -266,22 +266,22 @@ echo "$CURRENT_DATE_TIME: Finished 6.6. ""$LFS_DIFFUTILS""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.7. ""$LFS_FILE""" >> build.log -tar xf "$LFS_FILE".tar.* && -cd "$LFS_FILE" && -mkdir build && +tar xf "$LFS_FILE".tar.* +cd "$LFS_FILE" || exit +mkdir build pushd build ../configure --disable-bzlib \ --disable-libseccomp \ --disable-xzlib \ - --disable-zlib && + --disable-zlib make popd -./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess) && -make FILE_COMPILE=$(pwd)/build/src/file && -make DESTDIR=$LFS install && -rm -v $LFS/usr/lib/libmagic.la && -cd .. && -rm -rf "$LFS_FILE" && +./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess) +make FILE_COMPILE=$(pwd)/build/src/file +make DESTDIR=$LFS install +rm -v $LFS/usr/lib/libmagic.la +cd .. +rm -rf "$LFS_FILE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.7. ""$LFS_FILE""" >> build.log @@ -289,16 +289,16 @@ echo "$CURRENT_DATE_TIME: Finished 6.7. ""$LFS_FILE""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.8. ""$LFS_FINDUTILS""" >> build.log -tar xf "$LFS_FINDUTILS".tar.* && -cd "$LFS_FINDUTILS" && +tar xf "$LFS_FINDUTILS".tar.* +cd "$LFS_FINDUTILS" || exit ./configure --prefix=/usr \ --localstatedir=/var/lib/locate \ --host=$LFS_TGT \ - --build=$(build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_FINDUTILS" && + --build=$(build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_FINDUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.8. ""$LFS_FINDUTILS""" >> build.log @@ -306,16 +306,16 @@ echo "$CURRENT_DATE_TIME: Finished 6.8. ""$LFS_FINDUTILS""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.9. ""$LFS_GAWK""" >> build.log -tar xf "$LFS_GAWK".tar.* && -cd "$LFS_GAWK" && -sed -i 's/extras//' Makefile.in && +tar xf "$LFS_GAWK".tar.* +cd "$LFS_GAWK" || exit +sed -i 's/extras//' Makefile.in ./configure --prefix=/usr \ --host=$LFS_TGT \ - --build=$(build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_GAWK" && + --build=$(build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_GAWK" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.9. ""$LFS_GAWK""" >> build.log @@ -323,15 +323,15 @@ echo "$CURRENT_DATE_TIME: Finished 6.9. ""$LFS_GAWK""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.10. ""$LFS_GREP""" >> build.log -tar xf "$LFS_GREP".tar.* && -cd "$LFS_GREP" && +tar xf "$LFS_GREP".tar.* +cd "$LFS_GREP" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ - --build=$(./build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_GREP" && + --build=$(./build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_GREP" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.10. ""$LFS_GREP""" >> build.log @@ -339,13 +339,13 @@ echo "$CURRENT_DATE_TIME: Finished 6.10. ""$LFS_GREP""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.11. ""$LFS_GZIP""" >> build.log -tar xf "$LFS_GZIP".tar.* && -cd "$LFS_GZIP" && -./configure --prefix=/usr --host=$LFS_TGT && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_GZIP" && +tar xf "$LFS_GZIP".tar.* +cd "$LFS_GZIP" || exit +./configure --prefix=/usr --host=$LFS_TGT +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_GZIP" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.11. ""$LFS_GZIP""" >> build.log @@ -353,16 +353,16 @@ echo "$CURRENT_DATE_TIME: Finished 6.11. ""$LFS_GZIP""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.12. ""$LFS_MAKE""" >> build.log -tar xf "$LFS_MAKE".tar.* && -cd "$LFS_MAKE" && +tar xf "$LFS_MAKE".tar.* +cd "$LFS_MAKE" || exit ./configure --prefix=/usr \ --without-guile \ --host=$LFS_TGT \ - --build=$(build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_MAKE" && + --build=$(build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_MAKE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.12. ""$LFS_MAKE""" >> build.log @@ -370,15 +370,15 @@ echo "$CURRENT_DATE_TIME: Finished 6.12. ""$LFS_MAKE""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.13. ""$LFS_PATCH""" >> build.log -tar xf "$LFS_PATCH".tar.* && -cd "$LFS_PATCH" && +tar xf "$LFS_PATCH".tar.* +cd "$LFS_PATCH" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ - --build=$(build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_PATCH" && + --build=$(build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_PATCH" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.13. ""$LFS_PATCH""" >> build.log @@ -386,15 +386,15 @@ echo "$CURRENT_DATE_TIME: Finished 6.13. ""$LFS_PATCH""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.14. ""$LFS_SED""" >> build.log -tar xf "$LFS_SED".tar.* && -cd "$LFS_SED" && +tar xf "$LFS_SED".tar.* +cd "$LFS_SED" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ - --build=$(./build-aux/config.guess) && -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_SED" && + --build=$(./build-aux/config.guess) +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_SED" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.14. ""$LFS_SED""" >> build.log @@ -402,16 +402,16 @@ echo "$CURRENT_DATE_TIME: Finished 6.14. ""$LFS_SED""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.15. ""$LFS_TAR""" >> build.log -tar xf "$LFS_TAR".tar.* && -cd "$LFS_TAR" && +tar xf "$LFS_TAR".tar.* +cd "$LFS_TAR" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ - --build=$(build-aux/config.guess) && + --build=$(build-aux/config.guess) -make && -make DESTDIR=$LFS install && -cd .. && -rm -rf "$LFS_TAR" && +make +make DESTDIR=$LFS install +cd .. +rm -rf "$LFS_TAR" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.15. ""$LFS_TAR""" >> build.log @@ -419,19 +419,19 @@ echo "$CURRENT_DATE_TIME: Finished 6.15. ""$LFS_TAR""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.16. ""$LFS_XZ""" >> build.log -tar xf "$LFS_XZ".tar.* && -cd "$LFS_XZ" && +tar xf "$LFS_XZ".tar.* +cd "$LFS_XZ" || exit ./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(build-aux/config.guess) \ --disable-static \ - --docdir=/usr/share/doc/xz-5.6.2 && + --docdir=/usr/share/doc/xz-5.6.2 -make && -make DESTDIR=$LFS install && -rm -v $LFS/usr/lib/liblzma.la && -cd .. && -rm -rf "$LFS_XZ" && +make +make DESTDIR=$LFS install +rm -v $LFS/usr/lib/liblzma.la +cd .. +rm -rf "$LFS_XZ" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.16. ""$LFS_XZ""" >> build.log @@ -439,11 +439,11 @@ echo "$CURRENT_DATE_TIME: Finished 6.16. ""$LFS_XZ""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.17. ""$LFS_BINUTILS"" - Pass 2" >> build.log -tar xf "$LFS_BINUTILS".tar.* && -cd "$LFS_BINUTILS" && -sed '6009s/$add_dir//' -i ltmain.sh && -mkdir -v build && -cd build && +tar xf "$LFS_BINUTILS".tar.* +cd "$LFS_BINUTILS" || exit +sed '6009s/$add_dir//' -i ltmain.sh +mkdir -v build +cd build || exit ../configure \ --prefix=/usr \ --build=$(../config.guess) \ @@ -454,12 +454,12 @@ cd build && --disable-werror \ --enable-64-bit-bfd \ --enable-new-dtags \ - --enable-default-hash-style=gnu && -make && -make DESTDIR=$LFS install && -rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la} && -cd ../.. && -rm -rf "$LFS_BINUTILS" && + --enable-default-hash-style=gnu +make +make DESTDIR=$LFS install +rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la} +cd ../.. +rm -rf "$LFS_BINUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.17. ""$LFS_BINUTILS"" - Pass 2" >> build.log @@ -467,23 +467,23 @@ echo "$CURRENT_DATE_TIME: Finished 6.17. ""$LFS_BINUTILS"" - Pass 2" >> build.lo CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 6.18. ""$LFS_GCC"" - Pass 2" >> build.log -tar xf "$LFS_GCC".tar.* && -cd "$LFS_GCC" && -tar -xf ../"$LFS_MPFR".tar.* && -mv -v "$LFS_MPFR" mpfr && -tar -xf ../"$LFS_GMP".tar.* && -mv -v "$LFS_GMP" gmp && -tar -xf ../"$LFS_MPC".tar.* && -mv -v "$LFS_MPC" mpc && +tar xf "$LFS_GCC".tar.* +cd "$LFS_GCC" || exit +tar -xf ../"$LFS_MPFR".tar.* +mv -v "$LFS_MPFR" mpfr +tar -xf ../"$LFS_GMP".tar.* +mv -v "$LFS_GMP" gmp +tar -xf ../"$LFS_MPC".tar.* +mv -v "$LFS_MPC" mpc case $(uname -m) in x86_64) sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 ;; -esac && +esac sed '/thread_header =/s/@.*@/gthr-posix.h/' \ - -i libgcc/Makefile.in libstdc++-v3/include/Makefile.in && -mkdir -v build && -cd build && + -i libgcc/Makefile.in libstdc++-v3/include/Makefile.in +mkdir -v build +cd build || exit ../configure \ --build=$(../config.guess) \ --host=$LFS_TGT \ @@ -501,12 +501,12 @@ cd build && --disable-libsanitizer \ --disable-libssp \ --disable-libvtv \ - --enable-languages=c,c++ && -make && -make DESTDIR=$LFS install && -ln -sv gcc $LFS/usr/bin/cc && -cd ../.. && -rm -rf "$LFS_GCC" && + --enable-languages=c,c++ +make +make DESTDIR=$LFS install +ln -sv gcc $LFS/usr/bin/cc +cd ../.. +rm -rf "$LFS_GCC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 6.18. ""$LFS_GCC"" - Pass 2" >> build.log diff --git a/chap7p1.sh b/chap7p1.sh index 0111304..783b5d6 100644 --- a/chap7p1.sh +++ b/chap7p1.sh @@ -2,30 +2,36 @@ source vars.sh -mkdir -pv /{boot,home,mnt,opt,srv} && -mkdir -pv /etc/{opt,sysconfig} && -mkdir -pv /lib/firmware && -mkdir -pv /media/{floppy,cdrom} && -mkdir -pv /usr/{,local/}{include,src} && -mkdir -pv /usr/lib/locale && -mkdir -pv /usr/local/{bin,lib,sbin} && -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 -pv /var/{cache,local,log,mail,opt,spool} && -mkdir -pv /var/lib/{color,misc,locate} && -ln -sfv /run /var/run && -ln -sfv /run/lock /var/lock && -install -dv -m 0750 /root && +mkdir -pv /{boot,home,mnt,opt,srv} +mkdir -pv /etc/{opt,sysconfig} +mkdir -pv /lib/firmware +mkdir -pv /media/{floppy,cdrom} +mkdir -pv /usr/{,local/}{include,src} +mkdir -pv /usr/lib/locale +mkdir -pv /usr/local/{bin,lib,sbin} +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 -pv /var/{cache,local,log,mail,opt,spool} +mkdir -pv /var/lib/{color,misc,locate} + +ln -sfv /run /var/run +ln -sfv /run/lock /var/lock + +install -dv -m 0750 /root install -dv -m 1777 /tmp /var/tmp -mkdir -pv /usr/local/games && -mkdir -pv /usr/share/games && -ln -sv /proc/self/mounts /etc/mtab && -cat > /etc/hosts << EOF && + +mkdir -pv /usr/local/games +mkdir -pv /usr/share/games + +ln -sv /proc/self/mounts /etc/mtab + +cat > /etc/hosts << EOF 127.0.0.1 localhost $(hostname) ::1 localhost EOF -cat > /etc/passwd << "EOF" && + +cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/usr/bin/false daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false @@ -41,7 +47,8 @@ uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false systemd-oom:x:81:81:systemd Out Of Memory Daemon:/:/usr/bin/false nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false EOF -cat > /etc/group << "EOF" && + +cat > /etc/group << "EOF" root:x:0: bin:x:1:daemon sys:x:2: @@ -76,10 +83,12 @@ wheel:x:97: users:x:999: nogroup:x:65534: EOF -localedef -i C -f UTF-8 C.UTF-8 && -echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd && -echo "tester:x:101:" >> /etc/group && -install -o tester -d /home/tester && + +localedef -i C -f UTF-8 C.UTF-8 + +echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd +echo "tester:x:101:" >> /etc/group +install -o tester -d /home/tester echo "Executing new bash, continue with chapter 7 p2:" echo "bash chap7p2.sh" diff --git a/chap7p2.sh b/chap7p2.sh index bb9a13a..266e220 100644 --- a/chap7p2.sh +++ b/chap7p2.sh @@ -2,24 +2,24 @@ source vars.sh -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 && +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 -cd /sources && -chown root:root build.log && +cd /sources || exit +chown root:root build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 7.7. ""$LFS_GETTEXT""" >> build.log -tar xf "$LFS_GETTEXT".tar.* && -cd "$LFS_GETTEXT" && -./configure --disable-shared && -make && -cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin && -cd .. && -rm -rf "$LFS_GETTEXT" && +tar xf "$LFS_GETTEXT".tar.* +cd "$LFS_GETTEXT" || exit +./configure --disable-shared +make +cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin +cd .. +rm -rf "$LFS_GETTEXT" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 7.7. ""$LFS_GETTEXT""" >> build.log @@ -27,14 +27,14 @@ echo "$CURRENT_DATE_TIME: Finished 7.7. ""$LFS_GETTEXT""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 7.8 ""$LFS_BISON""" >> build.log -tar xf "$LFS_BISON".tar.* && -cd "$LFS_BISON" && +tar xf "$LFS_BISON".tar.* +cd "$LFS_BISON" || exit ./configure --prefix=/usr \ - --docdir=/usr/share/doc/bison-3.8.2 && -make && -make install && -cd .. && -rm -rf "$LFS_BISON" && + --docdir=/usr/share/doc/bison-3.8.2 +make +make install +cd .. +rm -rf "$LFS_BISON" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 7.8 ""$LFS_BISON""" >> build.log @@ -42,8 +42,8 @@ echo "$CURRENT_DATE_TIME: Finished 7.8 ""$LFS_BISON""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 7.9 ""$LFS_PERL""" >> build.log -tar xf "$LFS_PERL".tar.* && -cd "$LFS_PERL" && +tar xf "$LFS_PERL".tar.* +cd "$LFS_PERL" || exit sh Configure -des \ -D prefix=/usr \ -D vendorprefix=/usr \ @@ -53,11 +53,11 @@ sh Configure -des \ -D sitelib=/usr/lib/perl5/5.40/site_perl \ -D sitearch=/usr/lib/perl5/5.40/site_perl \ -D vendorlib=/usr/lib/perl5/5.40/vendor_perl \ - -D vendorarch=/usr/lib/perl5/5.40/vendor_perl && -make && -make install && -cd .. && -rm -rf "$LFS_PERL" && + -D vendorarch=/usr/lib/perl5/5.40/vendor_perl +make +make install +cd .. +rm -rf "$LFS_PERL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 7.9 ""$LFS_PERL""" >> build.log @@ -65,15 +65,15 @@ echo "$CURRENT_DATE_TIME: Finished 7.9 ""$LFS_PERL""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 7.10 ""$LFS_PYTHON""" >> build.log -tar xf "$LFS_PYTHON".tar.* && -cd "$LFS_PYTHON" && +tar xf "$LFS_PYTHON".tar.* +cd "$LFS_PYTHON" || exit ./configure --prefix=/usr \ --enable-shared \ - --without-ensurepip && -make && -make install && -cd .. && -rm -rf "$LFS_PYTHON" && + --without-ensurepip +make +make install +cd .. +rm -rf "$LFS_PYTHON" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 7.10 ""$LFS_PYTHON""" >> build.log @@ -81,13 +81,13 @@ echo "$CURRENT_DATE_TIME: Finished 7.10 ""$LFS_PYTHON""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 7.11 ""$LFS_TEXINFO""" >> build.log -tar xf "$LFS_TEXINFO".tar.* && -cd "$LFS_TEXINFO" && -./configure --prefix=/usr && -make && -make install && -cd .. && -rm -rf "$LFS_TEXINFO" && +tar xf "$LFS_TEXINFO".tar.* +cd "$LFS_TEXINFO" || exit +./configure --prefix=/usr +make +make install +cd .. +rm -rf "$LFS_TEXINFO" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 7.11 ""$LFS_TEXINFO""" >> build.log @@ -95,9 +95,9 @@ echo "$CURRENT_DATE_TIME: Finished 7.11 ""$LFS_TEXINFO""" >> build.log CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 7.12 ""$LFS_UTILLINUX""" >> build.log -tar xf "$LFS_UTILLINUX".tar.* && -cd "$LFS_UTILLINUX" && -mkdir -pv /var/lib/hwclock && +tar xf "$LFS_UTILLINUX".tar.* +cd "$LFS_UTILLINUX" || exit +mkdir -pv /var/lib/hwclock ./configure --libdir=/usr/lib \ --runstatedir=/run \ --disable-chfn-chsh \ @@ -111,17 +111,17 @@ mkdir -pv /var/lib/hwclock && --disable-liblastlog2 \ --without-python \ ADJTIME_PATH=/var/lib/hwclock/adjtime \ - --docdir=/usr/share/doc/util-linux-2.40.2 && -make && -make install && -cd .. && -rm -rf "$LFS_UTILLINUX" && + --docdir=/usr/share/doc/util-linux-2.40.2 +make +make install +cd .. +rm -rf "$LFS_UTILLINUX" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 7.12 ""$LFS_UTILLINUX""" >> build.log -rm -rf /usr/share/{info,man,doc}/* && -find /usr/{lib,libexec} -name \*.la -delete && +rm -rf /usr/share/{info,man,doc}/* +find /usr/{lib,libexec} -name \*.la -delete rm -rf /tools echo "If a backup is desired logout the chroot environment and run chapter 7.13.2. Backup" diff --git a/chap8p1.sh b/chap8p1.sh index 30f960e..0412775 100644 --- a/chap8p1.sh +++ b/chap8p1.sh @@ -5,25 +5,25 @@ source vars.sh CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.3 ""$LFS_MANPAGES""" >> build.log -tar xf "$LFS_MANPAGES".tar.* && -cd "$LFS_MANPAGES" && -rm -v man3/crypt* && -make prefix=/usr install && -cd .. && -rm -rf "$LFS_MANPAGES" && +tar xf "$LFS_MANPAGES".tar.* +cd "$LFS_MANPAGES" || exit +rm -v man3/crypt* +make prefix=/usr install +cd .. +rm -rf "$LFS_MANPAGES" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.3 ""$LFS_MANPAGES""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.3 ""$LFS_MANPAGES""" >> build.log echo "$LFS_MANPAGES" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.4 ""$LFS_IANAETC""" >> build.log -tar xf "$LFS_IANAETC".tar.* && -cd "$LFS_IANAETC" && -cp services protocols /etc && -cd .. && -rm -rf "$LFS_IANAETC" && +tar xf "$LFS_IANAETC".tar.* +cd "$LFS_IANAETC" || exit +cp services protocols /etc +cd .. +rm -rf "$LFS_IANAETC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 8.4 ""$LFS_IANAETC""" >> build.log @@ -32,27 +32,27 @@ echo "$LFS_IANAETC" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.5 ""$LFS_GLIBC""" >> build.log -tar xf "$LFS_GLIBC".tar.* && -cd "$LFS_GLIBC" && -patch -Np1 -i ../"$LFS_GLIBC"-fhs-1.patch && -mkdir -v build && -cd build && -echo "rootsbindir=/usr/sbin" > configparms && +tar xf "$LFS_GLIBC".tar.* +cd "$LFS_GLIBC" || exit +patch -Np1 -i ../"$LFS_GLIBC"-fhs-1.patch +mkdir -v build +cd build || exit +echo "rootsbindir=/usr/sbin" > configparms ../configure --prefix=/usr \ --disable-werror \ --enable-kernel=4.19 \ --enable-stack-protector=strong \ --disable-nscd \ - libc_cv_slibdir=/usr/lib && -make && + libc_cv_slibdir=/usr/lib +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../../check-log_"$LFS_GLIBC".log; fi -touch /etc/ld.so.conf && -sed '/test-installation/s@$(LFS_PERL)@echo not running@' -i ../Makefile && -make install && -sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd && -make localedata/install-locales && +touch /etc/ld.so.conf +sed '/test-installation/s@$(LFS_PERL)@echo not running@' -i ../Makefile +make install +sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd +make localedata/install-locales localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true cat > /etc/nsswitch.conf << "EOF" @@ -72,19 +72,19 @@ rpc: files # End /etc/nsswitch.conf EOF -tar -xf ../../tzdata2024a.tar.* && -ZONEINFO=/usr/share/zoneinfo && -mkdir -pv $ZONEINFO/{posix,right} && +tar -xf ../../tzdata2024a.tar.* +ZONEINFO=/usr/share/zoneinfo +mkdir -pv $ZONEINFO/{posix,right} for tz in etcetera southamerica northamerica europe africa antarctica \ asia australasia backward; do zic -L /dev/null -d $ZONEINFO ${tz} zic -L /dev/null -d $ZONEINFO/posix ${tz} zic -L leapseconds -d $ZONEINFO/right ${tz} -done && -cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO && -zic -d $ZONEINFO -p America/New_York && -unset ZONEINFO && -ln -sfv /usr/share/zoneinfo/UTC /etc/localtime && +done +cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO +zic -d $ZONEINFO -p America/New_York +unset ZONEINFO +ln -sfv /usr/share/zoneinfo/UTC /etc/localtime cat > /etc/ld.so.conf << "EOF" # Begin /etc/ld.so.conf /usr/local/lib @@ -96,184 +96,184 @@ cat >> /etc/ld.so.conf << "EOF" include /etc/ld.so.conf.d/*.conf EOF -mkdir -pv /etc/ld.so.conf.d && -cd ../.. && -rm -rf "$LFS_GLIBC" && +mkdir -pv /etc/ld.so.conf.d +cd ../.. +rm -rf "$LFS_GLIBC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.5 ""$LFS_GLIBC""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.5 ""$LFS_GLIBC""" >> build.log echo "$LFS_GLIBC" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.6 ""$LFS_ZLIB""" >> build.log -tar xf "$LFS_ZLIB".tar.* && -cd "$LFS_ZLIB" && -./configure --prefix=/usr && -make && +tar xf "$LFS_ZLIB".tar.* +cd "$LFS_ZLIB" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_ZLIB".log; fi -make install && -rm -fv /usr/lib/libz.a && -cd .. && -rm -rf "$LFS_ZLIB" && +make install +rm -fv /usr/lib/libz.a +cd .. +rm -rf "$LFS_ZLIB" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.6 ""$LFS_ZLIB""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.6 ""$LFS_ZLIB""" >> build.log echo "$LFS_ZLIB" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.7 ""$LFS_BZIP2""" >> build.log -tar xf "$LFS_BZIP2".tar.* && -cd "$LFS_BZIP2" && -patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch && -sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile && -sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile && -make -f Makefile-libbz2_so && -make clean && -make && -make PREFIX=/usr install && -cp -av libbz2.so.* /usr/lib && -ln -sv libbz2.so.1.0.8 /usr/lib/libbz2.so && -cp -v bzip2-shared /usr/bin/bzip2 && +tar xf "$LFS_BZIP2".tar.* +cd "$LFS_BZIP2" || exit +patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch +sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile +sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile +make -f Makefile-libbz2_so +make clean +make +make PREFIX=/usr install +cp -av libbz2.so.* /usr/lib +ln -sv libbz2.so.1.0.8 /usr/lib/libbz2.so +cp -v bzip2-shared /usr/bin/bzip2 for i in /usr/bin/{bzcat,bunzip2}; do ln -sfv bzip2 $i -done && -rm -fv /usr/lib/libbz2.a && -cd .. && -rm -rf "$LFS_BZIP2" && +done +rm -fv /usr/lib/libbz2.a +cd .. +rm -rf "$LFS_BZIP2" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.7 ""$LFS_BZIP2""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.7 ""$LFS_BZIP2""" >> build.log echo "$LFS_BZIP2" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.8 ""$LFS_XZ""" >> build.log -tar xf "$LFS_XZ".tar.* && -cd "$LFS_XZ" && +tar xf "$LFS_XZ".tar.* +cd "$LFS_XZ" || exit ./configure --prefix=/usr \ --disable-static \ - --docdir=/usr/share/doc/xz-5.6.2 && -make && + --docdir=/usr/share/doc/xz-5.6.2 +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_XZ".log; fi -make install && -cd .. && -rm -rf "$LFS_XZ" && +make install +cd .. +rm -rf "$LFS_XZ" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.8 ""$LFS_XZ""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.8 ""$LFS_XZ""" >> build.log echo "$LFS_XZ" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.9 ""$LFS_LZ4""" >> build.log -tar xf "$LFS_LZ4".tar.* && -cd "$LFS_LZ4" && -make BUILD_STATIC=no PREFIX=/usr && +tar xf "$LFS_LZ4".tar.* +cd "$LFS_LZ4" || exit +make BUILD_STATIC=no PREFIX=/usr if [ "$MAKECHECK" = TRUE ]; then make -j1 check | tee ../check-log_"$LFS_LZ4".log; fi -make BUILD_STATIC=no PREFIX=/usr install && -cd .. && -rm -rf "$LFS_LZ4" && +make BUILD_STATIC=no PREFIX=/usr install +cd .. +rm -rf "$LFS_LZ4" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.9 ""$LFS_LZ4""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.9 ""$LFS_LZ4""" >> build.log echo "$LFS_LZ4" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.10 ""$LFS_ZSTD""" >> build.log -tar xf "$LFS_ZSTD".tar.* && -cd "$LFS_ZSTD" && -make prefix=/usr && +tar xf "$LFS_ZSTD".tar.* +cd "$LFS_ZSTD" || exit +make prefix=/usr if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_ZSTD".log; fi -make prefix=/usr install && -rm -v /usr/lib/libzstd.a && -cd .. && -rm -rf "$LFS_ZSTD" && +make prefix=/usr install +rm -v /usr/lib/libzstd.a +cd .. +rm -rf "$LFS_ZSTD" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.10 ""$LFS_ZSTD""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.10 ""$LFS_ZSTD""" >> build.log echo "$LFS_ZSTD" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.11 ""$LFS_FILE""" >> build.log -tar xf "$LFS_FILE".tar.* && -cd "$LFS_FILE" && -./configure --prefix=/usr && -make && +tar xf "$LFS_FILE".tar.* +cd "$LFS_FILE" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_FILE".log; fi -make install && -cd .. && -rm -rf "$LFS_FILE" && +make install +cd .. +rm -rf "$LFS_FILE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.11 ""$LFS_FILE""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.11 ""$LFS_FILE""" >> build.log echo "$LFS_FILE" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.12 ""$LFS_READLINE""" >> build.log -tar xf "$LFS_READLINE".tar.* && -cd "$LFS_READLINE" && -sed -i '/MV.*old/d' Makefile.in && -sed -i '/{OLDSUFF}/c:' support/shlib-install && +tar xf "$LFS_READLINE".tar.* +cd "$LFS_READLINE" || exit +sed -i '/MV.*old/d' Makefile.in +sed -i '/{OLDSUFF}/c:' support/shlib-install ./configure --prefix=/usr \ --disable-static \ --with-curses \ - --docdir=/usr/share/doc/readline-8.2.13 && -make SHLIB_LIBS="-lncursesw" && -make SHLIB_LIBS="-lncursesw" install && -install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.2.13 && -cd .. && -rm -rf "$LFS_READLINE" && + --docdir=/usr/share/doc/readline-8.2.13 +make SHLIB_LIBS="-lncursesw" +make SHLIB_LIBS="-lncursesw" install +install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.2.13 +cd .. +rm -rf "$LFS_READLINE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.12 ""$LFS_READLINE""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.12 ""$LFS_READLINE""" >> build.log echo "$LFS_READLINE" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.13 ""$LFS_M4""" >> build.log -tar xf "$LFS_M4".tar.* && -cd "$LFS_M4" && -./configure --prefix=/usr && -make && +tar xf "$LFS_M4".tar.* +cd "$LFS_M4" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_M4".log; fi -make install && -cd .. && -rm -rf "$LFS_M4" && +make install +cd .. +rm -rf "$LFS_M4" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.13 ""$LFS_M4""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.13 ""$LFS_M4""" >> build.log echo "$LFS_M4" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.14 ""$LFS_BC""" >> build.log -tar xf "$LFS_BC".tar.* && -cd "$LFS_BC" && -CC=gcc ./configure --prefix=/usr -G -O3 -r && -make && +tar xf "$LFS_BC".tar.* +cd "$LFS_BC" || exit +CC=gcc ./configure --prefix=/usr -G -O3 -r +make if [ "$MAKECHECK" = TRUE ]; then make test | tee ../check-log_"$LFS_BC".log; fi -make install && -cd .. && -rm -rf "$LFS_BC" && +make install +cd .. +rm -rf "$LFS_BC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Finished 8.14 ""$LFS_BC""" >> build.log @@ -282,142 +282,142 @@ echo "$LFS_BC" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.15 ""$LFS_FLEX""" >> build.log -tar xf "$LFS_FLEX".tar.* && -cd "$LFS_FLEX" && +tar xf "$LFS_FLEX".tar.* +cd "$LFS_FLEX" || exit ./configure --prefix=/usr \ --docdir=/usr/share/doc/flex-2.6.4 \ - --disable-static && -make && + --disable-static +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_FLEX".log; fi -make install && -ln -sv flex /usr/bin/lex && -ln -sv flex.1 /usr/share/man/man1/lex.1 && -cd .. && -rm -rf "$LFS_FLEX" && +make install +ln -sv flex /usr/bin/lex +ln -sv flex.1 /usr/share/man/man1/lex.1 +cd .. +rm -rf "$LFS_FLEX" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.15 ""$LFS_FLEX""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.15 ""$LFS_FLEX""" >> build.log echo "$LFS_FLEX" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.16 ""$LFS_TCL""" >> build.log -tar xf "$LFS_TCL"-src.tar.* && -cd "$LFS_TCL" && -SRCDIR=$(pwd) && -cd unix && +tar xf "$LFS_TCL"-src.tar.* +cd "$LFS_TCL" || exit +SRCDIR=$(pwd) +cd unix || exit ./configure --prefix=/usr \ --mandir=/usr/share/man \ - --disable-rpath && -make && + --disable-rpath +make sed -e "s|$SRCDIR/unix|/usr/lib|" \ -e "s|$SRCDIR|/usr/include|" \ - -i tclConfig.sh && + -i tclConfig.sh sed -e "s|$SRCDIR/unix/pkgs/tdbc1.1.7|/usr/lib/tdbc1.1.7|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.7/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.7/library|/usr/lib/tcl8.6|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.7|/usr/include|" \ - -i pkgs/tdbc1.1.7/tdbcConfig.sh && + -i pkgs/tdbc1.1.7/tdbcConfig.sh sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.4|/usr/lib/itcl4.2.4|" \ -e "s|$SRCDIR/pkgs/itcl4.2.4/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/itcl4.2.4|/usr/include|" \ - -i pkgs/itcl4.2.4/itclConfig.sh && -unset SRCDIR && + -i pkgs/itcl4.2.4/itclConfig.sh +unset SRCDIR if [ "$MAKECHECK" = TRUE ]; then make test | tee ../../check-log_"$LFS_TCL".log; fi -make install && -chmod -v u+w /usr/lib/libtcl8.6.so && -make install-private-headers && -ln -sfv tclsh8.6 /usr/bin/tclsh && -mv /usr/share/man/man3/{Thread,Tcl_Thread}.3 && -cd .. && -tar -xf ../tcl8.6.14-html.tar.* --strip-components=1 && -mkdir -v -p /usr/share/doc/tcl-8.6.14 && -cp -v -r ./html/* /usr/share/doc/tcl-8.6.14 && -cd .. && -rm -rf "$LFS_TCL" && +make install +chmod -v u+w /usr/lib/libtcl8.6.so +make install-private-headers +ln -sfv tclsh8.6 /usr/bin/tclsh +mv /usr/share/man/man3/{Thread,Tcl_Thread}.3 +cd .. +tar -xf ../tcl8.6.14-html.tar.* --strip-components=1 +mkdir -v -p /usr/share/doc/tcl-8.6.14 +cp -v -r ./html/* /usr/share/doc/tcl-8.6.14 +cd .. +rm -rf "$LFS_TCL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.16 ""$LFS_TCL""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.16 ""$LFS_TCL""" >> build.log echo "$LFS_TCL" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.17 ""$LFS_EXPECT""" >> build.log -tar xf "$LFS_EXPECT".tar.* && -cd "$LFS_EXPECT" && -patch -Np1 -i ../expect-5.45.4-gcc14-1.patch && +tar xf "$LFS_EXPECT".tar.* +cd "$LFS_EXPECT" || exit +patch -Np1 -i ../expect-5.45.4-gcc14-1.patch ./configure --prefix=/usr \ --with-tcl=/usr/lib \ --enable-shared \ --disable-rpath \ --mandir=/usr/share/man \ - --with-tclinclude=/usr/include && -make && + --with-tclinclude=/usr/include +make if [ "$MAKECHECK" = TRUE ]; then make test | tee ../check-log_"$LFS_EXPECT".log; fi -make install && -ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib && -cd .. && -rm -rf "$LFS_EXPECT" && +make install +ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib +cd .. +rm -rf "$LFS_EXPECT" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.17 ""$LFS_EXPECT""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.17 ""$LFS_EXPECT""" >> build.log echo "$LFS_EXPECT" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.18 ""$LFS_DEJAGNU""" >> build.log -tar xf "$LFS_DEJAGNU".tar.* && -cd "$LFS_DEJAGNU" && -mkdir -v build && -cd build && -../configure --prefix=/usr && -makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi && -makeinfo --plaintext -o doc/dejagnu.txt ../doc/dejagnu.texi && +tar xf "$LFS_DEJAGNU".tar.* +cd "$LFS_DEJAGNU" || exit +mkdir -v build +cd build || exit +../configure --prefix=/usr +makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi +makeinfo --plaintext -o doc/dejagnu.txt ../doc/dejagnu.texi if [ "$MAKECHECK" = TRUE ]; then make check | tee ../../check-log_"$LFS_DEJAGNU".log; fi -make install && -install -v -dm755 /usr/share/doc/dejagnu-1.6.3 && -install -v -m644 doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-1.6.3 && -cd ../.. && -rm -rf "$LFS_DEJAGNU" && +make install +install -v -dm755 /usr/share/doc/dejagnu-1.6.3 +install -v -m644 doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-1.6.3 +cd ../.. +rm -rf "$LFS_DEJAGNU" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.18 ""$LFS_DEJAGNU""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.18 ""$LFS_DEJAGNU""" >> build.log echo "$LFS_DEJAGNU" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.19 ""$LFS_PKGCONF""" >> build.log -tar xf "$LFS_PKGCONF".tar.* && -cd "$LFS_PKGCONF" && +tar xf "$LFS_PKGCONF".tar.* +cd "$LFS_PKGCONF" || exit ./configure --prefix=/usr \ --disable-static \ - --docdir=/usr/share/doc/pkgconf-2.3.0 && -make && -make install && -ln -sfv pkgconf /usr/bin/pkg-config && # deviates from book -ln -sfv pkgconf.1 /usr/share/man/man1/pkg-config.1 && # deviates from book -cd .. && -rm -rf "$LFS_PKGCONF" && + --docdir=/usr/share/doc/pkgconf-2.3.0 +make +make install +ln -sv pkgconf /usr/bin/pkg-config +ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1 +cd .. +rm -rf "$LFS_PKGCONF" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.19 ""$LFS_PKGCONF""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.19 ""$LFS_PKGCONF""" >> build.log echo "$LFS_PKGCONF" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.20 ""$LFS_BINUTILS""" >> build.log -tar xf "$LFS_BINUTILS".tar.* && -cd "$LFS_BINUTILS" && -mkdir -v build && -cd build && +tar xf "$LFS_BINUTILS".tar.* +cd "$LFS_BINUTILS" || exit +mkdir -v build +cd build || exit ../configure --prefix=/usr \ --sysconfdir=/etc \ --enable-gold \ @@ -428,174 +428,174 @@ cd build && --enable-64-bit-bfd \ --enable-new-dtags \ --with-system-zlib \ - --enable-default-hash-style=gnu && -make tooldir=/usr && + --enable-default-hash-style=gnu +make tooldir=/usr if [ "$MAKECHECK" = TRUE ]; then make -k check | tee ../../check-log_"$LFS_BINUTILS".log; grep '^FAIL:' $(find -name '*.log') fi -make tooldir=/usr install && -rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a && -cd ../.. && -rm -rf "$LFS_BINUTILS" && +make tooldir=/usr install +rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a +cd ../.. +rm -rf "$LFS_BINUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.20 ""$LFS_BINUTILS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.20 ""$LFS_BINUTILS""" >> build.log echo "$LFS_BINUTILS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.21 ""$LFS_GMP""" >> build.log -tar xf "$LFS_GMP".tar.* && -cd "$LFS_GMP" && +tar xf "$LFS_GMP".tar.* +cd "$LFS_GMP" || exit ./configure --prefix=/usr \ --enable-cxx \ --disable-static \ - --docdir=/usr/share/doc/gmp-6.3.0 && -make && -make html && + --docdir=/usr/share/doc/gmp-6.3.0 +make +make html if [ "$MAKECHECK" = TRUE ]; then make check 2>&1 | tee gmp-check-log; - awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log && + awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log cp gmp-check-log ../check-log_"$LFS_GMP".log fi -make install && -make install-html && -cd .. && -rm -rf "$LFS_GMP" && +make install +make install-html +cd .. +rm -rf "$LFS_GMP" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.21 ""$LFS_GMP""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.21 ""$LFS_GMP""" >> build.log echo "$LFS_GMP" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.22 ""$LFS_MPFR""" >> build.log -tar xf "$LFS_MPFR".tar.* && -cd "$LFS_MPFR" && +tar xf "$LFS_MPFR".tar.* +cd "$LFS_MPFR" || exit ./configure --prefix=/usr \ --disable-static \ --enable-thread-safe \ - --docdir=/usr/share/doc/mpfr-4.2.1 && -make && -make html && + --docdir=/usr/share/doc/mpfr-4.2.1 +make +make html if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_MPFR".log; fi -make install && -make install-html && -cd .. && -rm -rf "$LFS_MPFR" && +make install +make install-html +cd .. +rm -rf "$LFS_MPFR" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.22 ""$LFS_MPFR""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.22 ""$LFS_MPFR""" >> build.log echo "$LFS_MPFR" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.23 ""$LFS_MPC""" >> build.log -tar xf "$LFS_MPC".tar.* && -cd "$LFS_MPC" && +tar xf "$LFS_MPC".tar.* +cd "$LFS_MPC" || exit ./configure --prefix=/usr \ --disable-static \ - --docdir=/usr/share/doc/mpc-1.3.1 && -make && -make html && + --docdir=/usr/share/doc/mpc-1.3.1 +make +make html if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_MPC".log; fi -make install && -make install-html && -cd .. && -rm -rf "$LFS_MPC" && +make install +make install-html +cd .. +rm -rf "$LFS_MPC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.23 ""$LFS_MPC""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.23 ""$LFS_MPC""" >> build.log echo "$LFS_MPC" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.24 ""$LFS_ATTR""" >> build.log -tar xf "$LFS_ATTR".tar.* && -cd "$LFS_ATTR" && +tar xf "$LFS_ATTR".tar.* +cd "$LFS_ATTR" || exit ./configure --prefix=/usr \ --disable-static \ --sysconfdir=/etc \ - --docdir=/usr/share/doc/attr-2.5.2 && -make && + --docdir=/usr/share/doc/attr-2.5.2 +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_ATTR".log; fi -make install && -cd .. && -rm -rf "$LFS_ATTR" && +make install +cd .. +rm -rf "$LFS_ATTR" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.24 ""$LFS_ATTR""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.24 ""$LFS_ATTR""" >> build.log echo "$LFS_ATTR" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.25 ""$LFS_ACL""" >> build.log -tar xf "$LFS_ACL".tar.* && -cd "$LFS_ACL" && +tar xf "$LFS_ACL".tar.* +cd "$LFS_ACL" || exit ./configure --prefix=/usr \ --disable-static \ - --docdir=/usr/share/doc/acl-2.3.2 && -make && -make install && -cd .. && -rm -rf "$LFS_ACL" && + --docdir=/usr/share/doc/acl-2.3.2 +make +make install +cd .. +rm -rf "$LFS_ACL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.25 ""$LFS_ACL""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.25 ""$LFS_ACL""" >> build.log echo "$LFS_ACL" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.26 ""$LFS_LIBCAP""" >> build.log -tar xf "$LFS_LIBCAP".tar.* && -cd "$LFS_LIBCAP" && -sed -i '/install -m.*STA/d' libcap/Makefile && -make prefix=/usr lib=lib && +tar xf "$LFS_LIBCAP".tar.* +cd "$LFS_LIBCAP" || exit +sed -i '/install -m.*STA/d' libcap/Makefile +make prefix=/usr lib=lib if [ "$MAKECHECK" = TRUE ]; then make test | tee ../check-log_"$LFS_LIBCAP".log; fi -make prefix=/usr lib=lib install && -cd .. && -rm -rf "$LFS_LIBCAP" && +make prefix=/usr lib=lib install +cd .. +rm -rf "$LFS_LIBCAP" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.26 ""$LFS_LIBCAP""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.26 ""$LFS_LIBCAP""" >> build.log echo "$LFS_LIBCAP" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.27 ""$LFS_LIBXCRYPT""" >> build.log -tar xf "$LFS_LIBXCRYPT".tar.* && -cd "$LFS_LIBXCRYPT" && +tar xf "$LFS_LIBXCRYPT".tar.* +cd "$LFS_LIBXCRYPT" || exit ./configure --prefix=/usr \ --enable-hashes=strong,glibc \ --enable-obsolete-api=no \ --disable-static \ - --disable-failure-tokens && -make && + --disable-failure-tokens +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_LIBXCRYPT".log; fi -make install && -cd .. && -rm -rf "$LFS_LIBXCRYPT" && +make install +cd .. +rm -rf "$LFS_LIBXCRYPT" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.27 ""$LFS_LIBXCRYPT""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.27 ""$LFS_LIBXCRYPT""" >> build.log echo "$LFS_LIBXCRYPT" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.28 ""$LFS_SHADOW""" >> build.log -tar xf "$LFS_SHADOW".tar.* && -cd "$LFS_SHADOW" && +tar xf "$LFS_SHADOW".tar.* +cd "$LFS_SHADOW" || exit sed -i 's/groups$(EXEEXT) //' src/Makefile.in find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; @@ -603,44 +603,44 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \ -e 's:/var/spool/mail:/var/mail:' \ -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ - -i etc/login.defs && -touch /usr/bin/passwd && + -i etc/login.defs +touch /usr/bin/passwd ./configure --sysconfdir=/etc \ --disable-static \ --with-{b,yes}crypt \ --without-libbsd \ - --with-group-name-max-length=32 && -make && -make exec_prefix=/usr install && -make -C man install-man && -pwconv && -grpconv && -mkdir -p /etc/default && -useradd -D --gid 999 && + --with-group-name-max-length=32 +make +make exec_prefix=/usr install +make -C man install-man +pwconv +grpconv +mkdir -p /etc/default +useradd -D --gid 999 # sed -i '/MAIL/s/yes/no/' /etc/default/useradd echo root:root | chpasswd # Set the root password echo "The password for the user root has been set to 'root'" sleep 5 -cd .. && -rm -rf "$LFS_SHADOW" && +cd .. +rm -rf "$LFS_SHADOW" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.28 ""$LFS_SHADOW""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.28 ""$LFS_SHADOW""" >> build.log echo "$LFS_SHADOW" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.29 ""$LFS_GCC""" >> build.log -tar xf "$LFS_GCC".tar.* && -cd "$LFS_GCC" && +tar xf "$LFS_GCC".tar.* +cd "$LFS_GCC" || exit case $(uname -m) in x86_64) sed -e '/m64=/s/lib64/lib/' \ -i.orig gcc/config/i386/t-linux64 ;; -esac && -mkdir -v build && -cd build && +esac +mkdir -v build +cd build || exit ../configure --prefix=/usr \ LD=ld \ --enable-languages=c,c++ \ @@ -650,32 +650,32 @@ cd build && --disable-multilib \ --disable-bootstrap \ --disable-fixincludes \ - --with-system-zlib && -make && -ulimit -s -H unlimited && -sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp && -sed -e 's/no-pic /&-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c && -sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c && + --with-system-zlib +make +ulimit -s -H unlimited +sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp +sed -e 's/no-pic /&-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c +sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c sed -e 's/{ target nonpic } //' \ - -e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c && + -e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c if [ "$MAKECHECK" = TRUE ]; then - chown -Rv tester . && + chown -Rv tester . su tester -c "PATH=$PATH make -k -j""$JOBS"" check"; - ../contrib/test_summary | tee ../../check-log_"$LFS_GCC".log && + ../contrib/test_summary | tee ../../check-log_"$LFS_GCC".log ../contrib/test_summary | grep -A7 Summ fi -make install && +make install chown -v -R root:root \ - /usr/lib/gcc/$(gcc -dumpmachine)/14.2.0/include{,-fixed} && -ln -svr /usr/bin/cpp /usr/lib && -ln -sv gcc.1 /usr/share/man/man1/cc.1 && + /usr/lib/gcc/$(gcc -dumpmachine)/14.2.0/include{,-fixed} +ln -svr /usr/bin/cpp /usr/lib +ln -sv gcc.1 /usr/share/man/man1/cc.1 ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/14.2.0/liblto_plugin.so \ - /usr/lib/bfd-plugins/ && + /usr/lib/bfd-plugins/ echo "Now that our final toolchain is in place, it is important to again ensure that compiling and linking will work as expected. We do this by performing some sanity checks" echo "There should be no errors, and the output of the last command will be (allowing for platform-specific differences in the dynamic linker name):" echo "[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]" -echo 'int main(){}' > dummy.c && -cc dummy.c -v -Wl,--verbose &> dummy.log && +echo 'int main(){}' > dummy.c +cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' echo "Now make sure that we're set up to use the correct start files" echo "The output should be:" @@ -711,21 +711,21 @@ echo "The output should be (allowing for platform-specific differences in dynami echo "found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2" grep found dummy.log sleep 5 -rm -v dummy.c a.out dummy.log && -mkdir -pv /usr/share/gdb/auto-load/usr/lib && -mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib && -cd ../.. && -rm -rf "$LFS_GCC" && +rm -v dummy.c a.out dummy.log +mkdir -pv /usr/share/gdb/auto-load/usr/lib +mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib +cd ../.. +rm -rf "$LFS_GCC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.29 ""$LFS_GCC""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.29 ""$LFS_GCC""" >> build.log echo "$LFS_GCC" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.30 ""$LFS_NCURSES""" >> build.log -tar xf "$LFS_NCURSES".tar.* && -cd "$LFS_NCURSES" && +tar xf "$LFS_NCURSES".tar.* +cd "$LFS_NCURSES" || exit ./configure --prefix=/usr \ --mandir=/usr/share/man \ --with-shared \ @@ -733,138 +733,138 @@ cd "$LFS_NCURSES" && --without-normal \ --with-cxx-shared \ --enable-pc-files \ - --with-pkg-config-libdir=/usr/lib/pkgconfig && -make && -make DESTDIR=$PWD/dest install && -install -vm755 dest/usr/lib/libncursesw.so.6.5 /usr/lib && -rm -v dest/usr/lib/libncursesw.so.6.5 && + --with-pkg-config-libdir=/usr/lib/pkgconfig +make +make DESTDIR=$PWD/dest install +install -vm755 dest/usr/lib/libncursesw.so.6.5 /usr/lib +rm -v dest/usr/lib/libncursesw.so.6.5 sed -e 's/^#if.*XOPEN.*$/#if 1/' \ - -i dest/usr/include/curses.h && -cp -av dest/* / && + -i dest/usr/include/curses.h +cp -av dest/* / for lib in ncurses form panel menu ; do ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc -done && -ln -sfv libncursesw.so /usr/lib/libcurses.so && -cp -v -R doc -T /usr/share/doc/ncurses-6.5 && -cd .. && -rm -rf "$LFS_NCURSES" && +done +ln -sfv libncursesw.so /usr/lib/libcurses.so +cp -v -R doc -T /usr/share/doc/ncurses-6.5 +cd .. +rm -rf "$LFS_NCURSES" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.30 ""$LFS_NCURSES""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.30 ""$LFS_NCURSES""" >> build.log echo "$LFS_NCURSES" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.31 ""$LFS_SED""" >> build.log -tar xf "$LFS_SED".tar.* && -cd "$LFS_SED" && -./configure --prefix=/usr && -make && -make html && +tar xf "$LFS_SED".tar.* +cd "$LFS_SED" || exit +./configure --prefix=/usr +make +make html if [ "$MAKECHECK" = TRUE ]; then - chown -Rv tester . && + chown -Rv tester . su tester -c "PATH=$PATH make check" | tee ../check-log_"$LFS_SED".log; fi -make install && -install -d -m755 /usr/share/doc/sed-4.9 && -install -m644 doc/sed.html /usr/share/doc/sed-4.9 && -cd .. && -rm -rf "$LFS_SED" && +make install +install -d -m755 /usr/share/doc/sed-4.9 +install -m644 doc/sed.html /usr/share/doc/sed-4.9 +cd .. +rm -rf "$LFS_SED" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.31 ""$LFS_SED""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.31 ""$LFS_SED""" >> build.log echo "$LFS_SED" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.32 ""$LFS_PSMISC""" >> build.log -tar xf "$LFS_PSMISC".tar.* && -cd "$LFS_PSMISC" && -./configure --prefix=/usr && -make && +tar xf "$LFS_PSMISC".tar.* +cd "$LFS_PSMISC" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_PSMISC".log; fi -make install && -cd .. && -rm -rf "$LFS_PSMISC" && +make install +cd .. +rm -rf "$LFS_PSMISC" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.32 ""$LFS_PSMISC""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.32 ""$LFS_PSMISC""" >> build.log echo "$LFS_PSMISC" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.33 ""$LFS_GETTEXT""" >> build.log -tar xf "$LFS_GETTEXT".tar.* && -cd "$LFS_GETTEXT" && +tar xf "$LFS_GETTEXT".tar.* +cd "$LFS_GETTEXT" || exit ./configure --prefix=/usr \ --disable-static \ - --docdir=/usr/share/doc/gettext-0.22.5 && -make && + --docdir=/usr/share/doc/gettext-0.22.5 +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_GETTEXT".log; fi -make install && -chmod -v 0755 /usr/lib/preloadable_libintl.so && -cd .. && -rm -rf "$LFS_GETTEXT" && +make install +chmod -v 0755 /usr/lib/preloadable_libintl.so +cd .. +rm -rf "$LFS_GETTEXT" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.33 ""$LFS_GETTEXT""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.33 ""$LFS_GETTEXT""" >> build.log echo "$LFS_GETTEXT" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.34 ""$LFS_BISON""" >> build.log -tar xf "$LFS_BISON".tar.* && -cd "$LFS_BISON" && -./configure --prefix=/usr --docdir=/usr/share/doc/bison-3.8.2 && -make && +tar xf "$LFS_BISON".tar.* +cd "$LFS_BISON" || exit +./configure --prefix=/usr --docdir=/usr/share/doc/bison-3.8.2 +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_BISON".log; fi -make install && -cd .. && -rm -rf "$LFS_BISON" && +make install +cd .. +rm -rf "$LFS_BISON" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.34 ""$LFS_BISON""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.34 ""$LFS_BISON""" >> build.log echo "$LFS_BISON" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.35 ""$LFS_GREP""" >> build.log -tar xf "$LFS_GREP".tar.* && -cd "$LFS_GREP" && -sed -i "s/echo/#echo/" src/egrep.sh && -./configure --prefix=/usr && -make && +tar xf "$LFS_GREP".tar.* +cd "$LFS_GREP" || exit +sed -i "s/echo/#echo/" src/egrep.sh +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_GREP".log; fi -make install && -cd .. && -rm -rf "$LFS_GREP" && +make install +cd .. +rm -rf "$LFS_GREP" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.35 ""$LFS_GREP""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.35 ""$LFS_GREP""" >> build.log echo "$LFS_GREP" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.36 ""$LFS_BASH""" >> build.log -tar xf "$LFS_BASH".tar.* && -cd "$LFS_BASH" && +tar xf "$LFS_BASH".tar.* +cd "$LFS_BASH" || exit ./configure --prefix=/usr \ --without-bash-malloc \ --with-installed-readline \ bash_cv_strtold_broken=no \ - --docdir=/usr/share/doc/bash-5.2.32 && -make && + --docdir=/usr/share/doc/bash-5.2.32 +make if [ "$MAKECHECK" = TRUE ]; then - chown -Rv tester . && + chown -Rv tester . su -s /usr/bin/expect tester << EOF | tee ../check-log_"$LFS_BASH".log; set timeout -1 spawn make tests @@ -873,12 +873,12 @@ lassign [wait] _ _ _ value exit $value EOF fi -make install && -cd .. && -rm -rf "$LFS_BASH" && +make install +cd .. +rm -rf "$LFS_BASH" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.36 ""$LFS_BASH""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.36 ""$LFS_BASH""" >> build.log echo "$LFS_BASH" >> /installed.txt echo "Executing new bash, continue with chapter 8 p2:" diff --git a/chap8p2.sh b/chap8p2.sh index e8a23f1..29addc4 100644 --- a/chap8p2.sh +++ b/chap8p2.sh @@ -5,87 +5,87 @@ source vars.sh CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.37 ""$LFS_LIBTOOL""" >> build.log -tar xf "$LFS_LIBTOOL".tar.* && -cd "$LFS_LIBTOOL" && -./configure --prefix=/usr && -make && +tar xf "$LFS_LIBTOOL".tar.* +cd "$LFS_LIBTOOL" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make -k check | tee ../check-log_"$LFS_LIBTOOL".log; fi -make install && -rm -fv /usr/lib/libltdl.a && -cd .. && -rm -rf "$LFS_LIBTOOL" && +make install +rm -fv /usr/lib/libltdl.a +cd .. +rm -rf "$LFS_LIBTOOL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.37 ""$LFS_LIBTOOL""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.37 ""$LFS_LIBTOOL""" >> build.log echo "$LFS_LIBTOOL" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.38 ""$LFS_GDBM""" >> build.log -tar xf "$LFS_GDBM".tar.* && -cd "$LFS_GDBM" && +tar xf "$LFS_GDBM".tar.* +cd "$LFS_GDBM" || exit ./configure --prefix=/usr \ --disable-static \ - --enable-libgdbm-compat && -make && + --enable-libgdbm-compat +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_GDBM".log; fi -make install && -cd .. && -rm -rf "$LFS_GDBM" && +make install +cd .. +rm -rf "$LFS_GDBM" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.38 ""$LFS_GDBM""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.38 ""$LFS_GDBM""" >> build.log echo "$LFS_GDBM" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.39 ""$LFS_GPERF""" >> build.log -tar xf "$LFS_GPERF".tar.* && -cd "$LFS_GPERF" && -./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.1 && -make && +tar xf "$LFS_GPERF".tar.* +cd "$LFS_GPERF" || exit +./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.1 +make if [ "$MAKECHECK" = TRUE ]; then make -j1 check | tee ../check-log_"$LFS_GPERF".log; fi -make install && -cd .. && -rm -rf "$LFS_GPERF" && +make install +cd .. +rm -rf "$LFS_GPERF" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.39 ""$LFS_GPERF""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.39 ""$LFS_GPERF""" >> build.log echo "$LFS_GPERF" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.40 ""$LFS_EXPAT""" >> build.log -tar xf "$LFS_EXPAT".tar.* && -cd "$LFS_EXPAT" && +tar xf "$LFS_EXPAT".tar.* +cd "$LFS_EXPAT" || exit ./configure --prefix=/usr \ --disable-static \ - --docdir=/usr/share/doc/expat-2.6.2 && -make && + --docdir=/usr/share/doc/expat-2.6.2 +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_EXPAT".log; fi -make install && -install -v -m644 doc/*.{html,css} /usr/share/doc/expat-2.6.2 && -cd .. && -rm -rf "$LFS_EXPAT" && +make install +install -v -m644 doc/*.{html,css} /usr/share/doc/expat-2.6.2 +cd .. +rm -rf "$LFS_EXPAT" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.40 ""$LFS_EXPAT""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.40 ""$LFS_EXPAT""" >> build.log echo "$LFS_EXPAT" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.41 ""$LFS_INETUTILS""" >> build.log -tar xf "$LFS_INETUTILS".tar.* && -cd "$LFS_INETUTILS" && -sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c && +tar xf "$LFS_INETUTILS".tar.* +cd "$LFS_INETUTILS" || exit +sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c if [ "$TELNETD" = TRUE ]; then ./configure --prefix=/usr \ --bindir=/usr/bin \ @@ -109,15 +109,15 @@ else --disable-rlogin \ --disable-rsh \ --disable-servers -fi && -make && +fi +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_INETUTILS".log; fi -make install && -mv -v /usr/{,s}bin/ifconfig && +make install +mv -v /usr/{,s}bin/ifconfig if [ "$TELNETD" = TRUE ]; then - cp -v telnetd/telnetd /usr/sbin/in.telnetd && + cp -v telnetd/telnetd /usr/sbin/in.telnetd cat > /lib/systemd/system/telnetd.socket << "EOF" [Unit] Description=Telnet Socket for Per-Connection Servers @@ -138,38 +138,38 @@ ExecStart=-/usr/sbin/in.telnetd StandardInput=socket EOF fi -cd .. && -rm -rf "$LFS_INETUTILS" && +cd .. +rm -rf "$LFS_INETUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.41 ""$LFS_INETUTILS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.41 ""$LFS_INETUTILS""" >> build.log echo "$LFS_INETUTILS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.42 ""$LFS_LESS""" >> build.log -tar xf "$LFS_LESS".tar.* && -cd "$LFS_LESS" && -./configure --prefix=/usr --sysconfdir=/etc && -make && +tar xf "$LFS_LESS".tar.* +cd "$LFS_LESS" || exit +./configure --prefix=/usr --sysconfdir=/etc +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_LESS".log; fi -make install && -cd .. && -rm -rf "$LFS_LESS" && +make install +cd .. +rm -rf "$LFS_LESS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.42 ""$LFS_LESS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.42 ""$LFS_LESS""" >> build.log echo "$LFS_LESS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.43 ""$LFS_PERL""" >> build.log -tar xf "$LFS_PERL".tar.* && -cd "$LFS_PERL" && -export BUILD_ZLIB=False && -export BUILD_BZIP2=0 && +tar xf "$LFS_PERL".tar.* +cd "$LFS_PERL" || exit +export BUILD_ZLIB=False +export BUILD_BZIP2=0 sh Configure -des \ -D prefix=/usr \ -D vendorprefix=/usr \ @@ -183,617 +183,617 @@ sh Configure -des \ -D man3dir=/usr/share/man/man3 \ -D pager="/usr/bin/less -isR" \ -D useshrplib \ - -D usethreads && -make && + -D usethreads +make if [ "$MAKECHECK" = TRUE ]; then TEST_JOBS=$(nproc) make test_harness | tee ../check-log_"$LFS_PERL".log; fi -make install && +make install unset BUILD_ZLIB BUILD_BZIP2 -cd .. && -rm -rf "$LFS_PERL" && +cd .. +rm -rf "$LFS_PERL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.43 ""$LFS_PERL""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.43 ""$LFS_PERL""" >> build.log echo "$LFS_PERL" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.44 ""$LFS_XMLPARSER""" >> build.log -tar xf "$LFS_XMLPARSER".tar.* && -cd "$LFS_XMLPARSER" && -perl Makefile.PL && -make && +tar xf "$LFS_XMLPARSER".tar.* +cd "$LFS_XMLPARSER" || exit +perl Makefile.PL +make if [ "$MAKECHECK" = TRUE ]; then make test | tee ../check-log_"$LFS_XMLPARSER".log; fi -make install && -cd .. && -rm -rf "$LFS_XMLPARSER" && +make install +cd .. +rm -rf "$LFS_XMLPARSER" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.44 ""$LFS_XMLPARSER""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.44 ""$LFS_XMLPARSER""" >> build.log echo "$LFS_XMLPARSER" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.45 ""$LFS_INTLTOOL""" >> build.log -tar xf "$LFS_INTLTOOL".tar.* && -cd "$LFS_INTLTOOL" && -sed -i 's:\\\${:\\\$\\{:' intltool-update.in && -./configure --prefix=/usr && -make && +tar xf "$LFS_INTLTOOL".tar.* +cd "$LFS_INTLTOOL" || exit +sed -i 's:\\\${:\\\$\\{:' intltool-update.in +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_INTLTOOL".log; fi -make install && -install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-0.51.0/I18N-HOWTO && -cd .. && -rm -rf "$LFS_INTLTOOL" && +make install +install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-0.51.0/I18N-HOWTO +cd .. +rm -rf "$LFS_INTLTOOL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.45 ""$LFS_INTLTOOL""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.45 ""$LFS_INTLTOOL""" >> build.log echo "$LFS_INTLTOOL" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.46 ""$LFS_AUTOCONF""" >> build.log -tar xf "$LFS_AUTOCONF".tar.* && -cd "$LFS_AUTOCONF" && -./configure --prefix=/usr && -make && +tar xf "$LFS_AUTOCONF".tar.* +cd "$LFS_AUTOCONF" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_AUTOCONF".log; fi -make install && -cd .. && -rm -rf "$LFS_AUTOCONF" && +make install +cd .. +rm -rf "$LFS_AUTOCONF" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.46 ""$LFS_AUTOCONF""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.46 ""$LFS_AUTOCONF""" >> build.log echo "$LFS_AUTOCONF" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.47 ""$LFS_AUTOMAKE""" >> build.log -tar xf "$LFS_AUTOMAKE".tar.* && -cd "$LFS_AUTOMAKE" && -./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.17 && -make && +tar xf "$LFS_AUTOMAKE".tar.* +cd "$LFS_AUTOMAKE" || exit +./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.17 +make if [ "$MAKECHECK" = TRUE ]; then make -j$(($(nproc)>4?$(nproc):4)) check| tee ../check-log_"$LFS_AUTOMAKE".log; fi -make install && -cd .. && -rm -rf "$LFS_AUTOMAKE" && +make install +cd .. +rm -rf "$LFS_AUTOMAKE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.47 ""$LFS_AUTOMAKE""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.47 ""$LFS_AUTOMAKE""" >> build.log echo "$LFS_AUTOMAKE" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.48 ""$LFS_OPENSSL""" >> build.log -tar xf "$LFS_OPENSSL".tar.* && -cd "$LFS_OPENSSL" && +tar xf "$LFS_OPENSSL".tar.* +cd "$LFS_OPENSSL" || exit ./config --prefix=/usr \ --openssldir=/etc/ssl \ --libdir=lib \ shared \ - zlib-dynamic && -make && + zlib-dynamic +make if [ "$MAKECHECK" = TRUE ]; then HARNESS_JOBS=$(nproc) make test | tee ../check-log_"$LFS_OPENSSL".log; fi -sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile && -make MANSUFFIX=ssl install && -mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.3.1 && -cp -vfr doc/* /usr/share/doc/openssl-3.3.1 && -cd .. && -rm -rf "$LFS_OPENSSL" && +sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile +make MANSUFFIX=ssl install +mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.3.1 +cp -vfr doc/* /usr/share/doc/openssl-3.3.1 +cd .. +rm -rf "$LFS_OPENSSL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.48 ""$LFS_OPENSSL""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.48 ""$LFS_OPENSSL""" >> build.log echo "$LFS_OPENSSL" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.49 ""$LFS_KMOD""" >> build.log -tar xf "$LFS_KMOD".tar.* && -cd "$LFS_KMOD" && +tar xf "$LFS_KMOD".tar.* +cd "$LFS_KMOD" || exit ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-openssl \ --with-xz \ --with-zstd \ --with-zlib \ - --disable-manpages && -make && -make install && + --disable-manpages +make +make install for target in depmod insmod modinfo modprobe rmmod; do ln -sfv ../bin/kmod /usr/sbin/$target rm -fv /usr/bin/$target -done && -cd .. && -rm -rf "$LFS_KMOD" && +done +cd .. +rm -rf "$LFS_KMOD" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.49 ""$LFS_KMOD""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.49 ""$LFS_KMOD""" >> build.log echo "$LFS_KMOD" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.50 Libelf from ""$LFS_ELFUTILS""" >> build.log -tar xf "$LFS_ELFUTILS".tar.bz2 && -cd "$LFS_ELFUTILS" && +tar xf "$LFS_ELFUTILS".tar.bz2 +cd "$LFS_ELFUTILS" || exit ./configure --prefix=/usr \ --disable-debuginfod \ - --enable-libdebuginfod=dummy && -make && + --enable-libdebuginfod=dummy +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_ELFUTILS".log; fi -make -C libelf install && -install -vm644 config/libelf.pc /usr/lib/pkgconfig && -rm /usr/lib/libelf.a && -cd .. && -rm -rf "$LFS_ELFUTILS" && +make -C libelf install +install -vm644 config/libelf.pc /usr/lib/pkgconfig +rm /usr/lib/libelf.a +cd .. +rm -rf "$LFS_ELFUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.50 Libelf from ""$LFS_ELFUTILS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.50 Libelf from ""$LFS_ELFUTILS""" >> build.log echo "Libelf from $LFS_ELFUTILS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.51 ""$LFS_LIBFFI""" >> build.log -tar xf "$LFS_LIBFFI".tar.* && -cd "$LFS_LIBFFI" && +tar xf "$LFS_LIBFFI".tar.* +cd "$LFS_LIBFFI" || exit ./configure --prefix=/usr \ --disable-static \ - --with-gcc-arch=native && -make && + --with-gcc-arch=native +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_LIBFFI".log; fi -make install && -cd .. && -rm -rf "$LFS_LIBFFI" && +make install +cd .. +rm -rf "$LFS_LIBFFI" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.51 ""$LFS_LIBFFI""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.51 ""$LFS_LIBFFI""" >> build.log echo "$LFS_LIBFFI" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.52 ""$LFS_PYTHON""" >> build.log -tar xf "$LFS_PYTHON".tar.* && -cd "$LFS_PYTHON" && +tar xf "$LFS_PYTHON".tar.* +cd "$LFS_PYTHON" || exit ./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ - --enable-optimizations && -make && + --enable-optimizations +make if [ "$MAKECHECK" = TRUE ]; then make test TESTOPTS="--timeout 120"| tee ../check-log_"$LFS_PYTHON".log; fi -make install && +make install cat > /etc/pip.conf << EOF [global] root-user-action = ignore disable-pip-version-check = true EOF -install -v -dm755 /usr/share/doc/python-3.12.5/html && +install -v -dm755 /usr/share/doc/python-3.12.5/html tar --no-same-owner \ - -xvf ../python-3.12.5-docs-html.tar.bz2 && + -xvf ../python-3.12.5-docs-html.tar.bz2 cp -R --no-preserve=mode python-3.12.5-docs-html/* \ - /usr/share/doc/python-3.12.5/html && -cd .. && -rm -rf "$LFS_PYTHON" && + /usr/share/doc/python-3.12.5/html +cd .. +rm -rf "$LFS_PYTHON" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.52 ""$LFS_PYTHON""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.52 ""$LFS_PYTHON""" >> build.log echo "$LFS_PYTHON" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.53 ""$LFS_FLITCORE""" >> build.log -tar xf "$LFS_FLITCORE".tar.* && -cd "$LFS_FLITCORE" && -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD && -pip3 install --no-index --no-user --find-links dist flit_core && -cd .. && -rm -rf "$LFS_FLITCORE" && +tar xf "$LFS_FLITCORE".tar.* +cd "$LFS_FLITCORE" || exit +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 install --no-index --no-user --find-links dist flit_core +cd .. +rm -rf "$LFS_FLITCORE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.53 ""$LFS_FLITCORE""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.53 ""$LFS_FLITCORE""" >> build.log echo "$LFS_FLITCORE" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.54 ""$LFS_WHEEL""" >> build.log -tar xf "$LFS_WHEEL".tar.* && -cd "$LFS_WHEEL" && -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD && -pip3 install --no-index --find-links=dist wheel && -cd .. && -rm -rf "$LFS_WHEEL" && +tar xf "$LFS_WHEEL".tar.* +cd "$LFS_WHEEL" || exit +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 install --no-index --find-links=dist wheel +cd .. +rm -rf "$LFS_WHEEL" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.54 ""$LFS_WHEEL""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.54 ""$LFS_WHEEL""" >> build.log echo "$LFS_WHEEL" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.55 ""$LFS_SETUPTOOLS""" >> build.log -tar xf "$LFS_SETUPTOOLS".tar.* && -cd "$LFS_SETUPTOOLS" && -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD && -pip3 install --no-index --find-links dist setuptools && -cd .. && -rm -rf "$LFS_SETUPTOOLS" && +tar xf "$LFS_SETUPTOOLS".tar.* +cd "$LFS_SETUPTOOLS" || exit +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 install --no-index --find-links dist setuptools +cd .. +rm -rf "$LFS_SETUPTOOLS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.55 ""$LFS_SETUPTOOLS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.55 ""$LFS_SETUPTOOLS""" >> build.log echo "$LFS_SETUPTOOLS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.56 ""$LFS_NINJA""" >> build.log -tar xf "$LFS_NINJA".tar.* && -cd "$LFS_NINJA" && +tar xf "$LFS_NINJA".tar.* +cd "$LFS_NINJA" || exit sed -i '/int Guess/a \ int j = 0;\ char* jobs = getenv( "NINJAJOBS" );\ if ( jobs != NULL ) j = atoi( jobs );\ if ( j > 0 ) return j;\ -' src/ninja.cc && -python3 configure.py --bootstrap && -install -vm755 ninja /usr/bin/ && -install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja && -install -vDm644 misc/zsh-completion /usr/share/zsh/site-functions/_ninja && -cd .. && -rm -rf "$LFS_NINJA" && +' src/ninja.cc +python3 configure.py --bootstrap +install -vm755 ninja /usr/bin/ +install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja +install -vDm644 misc/zsh-completion /usr/share/zsh/site-functions/_ninja +cd .. +rm -rf "$LFS_NINJA" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.56 ""$LFS_NINJA""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.56 ""$LFS_NINJA""" >> build.log echo "$LFS_NINJA" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.57 ""$LFS_MESON""" >> build.log -tar xf "$LFS_MESON".tar.* && -cd "$LFS_MESON" && -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD && -pip3 install --no-index --find-links dist meson && -install -vDm644 data/shell-completions/bash/meson /usr/share/bash-completion/completions/meson && -install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/_meson && -cd .. && -rm -rf "$LFS_MESON" && +tar xf "$LFS_MESON".tar.* +cd "$LFS_MESON" || exit +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 install --no-index --find-links dist meson +install -vDm644 data/shell-completions/bash/meson /usr/share/bash-completion/completions/meson +install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/_meson +cd .. +rm -rf "$LFS_MESON" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.57 ""$LFS_MESON""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.57 ""$LFS_MESON""" >> build.log echo "$LFS_MESON" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.58 ""$LFS_COREUTILS" >> build.log -tar xf "$LFS_COREUTILS".tar.* && -cd "$LFS_COREUTILS" && -patch -Np1 -i ../$LFS_COREUTILS-i18n-1.patch && -autoreconf -fiv && +tar xf "$LFS_COREUTILS".tar.* +cd "$LFS_COREUTILS" || exit +patch -Np1 -i ../$LFS_COREUTILS-i18n-1.patch +autoreconf -fiv FORCE_UNSAFE_CONFIGURE=1 ./configure \ --prefix=/usr \ - --enable-no-install-program=kill,uptime && -make && + --enable-no-install-program=kill,uptime +make if [ "$MAKECHECK" = TRUE ]; then - make NON_ROOT_USERNAME=tester check-root && - groupadd -g 102 dummy -U tester && - chown -Rv tester . && + make NON_ROOT_USERNAME=tester check-root + groupadd -g 102 dummy -U tester + chown -Rv tester . su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \ < /dev/null | tee ../check-log_"$LFS_COREUTILS".log; groupdel dummy fi -make install && -mv -v /usr/bin/chroot /usr/sbin && -mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 && -sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8 && -cd .. && -rm -rf "$LFS_COREUTILS" && +make install +mv -v /usr/bin/chroot /usr/sbin +mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 +sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8 +cd .. +rm -rf "$LFS_COREUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.58 ""$LFS_COREUTILS" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.58 ""$LFS_COREUTILS" >> build.log echo "$LFS_COREUTILS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.59 ""$LFS_CHECK""" >> build.log -tar xf "$LFS_CHECK".tar.* && -cd "$LFS_CHECK" && -./configure --prefix=/usr --disable-static && -make && +tar xf "$LFS_CHECK".tar.* +cd "$LFS_CHECK" || exit +./configure --prefix=/usr --disable-static +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_CHECK".log; fi -make docdir=/usr/share/doc/check-0.15.2 install && -cd .. && -rm -rf "$LFS_CHECK" && +make docdir=/usr/share/doc/check-0.15.2 install +cd .. +rm -rf "$LFS_CHECK" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.59 ""$LFS_CHECK""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.59 ""$LFS_CHECK""" >> build.log echo "$LFS_CHECK" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.60 ""$LFS_DIFFUTILS""" >> build.log -tar xf "$LFS_DIFFUTILS".tar.* && -cd "$LFS_DIFFUTILS" && -./configure --prefix=/usr && -make && +tar xf "$LFS_DIFFUTILS".tar.* +cd "$LFS_DIFFUTILS" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_DIFFUTILS".log; fi -make install && -cd .. && -rm -rf "$LFS_DIFFUTILS" && +make install +cd .. +rm -rf "$LFS_DIFFUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.60 ""$LFS_DIFFUTILS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.60 ""$LFS_DIFFUTILS""" >> build.log echo "$LFS_DIFFUTILS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.61 ""$LFS_GAWK""" >> build.log -tar xf "$LFS_GAWK".tar.* && -cd "$LFS_GAWK" && -sed -i 's/extras//' Makefile.in && -./configure --prefix=/usr && -make && +tar xf "$LFS_GAWK".tar.* +cd "$LFS_GAWK" || exit +sed -i 's/extras//' Makefile.in +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then chown -R tester . su tester -c "PATH=$PATH make check" | tee ../check-log_"$LFS_GAWK".log; fi rm -f /usr/bin/gawk-5.3.0; -make install && -ln -sv gawk.1 /usr/share/man/man1/awk.1 && -mkdir -pv /usr/share/doc/gawk-5.3.0 && -cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-5.3.0 && -cd .. && -rm -rf "$LFS_GAWK" && +make install +ln -sv gawk.1 /usr/share/man/man1/awk.1 +mkdir -pv /usr/share/doc/gawk-5.3.0 +cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-5.3.0 +cd .. +rm -rf "$LFS_GAWK" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.61 ""$LFS_GAWK""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.61 ""$LFS_GAWK""" >> build.log echo "$LFS_GAWK" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.62 ""$LFS_FINDUTILS""" >> build.log -tar xf "$LFS_FINDUTILS".tar.* && -cd "$LFS_FINDUTILS" && -./configure --prefix=/usr --localstatedir=/var/lib/locate && -make && +tar xf "$LFS_FINDUTILS".tar.* +cd "$LFS_FINDUTILS" || exit +./configure --prefix=/usr --localstatedir=/var/lib/locate +make if [ "$MAKECHECK" = TRUE ]; then - chown -Rv tester . && + chown -Rv tester . su tester -c "PATH=$PATH make check" | tee ../check-log_"$LFS_FINDUTILS".log; fi -make install && -cd .. && -rm -rf "$LFS_FINDUTILS" && +make install +cd .. +rm -rf "$LFS_FINDUTILS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.62 ""$LFS_FINDUTILS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.62 ""$LFS_FINDUTILS""" >> build.log echo "$LFS_FINDUTILS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.63 ""$LFS_GROFF""" >> build.log -tar xf "$LFS_GROFF".tar.* && -cd "$LFS_GROFF" && -PAGE="$PAPERSIZE" ./configure --prefix=/usr && -make && +tar xf "$LFS_GROFF".tar.* +cd "$LFS_GROFF" || exit +PAGE="$PAPERSIZE" ./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_GROFF".log; fi -make install && -cd .. && -rm -rf "$LFS_GROFF" && +make install +cd .. +rm -rf "$LFS_GROFF" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.63 ""$LFS_GROFF""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.63 ""$LFS_GROFF""" >> build.log echo "$LFS_GROFF" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.64 ""$LFS_GRUB""" >> build.log -tar xf "$LFS_GRUB".tar.* && -cd "$LFS_GRUB" && -unset {C,CPP,CXX,LD}FLAGS && -echo depends bli part_gpt > grub-core/extra_deps.lst && +tar xf "$LFS_GRUB".tar.* +cd "$LFS_GRUB" || exit +unset {C,CPP,CXX,LD}FLAGS +echo depends bli part_gpt > grub-core/extra_deps.lst ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-efiemu \ - --disable-werror && -make && -make install && -mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions && -cd .. && -rm -rf "$LFS_GRUB" && + --disable-werror +make +make install +mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions +cd .. +rm -rf "$LFS_GRUB" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.64 ""$LFS_GRUB""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.64 ""$LFS_GRUB""" >> build.log echo "$LFS_GRUB" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.65 ""$LFS_GZIP""" >> build.log -tar xf "$LFS_GZIP".tar.* && -cd "$LFS_GZIP" && -./configure --prefix=/usr && -make && +tar xf "$LFS_GZIP".tar.* +cd "$LFS_GZIP" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_GZIP".log; fi -make install && -cd .. && -rm -rf "$LFS_GZIP" && +make install +cd .. +rm -rf "$LFS_GZIP" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.65 ""$LFS_GZIP""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.65 ""$LFS_GZIP""" >> build.log echo "$LFS_GZIP" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.66 ""$LFS_IPROUTE2""" >> build.log -tar xf "$LFS_IPROUTE2".tar.* && -cd "$LFS_IPROUTE2" && -sed -i /ARPD/d Makefile && -rm -fv man/man8/arpd.8 && -make NETNS_RUN_DIR=/run/netns && -make SBINDIR=/usr/sbin install && -mkdir -pv /usr/share/doc/iproute2-6.10.0 && -cp -v COPYING README* /usr/share/doc/iproute2-6.10.0 && -cd .. && -rm -rf "$LFS_IPROUTE2" && +tar xf "$LFS_IPROUTE2".tar.* +cd "$LFS_IPROUTE2" || exit +sed -i /ARPD/d Makefile +rm -fv man/man8/arpd.8 +make NETNS_RUN_DIR=/run/netns +make SBINDIR=/usr/sbin install +mkdir -pv /usr/share/doc/iproute2-6.10.0 +cp -v COPYING README* /usr/share/doc/iproute2-6.10.0 +cd .. +rm -rf "$LFS_IPROUTE2" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.66 ""$LFS_IPROUTE2""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.66 ""$LFS_IPROUTE2""" >> build.log echo "$LFS_IPROUTE2" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.67 ""$LFS_KBD""" >> build.log -tar xf "$LFS_KBD".tar.* && -cd "$LFS_KBD" && -patch -Np1 -i ../$LFS_KBD-backspace-1.patch && -sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure && -sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in && -./configure --prefix=/usr --disable-vlock && -make && +tar xf "$LFS_KBD".tar.* +cd "$LFS_KBD" || exit +patch -Np1 -i ../$LFS_KBD-backspace-1.patch +sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure +sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in +./configure --prefix=/usr --disable-vlock +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_KBD".log; fi -make install && -cp -R -v docs/doc -T /usr/share/doc/kbd-2.6.4 && -cd .. && -rm -rf "$LFS_KBD" && +make install +cp -R -v docs/doc -T /usr/share/doc/kbd-2.6.4 +cd .. +rm -rf "$LFS_KBD" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.67 ""$LFS_KBD""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.67 ""$LFS_KBD""" >> build.log echo "$LFS_KBD" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.68 ""$LFS_LIBPIPELINE""" >> build.log -tar xf "$LFS_LIBPIPELINE".tar.* && -cd "$LFS_LIBPIPELINE" && -./configure --prefix=/usr && -make && +tar xf "$LFS_LIBPIPELINE".tar.* +cd "$LFS_LIBPIPELINE" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_LIBPIPELINE".log; fi -make install && -cd .. && -rm -rf "$LFS_LIBPIPELINE" && +make install +cd .. +rm -rf "$LFS_LIBPIPELINE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.68 ""$LFS_LIBPIPELINE""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.68 ""$LFS_LIBPIPELINE""" >> build.log echo "$LFS_LIBPIPELINE" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.69 ""$LFS_MAKE""" >> build.log -tar xf "$LFS_MAKE".tar.* && -cd "$LFS_MAKE" && -./configure --prefix=/usr && -make && +tar xf "$LFS_MAKE".tar.* +cd "$LFS_MAKE" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then - chown -R tester . && + chown -R tester . su tester -c "PATH=$PATH make check" | tee ../check-log_"$LFS_MAKE".log; fi -make install && -cd .. && -rm -rf "$LFS_MAKE" && +make install +cd .. +rm -rf "$LFS_MAKE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.69 ""$LFS_MAKE""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.69 ""$LFS_MAKE""" >> build.log echo "$LFS_MAKE" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.70 ""$LFS_PATCH""" >> build.log -tar xf "$LFS_PATCH".tar.* && -cd "$LFS_PATCH" && -./configure --prefix=/usr && -make && +tar xf "$LFS_PATCH".tar.* +cd "$LFS_PATCH" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_PATCH".log; fi -make install && -cd .. && -rm -rf "$LFS_PATCH" && +make install +cd .. +rm -rf "$LFS_PATCH" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: FInished 8.70 ""$LFS_PATCH""" >> build.log && +echo "$CURRENT_DATE_TIME: FInished 8.70 ""$LFS_PATCH""" >> build.log echo "$LFS_PATCH" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.71 ""$LFS_TAR""" >> build.log -tar xf "$LFS_TAR".tar.* && -cd "$LFS_TAR" && +tar xf "$LFS_TAR".tar.* +cd "$LFS_TAR" || exit FORCE_UNSAFE_CONFIGURE=1 \ -./configure --prefix=/usr && -make && +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_TAR".log; fi -make install && -make -C doc install-html docdir=/usr/share/doc/tar-1.35 && -cd .. && -rm -rf "$LFS_TAR" && +make install +make -C doc install-html docdir=/usr/share/doc/tar-1.35 +cd .. +rm -rf "$LFS_TAR" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.71 ""$LFS_TAR""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.71 ""$LFS_TAR""" >> build.log echo "$LFS_TAR" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.72 ""$LFS_TEXINFO""" >> build.log -tar xf "$LFS_TEXINFO".tar.* && -cd "$LFS_TEXINFO" && -./configure --prefix=/usr && -make && +tar xf "$LFS_TEXINFO".tar.* +cd "$LFS_TEXINFO" || exit +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_TEXINFO".log; fi -make install && -cd .. && -rm -rf "$LFS_TEXINFO" && +make install +cd .. +rm -rf "$LFS_TEXINFO" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.72 ""$LFS_TEXINFO""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.72 ""$LFS_TEXINFO""" >> build.log echo "$LFS_TEXINFO" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.73 ""$LFS_VIM""" >> build.log -tar xf "$LFS_VIM".tar.* && -cd "$LFS_VIM" && -echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h && -./configure --prefix=/usr && -make && +tar xf "$LFS_VIM".tar.* +cd "$LFS_VIM" || exit +echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h +./configure --prefix=/usr +make if [ "$MAKECHECK" = TRUE ]; then chown -Rv tester .; su tester -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \ &> vim-test.log; cp vim-test.log ../check-log_"$LFS_VIM".log; fi -make install && -ln -sv vim /usr/bin/vi && +make install +ln -sv vim /usr/bin/vi for L in /usr/share/man/{,*/}man1/vim.1; do ln -sv vim.1 $(dirname $L)/vi.1 -done && -ln -sv ../vim/vim91/doc /usr/share/doc/vim-9.1.0660 && -cat > /etc/vimrc << "EOF" && +done +ln -sv ../vim/vim91/doc /usr/share/doc/vim-9.1.0660 +cat > /etc/vimrc << "EOF" " Begin /etc/vimrc " Ensure defaults are set before customizing settings, not after @@ -810,50 +810,50 @@ endif " End /etc/vimrc EOF -cd .. && -rm -rf "$LFS_VIM" && +cd .. +rm -rf "$LFS_VIM" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.73 ""$LFS_VIM""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.73 ""$LFS_VIM""" >> build.log echo "$LFS_VIM" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.74 ""$LFS_MARKUPSAFE""" >> build.log -tar xf "$LFS_MARKUPSAFE".tar.* && -cd "$LFS_MARKUPSAFE" && -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD && -pip3 install --no-index --no-user --find-links dist Markupsafe && -cd .. && -rm -rf "$LFS_MARKUPSAFE" && +tar xf "$LFS_MARKUPSAFE".tar.* +cd "$LFS_MARKUPSAFE" || exit +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 install --no-index --no-user --find-links dist Markupsafe +cd .. +rm -rf "$LFS_MARKUPSAFE" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.74 ""$LFS_MARKUPSAFE""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.74 ""$LFS_MARKUPSAFE""" >> build.log echo "$LFS_MARKUPSAFE" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.75 ""$LFS_JINJA2""" >> build.log -tar xf "$LFS_JINJA2".tar.* && -cd "$LFS_JINJA2" && -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD && -pip3 install --no-index --no-user --find-links dist Jinja2 && -cd .. && -rm -rf "$LFS_JINJA2" && +tar xf "$LFS_JINJA2".tar.* +cd "$LFS_JINJA2" || exit +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 install --no-index --no-user --find-links dist Jinja2 +cd .. +rm -rf "$LFS_JINJA2" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.75 ""$LFS_JINJA2""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.75 ""$LFS_JINJA2""" >> build.log echo "$LFS_JINJA2" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.76 ""$LFS_SYSTEMD""" >> build.log tar xf "$LFS_SYSTEMD".tar.* -cd "$LFS_SYSTEMD" && +cd "$LFS_SYSTEMD" || exit sed -i -e 's/GROUP="render"/GROUP="video"/' \ - -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in && -mkdir -p build && -cd build && + -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in +mkdir -p build +cd build || exit meson setup .. \ --prefix=/usr \ --buildtype=release \ @@ -872,33 +872,33 @@ meson setup .. \ -D nobody-group=nogroup \ -D sysupdate=disabled \ -D ukify=disabled \ - -D docdir=/usr/share/doc/systemd-256.4 && -ninja && + -D docdir=/usr/share/doc/systemd-256.4 +ninja if [ "$MAKECHECK" = TRUE ]; then - echo 'NAME="Linux From Scratch"' > /etc/os-release && + echo 'NAME="Linux From Scratch"' > /etc/os-release ninja test | tee ../check-log_"$LFS_SYSTEMD".log; fi -ninja install && +ninja install tar -xf ../../systemd-man-pages-256.4.tar.* \ --no-same-owner --strip-components=1 \ - -C /usr/share/man && -systemd-machine-id-setup && -systemctl preset-all && + -C /usr/share/man +systemd-machine-id-setup +systemctl preset-all if [ "$TELNETD" = TRUE ]; then systemctl enable telnetd.socket -fi && -cd ../.. && -rm -rf "$LFS_SYSTEMD" && +fi +cd ../.. +rm -rf "$LFS_SYSTEMD" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.76 ""$LFS_SYSTEMD""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.76 ""$LFS_SYSTEMD""" >> build.log echo "$LFS_SYSTEMD" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.77 ""$LFS_DBUS""" >> build.log -tar xf "$LFS_DBUS".tar.* && -cd "$LFS_DBUS" && +tar xf "$LFS_DBUS".tar.* +cd "$LFS_DBUS" || exit ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ @@ -908,25 +908,25 @@ cd "$LFS_DBUS" && --disable-doxygen-docs \ --disable-xml-docs \ --docdir=/usr/share/doc/dbus-1.14.10 \ - --with-system-socket=/run/dbus/system_bus_socket && -make && + --with-system-socket=/run/dbus/system_bus_socket +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_DBUS".log; fi -make install && -ln -sfv /etc/machine-id /var/lib/dbus && -cd .. && -rm -rf "$LFS_DBUS" && +make install +ln -sfv /etc/machine-id /var/lib/dbus +cd .. +rm -rf "$LFS_DBUS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.77 ""$LFS_DBUS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.77 ""$LFS_DBUS""" >> build.log echo "$LFS_DBUS" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.78 ""$LFS_MANDB""" >> build.log -tar xf "$LFS_MANDB".tar.* && -cd "$LFS_MANDB" && +tar xf "$LFS_MANDB".tar.* +cd "$LFS_MANDB" || exit ./configure --prefix=/usr \ --docdir=/usr/share/doc/man-db-2.12.1 \ --sysconfdir=/etc \ @@ -934,47 +934,47 @@ cd "$LFS_MANDB" && --enable-cache-owner=bin \ --with-browser=/usr/bin/lynx \ --with-vgrind=/usr/bin/vgrind \ - --with-grap=/usr/bin/grap && -make && + --with-grap=/usr/bin/grap +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_MANDB".log; fi -make install && -cd .. && -rm -rf "$LFS_MANDB" && +make install +cd .. +rm -rf "$LFS_MANDB" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.78 ""$LFS_MANDB""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.78 ""$LFS_MANDB""" >> build.log echo "$LFS_MANDB" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.79 ""$LFS_PROCPSNG""" >> build.log tar xf "$LFS_PROCPSNG".tar.* -cd "$LFS_PROCPSNG" && +cd "$LFS_PROCPSNG" || exit ./configure --prefix=/usr \ --docdir=/usr/share/doc/procps-ng-4.0.4 \ --disable-static \ --disable-kill \ - --with-systemd && -make src_w_LDADD='$(LDADD) -lsystemd' && + --with-systemd +make src_w_LDADD='$(LDADD) -lsystemd' if [ "$MAKECHECK" = TRUE ]; then chown -R tester . su tester -c "PATH=$PATH make check" | tee ../check-log_"$LFS_MANDB".log; fi -make install && -cd .. && -rm -rf "$LFS_PROCPSNG" && +make install +cd .. +rm -rf "$LFS_PROCPSNG" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.79 ""$LFS_PROCPSNG""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.79 ""$LFS_PROCPSNG""" >> build.log echo "$LFS_PROCPSNG" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.80 ""$LFS_UTILLINUX""" >> build.log -tar xf "$LFS_UTILLINUX".tar.* && -cd "$LFS_UTILLINUX" && +tar xf "$LFS_UTILLINUX".tar.* +cd "$LFS_UTILLINUX" || exit ./configure --bindir=/usr/bin \ --libdir=/usr/lib \ --runstatedir=/run \ @@ -990,46 +990,46 @@ cd "$LFS_UTILLINUX" && --disable-static \ --without-python \ ADJTIME_PATH=/var/lib/hwclock/adjtime \ - --docdir=/usr/share/doc/util-linux-2.40.2 && -make && -make install && -cd .. && -rm -rf "$LFS_UTILLINUX" && + --docdir=/usr/share/doc/util-linux-2.40.2 +make +make install +cd .. +rm -rf "$LFS_UTILLINUX" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.80 ""$LFS_UTILLINUX""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.80 ""$LFS_UTILLINUX""" >> build.log echo "$LFS_UTILLINUX" >> /installed.txt CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") echo "$CURRENT_DATE_TIME: Starting 8.81 ""$LFS_E2FSPROGS""" >> build.log -tar xf "$LFS_E2FSPROGS".tar.* && -cd "$LFS_E2FSPROGS" && -mkdir -v build && -cd build && +tar xf "$LFS_E2FSPROGS".tar.* +cd "$LFS_E2FSPROGS" || exit +mkdir -v build +cd build || exit ../configure --prefix=/usr \ --sysconfdir=/etc \ --enable-elf-shlibs \ --disable-libblkid \ --disable-libuuid \ --disable-uuidd \ - --disable-fsck && -make && + --disable-fsck +make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_E2FSPROGS".log; fi -make install && -rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a && -gunzip -v /usr/share/info/libext2fs.info.gz && -install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info && -makeinfo -o doc/com_err.info ../lib/et/com_err.texinfo && -install -v -m644 doc/com_err.info /usr/share/info && -install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info && -cd ../.. && -rm -rf "$LFS_E2FSPROGS" && +make install +rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a +gunzip -v /usr/share/info/libext2fs.info.gz +install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info +makeinfo -o doc/com_err.info ../lib/et/com_err.texinfo +install -v -m644 doc/com_err.info /usr/share/info +install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info +cd ../.. +rm -rf "$LFS_E2FSPROGS" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") -echo "$CURRENT_DATE_TIME: Finished 8.81 ""$LFS_E2FSPROGS""" >> build.log && +echo "$CURRENT_DATE_TIME: Finished 8.81 ""$LFS_E2FSPROGS""" >> build.log echo "$LFS_E2FSPROGS" >> /installed.txt save_usrlib="$(cd /usr/lib; ls ld-linux*[^g]) @@ -1038,8 +1038,8 @@ save_usrlib="$(cd /usr/lib; ls ld-linux*[^g]) libquadmath.so.0.0.0 libstdc++.so.6.0.33 libitm.so.1.0.0 - libatomic.so.1.2.0" && -cd /usr/lib && + libatomic.so.1.2.0" +cd /usr/lib for LIB in $save_usrlib; do objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg cp $LIB /tmp/$LIB @@ -1047,7 +1047,7 @@ for LIB in $save_usrlib; do objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB install -vm755 /tmp/$LIB /usr/lib rm /tmp/$LIB -done && +done online_usrbin="bash find strip" online_usrlib="libbfd-2.43.1.so libsframe.so.1.0.0 @@ -1057,19 +1057,19 @@ online_usrlib="libbfd-2.43.1.so libreadline.so.8.2 libz.so.1.3.1 libzstd.so.1.5.6 - $(cd /usr/lib; find libnss*.so* -type f)" && + $(cd /usr/lib; find libnss*.so* -type f)" for BIN in $online_usrbin; do cp /usr/bin/$BIN /tmp/$BIN strip --strip-unneeded /tmp/$BIN install -vm755 /tmp/$BIN /usr/bin rm /tmp/$BIN -done && +done for LIB in $online_usrlib; do cp /usr/lib/$LIB /tmp/$LIB strip --strip-unneeded /tmp/$LIB install -vm755 /tmp/$LIB /usr/lib rm /tmp/$LIB -done && +done for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ $(find /usr/lib -type f -name \*.a) \ $(find /usr/{bin,sbin,libexec} -type f); do @@ -1079,15 +1079,15 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ * ) strip --strip-unneeded $i ;; esac -done && -unset BIN LIB save_usrlib online_usrbin online_usrlib && +done +unset BIN LIB save_usrlib online_usrbin online_usrlib -rm -rf /tmp/{*,.*} && -find /usr/lib /usr/libexec -name \*.la -delete && -find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf && -userdel -r tester && +rm -rf /tmp/{*,.*} +find /usr/lib /usr/libexec -name \*.la -delete +find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf +userdel -r tester -cat > /etc/systemd/network/10-eth-dhcp.network << EOF && +cat > /etc/systemd/network/10-eth-dhcp.network << EOF [Match] Name="$NETWORKINTERFACE" @@ -1097,8 +1097,8 @@ DHCP=ipv4 [DHCPv4] UseDomains=true EOF -echo "$HOSTNAME" > /etc/hostname && -cat > /etc/hosts << EOF && +echo "$HOSTNAME" > /etc/hostname +cat > /etc/hosts << EOF # Begin /etc/hosts 127.0.0.1 localhost.localdomain localhost @@ -1109,14 +1109,14 @@ ff02::2 ip6-allrouters # End /etc/hosts EOF -cat > /etc/vconsole.conf << EOF && +cat > /etc/vconsole.conf << EOF KEYMAP="$KEYMAP" FONT=Lat2-Terminus16 EOF -cat > /etc/locale.conf << EOF && +cat > /etc/locale.conf << EOF LANG="$LOCALE" EOF -cat > /etc/profile << "EOF" && +cat > /etc/profile << "EOF" # Begin /etc/profile for i in $(locale); do @@ -1138,7 +1138,7 @@ fi # End /etc/profile EOF -cat > /etc/inputrc << "EOF" && +cat > /etc/inputrc << "EOF" # Begin /etc/inputrc # Modified by Chris Lynn @@ -1181,7 +1181,7 @@ set bell-style none # End /etc/inputrc EOF -cat > /etc/shells << "EOF" && +cat > /etc/shells << "EOF" # Begin /etc/shells /bin/sh @@ -1189,15 +1189,15 @@ cat > /etc/shells << "EOF" && # End /etc/shells EOF -mkdir -pv /etc/systemd/system/getty@tty1.service.d && -cat > /etc/systemd/system/getty@tty1.service.d/noclear.conf << EOF && +mkdir -pv /etc/systemd/system/getty@tty1.service.d +cat > /etc/systemd/system/getty@tty1.service.d/noclear.conf << EOF [Service] TTYVTDisallocate=yes EOF if [ "$TMPASTMPFS" != TRUE ]; then ln -sfv /dev/null /etc/systemd/system/tmp.mount fi -mkdir -pv /etc/systemd/coredump.conf.d && +mkdir -pv /etc/systemd/coredump.conf.d cat > /etc/systemd/coredump.conf.d/maxuse.conf << EOF [Coredump] MaxUse=5G diff --git a/chroot.sh b/chroot.sh index 6c8ad9e..fee01c0 100644 --- a/chroot.sh +++ b/chroot.sh @@ -2,16 +2,18 @@ source vars.sh -chown --from lfs -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools} && +chown --from lfs -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools} case $(uname -m) in x86_64) chown --from lfs -R root:root $LFS/lib64 ;; -esac && -mkdir -pv $LFS/{dev,proc,sys,run} && -mount -v --bind /dev $LFS/dev && -mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts && -mount -vt proc proc $LFS/proc && -mount -vt sysfs sysfs $LFS/sys && -mount -vt tmpfs tmpfs $LFS/run && +esac + +mkdir -pv $LFS/{dev,proc,sys,run} +mount -v --bind /dev $LFS/dev +mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts +mount -vt proc proc $LFS/proc +mount -vt sysfs sysfs $LFS/sys +mount -vt tmpfs tmpfs $LFS/run + if [ -h $LFS/dev/shm ]; then install -v -d -m 1777 $LFS$(realpath /dev/shm) else diff --git a/re-chroot.sh b/re-chroot.sh index 7f3125a..af0c822 100644 --- a/re-chroot.sh +++ b/re-chroot.sh @@ -2,11 +2,12 @@ source vars.sh -mount -v --bind /dev $LFS/dev && -mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts && -mount -vt proc proc $LFS/proc && -mount -vt sysfs sysfs $LFS/sys && -mount -vt tmpfs tmpfs $LFS/run && +mount -v --bind /dev $LFS/dev +mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts +mount -vt proc proc $LFS/proc +mount -vt sysfs sysfs $LFS/sys +mount -vt tmpfs tmpfs $LFS/run + if [ -h $LFS/dev/shm ]; then install -v -d -m 1777 $LFS$(realpath /dev/shm) else