1299 lines
37 KiB
Bash
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"
|