commit 50014902b813c9381ced2bdb9730410b581b119d
parent bd84c97c1951460c204d6fc634b52524fce90d76
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Sat, 3 May 2025 14:51:18 +0000
Package standalone libelf from github.com/arachsys/libelf
Diffstat:
23 files changed, 197 insertions(+), 702 deletions(-)
diff --git a/.gitmodules b/.gitmodules
@@ -107,3 +107,7 @@
[submodule "sources/ccx-utils"]
path = sources/ccx-utils
url = ./sources/ccx-utils
+[submodule "sources/libelf"]
+ path = sources/libelf
+ url = https://github.com/arachsys/libelf
+ branch = tags/v0.193
diff --git a/commitlist.sha1 b/commitlist.sha1
@@ -353,7 +353,6 @@ fae441e25a1ac266742ba6446b37ae56c8e57076 sources/ccx-utils
c6aef8098d37a1773439117a5674bfc8662ef62b sources/confz
41d6ee2d6aa33b323eee611013dd4aab6a09fc89 sources/containers
46761773f4cb590dc89b0f80f5e9fe07399279e7 sources/containers
-8acdbdd3097a468e0f2e8a6cca3c23f73a673479 sources/containers
aa69a0fc1c82c14b945b9b7348306a4e82bb0bbc sources/containers
94422be00da71ff44c8ad1fe3455587c62ca29d3 sources/easyseccomp
02de9565862052afc290b6848b4ebd799d8f9f37 sources/execline
@@ -1745,6 +1744,18 @@ fd1fffbfd4053059e11ea234640d50c190bd93a7 sources/libcap
fd31b6cd318194906fc8f6cea582e475c67ec207 sources/libcap
fe5933431ff6448158754e96e8115c4c79a1c540 sources/libcap
fe96617b7142db04c5fbb5f8ce6ca809ad171072 sources/libcap
+21614b61f384ca669230eaa3348cdde5540faec5 sources/libelf
+288355d104ff9930520c0283fe82556c6cc5c16f sources/libelf
+520244d6641ff8fe88da5364c915085841f3c2c6 sources/libelf
+734f286f14692faedd5c0300836579b1be66e210 sources/libelf
+8ddefb30fee9b1682316978ec9636ae83c8efb2f sources/libelf
+97a43e81a74232593cbf550d36544614e0de9f10 sources/libelf
+b0c7b1c6d59ec8b1a08815b80983213d3e2919e5 sources/libelf
+b26981393293225e785013405369b09a6c2eabae sources/libelf
+b80c36da9d70158f9a38cfb9af9bb58a323a5796 sources/libelf
+cf90fc56dcb91d473a08582239bfdf941ef1e10b sources/libelf
+e12821ffb205f41fa8319ad109762a06e121c141 sources/libelf
+fd2af33bd4b64be5221116f85dcf4cd220eb9a1c sources/libelf
41039418205b48bda59372fb7c49453852853e8a sources/logincaps
6c9b7c1ca9b96ab366088c4bfc50d1b0e81042eb sources/logincaps
79af0da183f068b99a69107b2764d9c8c3c3eaca sources/logincaps
diff --git a/sources/libelf b/sources/libelf
@@ -0,0 +1 @@
+Subproject commit 288355d104ff9930520c0283fe82556c6cc5c16f
diff --git a/templates/pkg/elf.h b/templates/pkg/elf.h
@@ -1,9 +0,0 @@
-{% extends "genlinks" %}
-{%- block script %}
-#+{{pkg_install_name("busybox")}}
-#@sha256:{{files["elf.h"]}}:elf.h
-
-installdir="$pthbs_destdir/{{versions}}/$pthbs_package"
-mkdir -p "$installdir/include"
-mv elf.h "$installdir/include"
-{% endblock %}
diff --git a/templates/pkg/elfutils b/templates/pkg/elfutils
@@ -1,22 +0,0 @@
-{% extends "autotools" %}
-{%- block extra_deps %}
-#@untar:-j:sha256:39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8:.
-{%- endblock %}
-{% block at_script %}
-export CFLAGS="-D_GNU_SOURCE -Wno-error -Wno-null-dereference"
-export LDFLAGS="-static -L{{ pkg_install_dir("musl-cross-make") }}/lib"
-
-autotools elfutils-0.189 \
- --disable-nls \
- --disable-werror \
- --program-prefix=eu- \
- --enable-deterministic-archives \
- --disable-nls \
- --disable-libdebuginfod \
- --disable-debuginfod \
- --without-zstd \
- --without-argp
-{% endblock %}
-{% block genlinks_begin %}
- x["./library/libelf.a"]=1
-{% endblock %}
diff --git a/templates/pkg/libelf b/templates/pkg/libelf
@@ -0,0 +1,23 @@
+{% extends "genlinks" %}
+{%- block script %}
+#+{{pkg_install_name("musl-cross-make")}}
+#+{{pkg_install_name("gnu-make")}}
+#+{{pkg_install_name("busybox")}}
+#+{{pkg_install_name("busybox-diffutils")}}
+#+{{pkg_install_name("zstd")}}
+#@git:{{submodule.current[name]}}:{{name}}
+
+{% include "functions/build_env_static" %}
+prefix={{versions}}/$pthbs_package
+build_env_static
+make DESTDIR="$pthbs_destdir" install
+{{make}} PREFIX={{versions}}/$pthbs_package \
+ DESTDIR="$pthbs_destdir" \
+ INCDIR="$prefix/include" \
+ LIBDIR="$prefix/library" \
+ install-static
+{% endblock %}
+{% block genlinks_begin %}
+ x["./library/libelf.a"]=1
+ x["./include/elf/libelf.h"]=1
+{% endblock %}
diff --git a/templates/pkg/libelf-compat b/templates/pkg/libelf-compat
@@ -1,21 +0,0 @@
-{% extends "genlinks" %}
-{%- block script %}
-#+{{pkg_install_name("musl-cross-make")}}
-#+{{pkg_install_name("gnu-make")}}
-#+{{pkg_install_name("busybox")}}
-#@git:{{submodule.current.s6}}:s6
-#@sha256:627d1273036dc35239ba9dd1da45132e3bfce1ab8171dd27dc7952cdf09b698e:s6_clone3_newpid.patch
-#@untar:-j:{{downloads["libelf-compat-0.152c001.tar.bz2"]}}:.
-
-: ${JOBS:=1}
-cd libelf-compat-0.152c001
-
-sed -i 's@HEADERS = src/libelf.h@HEADERS = src/libelf.h src/gelf.h@' Makefile
-prefix={{versions}}/$pthbs_package
-{{make}} prefix="$prefix" bindir="$prefix/command" includedir="$prefix/include" libdir="$prefix/library" DESTDIR="$pthbs_destdir" install
-{% endblock %}
-{% block genlinks_begin %}
- x["./library/libelf.a"]=1
- x["./include/libelf.h"]=1
- x["./include/gelf.h"]=1
-{% endblock %}
diff --git a/templates/pkg/libelf.h b/templates/pkg/libelf.h
@@ -1,12 +0,0 @@
-{% extends "genlinks" %}
-{%- block script %}
-#+{{pkg_install_name("busybox")}}
-#@sha256:{{files["dwarf.h"]}}:include/dwarf.h
-#@sha256:{{files["gelf.h"]}}:include/gelf.h
-#@sha256:{{files["libelf.h"]}}:include/libelf.h
-#@sha256:{{files["nlist.h"]}}:include/nlist.h
-
-installdir="$pthbs_destdir/{{versions}}/$pthbs_package"
-mkdir -p "$installdir"
-mv include "$installdir/"
-{% endblock %}
diff --git a/templates/pkg/linux b/templates/pkg/linux
@@ -8,7 +8,7 @@
#+{{pkg_install_name("flex")}}
#+{{pkg_install_name("bison")}}
#+{{pkg_install_name("rsync")}}
-#+{{pkg_install_name("libelf-compat")}}
+#+{{pkg_install_name("libelf")}}
#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:.
#@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz
#@sha256:{{files["lh_bootstrap-x86_64-config"]}}:linux.config
diff --git a/variants/ccx-x86_64/elf.h b/variants/ccx-x86_64/elf.h
@@ -1,59 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+busybox.ee3440974794767b833fd3299226771f170d3f8601cf225cb884f0a513db8ab3
-#@sha256:a6ffb38364effd623e135b206ec97ff9e6826a1f285e349a3633df55db38bc9e:elf.h
-
-installdir="$pthbs_destdir//home/ccx/versions/$pthbs_package"
-mkdir -p "$installdir/include"
-mv elf.h "$installdir/include"
-
-cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
-}
-
-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 == "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/elfutils b/variants/ccx-x86_64/elfutils
@@ -1,125 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+musl-cross-make.98979eb41109d371f19d0637d51116db18c7aeef61fbf804a68094c22a302a78
-#+gnu-make.ba8d7c64a23885182fc1c9dc0331d52adcdbc45df6000fb81e8e1dd3ee05694b
-#+busybox.ee3440974794767b833fd3299226771f170d3f8601cf225cb884f0a513db8ab3
-#+busybox-diffutils.c2ebcfcad050ad71b8e30322a463b5c009f254c7a42e95c627d32665e17134dc
-#+m4.46e121f61e0af52abf876bf2688ecfe70eeb04185028d6adde0085e865fdfe75
-#@untar:-j:sha256:39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8:.
-
-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"
-}
-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/elfutils" \
- --datadir="$prefix/data" \
- --datarootdir="$prefix/data" \
- --localstatedir='/var/pthbs' \
- "$@"
-
-}
-
-autotools() {
- cd "$1"
- shift
- autotools_config "$@"
- make -j${JOBS:-1} -l$((1+${JOBS:-1}))
- make DESTDIR="$pthbs_destdir" install
-}
-
-autotools_static() {
- build_env_static
- autotools "$@" --enable-static --disable-shared
-}
-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
- 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
-}
-
-export CFLAGS="-D_GNU_SOURCE -Wno-error -Wno-null-dereference"
-export LDFLAGS="-static -L/home/ccx/versions/musl-cross-make.98979eb41109d371f19d0637d51116db18c7aeef61fbf804a68094c22a302a78/lib"
-
-autotools elfutils-0.189 \
- --disable-nls \
- --disable-werror \
- --program-prefix=eu- \
- --enable-deterministic-archives \
- --disable-nls \
- --disable-libdebuginfod \
- --disable-debuginfod \
- --without-zstd \
- --without-argp
-
-
-cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./library/libelf.a"]=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 == "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/kernel.environment b/variants/ccx-x86_64/kernel.environment
@@ -1,2 +1,2 @@
#!/usr/bin/env pthbs-build
-#+linux.883a71167d522abbb5b8c86a8e46cf585ed634096c96026c53cda7e0686d2450-
\ No newline at end of file
+#+linux.8ba3d36b5f651039d91d66870579121a3ac4575c5046ce633b47af2378a12ff3+
\ No newline at end of file
diff --git a/variants/ccx-x86_64/libelf b/variants/ccx-x86_64/libelf
@@ -0,0 +1,75 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.98979eb41109d371f19d0637d51116db18c7aeef61fbf804a68094c22a302a78
+#+gnu-make.ba8d7c64a23885182fc1c9dc0331d52adcdbc45df6000fb81e8e1dd3ee05694b
+#+busybox.ee3440974794767b833fd3299226771f170d3f8601cf225cb884f0a513db8ab3
+#+busybox-diffutils.c2ebcfcad050ad71b8e30322a463b5c009f254c7a42e95c627d32665e17134dc
+#+zstd.8b11bd81c450d61aa6a44ffd019654c590439df68ebd8987db4cdbbcf182d67c
+#@git:288355d104ff9930520c0283fe82556c6cc5c16f:libelf
+
+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"
+}
+prefix=/home/ccx/versions/$pthbs_package
+build_env_static
+make DESTDIR="$pthbs_destdir" install
+make -j${JOBS:-1} -l$((1+${JOBS:-1})) PREFIX=/home/ccx/versions/$pthbs_package \
+ DESTDIR="$pthbs_destdir" \
+ INCDIR="$prefix/include" \
+ LIBDIR="$prefix/library" \
+ install-static
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./library/libelf.a"]=1
+ x["./include/elf/libelf.h"]=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 == "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/libelf-compat b/variants/ccx-x86_64/libelf-compat
@@ -1,69 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+musl-cross-make.98979eb41109d371f19d0637d51116db18c7aeef61fbf804a68094c22a302a78
-#+gnu-make.ba8d7c64a23885182fc1c9dc0331d52adcdbc45df6000fb81e8e1dd3ee05694b
-#+busybox.ee3440974794767b833fd3299226771f170d3f8601cf225cb884f0a513db8ab3
-#@git:8e22cbe9d3f821598a2eb9dea387c6b413f76105:s6
-#@sha256:627d1273036dc35239ba9dd1da45132e3bfce1ab8171dd27dc7952cdf09b698e:s6_clone3_newpid.patch
-#@untar:-j:sha256:4496d6cec9644cda8006ead15e17e500629ce30fe85ab2f2052a77ba43a1358d:.
-
-: ${JOBS:=1}
-cd libelf-compat-0.152c001
-
-sed -i 's@HEADERS = src/libelf.h@HEADERS = src/libelf.h src/gelf.h@' Makefile
-prefix=/home/ccx/versions/$pthbs_package
-make -j${JOBS:-1} -l$((1+${JOBS:-1})) prefix="$prefix" bindir="$prefix/command" includedir="$prefix/include" libdir="$prefix/library" DESTDIR="$pthbs_destdir" install
-
-cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./library/libelf.a"]=1
- x["./include/libelf.h"]=1
- x["./include/gelf.h"]=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 == "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/libelf.h b/variants/ccx-x86_64/libelf.h
@@ -1,62 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+busybox.ee3440974794767b833fd3299226771f170d3f8601cf225cb884f0a513db8ab3
-#@sha256:9be2e5a97b3fcbc60dedb71967667b9a21d562dbfdaa7f9f74f4b3d9cbb5df86:include/dwarf.h
-#@sha256:0991a992f75396056c7d7f698fa7e87be24349ae85a195060d46e6a61881d97b:include/gelf.h
-#@sha256:3b20df1d58f9a445785503415aea1188d33159327c2edab3d370dbd37bc4845e:include/libelf.h
-#@sha256:98a8ddd1004034aeff4cc6d18e5df23f55d2869d879735c3b571594a44ba1212:include/nlist.h
-
-installdir="$pthbs_destdir//home/ccx/versions/$pthbs_package"
-mkdir -p "$installdir"
-mv include "$installdir/"
-
-cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
-}
-
-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 == "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/linux b/variants/ccx-x86_64/linux
@@ -7,7 +7,7 @@
#+flex.322ebabc6eba6cdfd84b1b90f25790b8d917035872c2e6bb2f4c8e2f05eabcfd
#+bison.1a189980b7909de4d49b57a4821f58147c2cc150fcd4227cb88b63342551a10f
#+rsync.8ddf33e53ecdd1f6b001cfb4ab0ed5f7db674fd7fd4ad2594eaa9976f2f2d212
-#+libelf-compat.43ada6d20bc049135bb9f1bdb04a4598a31f11a9c18a535a03a2c78c6c82e933
+#+libelf.9fdab7bec582e70d0ea5b75bf02e721058e114beb0ee56e42acd769cc38a2581
#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:.
#@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz
#@sha256:cb8081499f316acdc7b31b486b8d68afd68094db8f420aba0eab2c3e8de13888:linux.config
diff --git a/variants/root-x86_64/elf.h b/variants/root-x86_64/elf.h
@@ -1,59 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089
-#@sha256:a6ffb38364effd623e135b206ec97ff9e6826a1f285e349a3633df55db38bc9e:elf.h
-
-installdir="$pthbs_destdir//versions/$pthbs_package"
-mkdir -p "$installdir/include"
-mv elf.h "$installdir/include"
-
-cd "$pthbs_destdir/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
-}
-
-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 == "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/elfutils b/variants/root-x86_64/elfutils
@@ -1,125 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc
-#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465
-#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089
-#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123
-#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3
-#@untar:-j:sha256:39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8:.
-
-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"
-}
-autotools_config() {
- prefix=/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/elfutils" \
- --datadir="$prefix/data" \
- --datarootdir="$prefix/data" \
- --localstatedir='/var/pthbs' \
- "$@"
-
-}
-
-autotools() {
- cd "$1"
- shift
- autotools_config "$@"
- make -j${JOBS:-1} -l$((1+${JOBS:-1}))
- make DESTDIR="$pthbs_destdir" install
-}
-
-autotools_static() {
- build_env_static
- autotools "$@" --enable-static --disable-shared
-}
-check_static() {
- local exe || true
- exe=$pthbs_destdir/'/versions'/$pthbs_package/$1
- if ! test -f $exe; then
- printf '%s\n' "Error: file '$1' doesn't exist!"
- exit 1
- fi
- 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
-}
-
-export CFLAGS="-D_GNU_SOURCE -Wno-error -Wno-null-dereference"
-export LDFLAGS="-static -L/versions/musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc/lib"
-
-autotools elfutils-0.189 \
- --disable-nls \
- --disable-werror \
- --program-prefix=eu- \
- --enable-deterministic-archives \
- --disable-nls \
- --disable-libdebuginfod \
- --disable-debuginfod \
- --without-zstd \
- --without-argp
-
-
-cd "$pthbs_destdir/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./library/libelf.a"]=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 == "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/kernel.environment b/variants/root-x86_64/kernel.environment
@@ -1,2 +1,2 @@
#!/usr/bin/env pthbs-build
-#+linux.127dba0e90f84b5759fecbae1dac44d3d74106970f7a464a3561fdd9004eb98a-
\ No newline at end of file
+#+linux.11e52dd5ae413f72c7b585426643683922e0410b5b0b5881e61c5a69bae4ac7b+
\ No newline at end of file
diff --git a/variants/root-x86_64/libelf b/variants/root-x86_64/libelf
@@ -0,0 +1,75 @@
+#!/usr/bin/env pthbs-build
+#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc
+#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465
+#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089
+#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123
+#+zstd.a83f72c5953bd6b7afc171528a503710b3144bf9197961833fd27926b0a18137
+#@git:288355d104ff9930520c0283fe82556c6cc5c16f:libelf
+
+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"
+}
+prefix=/versions/$pthbs_package
+build_env_static
+make DESTDIR="$pthbs_destdir" install
+make -j${JOBS:-1} -l$((1+${JOBS:-1})) PREFIX=/versions/$pthbs_package \
+ DESTDIR="$pthbs_destdir" \
+ INCDIR="$prefix/include" \
+ LIBDIR="$prefix/library" \
+ install-static
+
+cd "$pthbs_destdir/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./library/libelf.a"]=1
+ x["./include/elf/libelf.h"]=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 == "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/libelf-compat b/variants/root-x86_64/libelf-compat
@@ -1,69 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc
-#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465
-#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089
-#@git:8e22cbe9d3f821598a2eb9dea387c6b413f76105:s6
-#@sha256:627d1273036dc35239ba9dd1da45132e3bfce1ab8171dd27dc7952cdf09b698e:s6_clone3_newpid.patch
-#@untar:-j:sha256:4496d6cec9644cda8006ead15e17e500629ce30fe85ab2f2052a77ba43a1358d:.
-
-: ${JOBS:=1}
-cd libelf-compat-0.152c001
-
-sed -i 's@HEADERS = src/libelf.h@HEADERS = src/libelf.h src/gelf.h@' Makefile
-prefix=/versions/$pthbs_package
-make -j${JOBS:-1} -l$((1+${JOBS:-1})) prefix="$prefix" bindir="$prefix/command" includedir="$prefix/include" libdir="$prefix/library" DESTDIR="$pthbs_destdir" install
-
-cd "$pthbs_destdir/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
- x["./library/libelf.a"]=1
- x["./include/libelf.h"]=1
- x["./include/gelf.h"]=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 == "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/libelf.h b/variants/root-x86_64/libelf.h
@@ -1,62 +0,0 @@
-#!/usr/bin/env pthbs-build
-#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089
-#@sha256:9be2e5a97b3fcbc60dedb71967667b9a21d562dbfdaa7f9f74f4b3d9cbb5df86:include/dwarf.h
-#@sha256:0991a992f75396056c7d7f698fa7e87be24349ae85a195060d46e6a61881d97b:include/gelf.h
-#@sha256:3b20df1d58f9a445785503415aea1188d33159327c2edab3d370dbd37bc4845e:include/libelf.h
-#@sha256:98a8ddd1004034aeff4cc6d18e5df23f55d2869d879735c3b571594a44ba1212:include/nlist.h
-
-installdir="$pthbs_destdir//versions/$pthbs_package"
-mkdir -p "$installdir"
-mv include "$installdir/"
-
-cd "$pthbs_destdir/versions/$pthbs_package"
-find -type d -o -print | awk -F/ '
-BEGIN {
-}
-
-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 == "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/linux b/variants/root-x86_64/linux
@@ -7,7 +7,7 @@
#+flex.42bdab01fb2083e92a4417d5fb289c468b9a1a5b8092904b965455b74559262f
#+bison.d9992ea20119a82e24982f67479e65e94ec0fdc686f024f0ed04e87c83a00ef0
#+rsync.0d38ed5b8c53de378afb90bb4162a0adc58ffce7c9ddc40cacdb6db2cda01a15
-#+libelf-compat.eb6c45846b007e6c7a4c7717bcfc5379a68315a73ff1343e073f790de94980b1
+#+libelf.f8aeb542ea9efc9af095dfd4b7522db7f64cbfe4d6ffc23c1204df3a219a33a0
#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:.
#@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz
#@sha256:cb8081499f316acdc7b31b486b8d68afd68094db8f420aba0eab2c3e8de13888:linux.config