#!/bin/bash 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr \ --disable-static \ --enable-libgdbm-compat make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_GDBM".log; fi 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 "$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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr \ --disable-static \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c if [ "$TELNETD" = TRUE ]; then sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnetd/utility.c ./configure --prefix=/usr \ --bindir=/usr/bin \ --localstatedir=/var \ --disable-logger \ --disable-whois \ --disable-rcp \ --disable-rexec \ --disable-rlogin \ --disable-rsh \ --disable-servers \ --enable-telnetd else ./configure --prefix=/usr \ --bindir=/usr/bin \ --localstatedir=/var \ --disable-logger \ --disable-whois \ --disable-rcp \ --disable-rexec \ --disable-rlogin \ --disable-rsh \ --disable-servers fi make if [ "$MAKECHECK" = TRUE ]; then make check | tee ../check-log_"$LFS_INETUTILS".log; fi make install mv -v /usr/{,s}bin/ifconfig if [ "$TELNETD" = TRUE ]; then cp -v telnetd/telnetd /usr/sbin/in.telnetd cat > /lib/systemd/system/telnetd.socket << "EOF" [Unit] Description=Telnet Socket for Per-Connection Servers [Socket] ListenStream=23 Accept=yes [Install] WantedBy=sockets.target EOF cat > /lib/systemd/system/telnetd@.service << "EOF" [Unit] Description=Telnet Per-Connection Server [Service] ExecStart=-/usr/sbin/in.telnetd StandardInput=socket EOF fi 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 "$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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit export BUILD_ZLIB=False export BUILD_BZIP2=0 sh Configure -des \ -D prefix=/usr \ -D vendorprefix=/usr \ -D privlib=/usr/lib/perl5/5.40/core_perl \ -D archlib=/usr/lib/perl5/5.40/core_perl \ -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 \ -D man1dir=/usr/share/man/man1 \ -D man3dir=/usr/share/man/man3 \ -D pager="/usr/bin/less -isR" \ -D useshrplib \ -D usethreads make if [ "$MAKECHECK" = TRUE ]; then TEST_JOBS=$(nproc) make test_harness | tee ../check-log_"$LFS_PERL".log; fi make install unset BUILD_ZLIB BUILD_BZIP2 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 "$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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./config --prefix=/usr \ --openssldir=/etc/ssl \ --libdir=lib \ shared \ 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-openssl \ --with-xz \ --with-zstd \ --with-zlib \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr \ --disable-debuginfod \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr \ --disable-static \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ --enable-optimizations make if [ "$MAKECHECK" = TRUE ]; then make test TESTOPTS="--timeout 120"| tee ../check-log_"$LFS_PYTHON".log; fi 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 tar --no-same-owner \ -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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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 "$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" || 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 "$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" || 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 "$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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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 "$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" || 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 if [ "$MAKECHECK" = TRUE ]; then 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr --localstatedir=/var/lib/locate make if [ "$MAKECHECK" = TRUE ]; then chown -Rv tester . su tester -c "PATH=$PATH make check" | tee ../check-log_"$LFS_FINDUTILS".log; fi 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 "$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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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 "$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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr make if [ "$MAKECHECK" = TRUE ]; then chown -R tester . su tester -c "PATH=$PATH make check" | tee ../check-log_"$LFS_MAKE".log; fi 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 "$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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit FORCE_UNSAFE_CONFIGURE=1 \ ./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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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 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" " Begin /etc/vimrc " Ensure defaults are set before customizing settings, not after source $VIMRUNTIME/defaults.vim let skip_defaults_vim=1 set nocompatible set backspace=2 set mouse= syntax on if (&term == "xterm") || (&term == "putty") set background=dark endif " End /etc/vimrc EOF 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 "$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" || 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 "$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" || 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 "$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" || 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 || exit meson setup .. \ --prefix=/usr \ --buildtype=release \ -D default-dnssec=no \ -D firstboot=false \ -D install-tests=false \ -D ldconfig=false \ -D sysusers=false \ -D rpmmacrosdir=no \ -D homed=disabled \ -D userdb=false \ -D man=disabled \ -D mode=release \ -D pamconfdir=no \ -D dev-kvm-mode=0660 \ -D nobody-group=nogroup \ -D sysupdate=disabled \ -D ukify=disabled \ -D docdir=/usr/share/doc/systemd-256.4 ninja if [ "$MAKECHECK" = TRUE ]; then echo 'NAME="Linux From Scratch"' > /etc/os-release ninja test | tee ../check-log_"$LFS_SYSTEMD".log; fi 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 if [ "$TELNETD" = TRUE ]; then systemctl enable telnetd.socket 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 "$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" || exit ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --runstatedir=/run \ --enable-user-session \ --disable-static \ --disable-doxygen-docs \ --disable-xml-docs \ --docdir=/usr/share/doc/dbus-1.14.10 \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --prefix=/usr \ --docdir=/usr/share/doc/man-db-2.12.1 \ --sysconfdir=/etc \ --disable-setuid \ --enable-cache-owner=bin \ --with-browser=/usr/bin/lynx \ --with-vgrind=/usr/bin/vgrind \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || 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' 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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit ./configure --bindir=/usr/bin \ --libdir=/usr/lib \ --runstatedir=/run \ --sbindir=/usr/sbin \ --disable-chfn-chsh \ --disable-login \ --disable-nologin \ --disable-su \ --disable-setpriv \ --disable-runuser \ --disable-pylibmount \ --disable-liblastlog2 \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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" || exit mkdir -v build cd build || exit ../configure --prefix=/usr \ --sysconfdir=/etc \ --enable-elf-shlibs \ --disable-libblkid \ --disable-libuuid \ --disable-uuidd \ --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" CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T") 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]) libc.so.6 libthread_db.so.1 libquadmath.so.0.0.0 libstdc++.so.6.0.33 libitm.so.1.0.0 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 strip --strip-unneeded /tmp/$LIB objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB install -vm755 /tmp/$LIB /usr/lib rm /tmp/$LIB done online_usrbin="bash find strip" online_usrlib="libbfd-2.43.1.so libsframe.so.1.0.0 libhistory.so.8.2 libncursesw.so.6.5 libm.so.6 libreadline.so.8.2 libz.so.1.3.1 libzstd.so.1.5.6 $(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 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 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 case "$online_usrbin $online_usrlib $save_usrlib" in *$(basename $i)* ) ;; * ) strip --strip-unneeded $i ;; esac 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 cat > /etc/systemd/network/10-eth-dhcp.network << EOF [Match] Name="$NETWORKINTERFACE" [Network] DHCP=ipv4 [DHCPv4] UseDomains=true EOF echo "$HOSTNAME" > /etc/hostname cat > /etc/hosts << EOF # Begin /etc/hosts 127.0.0.1 localhost.localdomain localhost 127.0.1.1 "$HOSTNAME"."$DOMAIN" "$HOSTNAME" ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters # End /etc/hosts EOF cat > /etc/vconsole.conf << EOF KEYMAP="$KEYMAP" FONT=Lat2-Terminus16 EOF cat > /etc/locale.conf << EOF LANG="$LOCALE" EOF cat > /etc/profile << "EOF" # Begin /etc/profile for i in $(locale); do unset ${i%=*} done if [[ "$TERM" = linux ]]; then export LANG=C.UTF-8 else source /etc/locale.conf for i in $(locale); do key=${i%=*} if [[ -v $key ]]; then export $key fi done fi # End /etc/profile EOF cat > /etc/inputrc << "EOF" # Begin /etc/inputrc # Modified by Chris Lynn # Allow the command prompt to wrap to the next line set horizontal-scroll-mode Off # Enable 8-bit input set meta-flag On set input-meta On # Turns off 8th bit stripping set convert-meta Off # Keep the 8th bit for display set output-meta On # none, visible or audible set bell-style none # All of the following map the escape sequence of the value # contained in the 1st argument to the readline specific functions "\eOd": backward-word "\eOc": forward-word # for linux console "\e[1~": beginning-of-line "\e[4~": end-of-line "\e[5~": beginning-of-history "\e[6~": end-of-history "\e[3~": delete-char "\e[2~": quoted-insert # for xterm "\eOH": beginning-of-line "\eOF": end-of-line # for Konsole "\e[H": beginning-of-line "\e[F": end-of-line # End /etc/inputrc EOF cat > /etc/shells << "EOF" # Begin /etc/shells /bin/sh /bin/bash # End /etc/shells 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 cat > /etc/systemd/coredump.conf.d/maxuse.conf << EOF [Coredump] MaxUse=5G EOF echo "Optionally run bash-setup.sh to set up a basic configuration regarding the shell prompt and colors etc" echo "bash bash-setup.sh" echo "Continue with chapter 10.2. Creating the /etc/fstab File"