Cyril CONSTANTIN 4 weeks ago
parent
commit
eba6d60c74
  1. 2
      LICENSE
  2. 24
      Makefile
  3. 415
      build.sh
  4. 0
      build/1001000_welcome.txt
  5. 0
      build/1001010_download.txt
  6. 0
      build/1001020_md5sum.txt
  7. 0
      build/1001030_copy_packages.txt
  8. 0
      build/1001040_copy_scripts.txt
  9. 24
      build/1002010_strip-all.sh
  10. 56
      build/1002020_remove-la-files.sh
  11. 75
      build/1003010_profile.sh
  12. 16
      build/1003020_extrapaths.sh
  13. 5
      build/1003030_readline.sh
  14. 6
      build/1003040_umask.sh
  15. 17
      build/1003050_i18n.sh
  16. 48
      build/1003060_bashrc.sh
  17. 7
      build/1003100_vimrc.txt
  18. 8
      build/1041001_openssh.sh
  19. 7
      build/1041005_openssh.sh
  20. 4
      build/1041009_openssh.sh
  21. 7
      build/1042005_sudo.sh
  22. 7
      build/1042009_sudo.sh
  23. 66
      md5sums
  24. 66
      wget-list-systemd.txt

2
LICENSE

@ -1,6 +1,6 @@
MIT License 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:

24
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

415
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

0
build/1001000_welcome.txt

0
build/1001010_download.txt

0
build/1001020_md5sum.txt

0
build/1001030_copy_packages.txt

0
build/1001040_copy_scripts.txt

24
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

56
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 <bdubbs@linuxfromscratch.org>
# 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

75
build/1003010_profile.sh

@ -0,0 +1,75 @@
# Begin /etc/profile
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# modifications by Dagmar d'Surreal <rivyqntzne@pbzpnfg.arg>
# 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

16
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

5
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

6
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

17
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

48
build/1003060_bashrc.sh

@ -0,0 +1,48 @@
# Begin /etc/bashrc
# Written for Beyond Linux From Scratch
# by James Robertson <jameswrobertson@earthlink.net>
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>
# 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

7
build/1003100_vimrc.txt

@ -0,0 +1,7 @@
" Begin .vimrc
set columns=80
set wrapmargin=8
set ruler
" End .vimrc

8
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

7
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

4
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

7
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

7
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

66
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

66
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
Loading…
Cancel
Save