commit 6642e31f8330e79812d30573c71fed626341d4de
parent 6e72e118159b5e05001e901fd6e695c014271181
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Wed, 3 Dec 2025 18:54:54 +0000
More oldsystem packages
Diffstat:
9 files changed, 519 insertions(+), 4 deletions(-)
diff --git a/templates/pkg/busybox:old b/templates/pkg/busybox:old
@@ -0,0 +1,40 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa
+#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
+#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
+#@sha256:31b8f61d2173fa36d4409e8e91f52088691d6ba4db13efe19ea7ae7512e64275:busybox/.config
+#@git:3621595939e43a831d66f6b757d4f410029bff95:busybox
+
+
+# - build script start -
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'busybox'
+
+export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
+export CFLAGS="-D_GNU_SOURCE"
+export LDFLAGS="-static"
+
+cat >>.config <<EOF
+CONFIG_BUSYBOX_EXEC_PATH="${prefix}/command/busybox"
+EOF
+make oldconfig
+cat .config
+
+
+make V=1 CROSS_COMPILE=x86_64-linux-musl- LDFLAGS=-static HOSTLDFLAGS=-static \
+ HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1}
+
+mkdir -p "${dest}/command"
+cp -a busybox "${dest}/command/"
+
+
+
+
+cd "${dest}"
+echo false | ./command/busybox --list >/dev/null # test if it works
+printf "./command/busybox\t./command/%s\n" busybox bbconfig >.install-links.new
+mv .install-links.new .install-links
+
+{# extra line for matching hash #}
diff --git a/templates/pkg/gnu-make:old b/templates/pkg/gnu-make:old
@@ -0,0 +1,131 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa
+#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
+#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
+#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
+
+
+# - build script start -
+
+autotools_config() {
+ prefix=/home/ccx/versions/$pthbs_package
+ ./configure -C \
+ --prefix="$prefix" \
+ --build="$(${CC:-gcc} -dumpmachine)" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --infodir="$prefix/info" \
+ --localedir="$prefix/locale" \
+ --mandir="$prefix/man" \
+ --libdir="$prefix/library" \
+ --docdir="$prefix/doc/gnu-make" \
+ --datadir="$prefix/data" \
+ --datarootdir="$prefix/data" \
+ --localstatedir='/var/pthbs' \
+ "$@"
+
+}
+
+autotools_config_static() {
+ build_env_static
+ autotools_config "$@" --enable-static --disable-shared
+}
+
+build_env_static() {
+ export LD_LIBRARY_PATH="$pthbs_build_environment/library"
+ export CPATH="$pthbs_build_environment/include"
+ export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS"
+}
+
+check_static() {
+ local exe || true
+ exe=$pthbs_destdir'/home/ccx/versions'/$pthbs_package/$1
+ if ! test -f $exe; then
+ printf '%s\n' "Error: file '$1' doesn't exist!"
+ exit 1
+ fi
+ local interp_info || true
+ interp_info=$(readelf --string-dump=.interp "$exe") || exit $?
+ if test x '!=' "x$interp_info"; then
+ printf '%s\n' "Error: '$1' is a dynamic binary!"
+ exit 1
+ fi
+}
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'make-4.4.1'
+
+
+autotools_config_static --disable-nls
+
+
+make -j${JOBS:-1} -l$((1+${JOBS:-1}))
+
+make DESTDIR="$pthbs_destdir" install
+
+
+
+check_static command/make
+
+
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./command/make"]=1
+ x["./man/man1/make.1"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
+{# extra line for matching hash #}
diff --git a/templates/pkg/oldsystem.environment b/templates/pkg/oldsystem.environment
@@ -3,3 +3,5 @@
#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
#+musl-cross-make.513f0acae3d9d88d67a9151a33515f34995d3ff3d69f38b47239070d1b02c731
#+{{pkg_install_name("musl-cross-make:old")}}
+#+{{pkg_install_name("busybox:old")}}
+#+{{pkg_install_name("gnu-make:old")}}
diff --git a/variants/ccx-x86_64/busybox:old b/variants/ccx-x86_64/busybox:old
@@ -0,0 +1,39 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa
+#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
+#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
+#@sha256:31b8f61d2173fa36d4409e8e91f52088691d6ba4db13efe19ea7ae7512e64275:busybox/.config
+#@git:3621595939e43a831d66f6b757d4f410029bff95:busybox
+
+
+# - build script start -
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'busybox'
+
+export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
+export CFLAGS="-D_GNU_SOURCE"
+export LDFLAGS="-static"
+
+cat >>.config <<EOF
+CONFIG_BUSYBOX_EXEC_PATH="${prefix}/command/busybox"
+EOF
+make oldconfig
+cat .config
+
+
+make V=1 CROSS_COMPILE=x86_64-linux-musl- LDFLAGS=-static HOSTLDFLAGS=-static \
+ HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1}
+
+mkdir -p "${dest}/command"
+cp -a busybox "${dest}/command/"
+
+
+
+
+cd "${dest}"
+echo false | ./command/busybox --list >/dev/null # test if it works
+printf "./command/busybox\t./command/%s\n" busybox bbconfig >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/ccx-x86_64/gnu-make:old b/variants/ccx-x86_64/gnu-make:old
@@ -0,0 +1,130 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa
+#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
+#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
+#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
+
+
+# - build script start -
+
+autotools_config() {
+ prefix=/home/ccx/versions/$pthbs_package
+ ./configure -C \
+ --prefix="$prefix" \
+ --build="$(${CC:-gcc} -dumpmachine)" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --infodir="$prefix/info" \
+ --localedir="$prefix/locale" \
+ --mandir="$prefix/man" \
+ --libdir="$prefix/library" \
+ --docdir="$prefix/doc/gnu-make" \
+ --datadir="$prefix/data" \
+ --datarootdir="$prefix/data" \
+ --localstatedir='/var/pthbs' \
+ "$@"
+
+}
+
+autotools_config_static() {
+ build_env_static
+ autotools_config "$@" --enable-static --disable-shared
+}
+
+build_env_static() {
+ export LD_LIBRARY_PATH="$pthbs_build_environment/library"
+ export CPATH="$pthbs_build_environment/include"
+ export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS"
+}
+
+check_static() {
+ local exe || true
+ exe=$pthbs_destdir'/home/ccx/versions'/$pthbs_package/$1
+ if ! test -f $exe; then
+ printf '%s\n' "Error: file '$1' doesn't exist!"
+ exit 1
+ fi
+ local interp_info || true
+ interp_info=$(readelf --string-dump=.interp "$exe") || exit $?
+ if test x '!=' "x$interp_info"; then
+ printf '%s\n' "Error: '$1' is a dynamic binary!"
+ exit 1
+ fi
+}
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'make-4.4.1'
+
+
+autotools_config_static --disable-nls
+
+
+make -j${JOBS:-1} -l$((1+${JOBS:-1}))
+
+make DESTDIR="$pthbs_destdir" install
+
+
+
+check_static command/make
+
+
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./command/make"]=1
+ x["./man/man1/make.1"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/ccx-x86_64/oldsystem.environment b/variants/ccx-x86_64/oldsystem.environment
@@ -2,4 +2,6 @@
#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
#+musl-cross-make.513f0acae3d9d88d67a9151a33515f34995d3ff3d69f38b47239070d1b02c731
-#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa-
\ No newline at end of file
+#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa
+#+busybox.379b7b2d8316b3678245563c8e592d71e6c380bc22a735c30c1c0e6f8f60caf3
+#+gnu-make.31d90a55d6506852f9784f6f6febf0d843f8051f63bc18795fd5275baa369f50+
\ No newline at end of file
diff --git a/variants/root-x86_64/busybox:old b/variants/root-x86_64/busybox:old
@@ -0,0 +1,39 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa
+#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
+#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
+#@sha256:31b8f61d2173fa36d4409e8e91f52088691d6ba4db13efe19ea7ae7512e64275:busybox/.config
+#@git:3621595939e43a831d66f6b757d4f410029bff95:busybox
+
+
+# - build script start -
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'busybox'
+
+export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc"
+export CFLAGS="-D_GNU_SOURCE"
+export LDFLAGS="-static"
+
+cat >>.config <<EOF
+CONFIG_BUSYBOX_EXEC_PATH="${prefix}/command/busybox"
+EOF
+make oldconfig
+cat .config
+
+
+make V=1 CROSS_COMPILE=x86_64-linux-musl- LDFLAGS=-static HOSTLDFLAGS=-static \
+ HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j${JOBS:-1}
+
+mkdir -p "${dest}/command"
+cp -a busybox "${dest}/command/"
+
+
+
+
+cd "${dest}"
+echo false | ./command/busybox --list >/dev/null # test if it works
+printf "./command/busybox\t./command/%s\n" busybox bbconfig >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/root-x86_64/gnu-make:old b/variants/root-x86_64/gnu-make:old
@@ -0,0 +1,130 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.74cd95cd7bd1db21d28d9a8579d924d588b9cbfd0f9744c0fb890188d71646aa
+#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
+#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
+#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
+
+
+# - build script start -
+
+autotools_config() {
+ prefix=/home/ccx/versions/$pthbs_package
+ ./configure -C \
+ --prefix="$prefix" \
+ --build="$(${CC:-gcc} -dumpmachine)" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --infodir="$prefix/info" \
+ --localedir="$prefix/locale" \
+ --mandir="$prefix/man" \
+ --libdir="$prefix/library" \
+ --docdir="$prefix/doc/gnu-make" \
+ --datadir="$prefix/data" \
+ --datarootdir="$prefix/data" \
+ --localstatedir='/var/pthbs' \
+ "$@"
+
+}
+
+autotools_config_static() {
+ build_env_static
+ autotools_config "$@" --enable-static --disable-shared
+}
+
+build_env_static() {
+ export LD_LIBRARY_PATH="$pthbs_build_environment/library"
+ export CPATH="$pthbs_build_environment/include"
+ export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS"
+}
+
+check_static() {
+ local exe || true
+ exe=$pthbs_destdir'/home/ccx/versions'/$pthbs_package/$1
+ if ! test -f $exe; then
+ printf '%s\n' "Error: file '$1' doesn't exist!"
+ exit 1
+ fi
+ local interp_info || true
+ interp_info=$(readelf --string-dump=.interp "$exe") || exit $?
+ if test x '!=' "x$interp_info"; then
+ printf '%s\n' "Error: '$1' is a dynamic binary!"
+ exit 1
+ fi
+}
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'make-4.4.1'
+
+
+autotools_config_static --disable-nls
+
+
+make -j${JOBS:-1} -l$((1+${JOBS:-1}))
+
+make DESTDIR="$pthbs_destdir" install
+
+
+
+check_static command/make
+
+
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./command/make"]=1
+ x["./man/man1/make.1"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/root-x86_64/oldsystem.environment b/variants/root-x86_64/oldsystem.environment
@@ -2,4 +2,6 @@
#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
#+musl-cross-make.513f0acae3d9d88d67a9151a33515f34995d3ff3d69f38b47239070d1b02c731
-#+musl-cross-make.884725bf380e0e537bcd0e07975a2cc8faa6597fc199d2b63db309e9fcea4e4f-
\ No newline at end of file
+#+musl-cross-make.884725bf380e0e537bcd0e07975a2cc8faa6597fc199d2b63db309e9fcea4e4f
+#+busybox.379b7b2d8316b3678245563c8e592d71e6c380bc22a735c30c1c0e6f8f60caf3
+#+gnu-make.31d90a55d6506852f9784f6f6febf0d843f8051f63bc18795fd5275baa369f50+
\ No newline at end of file