mrrl

Minimal Reliable Reproducible Linux
git clone https://ccx.te2000.cz/git/mrrl
Log | Files | Refs | Submodules | README

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:
M.gitmodules | 4++++
Mcommitlist.sha1 | 13++++++++++++-
Asources/libelf | 1+
Dtemplates/pkg/elf.h | 9---------
Dtemplates/pkg/elfutils | 22----------------------
Atemplates/pkg/libelf | 23+++++++++++++++++++++++
Dtemplates/pkg/libelf-compat | 21---------------------
Dtemplates/pkg/libelf.h | 12------------
Mtemplates/pkg/linux | 2+-
Dvariants/ccx-x86_64/elf.h | 59-----------------------------------------------------------
Dvariants/ccx-x86_64/elfutils | 125-------------------------------------------------------------------------------
Mvariants/ccx-x86_64/kernel.environment | 4++--
Avariants/ccx-x86_64/libelf | 75+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dvariants/ccx-x86_64/libelf-compat | 69---------------------------------------------------------------------
Dvariants/ccx-x86_64/libelf.h | 62--------------------------------------------------------------
Mvariants/ccx-x86_64/linux | 2+-
Dvariants/root-x86_64/elf.h | 59-----------------------------------------------------------
Dvariants/root-x86_64/elfutils | 125-------------------------------------------------------------------------------
Mvariants/root-x86_64/kernel.environment | 4++--
Avariants/root-x86_64/libelf | 75+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dvariants/root-x86_64/libelf-compat | 69---------------------------------------------------------------------
Dvariants/root-x86_64/libelf.h | 62--------------------------------------------------------------
Mvariants/root-x86_64/linux | 2+-
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