150 changed files with 10319 additions and 5 deletions
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
MIT License |
||||
|
||||
Copyright (c) 2026 Cyril CONSTANTIN |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
SOFTWARE. |
||||
@ -1,9 +1,21 @@
@@ -1,9 +1,21 @@
|
||||
MIT License |
||||
|
||||
Copyright (c) <year> <copyright holders> |
||||
Copyright (c) 2026 Cyril CONSTANTIN |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: |
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. |
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
SOFTWARE. |
||||
|
||||
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
all: bash |
||||
|
||||
bash : |
||||
bash build.sh | tee ${HOME}/lfs_build.log |
||||
@ -1,3 +1,95 @@
@@ -1,3 +1,95 @@
|
||||
# cclfs |
||||
|
||||
Bash script to build LFS |
||||
It's a compliant bash script that builds Linux From Scratch. |
||||
|
||||
If you don't know what this is, or haven't built Linux From Scratch on your own before, you should go through the LFS [book](https://linuxfromscratch.org) before using this script. |
||||
|
||||
This is a script based on <https://github.com/krglaws/MyLFS.git>. |
||||
It was developped on debian (bookworm i686, trixie x86_64). |
||||
|
||||
## Requirements |
||||
|
||||
The requirements are those of the book : <https://www.linuxfromscratch.org/lfs/view/stable-systemd/> |
||||
|
||||
The */mnt/lfs* partition is not created by the script. |
||||
You have to create it by yourself. |
||||
Some commands are provided by the script. |
||||
|
||||
Some additionnal requirements : |
||||
|
||||
* the *lfs* user is mandatory |
||||
* User creation is provided by the script |
||||
* The script should by executed by *lfs* user |
||||
* sudo command is necessary |
||||
* a sudoers file is provided for *lfs* user to restrict rights to stricts requirements. |
||||
* this sudoers file allow to protect the host and restrict command only to */mnt/lfs* directory |
||||
* it allow the following commands on */mnt/lfs* : chown mount install chroot |
||||
* build directory is hardcoded : /mnt/lfs |
||||
* mount |grep -q "/mnt/lfs type ext4 should return ok |
||||
* /etc/bash.bashrc should not be used on host |
||||
* sudo mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE |
||||
* cross compilation for glibc seems to need some specific packages |
||||
* sudo apt install flex libzstd-dev pkgconf |
||||
* you can't execute in parallel the script on the same namespace. |
||||
|
||||
## How It Works |
||||
|
||||
Copy the repository under any location <build_directory>. |
||||
|
||||
The script do some writings only under : |
||||
|
||||
* <build_directory> |
||||
* LFS_PACKAGE_DIR if it does not contains all required packages |
||||
* ~lfs/ |
||||
* /tmp/lfs* |
||||
* /mnt/lfs/ |
||||
* /mnt/lfs/sources/ |
||||
|
||||
The script builds LFS by completing the following steps: |
||||
|
||||
1. Download package source code and save to the `packages` directory. |
||||
2. Build initial cross compilation tools. This corresponds to chapter 5 in the LFS book, and "phase 1" of the script. |
||||
3. Begin to build tools required for minimal chroot environment. (chapter 6/phase 2) |
||||
4. Enter chroot environment, and build remaining tools needed to build the entire LFS system. (chapter 7/phase 3) |
||||
5. Build the entire LFS system from within chroot envirnment, including the kernel, GRUB, and others. (chapter 8+/phase 4) |
||||
|
||||
The script ask for validation for each step. |
||||
You can disable validation until desired step with a number as argument. |
||||
The *number* is the chapter (of the books) on 5 digits until you validate. |
||||
If you want to start validation at *5. Compiling a Cross-Toolchain*, it's *50000*. |
||||
|
||||
To configure it, execute a first time the *make* command. |
||||
A file *~lfs/.lfsbuild_config* will be created. |
||||
You can customize it by setting the BREAKPOINT var. |
||||
|
||||
Or create the file before : |
||||
|
||||
```bash |
||||
cat /home/lfs/.lfsbuild_config << EOSF |
||||
# location of local package sources |
||||
LFS_PACKAGE_DIR=/home/lfs/packages |
||||
# Number of processors to use |
||||
LFS_NPROC=$(nproc) |
||||
# Bypass step by step validation until a breakpoint |
||||
LFS_BREAKPOINT=1 |
||||
# strip binaries or not |
||||
LFS_STRIP_BINARIES=false |
||||
# bypass network config validation by taking network config from host |
||||
LFS_NETWORKSAMEASHOST=false |
||||
# bypass network configuration for full offline build |
||||
LFS_NETWORKOFFLINE=false |
||||
# bypass linux config validation by taking linux config from host |
||||
# !!! LFS doesn't built a initramfs. If your host load required drivers as modules in it, you won't be able to boot. |
||||
# It may be convenient if you build from an LFS host. |
||||
# You can also put a config file in your home ( $HOME/linux-config-*version* e.g. linux-config-6.8.10 ) and it will be taken as config file. |
||||
LFS_LINUXCONFIGSAMEASHOST=false |
||||
EOSF |
||||
``` |
||||
|
||||
## Examples |
||||
|
||||
Execute as *lfs* user. |
||||
|
||||
```bash |
||||
make |
||||
``` |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
case $(uname -m) in |
||||
i?86) |
||||
export ARCH=x86 |
||||
;; |
||||
esac |
||||
|
||||
|
||||
make mrproper |
||||
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir --parents build |
||||
|
||||
cd build || return 1 |
||||
|
||||
../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 |
||||
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir --parents mpfr |
||||
archivepath=$(find "${SOURCES}" -name "mpfr*.tar.*" -print) |
||||
tar --extract --file=../"$(basename "${archivepath}")" --directory=mpfr --strip-components=1 |
||||
|
||||
mkdir --parents gmp |
||||
archivepath=$(find "${SOURCES}" -name "gmp*.tar.*" -print) |
||||
tar --extract --file=../"$(basename "${archivepath}")" --directory=gmp --strip-components=1 |
||||
|
||||
mkdir --parents mpc |
||||
archivepath=$(find "${SOURCES}" -name "mpc*.tar.*" -print) |
||||
tar --extract --file=../"$(basename "${archivepath}")" --directory=mpc --strip-components=1 |
||||
|
||||
case $(uname -m) in |
||||
x86_64) |
||||
sed --expression='/m64=/s/lib64/lib/' --in-place=.orig gcc/config/i386/t-linux64 |
||||
;; |
||||
esac |
||||
|
||||
mkdir --parents build |
||||
|
||||
( |
||||
cd build || return 1 |
||||
../configure \ |
||||
--target=$LFS_TGT \ |
||||
--prefix=$LFS/tools \ |
||||
--with-glibc-version=2.43 \ |
||||
--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 |
||||
) |
||||
|
||||
|
||||
cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \ |
||||
$(dirname $($LFS_TGT-gcc -print-libgcc-file-name))/include/limits.h |
||||
|
||||
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
case $(uname -m) in |
||||
i?86) |
||||
export ARCH=x86 |
||||
;; |
||||
esac |
||||
|
||||
|
||||
make mrproper |
||||
make headers |
||||
|
||||
find usr/include -type f ! -name '*.h' -delete |
||||
cp --recursive --verbose usr/include "${LFS}"/usr |
||||
|
||||
@ -0,0 +1,54 @@
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
echo "---- LFS=${LFS}" |
||||
echo "---- LFS_TGT=${LFS_TGT}" |
||||
|
||||
case $(uname --machine) in |
||||
i?86) |
||||
ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3 |
||||
;; |
||||
x86_64) |
||||
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64 |
||||
ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3 |
||||
;; |
||||
esac |
||||
|
||||
patch -Np1 -i ../glibc-fhs-1.patch |
||||
|
||||
mkdir --verbose build |
||||
|
||||
cd build || return 1 |
||||
|
||||
echo "rootsbindir=/usr/sbin" > configparms |
||||
|
||||
../configure \ |
||||
--prefix=/usr \ |
||||
--host=$LFS_TGT \ |
||||
--build=$(../scripts/config.guess) \ |
||||
--disable-nscd \ |
||||
libc_cv_slibdir=/usr/lib \ |
||||
--enable-kernel=5.4 |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd |
||||
|
||||
|
||||
echo 'int main(){}' | $LFS_TGT-gcc -x c - -v -Wl,--verbose &> dummy.log |
||||
grep -E -o "$LFS/lib.*/S?crt[1in].*succeeded" dummy.log || return 1 |
||||
grep -B3 "^ $LFS/usr/include" dummy.log || return 1 |
||||
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' || return 1 |
||||
grep "/lib.*/libc.so.6 " dummy.log |grep 'succeeded' || return 1 |
||||
|
||||
case $(uname -m) in |
||||
i?86) |
||||
readelf -l a.out | grep ': /lib' | grep '/lib/ld-linux.so.2' || return 1 |
||||
grep found dummy.log |grep '/mnt/lfs/usr/lib/ld-linux.so.2' || return 1 |
||||
;; |
||||
x86_64) |
||||
readelf -l a.out | grep ': /lib' | grep '/lib64/ld-linux-x86-64.so.2' || return 1 |
||||
grep found dummy.log |grep '/mnt/lfs/usr/lib/ld-linux-x86-64.so.2' || return 1 |
||||
;; |
||||
esac |
||||
|
||||
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir -p build |
||||
|
||||
cd build || return 1 |
||||
|
||||
../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++/15.2.0 |
||||
|
||||
make |
||||
make DESTDIR=$LFS install |
||||
|
||||
rm -v "${LFS}"/usr/lib/lib{stdc++{,exp,fs},supc++}.la |
||||
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir build |
||||
|
||||
pushd build || return 1 |
||||
../configure --prefix="${LFS}"/tools AWK=gawk |
||||
make -C include |
||||
make -C progs tic |
||||
install progs/tic "${LFS}"/tools/bin |
||||
popd || exit 1 |
||||
|
||||
./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 \ |
||||
AWK=gawk |
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
ln -sv libncursesw.so "${LFS}"/usr/lib/libncurses.so |
||||
sed -e 's/^#if.*XOPEN.*$/#if 1/' -i "${LFS}"/usr/include/curses.h |
||||
|
||||
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--build="$(sh support/config.guess)" \ |
||||
--host="${LFS_TGT}" \ |
||||
--without-bash-malloc |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
ln -s bash "${LFS}"/bin/sh |
||||
|
||||
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./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 "${LFS}"/usr/bin/chroot "${LFS}"/usr/sbin |
||||
mkdir -p "${LFS}"/usr/share/man/man8 |
||||
mv "${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 |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
gl_cv_func_strcasecmp_works=y \ |
||||
--build="$(./build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir build |
||||
|
||||
pushd build || return 1 |
||||
../configure --disable-bzlib \ |
||||
--disable-libseccomp \ |
||||
--disable-xzlib \ |
||||
--disable-zlib |
||||
make |
||||
popd || exit 1 |
||||
|
||||
./configure --prefix=/usr --host="${LFS_TGT}" --build="$(./config.guess)" |
||||
make FILE_COMPILE="$(pwd)"/build/src/file |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
rm "${LFS}"/usr/lib/libmagic.la |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--localstatedir=/var/lib/locate \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i 's/extras//' Makefile.in |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(./build-aux/config.guess)" |
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr --host="${LFS_TGT}" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(./build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(build-aux/config.guess)" |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--host="${LFS_TGT}" \ |
||||
--build="$(build-aux/config.guess)" \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/xz-5.8.2 |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
rm "${LFS}"/usr/lib/liblzma.la |
||||
|
||||
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
# shellcheck disable=SC2016 |
||||
sed '6031s/$add_dir//' -i ltmain.sh |
||||
|
||||
mkdir build |
||||
|
||||
pushd build || return 1 |
||||
../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 |
||||
popd || exit 1 |
||||
|
||||
rm "${LFS}"/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la} |
||||
|
||||
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir -p mpfr |
||||
archivepath=$(find "${SOURCES}" -name "mpfr*.tar.*" -print) |
||||
tar -xf ../"$(basename "${archivepath}")" -C mpfr --strip-components=1 |
||||
|
||||
mkdir -p gmp |
||||
archivepath=$(find "${SOURCES}" -name "gmp*.tar.*" -print) |
||||
tar -xf ../"$(basename "${archivepath}")" -C gmp --strip-components=1 |
||||
|
||||
mkdir -p mpc |
||||
archivepath=$(find "${SOURCES}" -name "mpc*.tar.*" -print) |
||||
tar -xf ../"$(basename "${archivepath}")" -C mpc --strip-components=1 |
||||
|
||||
case $(uname -m) in |
||||
x86_64) |
||||
sed -e '/m64=/s/lib64/lib/' -i gcc/config/i386/t-linux64 |
||||
;; |
||||
esac |
||||
|
||||
sed '/thread_header =/s/@.*@/gthr-posix.h/' \ |
||||
-i libgcc/Makefile.in libstdc++-v3/include/Makefile.in |
||||
|
||||
mkdir build |
||||
|
||||
cd build || return 1 |
||||
../configure \ |
||||
--build="$(../config.guess)" \ |
||||
--host="${LFS_TGT}" \ |
||||
--target="${LFS_TGT}" \ |
||||
--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++ \ |
||||
LDFLAGS_FOR_TARGET=-L"${PWD}"/"${LFS_TGT}"/libgcc |
||||
|
||||
make |
||||
make DESTDIR="${LFS}" install |
||||
|
||||
ln -s gcc "${LFS}"/usr/bin/cc |
||||
|
||||
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --disable-shared |
||||
|
||||
make |
||||
|
||||
cp gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin |
||||
|
||||
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--docdir=/usr/share/doc/bison-3.8.2 |
||||
|
||||
make |
||||
make install |
||||
|
||||
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sh Configure -des \ |
||||
-D prefix=/usr \ |
||||
-D vendorprefix=/usr \ |
||||
-D useshrplib \ |
||||
-D privlib=/usr/lib/perl5/5.42/core_perl \ |
||||
-D archlib=/usr/lib/perl5/5.42/core_perl \ |
||||
-D sitelib=/usr/lib/perl5/5.42/site_perl \ |
||||
-D sitearch=/usr/lib/perl5/5.42/site_perl \ |
||||
-D vendorlib=/usr/lib/perl5/5.42/vendor_perl \ |
||||
-D vendorarch=/usr/lib/perl5/5.42/vendor_perl |
||||
|
||||
make |
||||
make install |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--enable-shared \ |
||||
--without-ensurepip \ |
||||
--without-static-libpython |
||||
|
||||
make |
||||
make install |
||||
|
||||
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
make install |
||||
|
||||
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
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.41.3 |
||||
|
||||
make |
||||
make install |
||||
|
||||
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
rm man3/crypt* |
||||
make -R GIT=false prefix=/usr install |
||||
|
||||
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
cp -v services protocols /etc |
||||
|
||||
@ -0,0 +1,138 @@
@@ -0,0 +1,138 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
patch -Np1 -i ../glibc-fhs-1.patch |
||||
|
||||
mkdir -v build |
||||
cd build || return 1 |
||||
|
||||
echo "rootsbindir=/usr/sbin" > configparms |
||||
|
||||
../configure --prefix=/usr \ |
||||
--disable-werror \ |
||||
--disable-nscd \ |
||||
libc_cv_slibdir=/usr/lib \ |
||||
--enable-stack-protector=strong \ |
||||
--enable-kernel=5.4 |
||||
|
||||
make |
||||
|
||||
# sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile |
||||
echo "Fix the Makefile to skip an outdated sanity check that fails with a modern Glibc configuration" |
||||
echo "sed /test-installation/s#\$\(PERL\)\ scripts/test-installation.pl#echo\ outdated_sanity_check_disabled# ../Makefile" |
||||
sed /test-installation/s#\$\(PERL\)\ scripts/test-installation.pl#echo\ outdated_sanity_check_disabled# ../Makefile |
||||
sed /test-installation/s#\$\(PERL\)\ scripts/test-installation.pl#echo\ outdated_sanity_check_disabled# -i ../Makefile |
||||
|
||||
[ -e /tmp/glibc_make_check.log ] && rm /tmp/glibc_make_check.log |
||||
|
||||
if ! make check | tee /tmp/glibc_make_check.log |
||||
then |
||||
grep ^FAIL /tmp/glibc_make_check.log | cut -d' ' -f 2 | while IFS= read -r failure |
||||
do |
||||
case ${failure} in |
||||
io/tst-lchmod) |
||||
continue |
||||
;; |
||||
libio/tst-asprintf-null) |
||||
continue |
||||
;; |
||||
nptl/tst-basic3) |
||||
continue |
||||
;; |
||||
*) |
||||
echo "Failed on FAIL" |
||||
exit 1 |
||||
;; |
||||
esac |
||||
done |
||||
fi |
||||
|
||||
cat >> /etc/ld.so.conf << "EOF" |
||||
# Add an include directory |
||||
include /etc/ld.so.conf.d/*.conf |
||||
EOF |
||||
|
||||
mkdir -pv /etc/ld.so.conf.d |
||||
|
||||
cat > /etc/ld.so.conf.d/libc.conf << "EOF" |
||||
/usr/lib |
||||
/usr/local/lib |
||||
EOF |
||||
|
||||
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 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 |
||||
|
||||
cat > /etc/nsswitch.conf << "EOF" |
||||
# Begin /etc/nsswitch.conf |
||||
|
||||
passwd: files systemd |
||||
group: files systemd |
||||
shadow: files systemd |
||||
|
||||
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns |
||||
networks: files |
||||
|
||||
protocols: files |
||||
services: files |
||||
ethers: files |
||||
rpc: files |
||||
|
||||
# End /etc/nsswitch.conf |
||||
EOF |
||||
|
||||
tar -xf ../../tzdata2025c.tar.gz |
||||
|
||||
ZONEINFO=/usr/share/zoneinfo |
||||
mkdir -pv $ZONEINFO/{posix,right} |
||||
|
||||
for tz in etcetera southamerica northamerica europe africa antarctica \ |
||||
asia australasia backward; do |
||||
zic -L /dev/null -d $ZONEINFO ${tz} |
||||
zic -L /dev/null -d $ZONEINFO/posix ${tz} |
||||
zic -L leapseconds -d $ZONEINFO/right ${tz} |
||||
done |
||||
|
||||
cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO |
||||
zic -d $ZONEINFO -p America/New_York |
||||
unset ZONEINFO tz |
||||
|
||||
ln -sfv /usr/share/zoneinfo/America/New_York /etc/localtime |
||||
|
||||
|
||||
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
rm -f /usr/lib/libz.a |
||||
|
||||
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
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 |
||||
|
||||
ln -sfv libbz2.so.1.0.8 /usr/lib/libbz2.so.1 |
||||
|
||||
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 |
||||
|
||||
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/xz-5.8.2 |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
make BUILD_STATIC=no PREFIX=/usr |
||||
make -j1 check |
||||
make BUILD_STATIC=no PREFIX=/usr install |
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
make prefix=/usr |
||||
|
||||
make check |
||||
|
||||
make prefix=/usr install |
||||
|
||||
rm -v /usr/lib/libzstd.a |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i '/MV.*old/d' Makefile.in |
||||
sed -i '/{OLDSUFF}/c:' support/shlib-install |
||||
|
||||
sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf |
||||
|
||||
sed -e '270a\ |
||||
else\ |
||||
chars_avail = 1;' \ |
||||
-e '288i\ result = -1;' \ |
||||
-i.orig input.c |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--with-curses \ |
||||
--docdir=/usr/share/doc/readline-8.3 |
||||
|
||||
make SHLIB_LIBS="-lncursesw" |
||||
|
||||
make install |
||||
|
||||
install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.3 |
||||
|
||||
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--docdir=/usr/share/doc/pcre2-10.47 \ |
||||
--enable-unicode \ |
||||
--enable-jit \ |
||||
--enable-pcre2-16 \ |
||||
--enable-pcre2-32 \ |
||||
--enable-pcre2grep-libz \ |
||||
--enable-pcre2grep-libbz2 \ |
||||
--enable-pcre2test-libreadline \ |
||||
--disable-static |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
CC='gcc -std=c99' ./configure --prefix=/usr -G -O3 -r |
||||
|
||||
make |
||||
|
||||
make test |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/flex-2.6.4 |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
ln -sv flex /usr/bin/lex |
||||
ln -sv flex.1 /usr/share/man/man1/lex.1 |
||||
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
SRCDIR=$(pwd) |
||||
|
||||
( |
||||
cd unix || return 1 |
||||
./configure --prefix=/usr \ |
||||
--mandir=/usr/share/man \ |
||||
--disable-rpath |
||||
|
||||
make |
||||
|
||||
make |
||||
|
||||
sed -e "s|$SRCDIR/unix|/usr/lib|" \ |
||||
-e "s|$SRCDIR|/usr/include|" \ |
||||
-i tclConfig.sh |
||||
|
||||
sed -e "s|$SRCDIR/unix/pkgs/tdbc1.1.12|/usr/lib/tdbc1.1.12|" \ |
||||
-e "s|$SRCDIR/pkgs/tdbc1.1.12/generic|/usr/include|" \ |
||||
-e "s|$SRCDIR/pkgs/tdbc1.1.12/library|/usr/lib/tcl8.6|" \ |
||||
-e "s|$SRCDIR/pkgs/tdbc1.1.12|/usr/include|" \ |
||||
-i pkgs/tdbc1.1.12/tdbcConfig.sh |
||||
|
||||
sed -e "s|$SRCDIR/unix/pkgs/itcl4.3.4|/usr/lib/itcl4.3.4|" \ |
||||
-e "s|$SRCDIR/pkgs/itcl4.3.4/generic|/usr/include|" \ |
||||
-e "s|$SRCDIR/pkgs/itcl4.3.4|/usr/include|" \ |
||||
-i pkgs/itcl4.3.4/itclConfig.sh |
||||
|
||||
unset SRCDIR |
||||
|
||||
LC_ALL=C.UTF-8 make test |
||||
|
||||
make install |
||||
chmod 644 /usr/lib/libtclstub8.6.a |
||||
|
||||
|
||||
chmod -v u+w /usr/lib/libtcl8.6.so |
||||
|
||||
make install-private-headers |
||||
|
||||
ln -sfv tclsh8.6 /usr/bin/tclsh |
||||
|
||||
mv -v /usr/share/man/man3/{Thread,Tcl_Thread}.3 |
||||
) |
||||
|
||||
#cd .. |
||||
tar -xf ../tcl8.6.17-html.tar.gz --strip-components=1 |
||||
mkdir -v -p /usr/share/doc/tcl-8.6.17 |
||||
cp -v -r ./html/* /usr/share/doc/tcl-8.6.17 |
||||
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
python3 -c 'from pty import spawn; spawn(["echo", "ok"])' | tee /tmp/python_pty_spawn.log |
||||
|
||||
grep "OSError: out of pty devices" /tmp/python_pty_spawn.log && return 1 |
||||
|
||||
patch -Np1 -i ../expect-5.45.4-gcc15-1.patch |
||||
|
||||
./configure --prefix=/usr \ |
||||
--with-tcl=/usr/lib \ |
||||
--enable-shared \ |
||||
--disable-rpath \ |
||||
--mandir=/usr/share/man \ |
||||
--with-tclinclude=/usr/include |
||||
|
||||
make |
||||
|
||||
make test |
||||
|
||||
make install |
||||
|
||||
ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib |
||||
|
||||
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir -v build |
||||
|
||||
cd build || return 1 |
||||
|
||||
../configure --prefix=/usr |
||||
makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi |
||||
makeinfo --plaintext -o doc/dejagnu.txt ../doc/dejagnu.texi |
||||
|
||||
make check |
||||
|
||||
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 |
||||
|
||||
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/pkgconf-2.5.1 |
||||
|
||||
make |
||||
|
||||
make install |
||||
|
||||
ln -s pkgconf /usr/bin/pkg-config |
||||
ln -s pkgconf.1 /usr/share/man/man1/pkg-config.1 |
||||
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
mkdir -v build |
||||
|
||||
cd build || exit 1 |
||||
|
||||
../configure --prefix=/usr \ |
||||
--sysconfdir=/etc \ |
||||
--enable-ld=default \ |
||||
--enable-plugins \ |
||||
--enable-shared \ |
||||
--disable-werror \ |
||||
--enable-64-bit-bfd \ |
||||
--enable-new-dtags \ |
||||
--with-system-zlib \ |
||||
--enable-defualt-hash-style=gnu |
||||
|
||||
make tooldir=/usr |
||||
|
||||
PID=$$ |
||||
if ! make -k check | tee /tmp/binutils_make_check_${PID}.log |
||||
then |
||||
find . -type f -name '*.log' -exec grep --files-with-matches ^FAIL {} \; | while IFS= read -r failure |
||||
do |
||||
case "${failure}" in |
||||
./gprofng/gprofng.log) |
||||
continue |
||||
;; |
||||
*) |
||||
echo "test failure" |
||||
return 1 |
||||
;; |
||||
esac |
||||
done |
||||
fi |
||||
|
||||
make tooldir=/usr install |
||||
|
||||
rm -rfv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a /usr/share/doc/gprofng/ |
||||
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i '/long long t1;/,+1s/()/(...)/' configure |
||||
|
||||
case $(uname -m) in |
||||
i*86) |
||||
ABI=32 ./configure --prefix=/usr \ |
||||
--enable-cxx \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/gmp-6.3.0 |
||||
;; |
||||
x86_64) |
||||
./configure --prefix=/usr \ |
||||
--enable-cxx \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/gmp-6.3.0 |
||||
;; |
||||
esac |
||||
|
||||
|
||||
make |
||||
make html |
||||
|
||||
make check 2>&1 | tee gmp-check-log |
||||
|
||||
awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log |
||||
|
||||
make install |
||||
make install-html |
||||
|
||||
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--enable-thread-safe \ |
||||
--docdir=/usr/share/doc/mpfr-4.2.2 |
||||
|
||||
make |
||||
make html |
||||
|
||||
make check |
||||
|
||||
make install |
||||
make install-html |
||||
|
||||
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/mpc-1.3.1 |
||||
|
||||
make |
||||
make html |
||||
|
||||
make check |
||||
|
||||
make install |
||||
make install-html |
||||
|
||||
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--sysconfdir=/etc \ |
||||
--docdir=/usr/share/doc/attr-2.5.2 |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/acl-2.3.2 |
||||
|
||||
make |
||||
|
||||
#make check |
||||
|
||||
if ! make check | tee binutils_make_check.log |
||||
then |
||||
grep ^FAIL binutils_make_check.log | cut -d' ' -f 2 | while IFS= read -r failure |
||||
do |
||||
case "${failure}" in |
||||
test/cp.test) |
||||
continue |
||||
;; |
||||
*) |
||||
echo "test failure" |
||||
return 1 |
||||
;; |
||||
esac |
||||
done |
||||
fi |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i '/install -m.*STA/d' libcap/Makefile |
||||
|
||||
make prefix=/usr lib=lib |
||||
|
||||
make test |
||||
|
||||
make prefix=/usr lib=lib install |
||||
|
||||
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i '/strchr/s/const//' lib/crypt-{sm3,gost}-yescrypt.c |
||||
|
||||
./configure --prefix=/usr \ |
||||
--enable-hashes=strong,glibc \ |
||||
--enable-obsolete-api=no \ |
||||
--disable-static \ |
||||
--disable-failure-tokens |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
# recompile for ABI version 1 functions |
||||
# |
||||
# make distclean |
||||
# ./configure --prefix=/usr \ |
||||
# --enable-hashes=strong,glibc \ |
||||
# --enable-obsolete-api=glibc \ |
||||
# --disable-static \ |
||||
# --disable-failure-tokens |
||||
# make |
||||
# cp -av --remove-destination .libs/libcrypt.so.1* /usr/lib |
||||
|
||||
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
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 SHA512:' \ |
||||
-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 \ |
||||
--disable-logind \ |
||||
--with-group-name-max-length=32 |
||||
|
||||
make |
||||
|
||||
make exec_prefix=/usr install |
||||
make -C man install-man |
||||
|
||||
pwconv |
||||
grpconv |
||||
|
||||
mkdir -p /etc/default |
||||
useradd -D --gid 999 |
||||
|
||||
echo "root:$(basename "$(pwd)")" | chpasswd |
||||
@ -0,0 +1,64 @@
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i 's/char [*]q/const &/' libgomp/affinity-fmt.c |
||||
|
||||
case $(uname -m) in |
||||
x86_64) |
||||
sed -e '/m64=/s/lib64/lib/' \ |
||||
-i.orig gcc/config/i386/t-linux64 |
||||
;; |
||||
esac |
||||
|
||||
mkdir -v build |
||||
cd build || return 1 |
||||
|
||||
../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 || return 1 |
||||
|
||||
ulimit -s -H unlimited |
||||
|
||||
sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp |
||||
|
||||
chown -Rv tester . |
||||
|
||||
su tester -c "PATH=$PATH make -k check" |
||||
|
||||
../contrib/test_summary |
||||
|
||||
make install || return 1 |
||||
|
||||
chown -v -R root:root /usr/lib/gcc/"$(gcc -dumpmachine)"/15.2.0/include{,-fixed} |
||||
|
||||
ln -svr /usr/bin/cpp /usr/lib |
||||
|
||||
ln -sv gcc.1 /usr/share/man/man1/cc.1 |
||||
|
||||
ln -svf ../../libexec/gcc/"$(gcc -dumpmachine)"/15.2.0/liblto_plugin.so /usr/lib/bfd-plugins/ |
||||
|
||||
echo 'int main(){}' | cc -x c - -v -Wl,--verbose &> dummy.log |
||||
|
||||
readelf -l a.out | grep ': /lib' || return 1 |
||||
|
||||
grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log || return 1 |
||||
|
||||
grep -B4 '^ /usr/include' dummy.log || return 1 |
||||
|
||||
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' || return 1 |
||||
|
||||
grep "/lib.*/libc.so.6 " dummy.log || return 1 |
||||
|
||||
grep found dummy.log || return 1 |
||||
|
||||
mkdir -pv /usr/share/gdb/auto-load/usr/lib |
||||
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib |
||||
|
||||
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./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 |
||||
sed -e 's/^#if.*XOPEN.*$/#if 1/' \ |
||||
-i dest/usr/include/curses.h |
||||
cp --remove-destination -av dest/* / |
||||
|
||||
for lib in ncurses form panel menu ; do |
||||
ln -svf lib${lib}w.so /usr/lib/lib${lib}.so |
||||
ln -svf ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc |
||||
done |
||||
|
||||
ln -sf libncursesw.so /usr/lib/libcurses.so |
||||
|
||||
cp -v -R doc -T /usr/share/doc/ncurses-6.6 |
||||
|
||||
|
||||
# compilation with ABI version 5 |
||||
# make distclean |
||||
# ./configure --prefix=/usr \ |
||||
# --with-shared \ |
||||
# --without-normal \ |
||||
# --without-debug \ |
||||
# --without-cxx-binding \ |
||||
# --with-abi-version=5 |
||||
# make sources libs |
||||
# cp -av lib/lib*.so.5* /usr/lib |
||||
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
make html |
||||
|
||||
chown -R tester . |
||||
su tester -c "PATH=$PATH make check" |
||||
|
||||
make install |
||||
install -d -m755 /usr/share/doc/sed-4.9 |
||||
install -m644 doc/sed.html /usr/share/doc/sed-4.9 |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/gettext-1.0 |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
chmod -v 0755 /usr/lib/preloadable_libintl.so |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr --docdir=/usr/share/doc/bison-3.8.2 |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i "s/echo/#echo/" src/egrep.sh |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--without-bash-malloc \ |
||||
--with-installed-readline \ |
||||
--docdir=/usr/share/doc/bash-5.3 |
||||
|
||||
make |
||||
|
||||
|
||||
chown -R tester . |
||||
|
||||
LC_ALL=C.UTF-8 su -s /usr/bin/expect tester << "EOF" |
||||
set timeout -1 |
||||
spawn make tests |
||||
expect eof |
||||
lassign [wait] _ _ _ value |
||||
exit $value |
||||
EOF |
||||
|
||||
make install |
||||
|
||||
#exec /usr/bin/bash --login |
||||
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
rm -fv /usr/lib/libltdl.a |
||||
|
||||
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--enable-libgdbm-compat |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.3 |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr \ |
||||
--disable-static \ |
||||
--docdir=/usr/share/doc/expat-2.7.4 |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
install -v -m644 doc/*.{html,css} /usr/share/doc/expat-2.7.4 |
||||
|
||||
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
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 |
||||
|
||||
[ -e /tmp/inetutils_make_check.log ] && rm /tmp/inetutils_make_check.log |
||||
|
||||
if ! make check | tee /tmp/inetutils_make_check.log |
||||
then |
||||
grep ^FAIL /tmp/inetutils_make_check.log | cut --delimiter=' ' --fields=2 | while IFS= read -r failure |
||||
do |
||||
case ${failure} in |
||||
libls.sh) |
||||
echo "One test named libls.sh is known to fail sometimes." |
||||
continue |
||||
;; |
||||
*) |
||||
echo "Failed on FAIL" |
||||
exit 1 |
||||
;; |
||||
esac |
||||
done |
||||
fi |
||||
|
||||
make install |
||||
|
||||
mv -v /usr/{,s}bin/ifconfig |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr --sysconfdir=/etc |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
export BUILD_ZLIB=False |
||||
export BUILD_BZIP2=0 |
||||
|
||||
sh Configure -des \ |
||||
-D prefix=/usr \ |
||||
-D vendorprefix=/usr \ |
||||
-D privlib=/usr/lib/perl5/5.42/core_perl \ |
||||
-D archlib=/usr/lib/perl5/5.42/core_perl \ |
||||
-D sitelib=/usr/lib/perl5/5.42/site_perl \ |
||||
-D sitearch=/usr/lib/perl5/5.42/site_perl \ |
||||
-D vendorlib=/usr/lib/perl5/5.42/vendor_perl \ |
||||
-D vendorarch=/usr/lib/perl5/5.42/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 |
||||
|
||||
TEST_JOBS=${LFS_NPROC} make test_harness |
||||
|
||||
make install |
||||
unset BUILD_ZLIB BUILD_BZIP2 |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
perl Makefile.PL |
||||
|
||||
make |
||||
|
||||
make test |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
sed -i 's:\\\${:\\\$\\{:' intltool-update.in |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
make check |
||||
|
||||
make install |
||||
install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-0.51.0/I18N-HOWTO |
||||
|
||||
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr |
||||
|
||||
make |
||||
|
||||
[ -e /tmp/autoconf_make_check.log ] && rm /tmp/autoconf_make_check.log |
||||
|
||||
if ! make check | tee /tmp/autoconf_make_check.log |
||||
then |
||||
echo "return code ko" |
||||
case $(uname -m) in |
||||
i?86) |
||||
grep FAILED /tmp/autoconf_make_check.log | cut -d' ' -f 2 | while IFS= read -r failure |
||||
do |
||||
echo "FAILED : ${failure}" |
||||
case ${failure} in |
||||
AC_SYS_LARGEFILE|AC_SYS_YEAR2038|AC_SYS_YEAR2038_RECOMMENDED) |
||||
echo "It's a 32 bits system. don't pass 2038 date limit." |
||||
continue |
||||
;; |
||||
*) |
||||
echo "Critical error in tests : ${failure}" |
||||
exit 1 |
||||
;; |
||||
esac |
||||
done |
||||
;; |
||||
*) |
||||
echo "Critical error in tests" |
||||
exit 1 |
||||
;; |
||||
esac |
||||
fi |
||||
|
||||
make install |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.18.1 |
||||
|
||||
make |
||||
|
||||
make -j$((LFS_NPROC>4?LFS_NPROC:4)) check |
||||
|
||||
make install |
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue