2685 lines
59 KiB
Bash
2685 lines
59 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
#
|
||
|
|
|
||
|
|
#set -eux -o pipefail
|
||
|
|
export LFS=/mnt/lfs
|
||
|
|
export MAKEFLAGS=-j32
|
||
|
|
set +h
|
||
|
|
umask 022
|
||
|
|
LC_ALL=POSIX
|
||
|
|
LFS_TGT=$(uname -m)-lfs-linux-gnu
|
||
|
|
PATH=/usr/bin
|
||
|
|
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
|
||
|
|
PATH=$LFS/tools/bin:$PATH
|
||
|
|
CONFIG_SITE=$LFS/usr/share/config.site
|
||
|
|
export LFS LC_ALL LFS_TGT PATH CONFIG_SITE
|
||
|
|
|
||
|
|
#sudo umount -R $LFS/{proc,sys,run,dev/{pts,shm,}}
|
||
|
|
#sudo rm -rf $LFS
|
||
|
|
|
||
|
|
|
||
|
|
function 3.1-get_sources(){
|
||
|
|
mkdir -pv $LFS/sources
|
||
|
|
chmod -v a+wt $LFS/sources
|
||
|
|
wget https://lfs.maru-na.net/lfs/view/stable/wget-list-sysv
|
||
|
|
wget https://lfs.maru-na.net/lfs/view/stable/md5sums
|
||
|
|
wget --input-file=wget-list-sysv --continue --directory-prefix=$LFS/sources
|
||
|
|
wget https://sourceforge.net/projects/expat/files/expat/2.6.4/expat-2.6.4.tar.xz --directory-prefix=$LFS/sources
|
||
|
|
}
|
||
|
|
|
||
|
|
function 4.2-folder_structure(){
|
||
|
|
mkdir -pv $LFS/sources
|
||
|
|
chmod -v a+wt $LFS/sources
|
||
|
|
mkdir -pv $LFS/{root,etc,var} $LFS/usr/{bin,lib,sbin}
|
||
|
|
|
||
|
|
for i in bin lib sbin; do
|
||
|
|
ln -svf usr/$i $LFS/$i
|
||
|
|
done
|
||
|
|
|
||
|
|
case $(uname -m) in
|
||
|
|
x86_64) mkdir -pv $LFS/lib64 ;;
|
||
|
|
esac
|
||
|
|
|
||
|
|
mkdir -pv $LFS/tools
|
||
|
|
}
|
||
|
|
|
||
|
|
#function 4.4-configure_environment(){
|
||
|
|
# source /home/lomig/dev/bash_profile
|
||
|
|
# source /home/lomig/dev/bashrc
|
||
|
|
#}
|
||
|
|
|
||
|
|
|
||
|
|
function 5.2-binutils(){
|
||
|
|
echo "binutils"
|
||
|
|
cd $LFS/sources
|
||
|
|
tar -xf binutils-${1}.tar.xz
|
||
|
|
cd binutils-${1}
|
||
|
|
mkdir -v build
|
||
|
|
cd build
|
||
|
|
../configure --prefix=$LFS/tools \
|
||
|
|
--with-sysroot=$LFS \
|
||
|
|
--target=$LFS_TGT \
|
||
|
|
--disable-nls \
|
||
|
|
--enable-gprofng=no \
|
||
|
|
--disable-werror \
|
||
|
|
--enable-new-dtags \
|
||
|
|
--enable-default-hash-style=gnu
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf binutils-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 5.3-gcc(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf gcc-${1}.tar.xz
|
||
|
|
cd gcc-${1}
|
||
|
|
tar --use-compress-program=pixz -xf ../mpfr-4.2.1.tar.xz
|
||
|
|
mv -v mpfr-4.2.1 mpfr
|
||
|
|
tar --use-compress-program=pixz -xf ../gmp-6.3.0.tar.xz
|
||
|
|
mv -v gmp-6.3.0 gmp
|
||
|
|
tar --use-compress-program=pigz -xf ../mpc-1.3.1.tar.gz
|
||
|
|
mv -v mpc-1.3.1 mpc
|
||
|
|
|
||
|
|
sed -e '/m64=/s/lib64/lib/' \
|
||
|
|
-i.orig gcc/config/i386/t-linux64
|
||
|
|
mkdir build
|
||
|
|
cd build
|
||
|
|
../configure \
|
||
|
|
--target=$LFS_TGT \
|
||
|
|
--prefix=$LFS/tools \
|
||
|
|
--with-glibc-version=2.40 \
|
||
|
|
--with-sysroot=$LFS \
|
||
|
|
--with-newlib \
|
||
|
|
--without-headers \
|
||
|
|
--enable-default-pie \
|
||
|
|
--enable-default-ssp \
|
||
|
|
--disable-nls \
|
||
|
|
--disable-shared \
|
||
|
|
--disable-multilib \
|
||
|
|
--disable-threads \
|
||
|
|
--disable-libatomic \
|
||
|
|
--disable-libgomp \
|
||
|
|
--disable-libquadmath \
|
||
|
|
--disable-libssp \
|
||
|
|
--disable-libvtv \
|
||
|
|
--disable-libstdcxx \
|
||
|
|
--enable-languages=c,c++
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd ..
|
||
|
|
cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
|
||
|
|
`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include/limits.h
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf gcc-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 5.4-linux_headers(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf linux-${1}.tar.xz
|
||
|
|
cd linux-${1}
|
||
|
|
make mrproper
|
||
|
|
make headers
|
||
|
|
find usr/include -type f ! -name '*.h' -delete
|
||
|
|
cp -rv usr/include $LFS/usr
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf linux-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 5.5-glibc(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf glibc-${1}.tar.xz
|
||
|
|
cd glibc-${1}
|
||
|
|
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64
|
||
|
|
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3
|
||
|
|
patch -Np1 -i ../glibc-2.40-fhs-1.patch
|
||
|
|
|
||
|
|
mkdir build
|
||
|
|
cd build
|
||
|
|
echo "rootsbindir=/usr/sbin" > configparms
|
||
|
|
../configure \
|
||
|
|
--prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(../scripts/config.guess) \
|
||
|
|
--enable-kernel=4.19 \
|
||
|
|
--with-headers=$LFS/usr/include \
|
||
|
|
--disable-nscd \
|
||
|
|
libc_cv_slibdir=/usr/lib
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd
|
||
|
|
echo 'int main(){}' | gcc -xc -
|
||
|
|
readelf -l a.out | grep ld-linux
|
||
|
|
rm -v a.out
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf glibc-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 5.6-libstdcpp(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf gcc-${1}.tar.xz
|
||
|
|
cd gcc-${1}
|
||
|
|
mkdir build
|
||
|
|
cd build
|
||
|
|
../libstdc++-v3/configure \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(../config.guess) \
|
||
|
|
--prefix=/usr \
|
||
|
|
--disable-multilib \
|
||
|
|
--disable-nls \
|
||
|
|
--disable-libstdcxx-pch \
|
||
|
|
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/14.2.0
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf gcc-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.2-m4(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf m4-${1}.tar.xz
|
||
|
|
cd m4-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf m4-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.3-ncurses(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pigz -xf ncurses-${1}.tar.gz
|
||
|
|
cd ncurses-${1}
|
||
|
|
sed -i s/mawk// configure
|
||
|
|
mkdir build
|
||
|
|
pushd build
|
||
|
|
../configure
|
||
|
|
make -C include
|
||
|
|
make -C progs tic
|
||
|
|
popd
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(./config.guess) \
|
||
|
|
--mandir=/usr/share/man \
|
||
|
|
--with-manpage-format=normal \
|
||
|
|
--with-shared \
|
||
|
|
--without-normal \
|
||
|
|
--with-cxx-shared \
|
||
|
|
--without-debug \
|
||
|
|
--without-ada \
|
||
|
|
--disable-stripping
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
|
||
|
|
ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
|
||
|
|
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
|
||
|
|
-i $LFS/usr/include/curses.h
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf ncurses-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.4-bash(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pigz -xf bash-${1}.tar.gz
|
||
|
|
cd bash-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--build=$(sh support/config.guess) \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--without-bash-malloc \
|
||
|
|
bash_cv_strtold_broken=no
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
ln -sv bash $LFS/bin/sh
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf bash-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.5-coreutils(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf coreutils-${1}.tar.xz
|
||
|
|
cd coreutils-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess) \
|
||
|
|
--enable-install-program=hostname \
|
||
|
|
--enable-no-install-program=kill,uptime
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
mv -v $LFS/usr/bin/chroot $LFS/usr/sbin
|
||
|
|
mkdir -pv $LFS/usr/share/man/man8
|
||
|
|
mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8
|
||
|
|
sed -i 's/"1"/"8"/' $LFS/usr/share/man/man8/chroot.8
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf coreutils-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.6-diffutils(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf diffutils-${1}.tar.xz
|
||
|
|
cd diffutils-${1}
|
||
|
|
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(./build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf diffutils-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.7-file(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pigz -xf file-${1}.tar.gz
|
||
|
|
cd file-${1}
|
||
|
|
|
||
|
|
mkdir build
|
||
|
|
pushd build
|
||
|
|
../configure --disable-bzlib \
|
||
|
|
--disable-libseccomp \
|
||
|
|
--disable-xzlib \
|
||
|
|
--disable-zlib
|
||
|
|
make
|
||
|
|
popd
|
||
|
|
./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)
|
||
|
|
make FILE_COMPILE=$(pwd)/build/src/file
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
rm -v $LFS/usr/lib/libmagic.la
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf file-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.8-findutils(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf findutils-${1}.tar.xz
|
||
|
|
cd findutils-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--localstatedir=/var/lib/locate \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf findutils-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.9-gawk(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf gawk-${1}.tar.xz
|
||
|
|
cd gawk-${1}
|
||
|
|
sed -i 's/extras//' Makefile.in
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf gawk-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.10-grep(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf grep-${1}.tar.xz
|
||
|
|
cd grep-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(./build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf grep-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.11-gzip(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf gzip-${1}.tar.xz
|
||
|
|
cd gzip-${1}
|
||
|
|
./configure --prefix=/usr --host=$LFS_TGT
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf gzip-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.12-make(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pigz -xf make-${1}.tar.gz
|
||
|
|
cd make-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--without-guile \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf make-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.13-patch(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf patch-${1}.tar.xz
|
||
|
|
cd patch-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf patch-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.14-sed(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf sed-${1}.tar.xz
|
||
|
|
cd sed-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(./build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf sed-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.15-tar(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf tar-${1}.tar.xz
|
||
|
|
cd tar-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess)
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf tar-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.16-xz(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf xz-${1}.tar.xz
|
||
|
|
cd xz-${1}
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--build=$(build-aux/config.guess) \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/xz-${1}
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
rm -v $LFS/usr/lib/liblzma.la
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf xz-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.17-binutils(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf binutils-${1}.tar.xz
|
||
|
|
cd binutils-${1}
|
||
|
|
sed '6009s/$add_dir//' -i ltmain.sh
|
||
|
|
mkdir -v build
|
||
|
|
cd build
|
||
|
|
../configure \
|
||
|
|
--prefix=/usr \
|
||
|
|
--build=$(../config.guess) \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--disable-nls \
|
||
|
|
--enable-shared \
|
||
|
|
--enable-gprofng=no \
|
||
|
|
--disable-werror \
|
||
|
|
--enable-64-bit-bfd \
|
||
|
|
--enable-new-dtags \
|
||
|
|
--enable-default-hash-style=gnu
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
|
||
|
|
rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf binutils-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
function 6.18-gcc(){
|
||
|
|
cd $LFS/sources
|
||
|
|
tar --use-compress-program=pixz -xf gcc-${1}.tar.xz
|
||
|
|
cd gcc-${1}
|
||
|
|
tar --use-compress-program=pixz -xf ../mpfr-4.2.1.tar.xz
|
||
|
|
mv -v mpfr-4.2.1 mpfr
|
||
|
|
tar --use-compress-program=pixz -xf ../gmp-6.3.0.tar.xz
|
||
|
|
mv -v gmp-6.3.0 gmp
|
||
|
|
tar --use-compress-program=pigz -xf ../mpc-1.3.1.tar.gz
|
||
|
|
mv -v mpc-1.3.1 mpc
|
||
|
|
|
||
|
|
sed -e '/m64=/s/lib64/lib/' \
|
||
|
|
-i.orig gcc/config/i386/t-linux64
|
||
|
|
sed '/thread_header =/s/@.*@/gthr-posix.h/' \
|
||
|
|
-i libgcc/Makefile.in libstdc++-v3/include/Makefile.in
|
||
|
|
mkdir build
|
||
|
|
cd build
|
||
|
|
../configure \
|
||
|
|
--build=$(../config.guess) \
|
||
|
|
--host=$LFS_TGT \
|
||
|
|
--target=$LFS_TGT \
|
||
|
|
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
|
||
|
|
--prefix=/usr \
|
||
|
|
--with-build-sysroot=$LFS \
|
||
|
|
--enable-default-pie \
|
||
|
|
--enable-default-ssp \
|
||
|
|
--disable-nls \
|
||
|
|
--disable-multilib \
|
||
|
|
--disable-libatomic \
|
||
|
|
--disable-libgomp \
|
||
|
|
--disable-libquadmath \
|
||
|
|
--disable-libsanitizer \
|
||
|
|
--disable-libssp \
|
||
|
|
--disable-libvtv \
|
||
|
|
--enable-languages=c,c++
|
||
|
|
make
|
||
|
|
make DESTDIR=$LFS install
|
||
|
|
ln -sv gcc $LFS/usr/bin/cc
|
||
|
|
|
||
|
|
cd $LFS/sources
|
||
|
|
rm -rf gcc-${1}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
function 7.3-prepare-filesystem(){
|
||
|
|
mkdir -pv $LFS/{dev,proc,sys,run}
|
||
|
|
mkdir /dev/pts
|
||
|
|
mount -t devpts devpts /dev/pts
|
||
|
|
/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PATH=/usr/bin:/usr/sbin:/bin:/sbin /root/post-chroot
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.5-create-folders(){
|
||
|
|
cat << 'EOF' > $LFS/root/7.5-create-folders
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
rm -rf /dev/null
|
||
|
|
mknod -m 600 /dev/console c 5 1
|
||
|
|
mknod -m 666 /dev/null c 1 3
|
||
|
|
mkdir -pv /{boot,home,mnt,opt,srv}
|
||
|
|
mkdir -pv /etc/{opt,sysconfig}
|
||
|
|
mkdir -pv /lib/firmware
|
||
|
|
mkdir -pv /media/{floppy,cdrom}
|
||
|
|
mkdir -pv /usr/{,local/}{include,src}
|
||
|
|
mkdir -pv /usr/lib/locale
|
||
|
|
mkdir -pv /usr/local/{bin,lib,sbin}
|
||
|
|
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
|
||
|
|
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
|
||
|
|
mkdir -pv /usr/{,local/}share/man/man{1..8}
|
||
|
|
mkdir -pv /var/{cache,local,log,mail,opt,spool}
|
||
|
|
mkdir -pv /var/lib/{color,misc,locate}
|
||
|
|
|
||
|
|
ln -sfv /run /var/run
|
||
|
|
ln -sfv /run/lock /var/lock
|
||
|
|
|
||
|
|
install -dv -m 0750 /root
|
||
|
|
install -dv -m 1777 /tmp /var/tmp
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.6-create-symbolic-links(){
|
||
|
|
cat << 'EOF' > $LFS/root/7.6-create-symbolic-links
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
ln -sfv /proc/self/mounts /etc/mtab
|
||
|
|
cat > /etc/hosts << EOFa
|
||
|
|
127.0.0.1 localhost erminig
|
||
|
|
::1 localhost
|
||
|
|
EOFa
|
||
|
|
cat > /etc/passwd << EOFb
|
||
|
|
root:x:0:0:root:/root:/bin/bash
|
||
|
|
bin:x:1:1:bin:/dev/null:/usr/bin/false
|
||
|
|
penn:x:3:3:penn:/var/lib/govel:/bin/bash
|
||
|
|
daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false
|
||
|
|
messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/usr/bin/false
|
||
|
|
uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false
|
||
|
|
nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false
|
||
|
|
EOFb
|
||
|
|
|
||
|
|
cat > /etc/group << EOFc
|
||
|
|
root:x:0:
|
||
|
|
bin:x:1:daemon
|
||
|
|
sys:x:2:
|
||
|
|
penn:x:3:
|
||
|
|
tape:x:4:
|
||
|
|
tty:x:5:
|
||
|
|
daemon:x:6:
|
||
|
|
floppy:x:7:
|
||
|
|
disk:x:8:
|
||
|
|
lp:x:9:
|
||
|
|
dialout:x:10:
|
||
|
|
audio:x:11:
|
||
|
|
video:x:12:
|
||
|
|
utmp:x:13:
|
||
|
|
kmem:x:14:
|
||
|
|
cdrom:x:15:
|
||
|
|
adm:x:16:
|
||
|
|
messagebus:x:18:
|
||
|
|
input:x:24:
|
||
|
|
mail:x:34:
|
||
|
|
kvm:x:61:
|
||
|
|
uuidd:x:80:
|
||
|
|
wheel:x:97:
|
||
|
|
users:x:999:
|
||
|
|
nogroup:x:65534:
|
||
|
|
EOFc
|
||
|
|
|
||
|
|
localedef -i C -f UTF-8 C.UTF-8
|
||
|
|
echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd
|
||
|
|
echo "tester:x:101:" >> /etc/group
|
||
|
|
install -o tester -d /home/tester
|
||
|
|
|
||
|
|
touch /var/log/{btmp,lastlog,faillog,wtmp}
|
||
|
|
chgrp -v utmp /var/log/lastlog
|
||
|
|
chmod -v 664 /var/log/lastlog
|
||
|
|
chmod -v 600 /var/log/btmp
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.7-gettext(){
|
||
|
|
cat << EOF > $LFS/root/7.7-gettext
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gettext-0.22.5.tar.xz
|
||
|
|
cd gettext-0.22.5
|
||
|
|
./configure --disable-shared
|
||
|
|
make
|
||
|
|
cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.8-bison(){
|
||
|
|
cat << EOF > $LFS/root/7.8-bison
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf bison-3.8.2.tar.xz
|
||
|
|
cd bison-3.8.2
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--docdir=/usr/share/doc/bison-3.8.2
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.9-perl(){
|
||
|
|
cat << EOF > $LFS/root/7.9-perl
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf perl-5.40.0.tar.xz
|
||
|
|
cd perl-5.40.0
|
||
|
|
sh Configure -des \
|
||
|
|
-D prefix=/usr \
|
||
|
|
-D vendorprefix=/usr \
|
||
|
|
-D useshrplib \
|
||
|
|
-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
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.10-python(){
|
||
|
|
cat << EOF > $LFS/root/7.10-python
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf Python-3.12.5.tar.xz
|
||
|
|
cd Python-3.12.5
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--enable-shared \
|
||
|
|
--without-ensurepip
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.11-texinfo(){
|
||
|
|
cat << EOF > $LFS/root/7.11-texinfo
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf texinfo-7.1.tar.xz
|
||
|
|
cd texinfo-7.1
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.12-util-linux(){
|
||
|
|
cat << EOF > $LFS/root/7.12-util-linux
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf util-linux-2.40.2.tar.xz
|
||
|
|
cd util-linux-2.40.2
|
||
|
|
mkdir -pv /var/lib/hwclock
|
||
|
|
./configure --libdir=/usr/lib \
|
||
|
|
--runstatedir=/run \
|
||
|
|
--disable-chfn-chsh \
|
||
|
|
--disable-login \
|
||
|
|
--disable-nologin \
|
||
|
|
--disable-su \
|
||
|
|
--disable-setpriv \
|
||
|
|
--disable-runuser \
|
||
|
|
--disable-pylibmount \
|
||
|
|
--disable-static \
|
||
|
|
--disable-liblastlog2 \
|
||
|
|
--without-python \
|
||
|
|
ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||
|
|
--docdir=/usr/share/doc/util-linux-2.40.2
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 7.13-cleaning(){
|
||
|
|
cat << 'EOF' > $LFS/root/7.13-cleaning
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
rm -rf /usr/share/{info,man,doc}/*
|
||
|
|
find /usr/{lib,libexec} -name \*.la -delete
|
||
|
|
rm -rf /tools
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.3-man-pages(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.3-man-pages
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf man-pages-6.9.1.tar.xz
|
||
|
|
cd man-pages-6.9.1
|
||
|
|
rm -v man3/crypt*
|
||
|
|
make prefix=/usr install
|
||
|
|
cd /sources
|
||
|
|
rm -rf man-pages-6.9.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.4-iana-etc(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.4-iana-etc
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf iana-etc-20240806.tar.gz
|
||
|
|
cd iana-etc-20240806
|
||
|
|
cp services protocols /etc
|
||
|
|
cd /sources
|
||
|
|
rm -rf iana-etc-20240806
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.5-glibc(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.5-glibc
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf glibc-2.40.tar.xz
|
||
|
|
cd glibc-2.40
|
||
|
|
patch -Np1 -i ../glibc-2.40-fhs-1.patch
|
||
|
|
mkdir build
|
||
|
|
cd build
|
||
|
|
echo "rootsbindir=/usr/sbin" > configparms
|
||
|
|
../configure --prefix=/usr \
|
||
|
|
--disable-werror \
|
||
|
|
--enable-kernel=4.19 \
|
||
|
|
--enable-stack-protector=strong \
|
||
|
|
--disable-nscd \
|
||
|
|
libc_cv_slibdir=/usr/lib
|
||
|
|
make
|
||
|
|
touch /etc/ld.so.conf
|
||
|
|
sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
|
||
|
|
make install
|
||
|
|
sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd
|
||
|
|
localedef -i C -f UTF-8 C.UTF-8
|
||
|
|
localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8
|
||
|
|
localedef -i de_DE -f ISO-8859-1 de_DE
|
||
|
|
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
|
||
|
|
localedef -i de_DE -f UTF-8 de_DE.UTF-8
|
||
|
|
localedef -i el_GR -f ISO-8859-7 el_GR
|
||
|
|
localedef -i en_GB -f ISO-8859-1 en_GB
|
||
|
|
localedef -i en_GB -f UTF-8 en_GB.UTF-8
|
||
|
|
localedef -i en_HK -f ISO-8859-1 en_HK
|
||
|
|
localedef -i en_PH -f ISO-8859-1 en_PH
|
||
|
|
localedef -i en_US -f ISO-8859-1 en_US
|
||
|
|
localedef -i en_US -f UTF-8 en_US.UTF-8
|
||
|
|
localedef -i es_ES -f ISO-8859-15 es_ES@euro
|
||
|
|
localedef -i es_MX -f ISO-8859-1 es_MX
|
||
|
|
localedef -i fa_IR -f UTF-8 fa_IR
|
||
|
|
localedef -i fr_FR -f ISO-8859-1 fr_FR
|
||
|
|
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
|
||
|
|
localedef -i fr_FR -f UTF-8 fr_FR.UTF-8
|
||
|
|
localedef -i is_IS -f ISO-8859-1 is_IS
|
||
|
|
localedef -i is_IS -f UTF-8 is_IS.UTF-8
|
||
|
|
localedef -i it_IT -f ISO-8859-1 it_IT
|
||
|
|
localedef -i it_IT -f ISO-8859-15 it_IT@euro
|
||
|
|
localedef -i it_IT -f UTF-8 it_IT.UTF-8
|
||
|
|
localedef -i ja_JP -f EUC-JP ja_JP
|
||
|
|
localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true
|
||
|
|
localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
|
||
|
|
localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro
|
||
|
|
localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R
|
||
|
|
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
|
||
|
|
localedef -i se_NO -f UTF-8 se_NO.UTF-8
|
||
|
|
localedef -i ta_IN -f UTF-8 ta_IN.UTF-8
|
||
|
|
localedef -i tr_TR -f UTF-8 tr_TR.UTF-8
|
||
|
|
localedef -i zh_CN -f GB18030 zh_CN.GB18030
|
||
|
|
localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS
|
||
|
|
localedef -i zh_TW -f UTF-8 zh_TW.UTF-8
|
||
|
|
make localedata/install-locales
|
||
|
|
|
||
|
|
cd /sources
|
||
|
|
rm -rf glibc-2.40
|
||
|
|
cat > /etc/nsswitch.conf << "EOFa"
|
||
|
|
# Begin /etc/nsswitch.conf
|
||
|
|
|
||
|
|
passwd: files
|
||
|
|
group: files
|
||
|
|
shadow: files
|
||
|
|
|
||
|
|
hosts: files dns
|
||
|
|
networks: files
|
||
|
|
|
||
|
|
protocols: files
|
||
|
|
services: files
|
||
|
|
ethers: files
|
||
|
|
rpc: files
|
||
|
|
|
||
|
|
# End /etc/nsswitch.conf
|
||
|
|
EOFa
|
||
|
|
|
||
|
|
cat > /etc/ld.so.conf << "EOFb"
|
||
|
|
# Begin /etc/ld.so.conf
|
||
|
|
/usr/local/lib
|
||
|
|
/opt/lib
|
||
|
|
|
||
|
|
EOFb
|
||
|
|
|
||
|
|
cat >> /etc/ld.so.conf << "EOFc"
|
||
|
|
# Add an include directory
|
||
|
|
include /etc/ld.so.conf.d/*.conf
|
||
|
|
|
||
|
|
EOFc
|
||
|
|
mkdir -pv /etc/ld.so.conf.d
|
||
|
|
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.6-zlib(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.6-zlib
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf zlib-1.3.1.tar.gz
|
||
|
|
cd zlib-1.3.1
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
rm -fv /usr/lib/libz.a
|
||
|
|
cd /sources
|
||
|
|
rm -rf zlib-1.3.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.7-bzip2(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.7-bzip2
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf bzip2-1.0.8.tar.gz
|
||
|
|
cd bzip2-1.0.8
|
||
|
|
patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch
|
||
|
|
sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
|
||
|
|
sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile
|
||
|
|
make -f Makefile-libbz2_so
|
||
|
|
make clean
|
||
|
|
make
|
||
|
|
make PREFIX=/usr install
|
||
|
|
cp -av libbz2.so.* /usr/lib
|
||
|
|
ln -sfv libbz2.so.1.0.8 /usr/lib/libbz2.so
|
||
|
|
cp -v bzip2-shared /usr/bin/bzip2
|
||
|
|
for i in /usr/bin/{bzcat,bunzip2}; do
|
||
|
|
ln -sfv bzip2 $i
|
||
|
|
done
|
||
|
|
rm -fv /usr/lib/libbz2.a
|
||
|
|
cd /sources
|
||
|
|
rm -rf bzip2-1.0.8
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.8-xz(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.8-xz
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf xz-5.6.2.tar.xz
|
||
|
|
cd xz-5.6.2
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/xz-5.6.2
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf xz-5.6.2
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.9-lz4(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.9-lz4
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf lz4-1.10.0.tar.gz
|
||
|
|
cd lz4-1.10.0
|
||
|
|
make BUILD_STATIC=no PREFIX=/usr
|
||
|
|
make BUILD_STATIC=no PREFIX=/usr install
|
||
|
|
cd /sources
|
||
|
|
rm -rf lz4-1.10.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.10-zstd(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.10-zstd
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf zstd-1.5.6.tar.gz
|
||
|
|
cd zstd-1.5.6
|
||
|
|
make prefix=/usr
|
||
|
|
make prefix=/usr install
|
||
|
|
rm -v /usr/lib/libzstd.a
|
||
|
|
cd /sources
|
||
|
|
rm -rf zstd-1.5.6
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.11-file(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.11-file
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf file-5.45.tar.gz
|
||
|
|
cd file-5.45
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf file-5.45
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.12-readline(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.12-readline
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf readline-8.2.13.tar.gz
|
||
|
|
cd readline-8.2.13
|
||
|
|
sed -i '/MV.*old/d' Makefile.in
|
||
|
|
sed -i '/{OLDSUFF}/c:' support/shlib-install
|
||
|
|
sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--with-curses \
|
||
|
|
--docdir=/usr/share/doc/readline-8.2.13
|
||
|
|
make SHLIB_LIBS="-lncursesw"
|
||
|
|
make SHLIB_LIBS="-lncursesw" install
|
||
|
|
install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.2.13
|
||
|
|
cd /sources
|
||
|
|
rm -rf readline-8.2.13
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.13-m4(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.13-m4
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf m4-1.4.19.tar.xz
|
||
|
|
cd m4-1.4.19
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf m4-1.4.19
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.14-bc(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.14-bc
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf bc-6.7.6.tar.xz
|
||
|
|
cd bc-6.7.6
|
||
|
|
CC=gcc ./configure --prefix=/usr -G -O3 -r
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf bc-6.7.6
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.15-flex(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.15-flex
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf flex-2.6.4.tar.gz
|
||
|
|
cd flex-2.6.4
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--docdir=/usr/share/doc/flex-2.6.4 \
|
||
|
|
--disable-static
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
ln -sv flex /usr/bin/lex
|
||
|
|
ln -sv flex.1 /usr/share/man/man1/lex.1
|
||
|
|
cd /sources
|
||
|
|
rm -rf flex-2.6.4
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.16-tcl(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.16-tcl
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf tcl8.6.14-src.tar.gz
|
||
|
|
cd tcl8.6.14
|
||
|
|
SRCDIR=$(pwd)
|
||
|
|
cd unix
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--mandir=/usr/share/man \
|
||
|
|
--disable-rpath
|
||
|
|
make
|
||
|
|
|
||
|
|
sed -e "s|$SRCDIR/unix|/usr/lib|" \
|
||
|
|
-e "s|$SRCDIR|/usr/include|" \
|
||
|
|
-i tclConfig.sh
|
||
|
|
|
||
|
|
sed -e "s|$SRCDIR/unix/pkgs/tdbc1.1.7|/usr/lib/tdbc1.1.7|" \
|
||
|
|
-e "s|$SRCDIR/pkgs/tdbc1.1.7/generic|/usr/include|" \
|
||
|
|
-e "s|$SRCDIR/pkgs/tdbc1.1.7/library|/usr/lib/tcl8.6|" \
|
||
|
|
-e "s|$SRCDIR/pkgs/tdbc1.1.7|/usr/include|" \
|
||
|
|
-i pkgs/tdbc1.1.7/tdbcConfig.sh
|
||
|
|
|
||
|
|
sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.4|/usr/lib/itcl4.2.4|" \
|
||
|
|
-e "s|$SRCDIR/pkgs/itcl4.2.4/generic|/usr/include|" \
|
||
|
|
-e "s|$SRCDIR/pkgs/itcl4.2.4|/usr/include|" \
|
||
|
|
-i pkgs/itcl4.2.4/itclConfig.sh
|
||
|
|
|
||
|
|
unset SRCDIR
|
||
|
|
make install
|
||
|
|
chmod -v u+w /usr/lib/libtcl8.6.so
|
||
|
|
make install-private-headers
|
||
|
|
ln -sfv tclsh8.6 /usr/bin/tclsh
|
||
|
|
mv /usr/share/man/man3/{Thread,Tcl_Thread}.3
|
||
|
|
cd /sources
|
||
|
|
rm -rf tcl8.6.14
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.17-expect(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.17-expect
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf expect5.45.4.tar.gz
|
||
|
|
cd expect5.45.4
|
||
|
|
python3 -c 'from pty import spawn; spawn(["echo", "ok"])'
|
||
|
|
patch -Np1 -i ../expect-5.45.4-gcc14-1.patch
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--with-tcl=/usr/lib \
|
||
|
|
--enable-shared \
|
||
|
|
--disable-rpath \
|
||
|
|
--mandir=/usr/share/man \
|
||
|
|
--with-tclinclude=/usr/include
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib
|
||
|
|
cd /sources
|
||
|
|
rm -rf expect5.45.4
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.18-dejagnu(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.18-dejagnu
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf dejagnu-1.6.3.tar.gz
|
||
|
|
cd dejagnu-1.6.3
|
||
|
|
mkdir -v build
|
||
|
|
cd build
|
||
|
|
../configure --prefix=/usr
|
||
|
|
makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi
|
||
|
|
makeinfo --plaintext -o doc/dejagnu.txt ../doc/dejagnu.texi
|
||
|
|
make install
|
||
|
|
install -v -dm755 /usr/share/doc/dejagnu-1.6.3
|
||
|
|
install -v -m644 doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-1.6.3
|
||
|
|
cd /sources
|
||
|
|
rm -rf dejagnu-1.6.3
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.19-pkgconf(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.19-pkgconf
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf pkgconf-2.3.0.tar.xz
|
||
|
|
cd pkgconf-2.3.0
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/pkgconf-2.3.0
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
ln -sv pkgconf /usr/bin/pkg-config
|
||
|
|
ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1
|
||
|
|
cd /sources
|
||
|
|
rm -rf pkgconf-2.3.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.20-binutils(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.20-binutils
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf binutils-2.43.1.tar.xz
|
||
|
|
cd binutils-2.43.1
|
||
|
|
mkdir -v build
|
||
|
|
cd build
|
||
|
|
../configure --prefix=/usr \
|
||
|
|
--sysconfdir=/etc \
|
||
|
|
--enable-gold \
|
||
|
|
--enable-ld=default \
|
||
|
|
--enable-plugins \
|
||
|
|
--enable-shared \
|
||
|
|
--disable-werror \
|
||
|
|
--enable-64-bit-bfd \
|
||
|
|
--enable-new-dtags \
|
||
|
|
--with-system-zlib \
|
||
|
|
--enable-default-hash-style=gnu
|
||
|
|
make tooldir=/usr
|
||
|
|
make tooldir=/usr install
|
||
|
|
rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a
|
||
|
|
cd /sources
|
||
|
|
rm -rf binutils-2.43.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.21-gmp(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.21-gmp
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gmp-6.3.0.tar.xz
|
||
|
|
cd gmp-6.3.0
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--enable-cxx \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/gmp-6.3.0
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf gmp-6.3.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.22-mpfr(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.22-mpfr
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf mpfr-4.2.1.tar.xz
|
||
|
|
cd mpfr-4.2.1
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--enable-thread-safe \
|
||
|
|
--docdir=/usr/share/doc/mpfr-4.2.1
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf mpfr-4.2.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.23-mpc(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.23-mpc
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf mpc-1.3.1.tar.gz
|
||
|
|
cd mpc-1.3.1
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/mpc-1.3.1
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf mpc-1.3.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.24-attr(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.24-attr
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf attr-2.5.2.tar.gz
|
||
|
|
cd attr-2.5.2
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--sysconfdir=/etc \
|
||
|
|
--docdir=/usr/share/doc/attr-2.5.2
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf attr-2.5.2
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.25-acl(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.25-acl
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf acl-2.3.2.tar.xz
|
||
|
|
cd acl-2.3.2
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/acl-2.3.2
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf acl-2.3.2
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.26-libcap(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.26-libcap
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf libcap-2.70.tar.xz
|
||
|
|
cd libcap-2.70
|
||
|
|
sed -i '/install -m.*STA/d' libcap/Makefile
|
||
|
|
make prefix=/usr lib=lib
|
||
|
|
make prefix=/usr lib=lib install
|
||
|
|
cd /sources
|
||
|
|
rm -rf libcap-2.70
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.27-libxcrypt(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.27-libxcrypt
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf libxcrypt-4.4.36.tar.xz
|
||
|
|
cd libxcrypt-4.4.36
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--enable-hashes=strong,glibc \
|
||
|
|
--enable-obsolete-api=no \
|
||
|
|
--disable-static \
|
||
|
|
--disable-failure-tokens
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf libxcrypt-4.4.36
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.28-shadow(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.28-shadow
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf shadow-4.16.0.tar.xz
|
||
|
|
cd shadow-4.16.0
|
||
|
|
sed -i 's/groups$(EXEEXT) //' src/Makefile.in
|
||
|
|
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;
|
||
|
|
find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
|
||
|
|
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
|
||
|
|
sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \
|
||
|
|
-e 's:/var/spool/mail:/var/mail:' \
|
||
|
|
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
|
||
|
|
-i etc/login.defs
|
||
|
|
touch /usr/bin/passwd
|
||
|
|
./configure --sysconfdir=/etc \
|
||
|
|
--disable-static \
|
||
|
|
--with-{b,yes}crypt \
|
||
|
|
--without-libbsd \
|
||
|
|
--with-group-name-max-length=32
|
||
|
|
make
|
||
|
|
make exec_prefix=/usr install
|
||
|
|
pwconv
|
||
|
|
grpconv
|
||
|
|
mkdir -p /etc/default
|
||
|
|
useradd -D --gid 999
|
||
|
|
cd /sources
|
||
|
|
rm -rf shadow-4.16.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.29-gcc(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.29-gcc
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gcc-14.2.0.tar.xz
|
||
|
|
cd gcc-14.2.0
|
||
|
|
sed -e '/m64=/s/lib64/lib/' \
|
||
|
|
-i.orig gcc/config/i386/t-linux64
|
||
|
|
mkdir build
|
||
|
|
cd build
|
||
|
|
../configure --prefix=/usr \
|
||
|
|
LD=ld \
|
||
|
|
--enable-languages=c,c++ \
|
||
|
|
--enable-default-pie \
|
||
|
|
--enable-default-ssp \
|
||
|
|
--enable-host-pie \
|
||
|
|
--disable-multilib \
|
||
|
|
--disable-bootstrap \
|
||
|
|
--disable-fixincludes \
|
||
|
|
--with-system-zlib
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
ln -svr /usr/bin/cpp /usr/lib
|
||
|
|
ln -sv gcc.1 /usr/share/man/man1/cc.1
|
||
|
|
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/14.2.0/liblto_plugin.so \
|
||
|
|
/usr/lib/bfd-plugins/
|
||
|
|
echo 'int main(){}' > dummy.c
|
||
|
|
cc dummy.c -v -Wl,--verbose &> dummy.log
|
||
|
|
readelf -l a.out | grep ': /lib'
|
||
|
|
grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log
|
||
|
|
grep -B4 '^ /usr/include' dummy.log
|
||
|
|
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
|
||
|
|
grep "/lib.*/libc.so.6 " dummy.log
|
||
|
|
grep found dummy.log
|
||
|
|
rm -v dummy.c a.out dummy.log
|
||
|
|
mkdir -pv /usr/share/gdb/auto-load/usr/lib
|
||
|
|
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib
|
||
|
|
cd /sources
|
||
|
|
rm -rf gcc-14.2.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.30-ncurses(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.30-ncurses
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf ncurses-6.5.tar.gz
|
||
|
|
cd ncurses-6.5
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--mandir=/usr/share/man \
|
||
|
|
--with-shared \
|
||
|
|
--without-debug \
|
||
|
|
--without-normal \
|
||
|
|
--with-cxx-shared \
|
||
|
|
--enable-pc-files \
|
||
|
|
--with-pkg-config-libdir=/usr/lib/pkgconfig
|
||
|
|
make
|
||
|
|
make DESTDIR=$PWD/dest install
|
||
|
|
install -vm755 dest/usr/lib/libncursesw.so.6.5 /usr/lib
|
||
|
|
rm -v dest/usr/lib/libncursesw.so.6.5
|
||
|
|
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
|
||
|
|
-i dest/usr/include/curses.h
|
||
|
|
cp -av dest/* /
|
||
|
|
for lib in ncurses form panel menu ; do
|
||
|
|
ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so
|
||
|
|
ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc
|
||
|
|
done
|
||
|
|
ln -sfv libncursesw.so /usr/lib/libcurses.so
|
||
|
|
cp -v -R doc -T /usr/share/doc/ncurses-6.5
|
||
|
|
cd /sources
|
||
|
|
rm -rf ncurses-6.5
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.31-sed(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.31-sed
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf sed-4.9.tar.xz
|
||
|
|
cd sed-4.9
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf sed-4.9
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.32-psmisc(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.32-psmisc
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf psmisc-23.7.tar.xz
|
||
|
|
cd psmisc-23.7
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf psmisc-23.7
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.33-gettext(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.33-gettext
|
||
|
|
#!/bin/bash
|
||
|
|
cd /sources
|
||
|
|
tar -xf gettext-0.22.5.tar.xz
|
||
|
|
cd gettext-0.22.5
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/gettext-0.22.5
|
||
|
|
make
|
||
|
|
rm -rf /sources/gettext-0.22.5
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gettext-0.22.5.tar.xz
|
||
|
|
cd gettext-0.22.5
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/gettext-0.22.5
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
chmod -v 0755 /usr/lib/preloadable_libintl.so
|
||
|
|
cd /sources
|
||
|
|
rm -rf gettext-0.22.5
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.34-bison(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.34-bison
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf bison-3.8.2.tar.xz
|
||
|
|
cd bison-3.8.2
|
||
|
|
./configure --prefix=/usr --docdir=/usr/share/doc/bison-3.8.2
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf bison-3.8.2
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.35-grep(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.35-grep
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf grep-3.11.tar.xz
|
||
|
|
cd grep-3.11
|
||
|
|
sed -i "s/echo/#echo/" src/egrep.sh
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf grep-3.11
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.36-bash(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.36-bash
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf bash-5.2.32.tar.gz
|
||
|
|
cd bash-5.2.32
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--without-bash-malloc \
|
||
|
|
--with-installed-readline \
|
||
|
|
bash_cv_strtold_broken=no \
|
||
|
|
--docdir=/usr/share/doc/bash-5.2.32
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
#exec /usr/bin/bash --login
|
||
|
|
cd /sources
|
||
|
|
rm -rf bash-5.2.32
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.37-libtool(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.37-libtool
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf libtool-2.4.7.tar.xz
|
||
|
|
cd libtool-2.4.7
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
rm -fv /usr/lib/libltdl.a
|
||
|
|
cd /sources
|
||
|
|
rm -rf libtool-2.4.7
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.38-gdbm(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.38-gdbm
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gdbm-1.24.tar.gz
|
||
|
|
cd gdbm-1.24
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--enable-libgdbm-compat
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf gdbm-1.24
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.39-gperf(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.39-gperf
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gperf-3.1.tar.gz
|
||
|
|
cd gperf-3.1
|
||
|
|
./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.1
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf gperf-3.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.40-expat(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.40-expat
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf expat-2.6.4.tar.xz
|
||
|
|
cd expat-2.6.4
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--docdir=/usr/share/doc/expat-2.6.4
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf expat-2.6.4
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.41-inetutils(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.41-inetutils
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf inetutils-2.5.tar.xz
|
||
|
|
cd inetutils-2.5
|
||
|
|
sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--bindir=/usr/bin \
|
||
|
|
--localstatedir=/var \
|
||
|
|
--disable-logger \
|
||
|
|
--disable-whois \
|
||
|
|
--disable-rcp \
|
||
|
|
--disable-rexec \
|
||
|
|
--disable-rlogin \
|
||
|
|
--disable-rsh \
|
||
|
|
--disable-servers
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
mv -v /usr/{,s}bin/ifconfig
|
||
|
|
cd /sources
|
||
|
|
rm -rf inetutils-2.5
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.42-less(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.42-less
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf less-661.tar.gz
|
||
|
|
cd less-661
|
||
|
|
./configure --prefix=/usr --sysconfdir=/etc
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf less-661
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.43-perl(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.43-perl
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf perl-5.40.0.tar.xz
|
||
|
|
cd perl-5.40.0
|
||
|
|
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
|
||
|
|
make install
|
||
|
|
unset BUILD_ZLIB BUILD_BZIP2
|
||
|
|
cd /sources
|
||
|
|
rm -rf perl-5.40.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.44-xml-parser(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.44-xml-parser
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf XML-Parser-2.47.tar.gz
|
||
|
|
cd XML-Parser-2.47
|
||
|
|
perl Makefile.PL
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf XML-Parser-2.47
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.45-intltool(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.45-intltool
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf intltool-0.51.0.tar.gz
|
||
|
|
cd intltool-0.51.0
|
||
|
|
sed -i 's:\\\${:\\\$\\{:' intltool-update.in
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-0.51.0/I18N-HOWTO
|
||
|
|
cd /sources
|
||
|
|
rm -rf intltool-0.51.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.46-autoconf(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.46-autoconf
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf autoconf-2.72.tar.xz
|
||
|
|
cd autoconf-2.72
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf autoconf-2.72
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.47-automake(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.47-automake
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf automake-1.17.tar.xz
|
||
|
|
cd automake-1.17
|
||
|
|
./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.17
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf automake-1.17
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.48-openssl(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.48-openssl
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf openssl-3.3.1.tar.gz
|
||
|
|
cd openssl-3.3.1
|
||
|
|
./config --prefix=/usr \
|
||
|
|
--openssldir=/etc/ssl \
|
||
|
|
--libdir=lib \
|
||
|
|
shared \
|
||
|
|
zlib-dynamic
|
||
|
|
make
|
||
|
|
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
|
||
|
|
cd /sources
|
||
|
|
rm -rf openssl-3.3.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.49-kmod(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.49-kmod
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf kmod-33.tar.xz
|
||
|
|
cd kmod-33
|
||
|
|
./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 /sources
|
||
|
|
rm -rf kmod-33
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.50-libelf(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.50-libelf
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf elfutils-0.191.tar.bz2
|
||
|
|
cd elfutils-0.191
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-debuginfod \
|
||
|
|
--enable-libdebuginfod=dummy
|
||
|
|
make
|
||
|
|
make -C libelf install
|
||
|
|
install -vm644 config/libelf.pc /usr/lib/pkgconfig
|
||
|
|
rm /usr/lib/libelf.a
|
||
|
|
cd /sources
|
||
|
|
rm -rf elfutils-0.191
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.51-libffi(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.51-libffi
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf libffi-3.4.6.tar.gz
|
||
|
|
cd libffi-3.4.6
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--with-gcc-arch=native
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf libffi-3.4.6
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.52-python(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.52-python
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf Python-3.12.5.tar.xz
|
||
|
|
cd Python-3.12.5
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--enable-shared \
|
||
|
|
--with-system-expat \
|
||
|
|
--enable-optimizations
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
ln -s /usr/bin/python3 /usr/bin/python
|
||
|
|
cat > /etc/pip.conf << EOFa
|
||
|
|
[global]
|
||
|
|
root-user-action = ignore
|
||
|
|
disable-pip-version-check = true
|
||
|
|
EOFa
|
||
|
|
cat > /etc/pip.conf << EOFb
|
||
|
|
[global]
|
||
|
|
root-user-action = ignore
|
||
|
|
disable-pip-version-check = true
|
||
|
|
EOFb
|
||
|
|
cd /sources
|
||
|
|
rm -rf Python-3.12.5
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.53-flit-core(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.53-flit-core
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf flit_core-3.9.0.tar.gz
|
||
|
|
cd flit_core-3.9.0
|
||
|
|
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 /sources
|
||
|
|
rm -rf flit_core-3.9.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.54-wheel(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.54-wheel
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf wheel-0.44.0.tar.gz
|
||
|
|
cd wheel-0.44.0
|
||
|
|
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
|
||
|
|
pip3 install --no-index --find-links=dist wheel
|
||
|
|
cd /sources
|
||
|
|
rm -rf wheel-0.44.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.55-setuptools(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.55-setuptools
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf setuptools-72.2.0.tar.gz
|
||
|
|
cd setuptools-72.2.0
|
||
|
|
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
|
||
|
|
pip3 install --no-index --find-links dist setuptools
|
||
|
|
cd /sources
|
||
|
|
rm -rf setuptools-72.2.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.56-ninja(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.56-ninja
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf ninja-1.12.1.tar.gz
|
||
|
|
cd ninja-1.12.1
|
||
|
|
export NINJAJOBS=4
|
||
|
|
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 /sources
|
||
|
|
rm -rf ninja-1.12.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.57-meson(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.57-meson
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf meson-1.5.1.tar.gz
|
||
|
|
cd meson-1.5.1
|
||
|
|
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 /sources
|
||
|
|
rm -rf meson-1.5.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.58-coreutils(){
|
||
|
|
cat << EOF > $LFS/root/8.58-coreutils
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf coreutils-9.5.tar.xz
|
||
|
|
cd coreutils-9.5
|
||
|
|
patch -Np1 -i ../coreutils-9.5-i18n-2.patch
|
||
|
|
autoreconf -fiv
|
||
|
|
FORCE_UNSAFE_CONFIGURE=1 ./configure \
|
||
|
|
--prefix=/usr \
|
||
|
|
--enable-no-install-program=kill,uptime
|
||
|
|
make
|
||
|
|
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 /sources
|
||
|
|
rm -rf coreutils-9.5
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.59-check(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.59-check
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf check-0.15.2.tar.gz
|
||
|
|
cd check-0.15.2
|
||
|
|
./configure --prefix=/usr --disable-static
|
||
|
|
make
|
||
|
|
make docdir=/usr/share/doc/check-0.15.2 install
|
||
|
|
cd /sources
|
||
|
|
rm -rf check-0.15.2
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.60-diffutils(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.60-diffutils
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf diffutils-3.10.tar.xz
|
||
|
|
cd diffutils-3.10
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf diffutils-3.10
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.61-gawk(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.61-gawk
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gawk-5.3.0.tar.xz
|
||
|
|
cd gawk-5.3.0
|
||
|
|
sed -i 's/extras//' Makefile.in
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
rm -f /usr/bin/gawk-5.3.0
|
||
|
|
make install
|
||
|
|
ln -sv gawk.1 /usr/share/man/man1/awk.1
|
||
|
|
cd /sources
|
||
|
|
rm -rf gawk-5.3.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.62-findutils(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.62-findutils
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf findutils-4.10.0.tar.xz
|
||
|
|
cd findutils-4.10.0
|
||
|
|
./configure --prefix=/usr --localstatedir=/var/lib/locate
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf findutils-4.10.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.63-groff(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.63-groff
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf groff-1.23.0.tar.gz
|
||
|
|
cd groff-1.23.0
|
||
|
|
PAGE=A4 ./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf groff-1.23.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.64-grub(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.64-grub
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf grub-2.12.tar.xz
|
||
|
|
cd grub-2.12
|
||
|
|
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 /sources
|
||
|
|
rm -rf grub-2.12
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.65-gzip(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.65-gzip
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf gzip-1.13.tar.xz
|
||
|
|
cd gzip-1.13
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf gzip-1.13
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.66-iproute(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.66-iproute
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf iproute2-6.10.0.tar.xz
|
||
|
|
cd iproute2-6.10.0
|
||
|
|
sed -i /ARPD/d Makefile
|
||
|
|
rm -fv man/man8/arpd.8
|
||
|
|
make NETNS_RUN_DIR=/run/netns
|
||
|
|
make SBINDIR=/usr/sbin install
|
||
|
|
cd /sources
|
||
|
|
rm -rf iproute2-6.10.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.67-kbd(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.67-kbd
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf kbd-2.6.4.tar.xz
|
||
|
|
cd kbd-2.6.4
|
||
|
|
patch -Np1 -i ../kbd-2.6.4-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
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf kbd-2.6.4
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.68-libpipeline(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.68-libpipeline
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf libpipeline-1.5.7.tar.gz
|
||
|
|
cd libpipeline-1.5.7
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf libpipeline-1.5.7
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.69-make(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.69-make
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf make-4.4.1.tar.gz
|
||
|
|
cd make-4.4.1
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf make-4.4.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.70-patch(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.70-patch
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf patch-2.7.6.tar.xz
|
||
|
|
cd patch-2.7.6
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf patch-2.7.6
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.71-tar(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.71-tar
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf tar-1.35.tar.xz
|
||
|
|
cd tar-1.35
|
||
|
|
FORCE_UNSAFE_CONFIGURE=1 \
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf tar-1.35
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.72-texinfo(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.72-texinfo
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf texinfo-7.1.tar.xz
|
||
|
|
cd texinfo-7.1
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf texinfo-7.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.73-vim(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.73-vim
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf vim-9.1.0660.tar.gz
|
||
|
|
cd vim-9.1.0660
|
||
|
|
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cat > /etc/vimrc << "EOFa"
|
||
|
|
" Début de /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
|
||
|
|
|
||
|
|
" Fin de /etc/vimrc
|
||
|
|
EOFa
|
||
|
|
cd /sources
|
||
|
|
rm -rf vim-9.1.0660
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.74-markupsafe(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.74-markupsafe
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf MarkupSafe-2.1.5.tar.gz
|
||
|
|
cd MarkupSafe-2.1.5
|
||
|
|
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
|
||
|
|
pip3 install --no-index --no-user --find-links dist Markupsafe
|
||
|
|
cd /sources
|
||
|
|
rm -rf MarkupSafe-2.1.5
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.75-jinja2(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.75-jinja2
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf jinja2-3.1.4.tar.gz
|
||
|
|
cd jinja2-3.1.4
|
||
|
|
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
|
||
|
|
pip3 install --no-index --no-user --find-links dist Jinja2
|
||
|
|
cd /sources
|
||
|
|
rm -rf jinja2-3.1.4
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.76-udev(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.76-udev
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf systemd-256.4.tar.gz
|
||
|
|
cd systemd-256.4
|
||
|
|
sed -i -e 's/GROUP="render"/GROUP="video"/' \
|
||
|
|
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in
|
||
|
|
sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in
|
||
|
|
sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h
|
||
|
|
mkdir -p build
|
||
|
|
cd build
|
||
|
|
|
||
|
|
meson setup .. \
|
||
|
|
--prefix=/usr \
|
||
|
|
--buildtype=release \
|
||
|
|
-D mode=release \
|
||
|
|
-D dev-kvm-mode=0660 \
|
||
|
|
-D link-udev-shared=false \
|
||
|
|
-D logind=false \
|
||
|
|
-D vconsole=false
|
||
|
|
export udev_helpers=$(grep "'name' :" ../src/udev/meson.build | \
|
||
|
|
awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')
|
||
|
|
ninja udevadm systemd-hwdb \
|
||
|
|
$(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \
|
||
|
|
$(realpath libudev.so --relative-to .) \
|
||
|
|
$udev_helpers
|
||
|
|
install -vm755 -d {/usr/lib,/etc}/udev/{hwdb.d,rules.d,network}
|
||
|
|
install -vm755 -d /usr/{lib,share}/pkgconfig
|
||
|
|
install -vm755 udevadm /usr/bin/
|
||
|
|
install -vm755 systemd-hwdb /usr/bin/udev-hwdb
|
||
|
|
ln -svfn ../bin/udevadm /usr/sbin/udevd
|
||
|
|
cp -av libudev.so{,*[0-9]} /usr/lib/
|
||
|
|
install -vm644 ../src/libudev/libudev.h /usr/include/
|
||
|
|
install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/
|
||
|
|
install -vm644 src/udev/*.pc /usr/share/pkgconfig/
|
||
|
|
install -vm644 ../src/udev/udev.conf /etc/udev/
|
||
|
|
install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/
|
||
|
|
install -vm644 $(find ../rules.d/*.rules \
|
||
|
|
-not -name '*power-switch*') /usr/lib/udev/rules.d/
|
||
|
|
install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/
|
||
|
|
install -vm755 $udev_helpers /usr/lib/udev
|
||
|
|
install -vm644 ../network/99-default.link /usr/lib/udev/network
|
||
|
|
tar -xvf ../../udev-lfs-20230818.tar.xz
|
||
|
|
make -f udev-lfs-20230818/Makefile.lfs install
|
||
|
|
unset udev_helpers
|
||
|
|
cd /sources
|
||
|
|
rm -rf systemd-256.4
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.77-man-db(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.77-man-db
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf man-db-2.12.1.tar.xz
|
||
|
|
cd man-db-2.12.1
|
||
|
|
./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 \
|
||
|
|
--with-systemdtmpfilesdir= \
|
||
|
|
--with-systemdsystemunitdir=
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf man-db-2.12.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.78-procps-ng(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.78-procps-ng
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf procps-ng-4.0.4.tar.xz
|
||
|
|
cd procps-ng-4.0.4
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--docdir=/usr/share/doc/procps-ng-4.0.4 \
|
||
|
|
--disable-static \
|
||
|
|
--disable-kill
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf procps-ng-4.0.4
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.79-util-linux(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.79-util-linux
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf util-linux-2.40.2.tar.xz
|
||
|
|
cd util-linux-2.40.2
|
||
|
|
./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 \
|
||
|
|
--without-systemd \
|
||
|
|
--without-systemdsystemunitdir \
|
||
|
|
ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||
|
|
--docdir=/usr/share/doc/util-linux-2.40.2
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf util-linux-2.40.2
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.80-e2fsprogs(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.80-e2fsprogs
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf e2fsprogs-1.47.1.tar.gz
|
||
|
|
cd e2fsprogs-1.47.1
|
||
|
|
mkdir -v build
|
||
|
|
cd build
|
||
|
|
../configure --prefix=/usr \
|
||
|
|
--sysconfdir=/etc \
|
||
|
|
--enable-elf-shlibs \
|
||
|
|
--disable-libblkid \
|
||
|
|
--disable-libuuid \
|
||
|
|
--disable-uuidd \
|
||
|
|
--disable-fsck
|
||
|
|
make
|
||
|
|
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
|
||
|
|
cd /sources
|
||
|
|
rm -rf e2fsprogs-1.47.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.81-sysklogd(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.81-sysklogd
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf sysklogd-2.6.1.tar.gz
|
||
|
|
cd sysklogd-2.6.1
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--sysconfdir=/etc \
|
||
|
|
--runstatedir=/run \
|
||
|
|
--without-logger
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cat > /etc/syslog.conf << EOFa
|
||
|
|
# Début de /etc/syslog.conf
|
||
|
|
|
||
|
|
auth,authpriv.* -/var/log/auth.log
|
||
|
|
*.*;auth,authpriv.none -/var/log/sys.log
|
||
|
|
daemon.* -/var/log/daemon.log
|
||
|
|
kern.* -/var/log/kern.log
|
||
|
|
mail.* -/var/log/mail.log
|
||
|
|
user.* -/var/log/user.log
|
||
|
|
*.emerg *
|
||
|
|
|
||
|
|
# Ne pas ouvrir de ports internet.
|
||
|
|
secure_mode 2
|
||
|
|
|
||
|
|
# Fin de /etc/syslog.conf
|
||
|
|
EOFa
|
||
|
|
cd /sources
|
||
|
|
rm -rf sysklogd-2.6.1
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.82-libpsl(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.82-libpsl
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf libpsl-0.21.5.tar.gz
|
||
|
|
cd libpsl-0.21.5
|
||
|
|
mkdir build
|
||
|
|
cd build
|
||
|
|
meson setup --prefix=/usr --buildtype=release
|
||
|
|
ninja
|
||
|
|
ninja install
|
||
|
|
cd /sources
|
||
|
|
rm -rf libpsl-0.21.5
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.83-curl(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.83-curl
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf curl-8.11.0.tar.xz
|
||
|
|
cd curl-8.11.0
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--disable-static \
|
||
|
|
--with-openssl \
|
||
|
|
--with-ca-path=/etc/ssl/certs
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf curl-8.11.0
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.84-cpio(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.84-cpio
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar -xf cpio-2.15.tar.bz2
|
||
|
|
cd cpio-2.15
|
||
|
|
./configure --prefix=/usr \
|
||
|
|
--enable-mt \
|
||
|
|
--with-rmt=/usr/libexec/rmt
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf cpio-2.15
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.85-dracut(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.85-dracut
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf dracut-105.tar.gz
|
||
|
|
cd dracut-ng-105
|
||
|
|
./configure --prefix=/usr --disable-documentation
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
cd /sources
|
||
|
|
rm -rf dracut-059
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.86-fakeroot(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.86-fakeroot
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
cd /sources
|
||
|
|
tar xf fakeroot-1.36.tar.gz
|
||
|
|
cd fakeroot-1.36
|
||
|
|
./configure --prefix=/usr
|
||
|
|
make
|
||
|
|
make install
|
||
|
|
libtool --finish /usr/lib
|
||
|
|
cd /sources
|
||
|
|
rm -rf fakeroot-1.36
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function 8.87-erminig-tools(){
|
||
|
|
cat << 'EOF' > $LFS/root/8.87-erminig-tools
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
install -d -o 3 -g 3 /usr/src
|
||
|
|
install -d -o 3 -g 3 /var/{cache,lib,log,tmp}/govel
|
||
|
|
install -d /var/cache/keo
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function post-chroot(){
|
||
|
|
7.5-create-folders
|
||
|
|
7.6-create-symbolic-links
|
||
|
|
7.7-gettext
|
||
|
|
7.8-bison
|
||
|
|
7.9-perl
|
||
|
|
7.10-python
|
||
|
|
7.11-texinfo
|
||
|
|
7.12-util-linux
|
||
|
|
7.13-cleaning
|
||
|
|
8.3-man-pages
|
||
|
|
8.4-iana-etc
|
||
|
|
8.5-glibc
|
||
|
|
8.6-zlib
|
||
|
|
8.7-bzip2
|
||
|
|
8.8-xz
|
||
|
|
8.9-lz4
|
||
|
|
8.10-zstd
|
||
|
|
8.11-file
|
||
|
|
8.12-readline
|
||
|
|
8.13-m4
|
||
|
|
8.14-bc
|
||
|
|
8.15-flex
|
||
|
|
8.16-tcl
|
||
|
|
8.17-expect
|
||
|
|
8.18-dejagnu
|
||
|
|
8.19-pkgconf
|
||
|
|
8.20-binutils
|
||
|
|
8.21-gmp
|
||
|
|
8.22-mpfr
|
||
|
|
8.23-mpc
|
||
|
|
8.24-attr
|
||
|
|
8.25-acl
|
||
|
|
8.26-libcap
|
||
|
|
8.27-libxcrypt
|
||
|
|
8.28-shadow
|
||
|
|
8.29-gcc
|
||
|
|
8.30-ncurses
|
||
|
|
8.31-sed
|
||
|
|
8.32-psmisc
|
||
|
|
8.33-gettext
|
||
|
|
8.34-bison
|
||
|
|
8.35-grep
|
||
|
|
8.36-bash
|
||
|
|
8.37-libtool
|
||
|
|
8.38-gdbm
|
||
|
|
8.39-gperf
|
||
|
|
8.40-expat
|
||
|
|
8.41-inetutils
|
||
|
|
8.42-less
|
||
|
|
8.43-perl
|
||
|
|
8.44-xml-parser
|
||
|
|
8.45-intltool
|
||
|
|
8.46-autoconf
|
||
|
|
8.47-automake
|
||
|
|
8.48-openssl
|
||
|
|
8.49-kmod
|
||
|
|
8.50-libelf
|
||
|
|
8.51-libffi
|
||
|
|
8.52-python
|
||
|
|
8.53-flit-core
|
||
|
|
8.54-wheel
|
||
|
|
8.55-setuptools
|
||
|
|
8.56-ninja
|
||
|
|
8.57-meson
|
||
|
|
8.58-coreutils
|
||
|
|
8.59-check
|
||
|
|
8.60-diffutils
|
||
|
|
8.61-gawk
|
||
|
|
8.62-findutils
|
||
|
|
8.63-groff
|
||
|
|
8.64-grub
|
||
|
|
8.65-gzip
|
||
|
|
8.66-iproute
|
||
|
|
8.67-kbd
|
||
|
|
8.68-libpipeline
|
||
|
|
8.69-make
|
||
|
|
8.70-patch
|
||
|
|
8.71-tar
|
||
|
|
8.72-texinfo
|
||
|
|
8.73-vim
|
||
|
|
8.74-markupsafe
|
||
|
|
8.75-jinja2
|
||
|
|
8.76-udev
|
||
|
|
8.77-man-db
|
||
|
|
8.78-procps-ng
|
||
|
|
8.79-util-linux
|
||
|
|
8.80-e2fsprogs
|
||
|
|
8.81-sysklogd
|
||
|
|
8.82-libpsl
|
||
|
|
8.83-curl
|
||
|
|
8.84-cpio
|
||
|
|
8.85-dracut
|
||
|
|
8.86-fakeroot
|
||
|
|
8.87-erminig-tools
|
||
|
|
cat << 'EOF' > $LFS/root/post-chroot
|
||
|
|
#!/bin/bash
|
||
|
|
set -eux -o pipefail
|
||
|
|
bash /root/7.5-create-folders
|
||
|
|
bash /root/7.6-create-symbolic-links
|
||
|
|
bash /root/7.7-gettext
|
||
|
|
bash /root/7.8-bison
|
||
|
|
bash /root/7.9-perl
|
||
|
|
bash /root/7.10-python
|
||
|
|
bash /root/7.11-texinfo
|
||
|
|
bash /root/7.12-util-linux
|
||
|
|
bash /root/7.13-cleaning
|
||
|
|
#bash /root/8.3-man-pages
|
||
|
|
bash /root/8.4-iana-etc
|
||
|
|
bash /root/8.5-glibc
|
||
|
|
bash /root/8.6-zlib
|
||
|
|
bash /root/8.7-bzip2
|
||
|
|
bash /root/8.8-xz
|
||
|
|
bash /root/8.9-lz4
|
||
|
|
bash /root/8.10-zstd
|
||
|
|
bash /root/8.11-file
|
||
|
|
bash /root/8.12-readline
|
||
|
|
bash /root/8.13-m4
|
||
|
|
bash /root/8.14-bc
|
||
|
|
bash /root/8.15-flex
|
||
|
|
bash /root/8.16-tcl
|
||
|
|
bash /root/8.17-expect
|
||
|
|
bash /root/8.18-dejagnu
|
||
|
|
bash /root/8.19-pkgconf
|
||
|
|
bash /root/8.20-binutils
|
||
|
|
bash /root/8.21-gmp
|
||
|
|
bash /root/8.22-mpfr
|
||
|
|
bash /root/8.23-mpc
|
||
|
|
bash /root/8.24-attr
|
||
|
|
bash /root/8.25-acl
|
||
|
|
bash /root/8.26-libcap
|
||
|
|
bash /root/8.27-libxcrypt
|
||
|
|
bash /root/8.28-shadow
|
||
|
|
bash /root/8.29-gcc
|
||
|
|
bash /root/8.30-ncurses
|
||
|
|
bash /root/8.31-sed
|
||
|
|
bash /root/8.32-psmisc
|
||
|
|
bash /root/8.33-gettext
|
||
|
|
bash /root/8.34-bison
|
||
|
|
bash /root/8.35-grep
|
||
|
|
bash /root/8.36-bash
|
||
|
|
bash /root/8.37-libtool
|
||
|
|
bash /root/8.38-gdbm
|
||
|
|
bash /root/8.39-gperf
|
||
|
|
bash /root/8.40-expat
|
||
|
|
#bash /root/8.41-inetutils
|
||
|
|
bash /root/8.42-less
|
||
|
|
bash /root/8.43-perl
|
||
|
|
bash /root/8.44-xml-parser
|
||
|
|
bash /root/8.45-intltool
|
||
|
|
bash /root/8.46-autoconf
|
||
|
|
bash /root/8.47-automake
|
||
|
|
bash /root/8.48-openssl
|
||
|
|
bash /root/8.49-kmod
|
||
|
|
bash /root/8.50-libelf
|
||
|
|
bash /root/8.51-libffi
|
||
|
|
bash /root/8.52-python
|
||
|
|
bash /root/8.53-flit-core
|
||
|
|
bash /root/8.54-wheel
|
||
|
|
bash /root/8.55-setuptools
|
||
|
|
bash /root/8.56-ninja
|
||
|
|
bash /root/8.57-meson
|
||
|
|
bash /root/8.58-coreutils
|
||
|
|
bash /root/8.59-check
|
||
|
|
bash /root/8.60-diffutils
|
||
|
|
bash /root/8.61-gawk
|
||
|
|
bash /root/8.62-findutils
|
||
|
|
bash /root/8.63-groff
|
||
|
|
bash /root/8.64-grub
|
||
|
|
bash /root/8.65-gzip
|
||
|
|
bash /root/8.66-iproute
|
||
|
|
bash /root/8.67-kbd
|
||
|
|
bash /root/8.68-libpipeline
|
||
|
|
bash /root/8.69-make
|
||
|
|
bash /root/8.70-patch
|
||
|
|
bash /root/8.71-tar
|
||
|
|
bash /root/8.72-texinfo
|
||
|
|
bash /root/8.73-vim
|
||
|
|
bash /root/8.74-markupsafe
|
||
|
|
bash /root/8.75-jinja2
|
||
|
|
#bash /root/8.76-udev
|
||
|
|
#bash /root/8.77-man-db
|
||
|
|
#bash /root/8.78-procps-ng
|
||
|
|
#bash /root/8.79-util-linux
|
||
|
|
#bash /root/8.80-e2fsprogs
|
||
|
|
#bash /root/8.81-sysklogd
|
||
|
|
#bash /root/8.82-libpsl
|
||
|
|
#bash /root/8.83-curl
|
||
|
|
#bash /root/8.84-cpio
|
||
|
|
#bash /root/8.85-dracut
|
||
|
|
#bash /root/8.86-fakeroot
|
||
|
|
#bash /root/8.87-erminig-tools
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
function main(){
|
||
|
|
echo "Get sources"
|
||
|
|
3.1-get_sources
|
||
|
|
echo "Folder structure"
|
||
|
|
4.2-folder_structure
|
||
|
|
#4.4-configure_environment
|
||
|
|
echo "Binutils"
|
||
|
|
5.2-binutils 2.43.1
|
||
|
|
5.3-gcc 14.2.0
|
||
|
|
5.4-linux_headers 6.10.5
|
||
|
|
5.5-glibc 2.40
|
||
|
|
5.6-libstdcpp 14.2.0
|
||
|
|
6.2-m4 1.4.19
|
||
|
|
6.3-ncurses 6.5
|
||
|
|
6.4-bash 5.2.32
|
||
|
|
6.5-coreutils 9.5
|
||
|
|
6.6-diffutils 3.10
|
||
|
|
6.7-file 5.45
|
||
|
|
6.8-findutils 4.10.0
|
||
|
|
6.9-gawk 5.3.0
|
||
|
|
6.10-grep 3.11
|
||
|
|
6.11-gzip 1.13
|
||
|
|
6.12-make 4.4.1
|
||
|
|
6.13-patch 2.7.6
|
||
|
|
6.14-sed 4.9
|
||
|
|
6.15-tar 1.35
|
||
|
|
6.16-xz 5.6.2
|
||
|
|
6.17-binutils 2.43.1
|
||
|
|
6.18-gcc 14.2.0
|
||
|
|
7.3-prepare-filesystem
|
||
|
|
post-chroot
|
||
|
|
}
|
||
|
|
|
||
|
|
main
|