From 239d2a881fcfa09b04771fadd5ed9b3e292967ad Mon Sep 17 00:00:00 2001 From: kevadesu Date: Sun, 26 Jan 2025 22:10:02 +0100 Subject: [PATCH] E --- Einrichter-CLI.sh | 122 +++++++++--------- Einrichter-as-LFS.sh | 8 +- Einrichter-in-chroot.sh | 266 ++++++++++++++++++++++++++++++++++++++-- wget-list-systemd | 1 + 4 files changed, 322 insertions(+), 75 deletions(-) diff --git a/Einrichter-CLI.sh b/Einrichter-CLI.sh index 2dcf8fa..2f2bfc0 100755 --- a/Einrichter-CLI.sh +++ b/Einrichter-CLI.sh @@ -32,74 +32,74 @@ function einrichter.colours() { Color_Off='\033[0m' # Text Reset # Regular Colors - Black='\033[0;30m' # Black - Red='\033[0;31m' # Red - Green='\033[0;32m' # Green - Yellow='\033[0;33m' # Yellow - Blue='\033[0;34m' # Blue - Purple='\033[0;35m' # Purple - Cyan='\033[0;36m' # Cyan - White='\033[0;37m' # White - + export Black='\033[0;30m' # Black + export Red='\033[0;31m' # Red + export Green='\033[0;32m' # Green + export Yellow='\033[0;33m' # Yellow + export Blue='\033[0;34m' # Blue + export Purple='\033[0;35m' # Purple + export Cyan='\033[0;36m' # Cyan + export White='\033[0;37m' # White + # Bold - BBlack='\033[1;30m' # Black - BRed='\033[1;31m' # Red - BGreen='\033[1;32m' # Green - BYellow='\033[1;33m' # Yellow - BBlue='\033[1;34m' # Blue - BPurple='\033[1;35m' # Purple - BCyan='\033[1;36m' # Cyan - BWhite='\033[1;37m' # White - + export BBlack='\033[1;30m' # Black + export BRed='\033[1;31m' # Red + export BGreen='\033[1;32m' # Green + export BYellow='\033[1;33m' # Yellow + export BBlue='\033[1;34m' # Blue + export BPurple='\033[1;35m' # Purple + export BCyan='\033[1;36m' # Cyan + export BWhite='\033[1;37m' # White + # Underline - UBlack='\033[4;30m' # Black - URed='\033[4;31m' # Red - UGreen='\033[4;32m' # Green - UYellow='\033[4;33m' # Yellow - UBlue='\033[4;34m' # Blue - UPurple='\033[4;35m' # Purple - UCyan='\033[4;36m' # Cyan - UWhite='\033[4;37m' # White - + export UBlack='\033[4;30m' # Black + export URed='\033[4;31m' # Red + export UGreen='\033[4;32m' # Green + export UYellow='\033[4;33m' # Yellow + export UBlue='\033[4;34m' # Blue + export UPurple='\033[4;35m' # Purple + export UCyan='\033[4;36m' # Cyan + export UWhite='\033[4;37m' # White + # Background - On_Black='\033[40m' # Black - On_Red='\033[41m' # Red - On_Green='\033[42m' # Green - On_Yellow='\033[43m' # Yellow - On_Blue='\033[44m' # Blue - On_Purple='\033[45m' # Purple - On_Cyan='\033[46m' # Cyan - On_White='\033[47m' # White + export On_Black='\033[40m' # Black + export On_Red='\033[41m' # Red + export On_Green='\033[42m' # Green + export On_Yellow='\033[43m' # Yellow + export On_Blue='\033[44m' # Blue + export On_Purple='\033[45m' # Purple + export On_Cyan='\033[46m' # Cyan + export On_White='\033[47m' # White # High Intensity - IBlack='\033[0;90m' # Black - IRed='\033[0;91m' # Red - IGreen='\033[0;92m' # Green - IYellow='\033[0;93m' # Yellow - IBlue='\033[0;94m' # Blue - IPurple='\033[0;95m' # Purple - ICyan='\033[0;96m' # Cyan - IWhite='\033[0;97m' # White + export IBlack='\033[0;90m' # Black + export IRed='\033[0;91m' # Red + export IGreen='\033[0;92m' # Green + export IYellow='\033[0;93m' # Yellow + export IBlue='\033[0;94m' # Blue + export IPurple='\033[0;95m' # Purple + export ICyan='\033[0;96m' # Cyan + export IWhite='\033[0;97m' # White # Bold High Intensity - BIBlack='\033[1;90m' # Black - BIRed='\033[1;91m' # Red - BIGreen='\033[1;92m' # Green - BIYellow='\033[1;93m' # Yellow - BIBlue='\033[1;94m' # Blue - BIPurple='\033[1;95m' # Purple - BICyan='\033[1;96m' # Cyan - BIWhite='\033[1;97m' # White + export BIBlack='\033[1;90m' # Black + export BIRed='\033[1;91m' # Red + export BIGreen='\033[1;92m' # Green + export BIYellow='\033[1;93m' # Yellow + export BIBlue='\033[1;94m' # Blue + export BIPurple='\033[1;95m' # Purple + export BICyan='\033[1;96m' # Cyan + export BIWhite='\033[1;97m' # White # High Intensity backgrounds - On_IBlack='\033[0;100m' # Black - On_IRed='\033[0;101m' # Red - On_IGreen='\033[0;102m' # Green - On_IYellow='\033[0;103m' # Yellow - On_IBlue='\033[0;104m' # Blue - On_IPurple='\033[0;105m' # Purple - On_ICyan='\033[0;106m' # Cyan - On_IWhite='\033[0;107m' # White + export On_IBlack='\033[0;100m' # Black + export On_IRed='\033[0;101m' # Red + export On_IGreen='\033[0;102m' # Green + export On_IYellow='\033[0;103m' # Yellow + export On_IBlue='\033[0;104m' # Blue + export On_IPurple='\033[0;105m' # Purple + export On_ICyan='\033[0;106m' # Cyan + export On_IWhite='\033[0;107m' # White echo "[i] The colour variables have been set." } @@ -204,7 +204,7 @@ function einrichter.installer.chroot() { mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run if [ -h $LFS/dev/shm ]; then - install -v -d -m 1777 $LFS$(realpath /dev/shm) + install -v -d -m 1777 "$LFS$(realpath /dev/shm)" else mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi @@ -260,7 +260,7 @@ DESTROY THE ENTIRE HOST SYSTEM. YOU ARE WARNED." } function einrichter.installer.bg() { - + echo "E" } function einrichter.installer.fail() { diff --git a/Einrichter-as-LFS.sh b/Einrichter-as-LFS.sh index 2eb6e4c..01cdaaf 100755 --- a/Einrichter-as-LFS.sh +++ b/Einrichter-as-LFS.sh @@ -3,7 +3,7 @@ main() { echo "Einrichter is designed to work as an install script where you can resume where you left off. Do NOT skip anything if you have not ran the step yet." read -p "Pending step: Setting up environment. Run, skip or quit?" OPT - case in "$OPT" + case "$OPT" in R) eal.setup.env ;; @@ -18,7 +18,7 @@ main() { ;; esac read -p "Pending step: Setting up toolchain. Run, skip or quit?" OPT - case in "$OPT" + case "$OPT" in R) eal.setup.toolchain ;; @@ -33,7 +33,7 @@ main() { ;; esac read -p "Pending step: Installing cross toolchain and packages. Run, skip or quit?" OPT - case in "$OPT" + case "$OPT" in R) eal.install.cross-toolchain ;; @@ -73,7 +73,7 @@ MAKEFLAGS=-j$(nproc) export LFS LC_ALL LFS_TGT PATH CONFIG_SITE MAKEFLAGS EOF -source ~/.bash_profile +source $HOME/.bash_profile } function eal.notification.buildconf() { diff --git a/Einrichter-in-chroot.sh b/Einrichter-in-chroot.sh index f04816e..c3e798c 100755 --- a/Einrichter-in-chroot.sh +++ b/Einrichter-in-chroot.sh @@ -742,7 +742,7 @@ function eic.system.build.gcc() { eic.system.build.gcc.ask() { read -p "Pending step: Running test suite. Run, skip or quit?" OPT - case in "$OPT" + case "$OPT" in R) chown -R tester . su tester -c "PATH=$PATH make -k check" @@ -837,7 +837,7 @@ function eic.system.build.continue() { make eic.system.build.continue.gettext.ask() { read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT - case in "$OPT" + case "$OPT" in R) make check > /eilogs/8.33-gettext-test.log ;; @@ -862,7 +862,7 @@ function eic.system.build.continue() { make eic.system.build.continue.bison.ask() { read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT - case in "$OPT" + case "$OPT" in R) make check > /eilogs/8.34-bison-test.log ;; @@ -897,7 +897,7 @@ function eic.system.build.continue() { make eic.system.build.continue.bash.ask() { read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT - case in "$OPT" + case "$OPT" in R) chown -R tester . su -s /usr/bin/expect tester << "EOF" @@ -993,7 +993,7 @@ EOF export BUILD_BZIP2=0 sh Configure -des \ -D prefix=/usr \ - -D vendorprefix=/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 \ @@ -1009,7 +1009,7 @@ EOF make install eic.system.build.continue.perl.ask() { read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT - case in "$OPT" + case "$OPT" in R) TEST_JOBS=$(nproc) make test_harness > /eilogs/8.43-perl-test.log ;; @@ -1056,7 +1056,7 @@ EOF make eic.system.build.continue.autoconf.ask() { read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT - case in "$OPT" + case "$OPT" in R) make check > /eilogs/8.46-autoconf-test.log ;; @@ -1080,7 +1080,7 @@ EOF make eic.system.build.continue.automake.ask() { read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT - case in "$OPT" + case "$OPT" in R) make -j$(($(nproc)>4?$(nproc):4)) check > /eilogs/8.47-automake-test.log ;; @@ -1162,7 +1162,7 @@ EOF make eic.system.build.continue.python.ask() { read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT - case in "$OPT" + case "$OPT" in R) make test TESTOPTS="--timeout 120" > /eilogs/8.52-python-test.log ;; @@ -1257,7 +1257,7 @@ if ( j > 0 ) return j;\ make make install popd - pushd gawk + pushd gawk/ sed -i 's/extras//' Makefile.in ./configure --prefix=/usr rm -f /usr/bin/gawk-5.3.0 @@ -1266,4 +1266,250 @@ if ( j > 0 ) return j;\ mkdir -pv /usr/share/doc/gawk-5.3.0 cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-5.3.0 popd + pushd findutils/ + ./configure --prefix=/usr --localstatedir=/var/lib/locate + make + make install + popd + tar -xvf groff-1.23.0.tar.gz; + mv groff-1.23.0 groff + pushd groff/ + PAGE=A4 ./configure --prefix=/usr # European standard + make + make install + popd + tar -xvf grub-2.12.tar.xz; + mv grub-2.12 grub + pushd grub/ + unset {C,CPP,CXX,LD}FLAGS + echo depends bli part_gpt > grub-core/extra_deps.lst + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-efiemu \ + --disable-werror + make + make install + mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions + popd + pushd gzip/ + ./configure --prefix=/usr + make + make install + popd + tar -xvf iproute2-6.10.0.tar.xz; + mv iproute2-6.10.0 iproute2 + pushd iproute/ + sed -i /ARPD/d Makefile + rm -fv man/man8/arpd.8 + make NETNS_RUN_DIR=/run/netns + make SBINDIR=/usr/sbin install + mkdir -pv /usr/share/doc/iproute2-6.10.0 + cp -v COPYING README* /usr/share/doc/iproute2-6.10.0 + popd + tar -xvf kbd-2.6.4.tar.xz; + mv kbd-2.6.4 kbd + pushd kbd/ + 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 check + make install + cp -R -v docs/doc -T /usr/share/doc/kbd-2.6.4 + popd + tar -xvf libpipeline-1.5.7.tar.gz; + mv libpipeline-1.5.7 libpipeline + pushd libpipeline/ + ./configure --prefix=/usr + make + make check + make install + popd + pushd make/ + ./configure --prefix=/usr + make + eic.system.build.continue.make.ask() { + read -p "Pending step: Running test suite. Run, skip or quit? (~3 SBUs)" OPT + case "$OPT" in + R) + chown -R tester . + su tester -c "PATH=$PATH make check" > /eilogs/8.69-make-test.log + ;; + S) + echo "Step skipped." + ;; + Q) + exit + ;; + *) + echo "Unknown command. Repeating questions." + eic.system.build.continue.make.ask + ;; + esac + } + eic.system.build.continue.make.ask + make install + popd + pushd patch/ + ./configure --prefix=/usr + make + make check + make install + popd + pushd tar/ + FORCE_UNSAFE_CONFIGURE=1 \ + ./configure --prefix=/usr + make + make install + make -C doc install-html docdir=/usr/share/doc/tar-1.35 + popd + pushd texinfo/ + ./configure --prefix=/usr + make + make check + make install + make TEXMF=/usr/share/texmf install-tex + popd + tar -xvf nano-8.1.tar.xz; + mv nano-8.1 nano + pushd nano/ + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-utf8 \ + --docdir=/usr/share/doc/nano-8.1 + make + make install + install -v -m644 doc/{nano.html,sample.nanorc} /usr/share/doc/nano-8.1 + popd + tar -xvf MarkupSafe-2.1.5.tar.gz; + mv MarkupSafe-2.1.5 MarkupSafe + pushd MarkupSafe/ + pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD + pip3 install --no-index --no-user --find-links dist Markupsafe + popd + tar -xvf jinja2-3.1.4.tar.gz; + mv jinja2-3.1.4 jinja + pushd jinja/ + pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD + pip3 install --no-index --no-user --find-links dist Jinja2 + popd + tar -xvf systemd-256.4.tar.gz; + mv systemd-256.4 systemd + pushd systemd/ + sed -i -e 's/GROUP="render"/GROUP="video"/' \ + -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in + mkdir -p build + cd build + + meson setup .. \ + --prefix=/usr \ + --buildtype=release \ + -D default-dnssec=no \ + -D firstboot=false \ + -D install-tests=false \ + -D ldconfig=false \ + -D sysusers=false \ + -D rpmmacrosdir=no \ + -D homed=disabled \ + -D userdb=false \ + -D man=disabled \ + -D mode=release \ + -D pamconfdir=no \ + -D dev-kvm-mode=0660 \ + -D nobody-group=nogroup \ + -D sysupdate=disabled \ + -D ukify=disabled \ + -D docdir=/usr/share/doc/systemd-256.4 + ninja + echo 'NAME="TylkoLinux"' > /etc/os-release + ninja test + ninja install + tar -xf ../../systemd-man-pages-256.4.tar.xz \ + --no-same-owner --strip-components=1 \ + -C /usr/share/man + systemd-machine-id-setup + systemctl preset-all + popd + tar -xvf dbus-1.14.10.tar.xz; + mv dbus-1.14.10 dbus + pushd dbus/ + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --runstatedir=/run \ + --enable-user-session \ + --disable-static \ + --disable-doxygen-docs \ + --disable-xml-docs \ + --docdir=/usr/share/doc/dbus-1.14.10 \ + --with-system-socket=/run/dbus/system_bus_socket + make + make check + make install + ln -sfv /etc/machine-id /var/lib/dbus + popd + tar -xvf man-db-2.12.1.tar.xz; + mv man-db-2.12.1 man-db + pushd man-db/ + ./configure --prefix=/usr \ + --docdir=/usr/share/doc/man-db-2.12.1 \ + --sysconfdir=/etc \ + --disable-setuid \ + --enable-cache-owner=bin \ + --with-browser=/usr/bin/lynx \ + --with-vgrind=/usr/bin/vgrind \ + --with-grap=/usr/bin/grap + make + make check + make install + popd + tar -xvf procps-ng-4.0.4.tar.xz; + mv procps-ng-4.0.4 procps-ng + pushd procps-ng/ + ./configure --prefix=/usr \ + --docdir=/usr/share/doc/procps-ng-4.0.4 \ + --disable-static \ + --disable-kill \ + --with-systemd + make src_w_LDADD='$(LDADD) -lsystemd' + chown -R tester . + su tester -c "PATH=$PATH make check" + make install + popd + pushd util-linux/ + ./configure --bindir=/usr/bin \ + --libdir=/usr/lib \ + --runstatedir=/run \ + --sbindir=/usr/sbin \ + --disable-chfn-chsh \ + --disable-login \ + --disable-nologin \ + --disable-su \ + --disable-setpriv \ + --disable-runuser \ + --disable-pylibmount \ + --disable-liblastlog2 \ + --disable-static \ + --without-python \ + ADJTIME_PATH=/var/lib/hwclock/adjtime \ + --docdir=/usr/share/doc/util-linux-2.40.2 + make + make install + popd + tar -xvf e2fsprogs-1.47.1.tar.gz; + mv e2fsprogs-1.47.1 e2fsprogs + pushd e2fsprogs/ + mkdir -v build + cd build + ../configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-elf-shlibs \ + --disable-libblkid \ + --disable-libuuid \ + --disable-uuidd \ + --disable-fsck + make + make check + make install } diff --git a/wget-list-systemd b/wget-list-systemd index 89c2b84..be0501d 100644 --- a/wget-list-systemd +++ b/wget-list-systemd @@ -87,3 +87,4 @@ https://www.linuxfromscratch.org/patches/lfs/12.2/coreutils-9.5-i18n-2.patch https://www.linuxfromscratch.org/patches/lfs/12.2/expect-5.45.4-gcc14-1.patch https://www.linuxfromscratch.org/patches/lfs/12.2/glibc-2.40-fhs-1.patch https://www.linuxfromscratch.org/patches/lfs/12.2/kbd-2.6.4-backspace-1.patch +https://www.nano-editor.org/dist/v8/nano-8.1.tar.xz