lfs-auto/chap8p2.sh
2024-09-15 12:36:07 +02:00

1299 lines
37 KiB
Bash

#!/bin/bash
source vars.sh
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.37 ""$LFS_LIBTOOL""" >> build.log
tar xf "$LFS_LIBTOOL".tar.xz &&
cd "$LFS_LIBTOOL" &&
./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" >> build.log
echo "Finished 8.37 ""$LFS_LIBTOOL""" >> build.log &&
echo "$LFS_LIBTOOL" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.38 ""$LFS_GDBM""" >> build.log
tar xf "$LFS_GDBM".tar.gz &&
cd "$LFS_GDBM" &&
./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" >> build.log
echo "Finished 8.38 ""$LFS_GDBM""" >> build.log &&
echo "$LFS_GDBM" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.39 ""$LFS_GPERF""" >> build.log
tar xf "$LFS_GPERF".tar.gz &&
cd "$LFS_GPERF" &&
./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" >> build.log
echo "Finished 8.39 ""$LFS_GPERF""" >> build.log &&
echo "$LFS_GPERF" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.40 ""$LFS_EXPAT""" >> build.log
tar xf "$LFS_EXPAT".tar.xz &&
cd "$LFS_EXPAT" &&
./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" >> build.log
echo "Finished 8.40 ""$LFS_EXPAT""" >> build.log &&
echo "$LFS_EXPAT" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.41 ""$LFS_INETUTILS""" >> build.log
tar xf "$LFS_INETUTILS".tar.xz &&
cd "$LFS_INETUTILS" &&
sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c &&
if [ "$TELNETD" = TRUE ]; then
./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" >> build.log
echo "Finished 8.41 ""$LFS_INETUTILS""" >> build.log &&
echo "$LFS_INETUTILS" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.42 ""$LFS_LESS""" >> build.log
tar xf "$LFS_LESS".tar.gz &&
cd "$LFS_LESS" &&
./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" >> build.log
echo "Finished 8.42 ""$LFS_LESS""" >> build.log &&
echo "$LFS_LESS" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.43 ""$LFS_PERL""" >> build.log
tar xf "$LFS_PERL".tar.xz &&
cd "$LFS_PERL" &&
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" >> build.log
echo "Finished 8.43 ""$LFS_PERL""" >> build.log &&
echo "$LFS_PERL" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.44 ""$LFS_XMLPARSER""" >> build.log
tar xf "$LFS_XMLPARSER".tar.gz &&
cd "$LFS_XMLPARSER" &&
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" >> build.log
echo "Finished 8.44 ""$LFS_XMLPARSER""" >> build.log &&
echo "$LFS_PERL" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.45 ""$LFS_INTLTOOL""" >> build.log
tar xf "$LFS_INTLTOOL".tar.gz &&
cd "$LFS_INTLTOOL" &&
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" >> build.log
echo "Finished 8.45 ""$LFS_INTLTOOL""" >> build.log &&
echo "$LFS_INTLTOOL" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.46 ""$LFS_AUTOCONF""" >> build.log
tar xf "$LFS_AUTOCONF".tar.xz &&
cd "$LFS_AUTOCONF" &&
./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" >> build.log
echo "Finished 8.46 ""$LFS_AUTOCONF""" >> build.log &&
echo "$LFS_AUTOCONF" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.47 ""$LFS_AUTOMAKE""" >> build.log
tar xf "$LFS_AUTOMAKE".tar.xz &&
cd "$LFS_AUTOMAKE" &&
./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" >> build.log
echo "Finished 8.47 ""$LFS_AUTOMAKE""" >> build.log &&
echo "$LFS_AUTOMAKE" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.48 ""$LFS_OPENSSL""" >> build.log
tar xf "$LFS_OPENSSL".tar.gz &&
cd "$LFS_OPENSSL" &&
./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" >> build.log
echo "Finished 8.48 ""$LFS_OPENSSL""" >> build.log &&
echo "$LFS_OPENSSL" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.49 ""$LFS_KMOD""" >> build.log
tar xf "$LFS_KMOD".tar.xz &&
cd "$LFS_KMOD" &&
./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" >> build.log
echo "Finished 8.49 ""$LFS_KMOD""" >> build.log &&
echo "$LFS_KMOD" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.50 Libelf from ""$LFS_ELFUTILS""" >> build.log
tar xf "$LFS_ELFUTILS".tar.bz2 &&
cd "$LFS_ELFUTILS" &&
./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" >> build.log
echo "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" >> build.log
echo "Starting 8.51 ""$LFS_LIBFFI""" >> build.log
tar xf "$LFS_LIBFFI".tar.gz &&
cd "$LFS_LIBFFI" &&
./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" >> build.log
echo "Finished 8.51 ""$LFS_LIBFFI""" >> build.log &&
echo "$LFS_LIBFFI" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.52 ""$LFS_PYTHON""" >> build.log
tar xf "$LFS_PYTHON".tar.xz &&
cd "$LFS_PYTHON" &&
./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" >> build.log
echo "Finished 8.52 ""$LFS_PYTHON""" >> build.log &&
echo "$LFS_PYTHON" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.53 ""$LFS_FLITCORE""" >> build.log
tar xf "$LFS_FLITCORE".tar.gz &&
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" &&
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Finished 8.53 ""$LFS_FLITCORE""" >> build.log &&
echo "$LFS_FLITCORE" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.54 ""$LFS_WHEEL""" >> build.log
tar xf "$LFS_WHEEL".tar.gz &&
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" &&
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Finished 8.54 ""$LFS_WHEEL""" >> build.log &&
echo "$LFS_WHEEL" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.55 ""$LFS_SETUPTOOLS""" >> build.log
tar xf "$LFS_SETUPTOOLS".tar.gz &&
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" &&
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Finished 8.55 ""$LFS_SETUPTOOLS""" >> build.log &&
echo "$LFS_SETUPTOOLS" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.56 ""$LFS_NINJA""" >> build.log
tar xf "$LFS_NINJA".tar.gz &&
cd "$LFS_NINJA" &&
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" >> build.log
echo "Finished 8.56 ""$LFS_NINJA""" >> build.log &&
echo "$LFS_NINJA" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.57 ""$LFS_MESON""" >> build.log
tar xf "$LFS_MESON".tar.gz &&
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" &&
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Finished 8.57 ""$LFS_MESON""" >> build.log &&
echo "$LFS_MESON" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.58 ""$LFS_COREUTILS" >> build.log
tar xf "$LFS_COREUTILS".tar.xz &&
cd "$LFS_COREUTILS" &&
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" >> build.log
echo "Finished 8.58 ""$LFS_COREUTILS" >> build.log &&
echo "$LFS_COREUTILS" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.59 ""$LFS_CHECK""" >> build.log
tar xf "$LFS_CHECK".tar.gz &&
cd "$LFS_CHECK" &&
./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" >> build.log
echo "Finished 8.59 ""$LFS_CHECK""" >> build.log &&
echo "$LFS_CHECK" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.60 ""$LFS_DIFFUTILS""" >> build.log
tar xf "$LFS_DIFFUTILS".tar.xz &&
cd "$LFS_DIFFUTILS" &&
./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" >> build.log
echo "Finished 8.60 ""$LFS_DIFFUTILS""" >> build.log &&
echo "$LFS_DIFFUTILS" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.61 ""$LFS_GAWK""" >> build.log
tar xf "$LFS_GAWK".tar.xz &&
cd "$LFS_GAWK" &&
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" >> build.log
echo "Finished 8.61 ""$LFS_GAWK""" >> build.log &&
echo "$LFS_GAWK" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.62 ""$LFS_FINDUTILS""" >> build.log
tar xf "$LFS_FINDUTILS".tar.xz &&
cd "$LFS_FINDUTILS" &&
./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" >> build.log
echo "Finished 8.62 ""$LFS_FINDUTILS""" >> build.log &&
echo "$LFS_FINDUTILS" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.63 ""$LFS_GROFF""" >> build.log
tar xf "$LFS_GROFF".tar.gz &&
cd "$LFS_GROFF" &&
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" >> build.log
echo "Finished 8.63 ""$LFS_GROFF""" >> build.log &&
echo "$LFS_GROFF" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.64 ""$LFS_GRUB""" >> build.log
tar xf "$LFS_GRUB".tar.xz &&
cd "$LFS_GRUB" &&
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" >> build.log
echo "Finished 8.64 ""$LFS_GRUB""" >> build.log &&
echo "$LFS_GRUB" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.65 ""$LFS_GZIP""" >> build.log
tar xf "$LFS_GZIP".tar.xz &&
cd "$LFS_GZIP" &&
./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" >> build.log
echo "Finished 8.65 ""$LFS_GZIP""" >> build.log &&
echo "$LFS_GZIP" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.66 ""$LFS_IPROUTE2""" >> build.log
tar xf "$LFS_IPROUTE2".tar.xz &&
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" &&
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Finished 8.66 ""$LFS_IPROUTE2""" >> build.log &&
echo "$LFS_IPROUTE2" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.67 ""$LFS_KBD""" >> build.log
tar xf "$LFS_KBD".tar.xz &&
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 &&
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" >> build.log
echo "Finished 8.67 ""$LFS_KBD""" >> build.log &&
echo "$LFS_KBD" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.68 ""$LFS_LIBPIPELINE""" >> build.log
tar xf "$LFS_LIBPIPELINE".tar.gz &&
cd "$LFS_LIBPIPELINE" &&
./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" >> build.log
echo "Finished 8.68 ""$LFS_LIBPIPELINE""" >> build.log &&
echo "$LFS_LIBPIPELINE" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.69 ""$LFS_MAKE""" >> build.log
tar xf "$LFS_MAKE".tar.gz &&
cd "$LFS_MAKE" &&
./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" >> build.log
echo "Finished 8.69 ""$LFS_MAKE""" >> build.log &&
echo "$LFS_MAKE" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.70 ""$LFS_PATCH""" >> build.log
tar xf "$LFS_PATCH".tar.xz &&
cd "$LFS_PATCH" &&
./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" >> build.log
echo "FInished 8.70 ""$LFS_PATCH""" >> build.log &&
echo "$LFS_PATCH" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.71 ""$LFS_TAR""" >> build.log
tar xf "$LFS_TAR".tar.xz &&
cd "$LFS_TAR" &&
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" >> build.log
echo "Finished 8.71 ""$LFS_TAR""" >> build.log &&
echo "$LFS_TAR" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.72 ""$LFS_TEXINFO""" >> build.log
tar xf "$LFS_TEXINFO".tar.xz &&
cd "$LFS_TEXINFO" &&
./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" >> build.log
echo "Finished 8.72 ""$LFS_TEXINFO""" >> build.log &&
echo "$LFS_TEXINFO" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.73 ""$LFS_VIM""" >> build.log
tar xf "$LFS_VIM".tar.xz &&
cd "$LFS_VIM" &&
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" >> build.log
echo "Finished 8.73 ""$LFS_VIM""" >> build.log &&
echo "$LFS_VIM" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.74 ""$LFS_MARKUPSAFE""" >> build.log
tar xf "$LFS_MARKUPSAFE".tar.gz &&
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" &&
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Finished 8.74 ""$LFS_MARKUPSAFE""" >> build.log &&
echo "$LFS_MARKUPSAFE" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.75 ""$LFS_JINJA2""" >> build.log
tar xf "$LFS_JINJA2".tar.gz &&
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" &&
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Finished 8.75 ""$LFS_JINJA2""" >> build.log &&
echo "$LFS_JINJA2" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.76 ""$LFS_SYSTEMD""" >> build.log
tar xf "$LFS_SYSTEMD".tar.gz
cd "$LFS_SYSTEMD" &&
sed -i -e 's/GROUP="render"/GROUP="video"/' \
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in &&
mkdir -p build &&
cd build &&
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.xz \
--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" >> build.log
echo "Finished 8.76 ""$LFS_SYSTEMD""" >> build.log &&
echo "$LFS_SYSTEMD" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.77 ""$LFS_DBUS""" >> build.log
tar xf "$LFS_DBUS".tar.xz &&
cd "$LFS_DBUS" &&
./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" >> build.log
echo "Finished 8.77 ""$LFS_DBUS""" >> build.log &&
echo "$LFS_DBUS" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.78 ""$LFS_MANDB""" >> build.log
tar xf "$LFS_MANDB".tar.xz &&
cd "$LFS_MANDB" &&
./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" >> build.log
echo "Finished 8.78 ""$LFS_MANDB""" >> build.log &&
echo "$LFS_MANDB" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.79 ""$LFS_PROCPSNG""" >> build.log
tar xf "$LFS_PROCPSNG".tar.xz
cd "$LFS_PROCPSNG" &&
./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" >> build.log
echo "Finished 8.79 ""$LFS_PROCPSNG""" >> build.log &&
echo "$LFS_PROCPSNG" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.80 ""$LFS_UTILLINUX""" >> build.log
tar xf "$LFS_UTILLINUX".tar.xz &&
cd "$LFS_UTILLINUX" &&
./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" >> build.log
echo "Finished 8.80 ""$LFS_UTILLINUX""" >> build.log &&
echo "$LFS_UTILLINUX" >> /installed.txt
CURRENT_DATE_TIME=$(date +"%Y-%m-%d %T")
echo "$CURRENT_DATE_TIME" >> build.log
echo "Starting 8.81 ""$LFS_E2FSPROGS""" >> build.log
tar xf "$LFS_E2FSPROGS".tar.gz &&
cd "$LFS_E2FSPROGS" &&
mkdir -v build &&
cd build &&
../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" >> build.log
echo "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 <roryo@roryo.dynup.net>
# 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"