diff --git a/LICENSE b/LICENSE index 2071b23..0f90309 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) +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: diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9108ccc --- /dev/null +++ b/Makefile @@ -0,0 +1,24 @@ +all: build + +build : + bash build.sh | tee ${HOME}/lfs_build.log + +install-strip-all: + cp --verbose ./build/1002010_strip-all.sh /usr/sbin/strip-all.sh + chmod --verbose 744 /usr/sbin/strip-all.sh + +install-remove-libtool: + cp --verbose ./build/1002020_remove-la-files.sh /usr/sbin/remove-la-files.sh + chmod +x /usr/sbin/remove-la-files.sh + +install-profile: + cp --verbose ./build/1003010_profile.sh /etc/profile + install --verbose --directory --mode=0755 --owner=root --group=root /etc/profile.d + cp --verbose ./build/1003020_extrapath.sh /etc/profile.d/extrapaths.sh + cp --verbose ./build/1003030_readline.sh /etc/profile.d/readline.sh + cp --verbose ./build/1003040_umask.sh /etc/profile.d/umask.sh + cp --verbose ./build/1003050_i18n.sh /etc/profile.d/i18n.sh + cp --verbose ./build/1003060_bashrc.sh /etc/bashrc + +install-vimrc: + cp --verbose ./build/1003100_vimrc.txt /etc/vimrc diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..bd4f981 --- /dev/null +++ b/build.sh @@ -0,0 +1,415 @@ +#!/usr/bin/env bash + +cat > /tmp/blfs_sudo << EOF +blfs ALL = NOPASSWD: /usr/bin/make install* +EOF + +if [ "$(whoami)" != "blfs" ] +then + echo "Please execute this script as user blfs" + echo "# groupadd blfs" + echo "# useradd -g blfs -m blfs" + echo "# passwd blfs" + exit 1 +fi + +set -ueEo pipefail + +# shellcheck source=/dev/null +if [ ! -e "${HOME}"/.blfsbuild_config ] +then + cat > "${HOME}"/.blfsbuild_config << EOSF +# location of local package sources +BLFS_PACKAGE_DIR=${HOME}/packages +# Number of processors to use +BLFS_NPROC=$(nproc) +# Bypass step by step validation until a breakpoint +BLFS_BREAKPOINT=1 +# strip binaries or not +BLFS_STRIP_BINARIES=true +EOSF +fi + +# shellcheck source=/dev/null +source "${HOME}"/.lfsbuild_config + +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +BLFS_PACKAGE_DIR=${BLFS_PACKAGE_DIR:-/home/blfs/packages} +BLFS_NPROC=${BLFS_NPROC:-$(nproc)} +BLFS_BREAKPOINT=${LFS_BREAKPOINT:-1000000} +BLFS_STRIP_BINARIES=${BLFS_STRIP_BINARIES:-false} + +ask_for_exit() +{ + echo "----- call ask_for_exit $1" + echo "find ${SCRIPT_DIR}/build/ \( -name \"*.sh\" -or -name \"*.txt\" \) -print |sort |grep --context=1 \$(cat ${HLFSB})" + find "${SCRIPT_DIR}/build/" \( -name "*.sh" -or -name "*.txt" \) -print |sort |grep --context=1 "$(cat "${HLFSB}")" + echo "ask_for_exit : args = $* && $1 < ${BLFS_BREAKPOINT} (BLFS_BREAKPOINT) || $1 < $(cat "${HLFSB}") (HLFSB) || ${BLFS_BREAKPOINT} (BLFS_BREAKPOINT) > $(cat "${HLFSB}") (HLFSB) " + if [[ $# -eq 1 ]] && [[ $1 -ge 10000 ]] && [[ $1 -lt 10000000 ]] && [[ $1 -lt ${BLFS_BREAKPOINT} ]] + then + echo "BLFS_BREAKPOINT : validation disabled" + return 0 + elif [[ $# -eq 1 ]] && [[ $1 -ge 10000 ]] && [[ $1 -lt 10000000 ]] && [[ $1 -lt $(cat "${HLFSB}") ]] + then + echo "STEP_COUNTER : already done. validation disabled" + return 0 + elif [[ $# -eq 1 ]] && [[ $1 -ge 10000 ]] && [[ $1 -lt 10000000 ]] && [[ ${BLFS_BREAKPOINT} -gt $(cat "${HLFSB}") ]] + then + echo "BLFS_BREAKPOINT : validation forced" + return 0 + else + USER_ANSWER="?"; + while [ "${USER_ANSWER}" != "n" ] && [ "${USER_ANSWER}" != "y" ] ; do + echo -n "Continue ? [y/n]" + read -r -n 1 USER_ANSWER + echo ""; + done + if [ "$USER_ANSWER" == "n" ] + then + exit 0 + fi + fi +} + +ask_for_execution() { + USER_ANSWER="?"; + while [ "${USER_ANSWER}" != "n" ] && [ "${USER_ANSWER}" != "y" ] && [ "${USER_ANSWER}" != "q" ] + do + echo -n "Execute ? [y/n/q]" + read -r -n 1 USER_ANSWER + echo ""; + done + if [ "$USER_ANSWER" == "y" ] + then + return 0 + elif [ "$USER_ANSWER" == "n" ] + then + return 1 + elif [ "$USER_ANSWER" == "q" ] + then + exit 0 + else + exit 0 + fi +} + +cat > "${HOME}"/.bashrc << EOF +set +h +umask 022 +export PATH=/usr/bin +export MAKEFLAGS=-j${BLFS_NPROC} +export ARCH=$(uname -m) +export LC_ALL=POSIX +export SOURCES=/sources +export SLFSB=/sources/lfs_build +EOF + +# shellcheck source=/dev/null +source "${HOME}"/.bashrc + +describe() +{ + case $1 in + w3m) + echo "w3m is a text browser" + ;; + *) + echo "Unknown package" + exit 1 + ;; + esac + +} + +check_installed() +{ + chapter=$1 + package=$2 + + check() + { + proof=$1 + echo "$ find /usr -name ${proof} (${package})" + if [ ! -e "${proof}" ] + then + echo "FAILED: ${proof} not found" + describe "${package}" + exit 1 + fi + } + + case ${package} in + w3m) + check /usr/bin/w3m + ;; + *) + echo "Unkwnown package : ${package}" + exit 1 + ;; + esac +} + +check_sources() +{ + echo "call check_sources" + while IFS= read -r line + do + echo "Line: $line" + local packagefilename=${line##*/} + echo "${packagefilename}" + [ -d "${BLFS_PACKAGE_DIR}" ] && mkdir -v "${BLFS_PACKAGE_DIR}" + pushd "${BLFS_PACKAGE_DIR}" + md5sum --check "${SCRIPT_DIR}/md5sums" + ret=$? + popd + return ${ret} + done < "${SCRIPT_DIR}/wget-list-systemd.txt" +} + +check_download() +{ + echo "call check_download" + wget --input-file=wget-list-systemd.txt --continue --directory-prefix="${BLFS_PACKAGE_DIR}" + ret=$? + return ${ret} +} + +check_errors() +{ + echo "call check_errors $1" + if [[ $# -ne 1 ]] + then + echo "bad argument in function call" + return 1 + fi + logfile=$1 + if grep "Permission denied" "${logfile}" + then + echo "Rights error" + exit 1 + fi +# if grep "configure: error" "${logfile}" +# then +# echo "Configure Error" +# cat "${buildpath}"/config.log +# exit 1 +# fi + if grep "^make: .* Error .*$" "${logfile}" + then + echo "Make Error" + exit 1 + fi +} + +copy_sources() +{ + echo "call copy_sources" + echo cp --verbose "${BLFS_PACKAGE_DIR}"/* /sources/ + if cp --verbose "${BLFS_PACKAGE_DIR}"/* /sources/ + then + return 0 + else + return 1 + fi +} + +copy_scripts() +{ + echo "call copy_scripts" + echo cp --verbose "${SCRIPT_DIR}"/build/* /sources/ + if cp --verbose "${SCRIPT_DIR}"/build/* /sources/ + then + return 0 + else + return 1 + fi +} + +main() { + + cd "$SCRIPT_DIR" + + echo "1001000" > "${SLFSB}" + + echo "Chapter 1. Welcome to BLFS" + +### DOWNLOAD PACKAGES ### + echo "Getting the Source Packages" + if [[ $(cat "${SLFSB}") -lt 1001010 ]] + then + if ! check_sources + then + echo "Some package are missing" + if ! download + then + echo "Some package are unavailable" + echo "Try manually" + exit 1 + fi + else + echo "1001010" > "${SLFSB}" + fi + fi + + if [[ $(cat "${SLFSB}") -lt 1001020 ]] + then + if ! check_sources + then + echo "Some package are unavailable" + echo "Fix it manually" + exit 1 + else + echo "1001020" > "${SLFSB}" + fi + fi + + ask_for_exit 1001020 + +### COPY SOURCES ### + + echo "Copy sources" + if [[ $(cat "${SLFSB}") -lt 1001030 ]] + then + if ! copy_sources + then + echo "Copy packages to sources failed" + exit 1 + else + echo "1001030" > "${SLFSB}" + fi + fi + + ask_for_exit 1001030 + + echo "Copy scripts" + if [[ $(cat "${SLFSB}") -lt 1001040 ]] + then + if ! copy_scripts + then + echo "Copy scripts to sources failed" + exit 1 + else + echo "1001040" > "${SLFSB}" + fi + fi + +######################################### +### Begin to follow steps on target ##### +######################################### + + ask_for_exit 1000040 + + echo "Chapter 2. Important Information" + echo "Install strip script" + if [[ $(cat "${SLFSB}") -lt 1002010 ]] + then + if ! sudo make install-strip-all + then + echo "Copy failed" + exit 1 + else + echo "1002010" > "${SLFSB}" + fi + fi + + ask_for_exit 1002010 + + echo "Install libtool cleaning script" + if [[ $(cat "${SLFSB}") -lt 1002020 ]] + then + if ! sudo make install-remove-libtool + then + echo "Copy failed" + exit 1 + else + echo "1002020" > "${SLFSB}" + fi + fi + + ask_for_exit 1002020 + echo "Chapter 3. After LFS Configuration Issues " + echo "The Bash Shell Startup Files" + if [[ $(cat "${SLFSB}") -lt 1003010 ]] + then + if ! sudo make install-profile + then + echo "Copy failed" + exit 1 + else + echo "1003010" > "${SLFSB}" + fi + fi + + ask_for_exit 1003060 + echo " The /etc/vimrc and ~/.vimrc Files " + if [[ $(cat "${SLFSB}") -lt 1003100 ]] + then + if ! sudo make install-profile + then + echo "Copy failed" + exit 1 + else + echo "1003100" > "${SLFSB}" + fi + fi + + ask_for_exit 1003100 + echo "Chapter 4. Security" + if [[ $(cat "${SLFSB}") -lt 1003030 ]] + then + if ! sudo make install-profile + then + echo "Copy failed" + exit 1 + else + echo "1003030" > "${SLFSB}" + fi + fi + + ask_for_exit 1003040 + echo "Chapter 3. After LFS Configuration Issues " + echo "The Bash Shell Startup Files" + if [[ $(cat "${SLFSB}") -lt 1003040 ]] + then + if ! sudo make install-profile + then + echo "Copy failed" + exit 1 + else + echo "1003020" > "${SLFSB}" + fi + fi + + ask_for_exit 1003010 + echo "Chapter 3. After LFS Configuration Issues " + echo "The Bash Shell Startup Files" + if [[ $(cat "${SLFSB}") -lt 1003020 ]] + then + if ! sudo make install-profile + then + echo "Copy failed" + exit 1 + else + echo "1003020" > "${SLFSB}" + fi + fi + + ask_for_exit 1003010 + echo "Chapter 3. After LFS Configuration Issues " + echo "The Bash Shell Startup Files" + if [[ $(cat "${SLFSB}") -lt 1003020 ]] + then + if ! sudo make install-profile + then + echo "Copy failed" + exit 1 + else + echo "1003020" > "${SLFSB}" + fi + fi + +} + +if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then + main "$@" +fi diff --git a/build/1001000_welcome.txt b/build/1001000_welcome.txt new file mode 100644 index 0000000..e69de29 diff --git a/build/1001010_download.txt b/build/1001010_download.txt new file mode 100644 index 0000000..e69de29 diff --git a/build/1001020_md5sum.txt b/build/1001020_md5sum.txt new file mode 100644 index 0000000..e69de29 diff --git a/build/1001030_copy_packages.txt b/build/1001030_copy_packages.txt new file mode 100644 index 0000000..e69de29 diff --git a/build/1001040_copy_scripts.txt b/build/1001040_copy_scripts.txt new file mode 100644 index 0000000..e69de29 diff --git a/build/1002010_strip-all.sh b/build/1002010_strip-all.sh new file mode 100644 index 0000000..66a1949 --- /dev/null +++ b/build/1002010_strip-all.sh @@ -0,0 +1,24 @@ +#!/usr/bin/bash +if [ $EUID -ne 0 ]; then + echo "Need to be root" + exit 1 +fi +last_fs_inode= +last_file= +{ find /usr/lib -type f -name '*.so*' ! -name '*dbg' + find /usr/lib -type f -name '*.a' + find /usr/{bin,sbin,libexec} -type f +} | xargs stat -c '%m %i %n' | sort | while read fs inode file; do + if ! readelf -h $file >/dev/null 2>&1; then continue; fi + if file $file | grep --quiet --invert-match 'not stripped'; then continue; fi + + if [ "$fs $inode" = "$last_fs_inode" ]; then + ln -f $last_file $file; + continue; + fi + cp --preserve $file ${file}.tmp + strip --strip-debug ${file}.tmp + mv ${file}.tmp $file + last_fs_inode="$fs $inode" + last_file=$file +done \ No newline at end of file diff --git a/build/1002020_remove-la-files.sh b/build/1002020_remove-la-files.sh new file mode 100644 index 0000000..09821d8 --- /dev/null +++ b/build/1002020_remove-la-files.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +# /usr/sbin/remove-la-files.sh +# Written for Beyond Linux From Scratch +# by Bruce Dubbs + +# Make sure we are running with root privs +if test "${EUID}" -ne 0; then + echo "Error: $(basename ${0}) must be run as the root user! Exiting..." + exit 1 +fi + +# Make sure PKG_CONFIG_PATH is set if discarded by sudo +source /etc/profile + +OLD_LA_DIR=/var/local/la-files + +mkdir -p $OLD_LA_DIR + +# Only search directories in /opt, but not symlinks to directories +OPTDIRS=$(find /opt -mindepth 1 -maxdepth 1 -type d) + +# Move any found .la files to a directory out of the way +find /usr/lib $OPTDIRS -name "*.la" ! -path "/usr/lib/ImageMagick*" \ + -exec mv -fv {} $OLD_LA_DIR \; +############### + +# Fix any .pc files that may have .la references + +STD_PC_PATH='/usr/lib/pkgconfig + /usr/share/pkgconfig + /usr/local/lib/pkgconfig + /usr/local/share/pkgconfig' + +# For each directory that can have .pc files +for d in $(echo $PKG_CONFIG_PATH | tr : ' ') $STD_PC_PATH; do + + # For each pc file + for pc in $d/*.pc ; do + if [ $pc == "$d/*.pc" ]; then continue; fi + + # Check each word in a line with a .la reference + for word in $(grep '\.la' $pc); do + if $(echo $word | grep -q '.la$' ); then + mkdir -p $d/la-backup + cp -fv $pc $d/la-backup + + basename=$(basename $word ) + libref=$(echo $basename|sed -e 's/^lib/-l/' -e 's/\.la$//') + + # Fix the .pc file + sed -i "s:$word:$libref:" $pc + fi + done + done +done diff --git a/build/1003010_profile.sh b/build/1003010_profile.sh new file mode 100644 index 0000000..ddccfca --- /dev/null +++ b/build/1003010_profile.sh @@ -0,0 +1,75 @@ +# Begin /etc/profile +# Written for Beyond Linux From Scratch +# by James Robertson +# modifications by Dagmar d'Surreal + +# System wide environment variables and startup programs. + +# System wide aliases and functions should go in /etc/bashrc. Personal +# environment variables and startup programs should go into +# ~/.bash_profile. Personal aliases and functions should go into +# ~/.bashrc. + +# Functions to help us manage paths. Second argument is the name of the +# path variable to be modified (default: PATH) +pathremove () { + local IFS=':' + local NEWPATH + local DIR + local PATHVARIABLE=${2:-PATH} + for DIR in ${!PATHVARIABLE} ; do + if [ "$DIR" != "$1" ] ; then + NEWPATH=${NEWPATH:+$NEWPATH:}$DIR + fi + done + export $PATHVARIABLE="$NEWPATH" +} + +pathprepend () { + pathremove $1 $2 + local PATHVARIABLE=${2:-PATH} + export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}" +} + +pathappend () { + pathremove $1 $2 + local PATHVARIABLE=${2:-PATH} + export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1" +} + +export -f pathremove pathprepend pathappend + +# Set the initial path +export PATH=/usr/bin + +# Attempt to provide backward compatibility with LFS earlier than 11 +if [ ! -L /bin ]; then + pathappend /bin +fi + +if [ $EUID -eq 0 ] ; then + pathappend /usr/sbin + if [ ! -L /sbin ]; then + pathappend /sbin + fi + unset HISTFILE +fi + +# Set up some environment variables. +export HISTSIZE=1000 +export HISTIGNORE="&:[bf]g:exit" + +# Set some defaults for graphical systems +export XDG_DATA_DIRS=${XDG_DATA_DIRS:-/usr/share} +export XDG_CONFIG_DIRS=${XDG_CONFIG_DIRS:-/etc/xdg} +export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/tmp/xdg-$USER} + +for script in /etc/profile.d/*.sh ; do + if [ -r $script ] ; then + . $script + fi +done + +unset script + +# End /etc/profile \ No newline at end of file diff --git a/build/1003020_extrapaths.sh b/build/1003020_extrapaths.sh new file mode 100644 index 0000000..c5eca77 --- /dev/null +++ b/build/1003020_extrapaths.sh @@ -0,0 +1,16 @@ +if [ -d /usr/local/lib/pkgconfig ] ; then + pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH +fi +if [ -d /usr/local/bin ]; then + pathprepend /usr/local/bin +fi +if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then + pathprepend /usr/local/sbin +fi + +if [ -d /usr/local/share ]; then + pathprepend /usr/local/share XDG_DATA_DIRS +fi + +# Set some defaults before other applications add to these paths. +pathappend /usr/share/info INFOPATH \ No newline at end of file diff --git a/build/1003030_readline.sh b/build/1003030_readline.sh new file mode 100644 index 0000000..188772a --- /dev/null +++ b/build/1003030_readline.sh @@ -0,0 +1,5 @@ +# Set up the INPUTRC environment variable. +if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then + INPUTRC=/etc/inputrc +fi +export INPUTRC \ No newline at end of file diff --git a/build/1003040_umask.sh b/build/1003040_umask.sh new file mode 100644 index 0000000..d8ad2c3 --- /dev/null +++ b/build/1003040_umask.sh @@ -0,0 +1,6 @@ +# By default, the umask should be set. +if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then + umask 002 +else + umask 022 +fi \ No newline at end of file diff --git a/build/1003050_i18n.sh b/build/1003050_i18n.sh new file mode 100644 index 0000000..9b96762 --- /dev/null +++ b/build/1003050_i18n.sh @@ -0,0 +1,17 @@ +# Set up i18n variables +for i in $(locale); do + unset ${i%=*} +done + +if [[ "$TERM" = linux ]]; then + export LANG=C.UTF-8 +else + source /etc/locale.conf + + for i in $(locale); do + key=${i%=*} + if [[ -v $key ]]; then + export $key + fi + done +fi diff --git a/build/1003060_bashrc.sh b/build/1003060_bashrc.sh new file mode 100644 index 0000000..4fca68c --- /dev/null +++ b/build/1003060_bashrc.sh @@ -0,0 +1,48 @@ +# Begin /etc/bashrc +# Written for Beyond Linux From Scratch +# by James Robertson +# updated by Bruce Dubbs + +# System wide aliases and functions. + +# System wide environment variables and startup programs should go into +# /etc/profile. Personal environment variables and startup programs +# should go into ~/.bash_profile. Personal aliases and functions should +# go into ~/.bashrc + +# Provides colored /bin/ls and /bin/grep commands. + +if [ -f "/etc/dircolors" ] ; then + eval $(dircolors -b /etc/dircolors) +fi + +if [ -f "$HOME/.dircolors" ] ; then + eval $(dircolors -b $HOME/.dircolors) +fi + +alias ls='ls --color=auto' +alias grep='grep --color=auto' + +# Provides prompt for interactive shells, specifically shells started +# in the X environment. [Review the LFS archive thread titled +# PS1 Environment Variable for a great case study behind this script +# addendum.] + +NORMAL="\[\e[0m\]" +RED="\[\e[1;31m\]" +GREEN="\[\e[1;32m\]" +if [[ $EUID == 0 ]] ; then + PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL" +else + PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL" +fi + +unset RED GREEN NORMAL + +# GnuPG wants this or it'll fail with pinentry-curses under some +# circumstances (for example signing a Git commit) +# Note that tty -s will "succeed" in LFS chroot environment so we cannot +# use -s instead of redirecting to /dev/null. +$(tty &>/dev/null) && export GPG_TTY=$(tty) + +# End /etc/bashrc \ No newline at end of file diff --git a/build/1003100_vimrc.txt b/build/1003100_vimrc.txt new file mode 100644 index 0000000..1b8d39f --- /dev/null +++ b/build/1003100_vimrc.txt @@ -0,0 +1,7 @@ +" Begin .vimrc + +set columns=80 +set wrapmargin=8 +set ruler + +" End .vimrc \ No newline at end of file diff --git a/build/1041001_openssh.sh b/build/1041001_openssh.sh new file mode 100644 index 0000000..17c9b9b --- /dev/null +++ b/build/1041001_openssh.sh @@ -0,0 +1,8 @@ +install -v -g sys -m700 -d /var/lib/sshd + +groupadd -g 50 sshd +useradd -c 'sshd PrivSep' \ + -d /var/lib/sshd \ + -g sshd \ + -s /bin/false \ + -u 50 sshd diff --git a/build/1041005_openssh.sh b/build/1041005_openssh.sh new file mode 100644 index 0000000..4fce9b3 --- /dev/null +++ b/build/1041005_openssh.sh @@ -0,0 +1,7 @@ +./configure --prefix=/usr \ + --sysconfdir=/etc/ssh \ + --with-privsep-path=/var/lib/sshd \ + --with-default-path=/usr/bin \ + --with-superuser-path=/usr/sbin:/usr/bin \ + --with-pid-dir=/run && +make \ No newline at end of file diff --git a/build/1041009_openssh.sh b/build/1041009_openssh.sh new file mode 100644 index 0000000..06932dd --- /dev/null +++ b/build/1041009_openssh.sh @@ -0,0 +1,4 @@ +install -v -m755 contrib/ssh-copy-id /usr/bin +install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1 +install -v -m755 -d /usr/share/doc/openssh-10.2p1 +install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-10.2p1 \ No newline at end of file diff --git a/build/1042005_sudo.sh b/build/1042005_sudo.sh new file mode 100644 index 0000000..51fafff --- /dev/null +++ b/build/1042005_sudo.sh @@ -0,0 +1,7 @@ +./configure --prefix=/usr \ + --libexecdir=/usr/lib \ + --with-secure-path \ + --with-env-editor \ + --docdir=/usr/share/doc/sudo-1.9.17p2 \ + --with-passprompt="[sudo] password for %p: " && +make \ No newline at end of file diff --git a/build/1042009_sudo.sh b/build/1042009_sudo.sh new file mode 100644 index 0000000..51fafff --- /dev/null +++ b/build/1042009_sudo.sh @@ -0,0 +1,7 @@ +./configure --prefix=/usr \ + --libexecdir=/usr/lib \ + --with-secure-path \ + --with-env-editor \ + --docdir=/usr/share/doc/sudo-1.9.17p2 \ + --with-passprompt="[sudo] password for %p: " && +make \ No newline at end of file diff --git a/md5sums b/md5sums new file mode 100644 index 0000000..9744372 --- /dev/null +++ b/md5sums @@ -0,0 +1,66 @@ +dc81be0bed3eaef5a6865784182a7487 build-1.4.0.tar.gz +5e36b19bcc9a817051a88c4167b51030 blfs-systemd-units-20251204.tar.xz +803a1720ec822a8660118a38ca51fc1b cmake-4.2.3.tar.gz +3394d444ca1905ea56c94b628b706a0b cpio-2.15.tar.bz2 +dae6088bf7af69d3b0a87c762de92248 curl-8.18.0.tar.xz +d0efec10b9f110a32e9b8f796e21782c dejavu-fonts-ttf-2.37.tar.bz2 +f68f95052c7297b98eccb7709d817f6a fontconfig-2.17.1.tar.xz +78c7d7450fb7d0999ccd029f84094340 freetype-2.14.1.tar.xz +3857733169a6443e48d20c75ee32f732 git-2.53.0.tar.xz +acf29c16cd20dc0cc8585215a3e63e5f icewm-4.0.0.tar.gz +8c66b4dabc52225562324be5a994accf imlib2-1.12.6.tar.xz +13651949a013bc47be0483d888e4f558 iwd-3.12.tar.xz +605237f35de238dfacc83bcae406d95d libaio-0.3.113.tar.gz +3cba344d6b351cf308114865afa0d91e libfontenc-1.1.9.tar.xz +c5cc0942ed39c49b8fcd47a427bd4305 libFS-1.0.10.tar.xz +d1ffde0a07709654b20bada3f9abdd16 libICE-1.1.2.tar.xz +57c7efbeceedefde006123a77a7bc825 libpciaccess-0.18.1.tar.xz +870a798ee9860b6e77896548428dba7b libpsl-0.21.5.tar.gz +3aeeea05091db1c69e6f768e0950a431 libSM-1.2.6.tar.xz +74f97df306b8d6149d3d9898a1d44c6e libtirpc-1.3.7.tar.bz2 +b617a053d2003cc81309f4e13d01379c libX11-1.8.13.tar.xz +4c9f81acf00b62e5de56a912691bd737 libXau-1.0.12.tar.xz +2a9793533224f92ddad256492265dd82 libXaw-1.0.16.tar.xz +96565523e9f9b701fcb35d31f1d4086e libxcb-1.17.0.tar.xz +132816d5efccb883bbc2bf45eb905770 libXcomposite-0.4.7.tar.xz +5ce55e952ec2d84d9817169d5fdb7865 libXcursor-1.2.3.tar.xz +72bb73f2a07f81784ad69a39d7df1da2 libXdamage-1.1.7.tar.xz +ea8149187a26e9df6dbd94a60b3d8da0 libXext-1.3.7.tar.xz +baa39ada682dd524491a165bb0dfc708 libXfixes-6.0.2.tar.xz +66e03e3405d923dfaf319d6f2b47e3da libXfont2-2.0.7.tar.xz +d378be0fcbd1f689f9a132e0d642bc4b libXft-2.3.9.tar.xz +95a960c1692a83cc551979f7ffe28cf4 libXi-1.8.2.tar.xz +5f3f5754a40730d1518233a60ba5c48e libXinerama-1.1.6.tar.xz +fa0faa5b6a8e726186c535d73712ccea libxkbfile-1.2.0.tar.xz +1ef8065f0284e76c2238770365012ab2 libXmu-1.3.1.tar.xz +d22b838e42ac0229ddf5a3afaf23910c libXpm-3.5.18.tar.xz +53b72ce969745f8d3e41175d6549ce0b libXpresent-1.0.2.tar.xz +b550dfa388292a821aecdd52acecc94c libXrandr-1.5.5.tar.xz +4c54dce455d96e3bdee90823b0869f89 libXrender-0.9.12.tar.xz +5014282a08b54ec0edfa73c5cf9ae2c1 libXres-1.2.3.tar.xz +ec09c90a1cfd2c0630321d366a5e7203 libXScrnSaver-1.2.5.tar.xz +9805be7e18f858bed9938542ed2905dc libxshmfence-1.3.3.tar.xz +9acd189c68750b5028cf120e53c68009 libXt-1.3.1.tar.xz +b62dc44d8e63a67bb10230d54c44dcb7 libXtst-1.2.5.tar.xz +8a26503185afcb1bbd2c65e43f775a67 libXv-1.0.13.tar.xz +de4227c5722a8f5ca5748f3ef524aeee libXvMC-1.0.15.tar.xz +543164f1239fbe92cc0a9128d8da88e9 libXxf86dga-1.1.7.tar.xz +bea9e3707fae6c3275769e771006fa0f libXxf86vm-1.1.7.tar.xz +dc56041551980c74dd354cd7c2882539 links-2.30.tar.bz2 +00f5844ae3520b5699c249dd424500c2 lsof-4.99.5.tar.gz +d03e636d2f919bb21e77aec16a53247d luit-20250912.tgz +a661c55b5a1fcaa068b9e4a561c35f36 LVM2.2.03.38.tgz +3ce01505e82626ca4d7291d7e649c4c9 lynx2.9.2.tar.bz2 +4d6b817ed0739141656e06a74bac5e57 nmap-7.98.tar.bz2 +801b5ad6da38e0045de20dd5dd2f6a80 openssh-10.2p1.tar.gz +93d2d8f22baebc5eb65b85da05a79e4e parted-3.6.tar.xz +ed3dd1b984339e83e35f676d7169c192 pyproject_hooks-1.2.0.tar.gz +fb5e5dfc9353225c2d6929777344b1a6 screen-5.0.1.tar.gz +dcbf46f739ae06b076e1a11cbb271a10 sudo-1.9.17p2.tar.gz +5f683a1966834b0a6ae07b3680bcb863 util-macros-1.20.2.tar.xz +f49abd197b60d71dc6b95a00ea584b65 w3m-v0.5.6.tar.gz +c415553d2ee1a8cea43c3234a079b53f xcb-proto-1.17.0.tar.xz +e7430a710261c9129b1280f26cb159a5 xinit-1.4.4.tar.xz +15534fa6fb13a6a70afe7561c1424f3c xorgproto-2025.1.tar.xz +587fc7e8c30e2665e6dec8f685279ac2 xterm-407.tgz +6ad67d4858814ac24e618b8072900664 xtrans-1.6.0.tar.xz \ No newline at end of file diff --git a/wget-list-systemd.txt b/wget-list-systemd.txt new file mode 100644 index 0000000..46f510d --- /dev/null +++ b/wget-list-systemd.txt @@ -0,0 +1,66 @@ +https://files.pythonhosted.org/packages/source/b/build/build-1.4.0.tar.gz +https://www.linuxfromscratch.org/blfs/downloads/13.0-systemd/blfs-systemd-units-20251204.tar.xz +https://cmake.org/files/v4.2/cmake-4.2.3.tar.gz +https://ftpmirror.gnu.org/cpio/cpio-2.15.tar.bz2 +https://curl.se/download/curl-8.18.0.tar.xz +https://www.kernel.org/pub/software/scm/git/git-2.53.0.tar.xz +https://github.com/ice-wm/icewm/archive/4.0.0/icewm-4.0.0.tar.gz +https://downloads.sourceforge.net/enlightenment/imlib2-1.12.6.tar.xz +https://kernel.org/pub/linux/network/wireless/iwd-3.12.tar.xz +https://sourceware.org/ftp/lvm2/LVM2.2.03.38.tgz +https://pagure.io/libaio/archive/libaio-0.3.113/libaio-0.3.113.tar.gz +https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz +https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.7.tar.bz2 +http://links.twibright.com/download/links-2.30.tar.bz2 +https://github.com/lsof-org/lsof/releases/download/4.99.5/lsof-4.99.5.tar.gz +https://invisible-mirror.net/archives/lynx/tarballs/lynx2.9.2.tar.bz2 +https://nmap.org/dist/nmap-7.98.tar.bz2 +https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.2p1.tar.gz +https://ftpmirror.gnu.org/parted/parted-3.6.tar.xz +https://files.pythonhosted.org/packages/source/p/pyproject-hooks/pyproject_hooks-1.2.0.tar.gz +https://ftpmirror.gnu.org/screen/screen-5.0.1.tar.gz +https://www.sudo.ws/dist/sudo-1.9.17p2.tar.gz +https://www.x.org/pub/individual/lib/xtrans-1.6.0.tar.xz +https://www.x.org/pub/individual/lib/libX11-1.8.13.tar.xz +https://www.x.org/pub/individual/lib/libXext-1.3.7.tar.xz +https://www.x.org/pub/individual/lib/libFS-1.0.10.tar.xz +https://www.x.org/pub/individual/lib/libICE-1.1.2.tar.xz +https://www.x.org/pub/individual/lib/libSM-1.2.6.tar.xz +https://www.x.org/pub/individual/lib/libXScrnSaver-1.2.5.tar.xz +https://www.x.org/pub/individual/lib/libXt-1.3.1.tar.xz +https://www.x.org/pub/individual/lib/libXmu-1.3.1.tar.xz +https://www.x.org/pub/individual/lib/libXpm-3.5.18.tar.xz +https://www.x.org/pub/individual/lib/libXaw-1.0.16.tar.xz +https://www.x.org/pub/individual/lib/libXfixes-6.0.2.tar.xz +https://www.x.org/pub/individual/lib/libXcomposite-0.4.7.tar.xz +https://www.x.org/pub/individual/lib/libXrender-0.9.12.tar.xz +https://www.x.org/pub/individual/lib/libXcursor-1.2.3.tar.xz +https://www.x.org/pub/individual/lib/libXdamage-1.1.7.tar.xz +https://www.x.org/pub/individual/lib/libfontenc-1.1.9.tar.xz +https://www.x.org/pub/individual/lib/libXfont2-2.0.7.tar.xz +https://www.x.org/pub/individual/lib/libXft-2.3.9.tar.xz +https://www.x.org/pub/individual/lib/libXi-1.8.2.tar.xz +https://www.x.org/pub/individual/lib/libXinerama-1.1.6.tar.xz +https://www.x.org/pub/individual/lib/libXrandr-1.5.5.tar.xz +https://www.x.org/pub/individual/lib/libXres-1.2.3.tar.xz +https://www.x.org/pub/individual/lib/libXtst-1.2.5.tar.xz +https://www.x.org/pub/individual/lib/libXv-1.0.13.tar.xz +https://www.x.org/pub/individual/lib/libXvMC-1.0.15.tar.xz +https://www.x.org/pub/individual/lib/libXxf86dga-1.1.7.tar.xz +https://www.x.org/pub/individual/lib/libXxf86vm-1.1.7.tar.xz +https://www.x.org/pub/individual/lib/libpciaccess-0.18.1.tar.xz +https://www.x.org/pub/individual/lib/libxkbfile-1.2.0.tar.xz +https://www.x.org/pub/individual/lib/libxshmfence-1.3.3.tar.xz +https://www.x.org/pub/individual/lib/libXpresent-1.0.2.tar.xz +https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/2.17.1/fontconfig-2.17.1.tar.xz +https://downloads.sourceforge.net/freetype/freetype-2.14.1.tar.xz +https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.17.0.tar.xz +https://www.x.org/pub/individual/lib/libXau-1.0.12.tar.xz +https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2025.1.tar.xz +https://www.x.org/pub/individual/util/util-macros-1.20.2.tar.xz +https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.17.0.tar.xz +https://git.sr.ht/~rkta/w3m/archive/v0.5.6.tar.gz +https://www.x.org/pub/individual/app/xinit-1.4.4.tar.xz +https://invisible-mirror.net/archives/luit/luit-20250912.tgz +https://invisible-mirror.net/archives/xterm/xterm-407.tgz +https://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2 \ No newline at end of file