commit 2f8136b33832b200949bb7951f25d0e497475152 parent d62ce7be9942068ba056aa75c22a32c34f130fc7 Author: Jan Pobrislo <ccx@te2000.cz> Date: Wed, 10 Dec 2025 16:19:03 +0000 enable libacl support in vis and rsync Diffstat:
27 files changed, 385 insertions(+), 39 deletions(-)
diff --git a/templates/pkg/acl b/templates/pkg/acl @@ -1,5 +1,4 @@ {%- set pkg_source="tar.gz" -%} -{% do skip("TODO: use this package") %} {%- set pkg_version="2.3.2" -%} {% extends "autotools_static_mini" %} {%- block package_deps -%} diff --git a/templates/pkg/rsync b/templates/pkg/rsync @@ -16,11 +16,15 @@ #+{{pkg_install_name("popt")}} #+{{pkg_install_name("libressl")}} #+{{pkg_install_name("zstd")}} +#+{{ pkg_install_name("acl") }} +#+{{ pkg_install_name("attr") }} {% endblock %} {% block configure_args -%} --without-included-popt \ --enable-openssl \ --enable-zstd \ + --enable-acl \ + --enable-attr \ --disable-xxhash \ --disable-lz4 {% endblock %} diff --git a/templates/pkg/vis b/templates/pkg/vis @@ -5,6 +5,7 @@ {{ ps.toolchain() }} #+{{ pkg_install_name(make_impl|default("gnu-make")) }} #+{{ pkg_install_name("netbsd-curses") }} +#+{{ pkg_install_name("acl") }} {% endblock package_deps -%} {%- block configure %} build_env_static diff --git a/variants/ccx-x86_64/acl b/variants/ccx-x86_64/acl @@ -0,0 +1,166 @@ +#!/usr/bin/env pthbs-build +#+busybox.56c53c92327b9fadf0d6015842344b63e07c8b93e2a047453128d7575529d5c4 +#+busybox-bzip2.0126bb7b1e717e04f34279b95c4e6174eee34f87a5d07231c8ecdc34f6ab1fea +#+busybox-gzip.ce3b1b66526fe19bb5f8a2d8ac1ca8e16313b1160e0476161a2952caa3e9ab4f +#+busybox-lzop.b010a9d4f7f9b29d1f839e5ebac7dbc1f2d57626ce3e48adbc5011a20e5bba71 +#+busybox-unzip.6e78fc97ae94aa9ceb41caff369bbf0db7e4500d924171acfc5cfdb83e357c38 +#+busybox-xz.b41b61d24d06de8007f02a0ef1d043730f1f70ad127eb3d0176e377240f7a763 +#+busybox-cpio.a6bac71dd44c8cae7212a9007bd04db49a6d49a4a48a1b67c857274276c89a7e +#+busybox-dpkg.e12f71bf6e1dc2477f5c8e429d9d764ad6d2aa1de36b3c9ffa2f645ae098a5a2 +#+busybox-rpm.355d32d3317387a12b93fa6dedb8c027f79e586791623572f7c56dc3469f3503 +#+busybox-tar.bde77d83984306e943d75ffde3387a310b4de0bdfbfe0d48bd41ecf61b2d39cb +#+busybox-ed.3938862a5aa8e2d37111074db3b84c2db7e69dd01828e3426a87d115d47758b7 +#+busybox-sed.c6ecd5eb36f90083161e1e684196e5247c1dac4f83a56e3d6fb243d2e962fe28 +#+busybox-vi.a3833e7313e010e3d82156f4ddb47a02afac77d320e5f4e094fa521519b3a800 +#+busybox-xxd.a14a03f5ae2935cb9b4a688b65856a311c0f97319d84fa534fe9e47e2220a6dd +#+busybox-process-extra.e159e8e0bd46ffa367b72cd8947a4e3d3e2029e6bf9750ae7396db188adc77a7 +#+busybox-procps.35788f743842a4b5698474c35c24bdea9e359839fffe0deaa9cd014d601680ee +#+busybox-psmisc.678fb27ab7d03ae8e0953cbbee399fde320210f5cbe9794293fdd7a2d7580ce8 +#+busybox-ash.ef8b72a477ae2545b8aec04f6e5fedfd2de30aa6204906bad3af7415a413831d +#+busybox-bc.5f47a5242eb7add52420ff987f1defc73bb4e06fa0641e14a4b2b286bfc576ae +#+busybox-coreutils.9fc74c9c472cc7b14f4af6e101ff765d23da777a114b2305538f53d2909d923e +#+busybox-coreutils-extra.40cc65cc10c9ac7aff1cd5ef397cc88c5151feae214bb9c1ed4ef7c436da6f7e +#+busybox-daemontools.39fc13baeda4b241771a111fddefdbf787ca265f599e1bd93b05efb453d70cc2 +#+busybox-grep.ea484e3da880feaf17131558a42311bd0239f74c229c2c2134675f6fe7ae25fa +#+busybox-misc.4b3d2e82871dcd5355bbafdafdfc911c0e71d7b79981a3823175464af3416462 +#+busybox-sh.55f2510c8bdd1614ba02243f8efb5f23f9273b585fd697111b723309bdc6fbbd +#+busybox-util-linux-unpriv.656023a8d03b987a561608ab67eabbdd670c91c41cdf629aa4b76a3f07e0cd50 +#+busybox-findutils.b2b8e511be4dca01dcc369198cb5a87e68c6fab6c16d34caa2515ff93ca07381 +#+nawk.4028835d6434ac7d8655c7f9e74ff307e2db89bf2c94002a309babd8a6780007 +#+busybox-diffutils.59467ff733b5e802f382c98960aae2c6ecfc7b82fa42db3df679593dc1ec8036 +#+musl-cross-make.14e02e45cc77fb5c9787349ef554dda78766f71652b100aee3b00e24a3d02cd1 +#+gnu-make.4034f4d785c5108ad387088199242aa8aa6920e7aab1f79ce51d1f43e97cb580 +#+m4.3c2c0285db6a9478ec3d15df2ed5a84329ebf2770be190cdd64b375b505b336a +#+attr.60faebe40ebec568f0b6695a55f8094a8ea3e6c21049d1e96a54df7b9b8c8045 +#@untar:-z:sha256:5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c:. + + +# - 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/acl" \ + --datadir="$prefix/data" \ + --datarootdir="$prefix/data" \ + --localstatedir='/var/pthbs' \ + "$@" + +} + +autotools_config_static() { + autotools_config "$@" --enable-static --disable-shared +} + +build_env_static() { + export CFLAGS="-ffile-prefix-map=${pthbs_workdir}=builddir $CFLAGS" + export CXXFLAGS="-ffile-prefix-map=${pthbs_workdir}=builddir $CXXFLAGS" + 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 'acl-2.3.2' + + +build_env_static +autotools_config_static + + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) + +make DESTDIR="$pthbs_destdir" install + + + +check_static command/chacl + + + +cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/chacl"]=1 + x["./command/setfacl"]=1 + x["./command/getfacl"]=1 + x["./library/libacl.a"]=1 + x["./include/acl/libacl.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 == "env" { link($0); next } +$2 == ".env-template" { link($0); next } + +$2 == "command" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } +$2 == "sbin" { 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" { link(s1("info", r1($0))); next } +$2 == "share" && $3 == "man" { link(s1("man", r1($0))); next } +$2 == "share" && $3 == "doc" { link(s1("doc", r1($0))); next } + +$2 == "config" { link($0); next } +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { 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" } + retcode = 0 + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + retcode = 3 + } + } + exit retcode +}' >.install-links.new +mv .install-links.new .install-links + diff --git a/variants/ccx-x86_64/busybox:modutils b/variants/ccx-x86_64/busybox:modutils @@ -1,5 +1,5 @@ #!/usr/bin/env pthbs-build -#+linux-qemu-guest.7ff40c184b24d1a84fbf5a161b7bdd0c90c8ba5e994396f71f42d8935963972f +#+linux-qemu-guest.8a65aae7e9edce81a3a81c1da80f14620afdf7d32f2d1136a2c103c3d1f8a6e3 #+musl-cross-make.14e02e45cc77fb5c9787349ef554dda78766f71652b100aee3b00e24a3d02cd1 #+gnu-make.4034f4d785c5108ad387088199242aa8aa6920e7aab1f79ce51d1f43e97cb580 #+busybox.56c53c92327b9fadf0d6015842344b63e07c8b93e2a047453128d7575529d5c4 @@ -60,7 +60,7 @@ export CFLAGS="-D_GNU_SOURCE" export LDFLAGS="-static" # TODO: indirection via deps directory/symlink cat >>.config <<EOF -CONFIG_DEFAULT_MODULES_DIR="/home/ccx/versions/linux-qemu-guest.7ff40c184b24d1a84fbf5a161b7bdd0c90c8ba5e994396f71f42d8935963972f" +CONFIG_DEFAULT_MODULES_DIR="/home/ccx/versions/linux-qemu-guest.8a65aae7e9edce81a3a81c1da80f14620afdf7d32f2d1136a2c103c3d1f8a6e3" EOF make oldconfig cat .config diff --git a/variants/ccx-x86_64/default.environment b/variants/ccx-x86_64/default.environment @@ -50,7 +50,7 @@ #+patch.2107bae5d78ad951bd28615d44c983d64e686d320b40f74e4f5137fd9bcc2c6a #+flex.d39167f250ee7e10bded88eb7835bc8b7871aa2a3a60dcab340c4b7bc4b6672a #+bison.97ce4714edbb7c38d86cd484acc46fb0f4e07aa2371be0cb93375de8395ef327 -#+rsync.ceaff65ed5b95dcd019ce47472ee60fc3e6221137a2409cd6947796968a7ae71 +#+rsync.06ec039b8fc41c4a42bc008f8bc2958d9b5373b50478201941eb2148356496a3 #+execline.49940e3d6f0e84ccbcddfce3dd2db760ad451a312896a69902b3f8e95a600e92 #+s6.0d5d4703e07c3e5a0d4567706c69119aad5a0e9a37c28bf6b05dd12a27dc1eb1 #+s6-rc.b3ba6e214c85c2f5cb10d42dd9d344798a776c86a200911d7eec95bcc955ef48 @@ -86,9 +86,9 @@ #+squashfs-tools.d674abf818e01e9a46d0a6e995c2fa8f4e6086671e2b4d8345e8f592e0558128 #+mandoc.e037587ebdf49fabbb28d83caa5b22be308fa7406c22f4f7545106426c458bdc #+tinyssh.0ac46feb5c124a8975937476f186cccae55fefec0cb8865ff2bac544a2af31af -#+system-config.80c3672c75c19c7aa7ec1c803bfc8d5ce4414aa112d15351be69d72a29f3540c -#+system-config-rc.5b6a7464e05f5ca9dc3bda4d95157109221956d94f0a1b2ea9d03955ab34740d +#+system-config.6851c6e594b0aae6dd597a8c019d607c8eeefc95d0340373792294dcc3fa6bcf +#+system-config-rc.34f46f3d206620432b5550fc2560163ef98d82a41c33d2d63c11ba9d30fbc0fd #+system-config-scripts.0c081aa66e7b2b7ccfb20f9c75e5dfff8f8d6804d0b4624934a8059354c14d9e -#+system-config-init.3f952dda21ad03bfd61f6950c26dcbec934394452f268dc732da8c3614cd0d2b +#+system-config-init.67ed5f61a637c8d2ba974441985ea0f65b4af7b81bbef4f557660b2832847e89 #+system-config-zsh.4fbaba9e3faaa13ba5a2d93a2b3dc4a5a94ebb5ed5bb7facfc94308076a14253 -#+busybox.36df1e8543d0b5195f916843937333d8f8e3561445e8ca933ab21271b5ebe855- \ No newline at end of file +#+busybox.0811794d51290adedc326ae2728609b3a08a6a7e667720496cfb8d935bc742a2+ \ No newline at end of file diff --git a/variants/ccx-x86_64/kernel.environment b/variants/ccx-x86_64/kernel.environment @@ -1,3 +1,3 @@ #!/usr/bin/env pthbs-build -#+linux-qemu-guest.7ff40c184b24d1a84fbf5a161b7bdd0c90c8ba5e994396f71f42d8935963972f -#+busybox.36df1e8543d0b5195f916843937333d8f8e3561445e8ca933ab21271b5ebe855- \ No newline at end of file +#+linux-qemu-guest.8a65aae7e9edce81a3a81c1da80f14620afdf7d32f2d1136a2c103c3d1f8a6e3 +#+busybox.0811794d51290adedc326ae2728609b3a08a6a7e667720496cfb8d935bc742a2+ \ No newline at end of file diff --git a/variants/ccx-x86_64/linux b/variants/ccx-x86_64/linux @@ -34,7 +34,7 @@ #+patch.2107bae5d78ad951bd28615d44c983d64e686d320b40f74e4f5137fd9bcc2c6a #+flex.d39167f250ee7e10bded88eb7835bc8b7871aa2a3a60dcab340c4b7bc4b6672a #+bison.97ce4714edbb7c38d86cd484acc46fb0f4e07aa2371be0cb93375de8395ef327 -#+rsync.ceaff65ed5b95dcd019ce47472ee60fc3e6221137a2409cd6947796968a7ae71 +#+rsync.06ec039b8fc41c4a42bc008f8bc2958d9b5373b50478201941eb2148356496a3 #+zstd.07ebc1d049247600d4df20a2640d366674671001d16f9d046fbef08699a688c0 #+libelf.6f65bfeed188b3b55198dafcf752aeda3c1dc514fcc485e7fc87cc53bd88d72c #+pkgconf-pkg-config.d2f1547322d9ba8762a3aa73f0851720b99a3f5e95eb1531b7f8764f5c61c44f diff --git a/variants/ccx-x86_64/linux-qemu-guest b/variants/ccx-x86_64/linux-qemu-guest @@ -34,7 +34,7 @@ #+patch.2107bae5d78ad951bd28615d44c983d64e686d320b40f74e4f5137fd9bcc2c6a #+flex.d39167f250ee7e10bded88eb7835bc8b7871aa2a3a60dcab340c4b7bc4b6672a #+bison.97ce4714edbb7c38d86cd484acc46fb0f4e07aa2371be0cb93375de8395ef327 -#+rsync.ceaff65ed5b95dcd019ce47472ee60fc3e6221137a2409cd6947796968a7ae71 +#+rsync.06ec039b8fc41c4a42bc008f8bc2958d9b5373b50478201941eb2148356496a3 #+zstd.07ebc1d049247600d4df20a2640d366674671001d16f9d046fbef08699a688c0 #+libelf.6f65bfeed188b3b55198dafcf752aeda3c1dc514fcc485e7fc87cc53bd88d72c #+pkgconf-pkg-config.d2f1547322d9ba8762a3aa73f0851720b99a3f5e95eb1531b7f8764f5c61c44f diff --git a/variants/ccx-x86_64/mdevd.environment b/variants/ccx-x86_64/mdevd.environment @@ -47,4 +47,4 @@ #+s6.0d5d4703e07c3e5a0d4567706c69119aad5a0e9a37c28bf6b05dd12a27dc1eb1 #+mdev-scripts.2c27264b06d9d8bfd6ae59af0c511706a7891c94b02d6be072b3cdad53740491 #+mdevd.e5729bee65528cd131ac498226925a35a014741d40214d8e4476f8cb0d97fc36 -#+busybox.36df1e8543d0b5195f916843937333d8f8e3561445e8ca933ab21271b5ebe855- \ No newline at end of file +#+busybox.0811794d51290adedc326ae2728609b3a08a6a7e667720496cfb8d935bc742a2+ \ No newline at end of file diff --git a/variants/ccx-x86_64/rsync b/variants/ccx-x86_64/rsync @@ -34,6 +34,8 @@ #+popt.8a3fff8adbdde287881e244444a2aa2c51759401ed68cba59ccd23509dc8918b #+libressl.52dc61e1ae2a68ecd33b56ecd5b6fa148bfb124535d2659e3171693a31b2534b #+zstd.07ebc1d049247600d4df20a2640d366674671001d16f9d046fbef08699a688c0 +#+acl.8f23e302050a7df9dbf9a3c387cea864edfd7b584d9d88da11c193fcea30f7ef +#+attr.60faebe40ebec568f0b6695a55f8094a8ea3e6c21049d1e96a54df7b9b8c8045 #@untar:-z:sha256:4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb:. @@ -92,6 +94,8 @@ build_env_static autotools_config_static --without-included-popt \ --enable-openssl \ --enable-zstd \ + --enable-acl \ + --enable-attr \ --disable-xxhash \ --disable-lz4 diff --git a/variants/ccx-x86_64/system-config b/variants/ccx-x86_64/system-config @@ -49,7 +49,7 @@ #+gnu-make.4034f4d785c5108ad387088199242aa8aa6920e7aab1f79ce51d1f43e97cb580 #+aat.9e1a8d84c57afc208692dea539729548b5e2c84a062f232d0abb0eabebd845c7 #+fileset.e5a151f626de3d82ae8cbffbe8df007f016ae78c7a795565377da03798048476 -#+rsync.ceaff65ed5b95dcd019ce47472ee60fc3e6221137a2409cd6947796968a7ae71 +#+rsync.06ec039b8fc41c4a42bc008f8bc2958d9b5373b50478201941eb2148356496a3 #+execline.49940e3d6f0e84ccbcddfce3dd2db760ad451a312896a69902b3f8e95a600e92 #+kbd.26cc6da4f7c7f5a87f3d7f48b1adfce521ad06d606dfe9a8d5b4886119251feb #+mdevd.e5729bee65528cd131ac498226925a35a014741d40214d8e4476f8cb0d97fc36 @@ -60,7 +60,7 @@ #+libcgroup.61d1f04007de27aabce0c10b9fe33ed92214ca28b9686354ec104a9153b8824b #+system-config-scripts.0c081aa66e7b2b7ccfb20f9c75e5dfff8f8d6804d0b4624934a8059354c14d9e #+logincaps.dff305698371563065d0ae0795204a975129931ea7a3c066701f7fc21dfbda4c -#+busybox.36df1e8543d0b5195f916843937333d8f8e3561445e8ca933ab21271b5ebe855 +#+busybox.0811794d51290adedc326ae2728609b3a08a6a7e667720496cfb8d935bc742a2 #@git:055d24bac572481d7dedba7d4ec9df37f620fbfd:system-config @@ -98,7 +98,7 @@ chmod +x config/etc/skel/loginexec env 'pthbs_path_system-config'="$prefix" \ 'pthbs_path_containers=/home/ccx/versions/env.e504354206aeddd729f5a90232fdc070ef864da352cff6c014c5ec7553fb2e27' \ - 'pthbs_path_mdevd=/home/ccx/versions/env.62bac14f9bd2175a1c9aba428dfb9cc9131d13cf99722461442a8e09dd940e04' \ + 'pthbs_path_mdevd=/home/ccx/versions/env.7f97dbbec544bb3389df1424a5800f42187de72997b1765119a513d562ed0333' \ make -j${JOBS:-1} -l$((1+${JOBS:-1})) all sort -u build/execfile | while IFS= read exename; do diff --git a/variants/ccx-x86_64/system-config-init b/variants/ccx-x86_64/system-config-init @@ -50,7 +50,7 @@ #+s6-portable-utils.7f4db6a16ab09d3822d709aec42170cb1d2c7c752d88f13e3792e747cbd09a28 #+s6-linux-init.39d00512c8a37829a751fbbe1a7cfc37003dc9e3924d0ca13722eb2835830c2b #+execline.49940e3d6f0e84ccbcddfce3dd2db760ad451a312896a69902b3f8e95a600e92 -#+system-config-rc.5b6a7464e05f5ca9dc3bda4d95157109221956d94f0a1b2ea9d03955ab34740d +#+system-config-rc.34f46f3d206620432b5550fc2560163ef98d82a41c33d2d63c11ba9d30fbc0fd # - build script start - @@ -75,7 +75,7 @@ dest=${pthbs_destdir%/}${prefix} cd '.' -s6rcdb=/home/ccx/versions/system-config-rc.5b6a7464e05f5ca9dc3bda4d95157109221956d94f0a1b2ea9d03955ab34740d/config/s6-rc-db +s6rcdb=/home/ccx/versions/system-config-rc.34f46f3d206620432b5550fc2560163ef98d82a41c33d2d63c11ba9d30fbc0fd/config/s6-rc-db # Generate init (${dest} must not exist but parent dir does) mkdir -p "$pthbs_destdir//home/ccx/versions" diff --git a/variants/ccx-x86_64/system-config-rc b/variants/ccx-x86_64/system-config-rc @@ -30,7 +30,7 @@ #+busybox-diffutils.59467ff733b5e802f382c98960aae2c6ecfc7b82fa42db3df679593dc1ec8036 #+s6-rc.b3ba6e214c85c2f5cb10d42dd9d344798a776c86a200911d7eec95bcc955ef48 #+fileset.e5a151f626de3d82ae8cbffbe8df007f016ae78c7a795565377da03798048476 -#+system-config.80c3672c75c19c7aa7ec1c803bfc8d5ce4414aa112d15351be69d72a29f3540c +#+system-config.6851c6e594b0aae6dd597a8c019d607c8eeefc95d0340373792294dcc3fa6bcf # - build script start - @@ -40,7 +40,7 @@ dest=${pthbs_destdir%/}${prefix} cd '.' -src=/home/ccx/versions/system-config.80c3672c75c19c7aa7ec1c803bfc8d5ce4414aa112d15351be69d72a29f3540c/config/s6-rc-source +src=/home/ccx/versions/system-config.6851c6e594b0aae6dd597a8c019d607c8eeefc95d0340373792294dcc3fa6bcf/config/s6-rc-source s6-rc-compile ./s6-rc-db "$src" mkdir -p "$dest/config" mv -v s6-rc-db "$dest/config/" diff --git a/variants/ccx-x86_64/userspace.environment b/variants/ccx-x86_64/userspace.environment @@ -50,7 +50,7 @@ #+patch.2107bae5d78ad951bd28615d44c983d64e686d320b40f74e4f5137fd9bcc2c6a #+flex.d39167f250ee7e10bded88eb7835bc8b7871aa2a3a60dcab340c4b7bc4b6672a #+bison.97ce4714edbb7c38d86cd484acc46fb0f4e07aa2371be0cb93375de8395ef327 -#+rsync.ceaff65ed5b95dcd019ce47472ee60fc3e6221137a2409cd6947796968a7ae71 +#+rsync.06ec039b8fc41c4a42bc008f8bc2958d9b5373b50478201941eb2148356496a3 #+execline.49940e3d6f0e84ccbcddfce3dd2db760ad451a312896a69902b3f8e95a600e92 #+s6.0d5d4703e07c3e5a0d4567706c69119aad5a0e9a37c28bf6b05dd12a27dc1eb1 #+s6-rc.b3ba6e214c85c2f5cb10d42dd9d344798a776c86a200911d7eec95bcc955ef48 diff --git a/variants/ccx-x86_64/vis b/variants/ccx-x86_64/vis @@ -30,6 +30,7 @@ #+musl-cross-make.14e02e45cc77fb5c9787349ef554dda78766f71652b100aee3b00e24a3d02cd1 #+gnu-make.4034f4d785c5108ad387088199242aa8aa6920e7aab1f79ce51d1f43e97cb580 #+netbsd-curses.62fbfa6e36ad4c26813723d03cbfe75c3e7d20f081b985904d933a07a84a541e +#+acl.8f23e302050a7df9dbf9a3c387cea864edfd7b584d9d88da11c193fcea30f7ef #@git:6c519e91c684838bebcc6d49d894af956f6815b4:vis diff --git a/variants/ccx-x86_64/vm.environment b/variants/ccx-x86_64/vm.environment @@ -1,2 +1,2 @@ #!/usr/bin/env pthbs-build -#+linux-qemu-guest.7ff40c184b24d1a84fbf5a161b7bdd0c90c8ba5e994396f71f42d8935963972f- \ No newline at end of file +#+linux-qemu-guest.8a65aae7e9edce81a3a81c1da80f14620afdf7d32f2d1136a2c103c3d1f8a6e3+ \ No newline at end of file diff --git a/variants/root-x86_64/acl b/variants/root-x86_64/acl @@ -0,0 +1,166 @@ +#!/usr/bin/env pthbs-build +#+busybox.d606402a9b19703f3101fbbf1d8feba6c5330e680c0f00072c0dc3f7b0accb75 +#+busybox-bzip2.b36138bf256b42638bcace8cf6a08739b1754692010aa1a5a908e8df37be7fad +#+busybox-gzip.0c5d125d9d3cdf56cf21713e48d8b694b3452a287f0ac043c9a369b7d2f3b334 +#+busybox-lzop.c6936c52c87572853743ab163d57e3392ce429156552c898c021f4e2ac7af1b5 +#+busybox-unzip.e3a84bbc97bd08fe5090680838fc5b1d9abf069cde1b5709f166a2d2eebc427e +#+busybox-xz.f3842d8a5caff601be0a35d05e665d0544754f58faf5658ea439be0c1c040a99 +#+busybox-cpio.d1cbd26a4fa257de9a55ada14c4f080885059c8f51a7070a3a023cdd28507584 +#+busybox-dpkg.e1da550577c100cbf7465e94effbb497ddb432f2e4a4bb3eb90fc27d6d8926b2 +#+busybox-rpm.c0c0623d52e5057d4e7fb415b80a8b51a017ca4192b62f26e12ea544d011f927 +#+busybox-tar.7702b875f538a77796dd4587413edea7413d6e32c30ae04d7af5971d8d24ef3a +#+busybox-ed.c3bede943dff025dc5cc50be3040293b7db22573896736222b2313a0c98e590a +#+busybox-sed.3b94dd6f9471c2293f9022def3eed4b9aeced5f727c55e5f2b5f1eb171f23dce +#+busybox-vi.370e3d4d8985b698a5f6025b55f7ba803fb73c89b40924931ad5258d50015821 +#+busybox-xxd.b1385c052421a3a6858382738234f70c4cbf300d704dc6e03fc7dffc56e8b622 +#+busybox-process-extra.4bf3085bc662f3d1f8bd09f9db8c94425c4c0959f6bbf018de33cf34b5e1bcf4 +#+busybox-procps.6d8ca3e57677b8f922227712b35dc58cb0f95c8c1382108098226e9f3103c0a9 +#+busybox-psmisc.db3e795596b707b0d4c50347c7433d19c25e489ac15b973fecd50c360a3fb24d +#+busybox-ash.dfd3539b634f7d382b6e3925f69287a00262f4722841eab4e26fb974fd7ac622 +#+busybox-bc.e078e39a374f04666d1b7e64cf48130c795d452983e4eb1b326ab0affbb6ea7e +#+busybox-coreutils.2c73238b94522195571b87a2fe57c6b9252a36212f23280b14c4d513beacddc3 +#+busybox-coreutils-extra.e04a30916dd192201f931c20dcbc73c3dbe923bece439d0871d9db8b72ff7054 +#+busybox-daemontools.098138809572ced9375c0fff8f3e122eccafc1ac5d77f0353b8c7287943cd92d +#+busybox-grep.404137a4bd5f423fb4fdefc745cb2cbe2d52768359616313735c5f4f222ebc1c +#+busybox-misc.22016926318af042fb7857053cdf0f5d470b10f05c00e0035d63885c933597ff +#+busybox-sh.0731e0dad061cff997b5fc805e9e2fe92ecea581115d2b126006b85d702e866a +#+busybox-util-linux-unpriv.a209874278faaef4d767c83c2b15c82bc865e14c18629ff0be811ef73f9ad6ee +#+busybox-findutils.4b6b2da77a78596fabbeb11cc0dac80b1b039580baa5e2ff5fe4a2857f931b61 +#+nawk.48e7e5c0112e297121356bf98ff987d3d85d92b2696452ecea8ae4cffc57c10d +#+busybox-diffutils.7297c795754c245870d8ba99b3907f9ec3932726a5af6b8d15980adcbf6c0059 +#+musl-cross-make.581e6f7496a630a91679f40945ae85b1c9a3f1f5afd725bb7608ad60c058d8f9 +#+gnu-make.98dc2bc139672e6347bc2b2220304949f81b1851d2dc14778379568a0734db59 +#+m4.9525a842f294db9ba4dff2f5c09131b12ebd35df0c9e06c5404c3b046ba13748 +#+attr.1367ffd510ba4e1a1a51922ea1aec38b8d4e314ef2c1782a072f10173790a63e +#@untar:-z:sha256:5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c:. + + +# - build script start - + +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/acl" \ + --datadir="$prefix/data" \ + --datarootdir="$prefix/data" \ + --localstatedir='/var/pthbs' \ + "$@" + +} + +autotools_config_static() { + autotools_config "$@" --enable-static --disable-shared +} + +build_env_static() { + export CFLAGS="-ffile-prefix-map=${pthbs_workdir}=builddir $CFLAGS" + export CXXFLAGS="-ffile-prefix-map=${pthbs_workdir}=builddir $CXXFLAGS" + export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" +} + +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 + 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=/versions/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +cd 'acl-2.3.2' + + +build_env_static +autotools_config_static + + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) + +make DESTDIR="$pthbs_destdir" install + + + +check_static command/chacl + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/chacl"]=1 + x["./command/setfacl"]=1 + x["./command/getfacl"]=1 + x["./library/libacl.a"]=1 + x["./include/acl/libacl.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 == "env" { link($0); next } +$2 == ".env-template" { link($0); next } + +$2 == "command" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } +$2 == "sbin" { 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" { link(s1("info", r1($0))); next } +$2 == "share" && $3 == "man" { link(s1("man", r1($0))); next } +$2 == "share" && $3 == "doc" { link(s1("doc", r1($0))); next } + +$2 == "config" { link($0); next } +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { 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" } + retcode = 0 + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + retcode = 3 + } + } + exit retcode +}' >.install-links.new +mv .install-links.new .install-links + diff --git a/variants/root-x86_64/default.environment b/variants/root-x86_64/default.environment @@ -50,7 +50,7 @@ #+patch.05e92009b5904e5104c194a4a2b66427c75b14619e0bdd0f541954e8b13d30f4 #+flex.36fbb09f9cf5f124e60da5ee47b9c4e4196523a4052d1dab8d438d404f4bca49 #+bison.86ffd0e657b2d4079934f7e40bf5c395a865b753f53a23e3a42bdc9841d2fe8b -#+rsync.3dd1e0e1058e5fa73eb3325e19fa4e9c9bdc9bd230e6978881849a4bfc6f19b7 +#+rsync.8762109b164a0d0427bcd82552d1804f5ecaeaa75df7a9bae189b6cf70a0be2b #+execline.770a7209a0ab50477d1ea726742169464a00deacf6abec0f04c9eb69e3243cd5 #+s6.04fb8499c2babe913f53ef934076b087746db184ae4955c04457a325900e11eb #+s6-rc.bc50208569d8e23862ac3fcf169ea24354b3a9693c961a7139ed0fbaeb05ce86 @@ -86,9 +86,9 @@ #+squashfs-tools.d17a5fe5700099cda5f27c79c24f4a75314d9c2160d9e5a31b1b4baf5b6c3365 #+mandoc.6f6a20cc42e1e71817249856c921d8e3686a869c979a34fcbd19de2ab00130ac #+tinyssh.7b2b9a4c3ff2d42a7b138c3830eb3c0a275aa391fb0812ccaecca383d2e6caa8 -#+system-config.035c02f791d6c813df7f63af5faea7eaf08c5d42910a8d85c3a14c6021c16978 -#+system-config-rc.143a8f7cba6932be4fe74c3e735d5845fddd007236935a01f58336e48da09dae +#+system-config.d693a148cb08bdcbf4926d9c7d609cecab3a5dcc80a6cf01b22aa115facfa8c2 +#+system-config-rc.4c6ab7518e87a1a3920502971e753279122dab09e21a9e99763e487a5e0f0a59 #+system-config-scripts.ac2a449afef9d2c804ccca9869bdb1eaf89223a1b687c8e154f4a46216566b11 -#+system-config-init.3a2a37544b4137a4a1ae9b00ca4033535ad993bab17ec79d5f8d4917ac169271 +#+system-config-init.e23fb9ba79b4e282867e005660d03c6d8210b9b74d9f2482667665db0157255b #+system-config-zsh.cbbd0ea2d203a601fb2497946adaba74910fd150b071dacffb1d82dd8c4fb33f #+busybox-modutils.5f321825e26ecc84ba02a1cd21c040ccb3cb8324b94d5b9492012eb5163a5aa7 \ No newline at end of file diff --git a/variants/root-x86_64/linux-qemu-guest b/variants/root-x86_64/linux-qemu-guest @@ -34,7 +34,7 @@ #+patch.05e92009b5904e5104c194a4a2b66427c75b14619e0bdd0f541954e8b13d30f4 #+flex.36fbb09f9cf5f124e60da5ee47b9c4e4196523a4052d1dab8d438d404f4bca49 #+bison.86ffd0e657b2d4079934f7e40bf5c395a865b753f53a23e3a42bdc9841d2fe8b -#+rsync.3dd1e0e1058e5fa73eb3325e19fa4e9c9bdc9bd230e6978881849a4bfc6f19b7 +#+rsync.8762109b164a0d0427bcd82552d1804f5ecaeaa75df7a9bae189b6cf70a0be2b #+zstd.34cc749f8c590e889c6486d4f33b8c57208e3c6e7d36281d84689fac44b9a64c #+libelf.087731999bf3f2f82946ab397f6971bef889dc742a5757654d5079e95829cf50 #+pkgconf-pkg-config.c3d31ede6d00be8bbefb3513e3836d725a51781409722f7ab58d0a856a2a9738 diff --git a/variants/root-x86_64/rsync b/variants/root-x86_64/rsync @@ -34,6 +34,8 @@ #+popt.9fa422183430f243de036fa8c9d953928d2ace4539a65849b5e387d5b748c202 #+libressl.d21c86e599c742080e4e8fc933081a93048448f55fa5d5c0f91335a107827204 #+zstd.34cc749f8c590e889c6486d4f33b8c57208e3c6e7d36281d84689fac44b9a64c +#+acl.89957bd14ebdbe24118af9cbd161ba577dfeb12a666c45f7b21fef9b62ad18f1 +#+attr.1367ffd510ba4e1a1a51922ea1aec38b8d4e314ef2c1782a072f10173790a63e #@untar:-z:sha256:4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb:. @@ -92,6 +94,8 @@ build_env_static autotools_config_static --without-included-popt \ --enable-openssl \ --enable-zstd \ + --enable-acl \ + --enable-attr \ --disable-xxhash \ --disable-lz4 diff --git a/variants/root-x86_64/system-config b/variants/root-x86_64/system-config @@ -49,7 +49,7 @@ #+gnu-make.98dc2bc139672e6347bc2b2220304949f81b1851d2dc14778379568a0734db59 #+aat.e3e638e18b98d6c6fd82d1f1eba60082f4cfcd2e196c975cfd621f88f00e40f0 #+fileset.f310a9481c4fdb71269bb232f4ae4c004a62c44ee2a053a3b1500d67813a91d3 -#+rsync.3dd1e0e1058e5fa73eb3325e19fa4e9c9bdc9bd230e6978881849a4bfc6f19b7 +#+rsync.8762109b164a0d0427bcd82552d1804f5ecaeaa75df7a9bae189b6cf70a0be2b #+execline.770a7209a0ab50477d1ea726742169464a00deacf6abec0f04c9eb69e3243cd5 #+kbd.e935a814b7be81a255036a94215521bcff827d7a29f9cfe3ee12b0b87a1a7468 #+mdevd.a65dac1bcbf3e45bf56ac219108fe15537401737aaabef2aa060f24682fa3a68 diff --git a/variants/root-x86_64/system-config-init b/variants/root-x86_64/system-config-init @@ -50,7 +50,7 @@ #+s6-portable-utils.88a5962bf96a590c8844071c1802840557768dc0a96078b815c1d9aa08ebe27c #+s6-linux-init.7a9d91b21cceaf06297ddc4522c7be945b051eb94cd21da564920db0003350e4 #+execline.770a7209a0ab50477d1ea726742169464a00deacf6abec0f04c9eb69e3243cd5 -#+system-config-rc.143a8f7cba6932be4fe74c3e735d5845fddd007236935a01f58336e48da09dae +#+system-config-rc.4c6ab7518e87a1a3920502971e753279122dab09e21a9e99763e487a5e0f0a59 # - build script start - @@ -75,7 +75,7 @@ dest=${pthbs_destdir%/}${prefix} cd '.' -s6rcdb=/versions/system-config-rc.143a8f7cba6932be4fe74c3e735d5845fddd007236935a01f58336e48da09dae/config/s6-rc-db +s6rcdb=/versions/system-config-rc.4c6ab7518e87a1a3920502971e753279122dab09e21a9e99763e487a5e0f0a59/config/s6-rc-db # Generate init (${dest} must not exist but parent dir does) mkdir -p "$pthbs_destdir//versions" diff --git a/variants/root-x86_64/system-config-rc b/variants/root-x86_64/system-config-rc @@ -30,7 +30,7 @@ #+busybox-diffutils.7297c795754c245870d8ba99b3907f9ec3932726a5af6b8d15980adcbf6c0059 #+s6-rc.bc50208569d8e23862ac3fcf169ea24354b3a9693c961a7139ed0fbaeb05ce86 #+fileset.f310a9481c4fdb71269bb232f4ae4c004a62c44ee2a053a3b1500d67813a91d3 -#+system-config.035c02f791d6c813df7f63af5faea7eaf08c5d42910a8d85c3a14c6021c16978 +#+system-config.d693a148cb08bdcbf4926d9c7d609cecab3a5dcc80a6cf01b22aa115facfa8c2 # - build script start - @@ -40,7 +40,7 @@ dest=${pthbs_destdir%/}${prefix} cd '.' -src=/versions/system-config.035c02f791d6c813df7f63af5faea7eaf08c5d42910a8d85c3a14c6021c16978/config/s6-rc-source +src=/versions/system-config.d693a148cb08bdcbf4926d9c7d609cecab3a5dcc80a6cf01b22aa115facfa8c2/config/s6-rc-source s6-rc-compile ./s6-rc-db "$src" mkdir -p "$dest/config" mv -v s6-rc-db "$dest/config/" diff --git a/variants/root-x86_64/userspace.environment b/variants/root-x86_64/userspace.environment @@ -50,7 +50,7 @@ #+patch.05e92009b5904e5104c194a4a2b66427c75b14619e0bdd0f541954e8b13d30f4 #+flex.36fbb09f9cf5f124e60da5ee47b9c4e4196523a4052d1dab8d438d404f4bca49 #+bison.86ffd0e657b2d4079934f7e40bf5c395a865b753f53a23e3a42bdc9841d2fe8b -#+rsync.3dd1e0e1058e5fa73eb3325e19fa4e9c9bdc9bd230e6978881849a4bfc6f19b7 +#+rsync.8762109b164a0d0427bcd82552d1804f5ecaeaa75df7a9bae189b6cf70a0be2b #+execline.770a7209a0ab50477d1ea726742169464a00deacf6abec0f04c9eb69e3243cd5 #+s6.04fb8499c2babe913f53ef934076b087746db184ae4955c04457a325900e11eb #+s6-rc.bc50208569d8e23862ac3fcf169ea24354b3a9693c961a7139ed0fbaeb05ce86 diff --git a/variants/root-x86_64/vis b/variants/root-x86_64/vis @@ -30,6 +30,7 @@ #+musl-cross-make.581e6f7496a630a91679f40945ae85b1c9a3f1f5afd725bb7608ad60c058d8f9 #+gnu-make.98dc2bc139672e6347bc2b2220304949f81b1851d2dc14778379568a0734db59 #+netbsd-curses.d3d7d0cf449972d5ce479a15d7298bad50ba445982cca9b12dc99d950330ce2c +#+acl.89957bd14ebdbe24118af9cbd161ba577dfeb12a666c45f7b21fef9b62ad18f1 #@git:6c519e91c684838bebcc6d49d894af956f6815b4:vis diff --git a/variants/root-x86_64/vm.environment b/variants/root-x86_64/vm.environment @@ -1,2 +1,2 @@ #!/usr/bin/env pthbs-build -#+linux-qemu-guest.eb38932cdec388e6fd16581571056fcfc92c0c699becf05687769c31a96ee518- \ No newline at end of file +#+linux-qemu-guest.e35b3886b092ab96b5dcd972350a9ad0022ddf2301c81fda3eb00add57b54afa+ \ No newline at end of file