mrrl

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

commit 3854ab31b7a4b347dab616ef5392caf4450c7b35
parent cc382955127c60fcd5287c2c55c9664d50b4b4d7
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Wed, 19 Mar 2025 01:13:02 +0000

Support build variants

Diffstat:
MMakefile | 5++++-
Mcommitlist.sha1 | 525++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
Mfilelist.sha256 | 3++-
Avariants/ccx-x86_64.mk | 3+++
Avariants/ccx-x86_64.yaml | 6++++++
Avariants/ccx-x86_64/aat | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/acl | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/alpine-keys | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/apk-tools | 107+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/applyuidgid-caps | 93+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/attr | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/bison | 118+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/bootstrap.environment | 4++++
Avariants/ccx-x86_64/busybox | 30++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/busybox-diffutils | 12++++++++++++
Avariants/ccx-x86_64/busybox-kbd | 12++++++++++++
Avariants/ccx-x86_64/busybox-login | 12++++++++++++
Avariants/ccx-x86_64/busybox:bootstrap | 30++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/confz | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/containers | 112+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/containers.environment | 17+++++++++++++++++
Avariants/ccx-x86_64/curl | 140+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/default.environment | 45+++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/diffutils | 118+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/elf.h | 59+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/elfutils | 125+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/execline | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/fileset | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/flex | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/getconf | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/getent | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/git | 100+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/gnu-make | 115+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/gnu-make:bootstrap | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/iconv | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/kbd | 122+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/kernel.environment | 2++
Avariants/ccx-x86_64/libarchive | 120+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libbsd | 115+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libcap | 119+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libcgroup | 120+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libelf-compat | 69+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libelf.h | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libmd | 115+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libressl | 122+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/libseccomp | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/linux | 89+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/logincaps | 101+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/m4 | 115+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/mdev-scripts | 74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/mdevd | 77+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/mdevd.environment | 6++++++
Avariants/ccx-x86_64/musl-cross-make | 152+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/musl-cross-make:bootstrap-0 | 99+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/musl-cross-make:bootstrap-1 | 107+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/musl-fts | 116+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/netbsd-curses | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/nosuid | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/patch | 115+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/patchelf:bootstrap | 114+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/pidns_run | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/pkgconf | 117+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/pkgconf-pkg-config | 11+++++++++++
Avariants/ccx-x86_64/popt | 114+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/pthbs-banginstall | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/rsync | 125+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/s6 | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/s6-dns | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/s6-linux-init | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/s6-linux-utils | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/s6-networking | 84+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/s6-portable-utils | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/s6-rc | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/safelink | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/skalibs | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/snaprep | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/spawn-pty | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/system-config | 130+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/system-config-init | 170+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/system-config-rc | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/system-config-scripts | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/system-config-zsh | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/user-env | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/userspace.environment | 40++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/xbps | 158+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/zsh | 145+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/zstd | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/root-x86_64.mk | 3+++
Avariants/root-x86_64.yaml | 6++++++
Rpackages/aat -> variants/root-x86_64/aat | 0
Rpackages/acl -> variants/root-x86_64/acl | 0
Rpackages/alpine-keys -> variants/root-x86_64/alpine-keys | 0
Rpackages/apk-tools -> variants/root-x86_64/apk-tools | 0
Rpackages/applyuidgid-caps -> variants/root-x86_64/applyuidgid-caps | 0
Rpackages/attr -> variants/root-x86_64/attr | 0
Rpackages/bison -> variants/root-x86_64/bison | 0
Rpackages/bootstrap.environment -> variants/root-x86_64/bootstrap.environment | 0
Rpackages/busybox -> variants/root-x86_64/busybox | 0
Rpackages/busybox-diffutils -> variants/root-x86_64/busybox-diffutils | 0
Rpackages/busybox-kbd -> variants/root-x86_64/busybox-kbd | 0
Rpackages/busybox-login -> variants/root-x86_64/busybox-login | 0
Rpackages/busybox:bootstrap -> variants/root-x86_64/busybox:bootstrap | 0
Rpackages/confz -> variants/root-x86_64/confz | 0
Rpackages/containers -> variants/root-x86_64/containers | 0
Rpackages/containers.environment -> variants/root-x86_64/containers.environment | 0
Rpackages/curl -> variants/root-x86_64/curl | 0
Rpackages/default.environment -> variants/root-x86_64/default.environment | 0
Rpackages/diffutils -> variants/root-x86_64/diffutils | 0
Rpackages/elf.h -> variants/root-x86_64/elf.h | 0
Rpackages/elfutils -> variants/root-x86_64/elfutils | 0
Rpackages/execline -> variants/root-x86_64/execline | 0
Rpackages/fileset -> variants/root-x86_64/fileset | 0
Rpackages/flex -> variants/root-x86_64/flex | 0
Rpackages/getconf -> variants/root-x86_64/getconf | 0
Rpackages/getent -> variants/root-x86_64/getent | 0
Rpackages/git -> variants/root-x86_64/git | 0
Rpackages/gnu-make -> variants/root-x86_64/gnu-make | 0
Rpackages/gnu-make:bootstrap -> variants/root-x86_64/gnu-make:bootstrap | 0
Rpackages/iconv -> variants/root-x86_64/iconv | 0
Rpackages/kbd -> variants/root-x86_64/kbd | 0
Rpackages/kernel.environment -> variants/root-x86_64/kernel.environment | 0
Rpackages/libarchive -> variants/root-x86_64/libarchive | 0
Rpackages/libbsd -> variants/root-x86_64/libbsd | 0
Rpackages/libcap -> variants/root-x86_64/libcap | 0
Rpackages/libcgroup -> variants/root-x86_64/libcgroup | 0
Rpackages/libelf-compat -> variants/root-x86_64/libelf-compat | 0
Rpackages/libelf.h -> variants/root-x86_64/libelf.h | 0
Rpackages/libmd -> variants/root-x86_64/libmd | 0
Rpackages/libressl -> variants/root-x86_64/libressl | 0
Rpackages/libseccomp -> variants/root-x86_64/libseccomp | 0
Rpackages/linux -> variants/root-x86_64/linux | 0
Rpackages/logincaps -> variants/root-x86_64/logincaps | 0
Rpackages/m4 -> variants/root-x86_64/m4 | 0
Rpackages/mdev-scripts -> variants/root-x86_64/mdev-scripts | 0
Rpackages/mdevd -> variants/root-x86_64/mdevd | 0
Rpackages/mdevd.environment -> variants/root-x86_64/mdevd.environment | 0
Rpackages/musl-cross-make -> variants/root-x86_64/musl-cross-make | 0
Rpackages/musl-cross-make:bootstrap-0 -> variants/root-x86_64/musl-cross-make:bootstrap-0 | 0
Rpackages/musl-cross-make:bootstrap-1 -> variants/root-x86_64/musl-cross-make:bootstrap-1 | 0
Rpackages/musl-fts -> variants/root-x86_64/musl-fts | 0
Rpackages/netbsd-curses -> variants/root-x86_64/netbsd-curses | 0
Rpackages/nosuid -> variants/root-x86_64/nosuid | 0
Rpackages/patch -> variants/root-x86_64/patch | 0
Rpackages/patchelf:bootstrap -> variants/root-x86_64/patchelf:bootstrap | 0
Rpackages/pidns_run -> variants/root-x86_64/pidns_run | 0
Rpackages/pkgconf -> variants/root-x86_64/pkgconf | 0
Rpackages/pkgconf-pkg-config -> variants/root-x86_64/pkgconf-pkg-config | 0
Rpackages/popt -> variants/root-x86_64/popt | 0
Rpackages/pthbs-banginstall -> variants/root-x86_64/pthbs-banginstall | 0
Rpackages/rsync -> variants/root-x86_64/rsync | 0
Rpackages/s6 -> variants/root-x86_64/s6 | 0
Rpackages/s6-dns -> variants/root-x86_64/s6-dns | 0
Rpackages/s6-linux-init -> variants/root-x86_64/s6-linux-init | 0
Rpackages/s6-linux-utils -> variants/root-x86_64/s6-linux-utils | 0
Rpackages/s6-networking -> variants/root-x86_64/s6-networking | 0
Rpackages/s6-portable-utils -> variants/root-x86_64/s6-portable-utils | 0
Rpackages/s6-rc -> variants/root-x86_64/s6-rc | 0
Rpackages/safelink -> variants/root-x86_64/safelink | 0
Rpackages/skalibs -> variants/root-x86_64/skalibs | 0
Rpackages/snaprep -> variants/root-x86_64/snaprep | 0
Rpackages/spawn-pty -> variants/root-x86_64/spawn-pty | 0
Rpackages/system-config -> variants/root-x86_64/system-config | 0
Rpackages/system-config-init -> variants/root-x86_64/system-config-init | 0
Rpackages/system-config-rc -> variants/root-x86_64/system-config-rc | 0
Rpackages/system-config-scripts -> variants/root-x86_64/system-config-scripts | 0
Rpackages/system-config-zsh -> variants/root-x86_64/system-config-zsh | 0
Rpackages/user-env -> variants/root-x86_64/user-env | 0
Rpackages/userspace.environment -> variants/root-x86_64/userspace.environment | 0
Rpackages/xbps -> variants/root-x86_64/xbps | 0
Rpackages/zsh -> variants/root-x86_64/zsh | 0
Rpackages/zstd -> variants/root-x86_64/zstd | 0
171 files changed, 7769 insertions(+), 22 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,7 +1,8 @@ pthbs:=./pthbs pthbs_genpkgpy:=./pthbs_genpkgpy -packages:=packages +#packages:=packages +variants:=variants work:=work cache:=cache templates:=templates @@ -9,6 +10,8 @@ index:=. default: default.environment userspace.environment containers.environment mdevd.environment +-include $(variants)/$(shell whoami)-$(shell uname -m).mk + include $(pthbs)/pthbs.mk ifneq (,$(filter py%,$(MAKECMDGOALS))) include $(pthbs_genpkgpy)/genpkgpy.mk diff --git a/commitlist.sha1 b/commitlist.sha1 @@ -1,63 +1,117 @@ 5ce6a6a1224101ce5b0dfec1544a98c94d233ae0 sources/aat -c7b36ed27103ee3f9aa01905ba1fac2d606079cf sources/alpine-keys 013dba1c7c7a25b100e1c0081ba600550beb6635 sources/apk-tools 02ae8709ac7a2d12743db99463871394d56db930 sources/apk-tools 02e51e46198d2a7cbacb5f2a14ec5dc6b187f45b sources/apk-tools +04bea576c49f79e96d731ab8b903462d477d7f81 sources/apk-tools +0620a6f4f0048ca210c33c5a7995d1abe3aa95ef sources/apk-tools 068bc4eb799650d68d50551a6d15417fff777412 sources/apk-tools +0751e5074b6c26a05007450f1377095f6885befe sources/apk-tools 0863bcc4d66cf8330118a8dbae8c8671c7d60879 sources/apk-tools +0933a14999029d78d3b806f5269b8beb07069935 sources/apk-tools +093818d0bcc447b97ca1908ecf74fd66911f15d5 sources/apk-tools 0c70a4505c3fb7265a66d49440f62d491218679c sources/apk-tools +0e9f8c920ef177510a600c2bfa7166df971aff3e sources/apk-tools 0f237ce27672fc48e3ebd44dd907daabb0c2adb8 sources/apk-tools 10dbe4ae8830ee79ceb703e9dd36844fdb320f13 sources/apk-tools +11c0a331decc24b13f550ca00c73df336fb69042 sources/apk-tools +1266879631594c084c625d2df4a5f4cd77603146 sources/apk-tools 12fff26074f1fb8fdea90a5c1e01973fc50e9c0f sources/apk-tools +13ae79d1a8ddd4b3afda31b73a4e775a0060d847 sources/apk-tools +151dfacdda00abe73a845ba273564b537059bc72 sources/apk-tools +15fb11fe7d4303791e9db36a01991a8b3b9fa6b8 sources/apk-tools +1700ee8076bd1fa72fb8c0d4b87c937556d49bc4 sources/apk-tools +17adf878ffe42d88ad735ed6dcb32dab79056082 sources/apk-tools 1e0ef843aa9496b9d5214247e37f6f5824fcda01 sources/apk-tools 1f77ecdc0b0670900bd08cb62f05efdf192f8da5 sources/apk-tools 20cc2efb28f616d5534fac6467a80c703e2442d1 sources/apk-tools 240f30c0a0c33736822e77ae103efd78f5d01408 sources/apk-tools +242e6eae74b3654fd786c15e63ed55393f16933a sources/apk-tools 25ace516cf926e1a5f75d44b0fc7c3c57864c03f sources/apk-tools +265c42e9aba9382c293f2046591da571420a6524 sources/apk-tools +289e24984b9a05444b0c964cdb004586ecc10d86 sources/apk-tools +28da6d6d7b5c77c9895efa3033416e26d15e1f34 sources/apk-tools +294ccd5e692004bcc7b3eb6f591ef47fb4c954cc sources/apk-tools +2d9ac54e1437c898df64cdfe9444d8d471206236 sources/apk-tools +2dd1360c566a86c011b471f9967b83dbb96e4df2 sources/apk-tools +2df37b2c9244c78ee35c6e4945cc9314a5cb620f sources/apk-tools 2ef3e031abe39eee95d82e23e747ab6cf43efdd5 sources/apk-tools 30908a565bdf3964b75d1bbcd0bae173d2d2c3fb sources/apk-tools +30ddc22adc3613c7b2543bb81e11517befef7d80 sources/apk-tools +32afb74d64446b5c69c18576245dd8a0fc6a690f sources/apk-tools +3452d87cc986567b557c9adf424c9b9dea006acd sources/apk-tools +355605d89f87546e7bbebe9c51d5272e87a8503a sources/apk-tools +367c81c03a1025bad3ef10a762e5b1a3813f8006 sources/apk-tools 36c92e970dd084351cab542c327658e54235f887 sources/apk-tools 36e1f153f8837ace2e2e151d305234231a4f27bc sources/apk-tools 39b430c4d8a0c616c55735b3d38645792766f3f5 sources/apk-tools +3fa5c35f6911e1bc4b8577beffe34370f143e7f5 sources/apk-tools 42807dff2ec9e6e831f74261ba0ba39dade23e00 sources/apk-tools 43337ffa5eac92ea71923aaf4d6f545abc2a0e2a sources/apk-tools 4548d66348a7cd2e95ccf447ffbb19e7c4433202 sources/apk-tools +460d62ee743c122d23610854903c680638ea35be sources/apk-tools 4808415f5195be61df00bec7df3b8b458ef1edc8 sources/apk-tools 4b97fa38dfe2d9f937cc9d919fc05997f8bfdaf4 sources/apk-tools 4cfb907282ede4b7f52f2514fbf96c60e1cad441 sources/apk-tools 506f5af94c9613c45c56cd29c56900ed1a7dfe2a sources/apk-tools 50de3cdcddc5f4559b3cc0d2ed7fb23a7cc2bff3 sources/apk-tools 51294b0bca9d358445090106ca9dce824582bfe4 sources/apk-tools +54caa31be633efc5f655700b77af290124f71689 sources/apk-tools +56553ea6cd27804bb76272842d9721e2fb1edfeb sources/apk-tools +5693e80fec42bf001e50759edcd515650b2e2643 sources/apk-tools 58278b213e8856175d0b285128c3eea4e7780f6b sources/apk-tools +58e88c61f265c20cbd18f90f8d5a18ff004cb8f4 sources/apk-tools +5b8ee630da4adca4734da8467ad74b35fd2f5115 sources/apk-tools +5c1e210e304c99237101f58272333d72617c437b sources/apk-tools +5e91e63aede05f80a6abc9d96e0fb05369c5cbda sources/apk-tools +62f350e27abf094895abb16c29e408483a976ce2 sources/apk-tools 633ed6daf2f2935acb89eecc3227ef8f93aeeef0 sources/apk-tools 657013dd3dc64c033f5aa7c1a21e991c40fb00eb sources/apk-tools 6674b13cd4eb7a514200fdd03e45a388b3723620 sources/apk-tools 67c2a7f0a4c1b8f56d4f65edc065cbc26ffe1631 sources/apk-tools +696bba74a59396f36fee6619603762a5803e1b0a sources/apk-tools +6ae08a875bf3a6caf741500d1d04e72820bac70f sources/apk-tools 6b62ab619e85d198850299a157426b70d9fd224f sources/apk-tools +6daad2a0364993763c654283a2f97aca55dc6359 sources/apk-tools +6e78a5c256bf4660da10805883afe6947770d0e7 sources/apk-tools 6fb3e7e4082a64ff913d4656b2d450451c351433 sources/apk-tools 7126130d1277546faa587d976c6fb7455e416354 sources/apk-tools +7494f69c4a2b77d4a87333b3c7634007def2d3b2 sources/apk-tools 749ed3a83b42fd4eb36c80622120c9c7425319b6 sources/apk-tools 774e910213e57f8df2e143ca89e50588fa9038ba sources/apk-tools 7828982aabf72f7eeee00209aa2f9ccdbdf5d99a sources/apk-tools 79b356a15ac22fc73fac1d05ab035e45eea1b111 sources/apk-tools +79f85a5786c3a667713684074c2dfc46b0303516 sources/apk-tools +7c320eb903979f05ff8d5d40c0dbab74a5548b82 sources/apk-tools 7cc4ae372b00a81b0d24dfa2b3f146aa1864d9e9 sources/apk-tools 7d6e963b08d00a5630d2f0367a5b1fa3e62e77b6 sources/apk-tools 7debe3837519091c533b6af72a26bf442367a472 sources/apk-tools 854dda5dfe97292eafa21c4a14ad2520dc69f110 sources/apk-tools 8953d2ffdc5dbe44f8215c01cc29fa7db22008e4 sources/apk-tools +8a6a1dc4f0bd90bae55f3cf89daca9ceec345991 sources/apk-tools +8c40b5892a199f51ffc45a1934649f998beee623 sources/apk-tools 8d3689721de41f17a1687a29e44826d925da1495 sources/apk-tools 8d992801f46e010a50d79c78801914189aa0b3c7 sources/apk-tools 8eb9c2583db9a3bb14e0427873c20e2dc8737fb5 sources/apk-tools +8eddaeefa1478c1bebb89f435626565429797b04 sources/apk-tools 900dae358965ef4127058c06f326a7f26544d45f sources/apk-tools +9017a2f055fc4d35c41ae41cfdaca4e21461e739 sources/apk-tools +90c2510ae7b5d6da8b011e6dddcb5fa1933d3acd sources/apk-tools 93cdb993a19066ac22564d62f83228c87d2ed1c7 sources/apk-tools +94d91ae1ea871e2c2d8ba2dcd8a4e0326234c90d sources/apk-tools +985693d48fe89d56defa8c01816d984684c41885 sources/apk-tools +9919745bb74bc0f8e79bdec1e80aa88ed285f59e sources/apk-tools 9a1959d248bd2c69d7f166cf172a7fedc2eb7785 sources/apk-tools 9a318b07ef79d140fc220cafa21305810714eea6 sources/apk-tools +9cb1c3ba555cb34389df8f0f9081d99d35500aad sources/apk-tools +9d71b61c5ca8222fba170fd5f7c5be18e0cde322 sources/apk-tools 9f6ad046512e4a9ffb8fadee7146ca5402773535 sources/apk-tools 9fc3a42d59007e8c1a306dac1f57dc5f00220189 sources/apk-tools a066981d1d3e02808f0c748b9e72be532c942e38 sources/apk-tools +a07206b67e4b942a208de47881ba17eda9c841e9 sources/apk-tools a205c0e224e8f9fe66074af058639c5d2cd43c46 sources/apk-tools a250e08828d34f25740e9b636991df0952e7395c sources/apk-tools a26b927e25ad1a278e9fb97b4136a970f0622a10 sources/apk-tools +a2f2b5add07564463ca9a3c528d6c155805797c5 sources/apk-tools a38f1c1aa54c37f1260dcf0e35ab8acb0ebd36e8 sources/apk-tools a4cbe620e83d0dab6fe964d809f0fb00cbed5f46 sources/apk-tools a6ec9f8b459a453e4f502bda8d7016ee659a67a1 sources/apk-tools @@ -65,37 +119,88 @@ a8dd9e34a175d8573ea58111c504b6f52dc4f4be sources/apk-tools a9c007f5dbbb01c87be57c2f9603cbc40a36698f sources/apk-tools aa6a87f6a6b17defa21c763fde81a272aa7e6449 sources/apk-tools ac5021c35349b48bafd4a3d9c73d5e1447f07430 sources/apk-tools +aeb74de67818dedb3f4e1c1175e8182ef5eae8d9 sources/apk-tools +aff17d7e25c06521e2f9d85c3d8fdfc85eae498c sources/apk-tools b2dccd2d4a5cb1fa1517af94a585b776305cc63e sources/apk-tools b40378e9db25e9b07c706b54f875d66793af7388 sources/apk-tools +b417a62639e2dbcf657f819d50482cc07aed5807 sources/apk-tools +b486fc6975aa1a28b1804e9b1f149bb07aef61ff sources/apk-tools b5cb5e166394074458fe3105c7f995c664ef923a sources/apk-tools +b659139e8e1ccfcea37add52faf6f6555b50c8bf sources/apk-tools b98832036da1b0387dbaa111459247f710390882 sources/apk-tools bbf3ca91b50f4fad89aeb7fc4237ba4b2a3b3cc4 sources/apk-tools +bc2b5b69b7c016c055e7d25cbfc96b3004e64af2 sources/apk-tools +be576781c6c235e52623c62c33802252d338a054 sources/apk-tools bf7876592f08622a06c4a478f06a07babcc4902e sources/apk-tools +bf861d367475e0d9238b749f909682f97252a632 sources/apk-tools +c444ccb8f73481e8c1a411ea595b9928a0a638bc sources/apk-tools +c63ca0e06390275cf552706baf50ebfaaee7c126 sources/apk-tools +c99414f9e6a3a0cd1ea543d313c3a986ef0f75fe sources/apk-tools +caeec684afaf02ee3473f685f0c92dd6bdea9a5d sources/apk-tools cd55eec4b7d3fa77ac78b15f324788fbe7b1e54b sources/apk-tools ce3e8937d348f82905c4dd97fbb035a79bb581de sources/apk-tools ce929ea5df69a2142b75f556814deb5339420e56 sources/apk-tools cf332ca5a8f978d06569c2b470ae9409344f5458 sources/apk-tools +d0999717f6c31a1326e25784f9f691a4c3da4a26 sources/apk-tools +d306abf8fbf30f0461730823fc223da82f05dd74 sources/apk-tools +d32110afc004b6e03bfa7780ce4fffb87b212290 sources/apk-tools d379a1c4d0ec99ce3602266a585387f5c666a207 sources/apk-tools +d7650fc5e5a0119879d536b2c3c99ce85befd221 sources/apk-tools d9d52e35958a39ecf80efb7351483c488c5f1dda sources/apk-tools +dbc8ed1d66f03e569b5de5d76d93bee1f56989a4 sources/apk-tools dbf8e54100f70308ffdc259c7db1f6a438e93ff6 sources/apk-tools dc5073ce629846a08f3f42960a9f990401e25688 sources/apk-tools +dcee900a4f51a16bc08d78034f7a60df1ba11004 sources/apk-tools +de531c867947723736d95346be6b2032b2fc379b sources/apk-tools +dff16f8f790abecaff7092a2f36592b7d733783e sources/apk-tools +e00ac0f7361902aa716cd5d8b7db9243826d18ca sources/apk-tools e3ada3b36c5ce8bedbf1fba8e8efc1d4188c03b9 sources/apk-tools e69b2855c5fbaa609af909fc7ee99eb5626b9c86 sources/apk-tools e7cb90badf11af7ca2927ba053492f11d8a03c83 sources/apk-tools e8b82e2c2c6c8b7ebf0ecd91404caa8f0e9b7170 sources/apk-tools e9677f362bfa324c1376bdbd5f2cffe51b827ee4 sources/apk-tools +e9727fe7383db308e30ae8cb8068f8e65e225e82 sources/apk-tools e97521470445bfd076573623379366d40f228ed3 sources/apk-tools +eb01caa6d09ac10a90136c3c687b0a43f8c25d76 sources/apk-tools eb85f9f4bb967322354aab487a06aea8b835d936 sources/apk-tools +ec66327f88f4236ec679b62537e3bc7fbf27fed9 sources/apk-tools +ef876f45cd15fc0b092137c5a7eeb2ab7896efa7 sources/apk-tools ef8bc74c5dc4410697cf5ccff7563353eb96cd92 sources/apk-tools +f07a05c26740ad0083f2c6557eaab5fd776b3785 sources/apk-tools +f296321e11748c81a3d50b7c913f6393dbe7e8a1 sources/apk-tools +f63ff488fcfde82807f9492fc8266d45fad0c299 sources/apk-tools f80a1893eecc83d0c18cf1c0c2882b21838db3f4 sources/apk-tools fc9f0d5be23894320974c9efe3f551cf9949ffcf sources/apk-tools +ff3a1071a3188dbaf62b6e67681e46291c2fbfb9 sources/apk-tools +006cb3c821219f24b4c763cfe5bb618f125d4a86 sources/busybox 07854a47860a737e08d4008614d34e9087c1e08d sources/busybox +0a5a2cc92251ba80e377e9f680c2daabf15baa07 sources/busybox +0cf9e105e6f6f411595ac1ec29fe9be79a3f5cf4 sources/busybox 0f1369f0c5b6f0570208f9e5b5cec2b860f23088 sources/busybox 10a38174403c44760c1941424f4e540075e59696 sources/busybox +11c1196c859fc6f0db1a3adadf667646c8a02a75 sources/busybox +12d97b66805f87e535962963e858fc2422ffdbc7 sources/busybox 17536b28eb8552824bf133cc0ef59137f9cfdfd0 sources/busybox 18f7f1de2a8a8cc276bf5961abae369dccce81f9 sources/busybox -2639f3bc72ac2f03af7ccc825429ccb2fce99a16 sources/busybox +1a64f6a20aaf6ea4dbba68bbfa8cc1ab7e5c57c4 sources/busybox +1d3a74e09aa89c7f0b1d9ef3c44f93e530f81828 sources/busybox +1dd2685dcc735496d7adde87ac60b9434ed4a04c sources/busybox +1e32f91e3b953ebf614e428abc8c61e7d00ee70f sources/busybox +1e98f3741c5a844c1d3d7966f20cd09dded05d0d sources/busybox +1ecfe811fe2f70380170ef7d820e8150054e88ca sources/busybox +1fb759908f0cc38fd0b763fb7908eef515f4af33 sources/busybox +2122888f787dad139661575f9d54813e59285177 sources/busybox +267b925bb46d53472d28e88edc7d837c5918612b sources/busybox +28dd64a0e1a9cffcde7799f2849b66c0e16bb9cc sources/busybox +2a1571bfa003233470140a17be4ae4f0239f5a24 sources/busybox +2afdcc77ccdd60f2632d2ee79c47517536a14a07 sources/busybox +2b400d9b2b7309d6e479102fc3ce646e893058a5 sources/busybox +2c5ceb6065b94f3b6ad886a212fcae0c8fdfa5f8 sources/busybox +2e79bc6c77560d4460847a459857039774de004a sources/busybox +2f8880d2333c0ff9229a2b386eb652952010d7e6 sources/busybox 2fe023738441e646e89c0346055a337d4024c7b5 sources/busybox +30af0626ed44c8bdde81c9a93419984b1a371de5 sources/busybox +30f0ea6cab956ed59ecc5de82459187763a2b868 sources/busybox 338ccb1701bc4fab51d40bd40027303f87b84a38 sources/busybox 384a530bb8a29fc9c349a83733a0ead9b6aaf740 sources/busybox 386bb209f8ea353ed0544d2ebd59c5f4eddfe157 sources/busybox @@ -103,69 +208,148 @@ fc9f0d5be23894320974c9efe3f551cf9949ffcf sources/apk-tools 3dba412acfbe0ff1e21651304203799694d573a1 sources/busybox 417775db47e7785289665aec4f8ab65b47bc691e sources/busybox 428a3de12a821a86a9876a0826f4e54b00052f99 sources/busybox +4316dff48aacb29307e1b52cb761fef603759b9d sources/busybox 435a276e03801762e26eb023a0eff890ca8fec74 sources/busybox 438e2b5a009b5de03c10dfb500fd8efbe09836b3 sources/busybox +468c326d6a9035314add6d431301f3840629c976 sources/busybox +4a81fe4173bf5029058253cf0be194c23a5ad369 sources/busybox 4c08911572c03e2881e350940d0bfeaf9612b750 sources/busybox 4c2160e175e512efb3f925b193dbd3186f453b78 sources/busybox 4c561782811aedcc2ae669d7be6635e4c035f8ac sources/busybox 4e41ffba874c26e2b3de854072e3b81d5e8046bd sources/busybox 4ef74d0ffc5f029d15dd7b3be03f7a30318d2d0a sources/busybox +509f987e1677e7438d07dae8998565f9a7170333 sources/busybox 56e4a009c5fa8aae44f36bbcd2c672965f8793e9 sources/busybox +58cdca3984beb4e1019ef5ccf1dd7361f032a9a6 sources/busybox +59c6170fbbd86dc3bc45b91ca18da7ada50495e7 sources/busybox 5ab20641d687bfe4d86d255f8c369af54b6026e7 sources/busybox +5c23f2566c1d26c62024cc2c78ca5aad4c99dd33 sources/busybox 5dcb43a5d1ea07e6b58770741882a4b0b82bb29d sources/busybox +5e891f30d376bb83d391790173b1c189f4bb22cd sources/busybox 5fe3fc9047d540860393f1303084c787651a69b0 sources/busybox 64406a92a054f884747553011d4529103e2900e4 sources/busybox 6820a13740a2bcaba04397d1ad412f78c56c7894 sources/busybox 6848c94d483431b87d0090ae8cfd49fe90d14da1 sources/busybox 68ef3b5301585775e1b2701617d1e7df2ec148fe sources/busybox 6968e081230fb6434a2a6f0eed39d538ea982f3f sources/busybox +696f11ac120061976c6ab6d1b92d84b6b86b60e9 sources/busybox 6b2adf396302d580145866775e77ca98505be104 sources/busybox +6b5656e9bbc8c202dc323aecf54592185f9e129a sources/busybox +6c93c8afe07037ee464fde6ff7b803d32e312dce sources/busybox +6feebd1e0d3efce24d60fd5d2fe1e02095ef315c sources/busybox 70521b4fee20675cf39f38a6d6f11657a3a8f933 sources/busybox 70f77e4617e06077231b8b63c3fb3406d7f8865d sources/busybox +757e46252c004c9170dfc748a78f42abd416cf50 sources/busybox +75919134e1fbd0c4dc60cab8fb5a7746c241123b sources/busybox 771c0e3ebd97990c44ba1bdb5d5fabe5c96ac9ce sources/busybox 7ab00a0de9cfeeacff70a74402808d225ba07397 sources/busybox +7bf997c340e16c573aaeb433983d091b0e662b6d sources/busybox +7cc5fa6d603d6a2d22da86b8e4f4a75e8e3dc0d2 sources/busybox +7e120351d1ce577f8bdfd06c93c05ad819baf59f sources/busybox 80c93da2aef0966d60ae6f66b9de9e8ce050a897 sources/busybox +81e26c4b8ed2d3f9e65c39d583b9daf3082b2ab7 sources/busybox 82d55ab026b01c9c4ba838b5a0c46795fc577984 sources/busybox +83785f0ebcad58157bb7d866037664ab95563f48 sources/busybox +85e0309d060f7bf0fae672c9811920cc6410951e sources/busybox +868530ade244bf8162fb6a10816bd815b166d509 sources/busybox +887295686dbc69e5b2d530f0e6a8dbf94094ac9f sources/busybox +889425812b5cda8b3394d73253cbde7355fb1115 sources/busybox 8a8486cab267cdc83a918aaed1a7f50bfd31f7d5 sources/busybox +8a9f1dc19a1095be9848e8e0e80b3348ad3a8d8a sources/busybox +8cbc300d083001bccac4f33bf61b9dc97f29cb04 sources/busybox +8f0c89e05a7b52f8c5ae7b451de6fd50732aeb45 sources/busybox +8fd69c7bdb217d1c5030dbc9cfdb0acb4205c6b7 sources/busybox 920144bc164caeb59d1a21ddad3f7c592ae37c2c sources/busybox +92e531458a6c0e6464fbdc1463f91edc7fb752c7 sources/busybox +93b0e2a8efb02b57aaa09d7ee7aeee0ea0ce5398 sources/busybox +941fce89fa346e06e936d4d3b58773c836127fd7 sources/busybox 94a5118c2438dc191e134bea3f795dc805fda7e8 sources/busybox 977c4bd45612ee92a24a41b86b801e86ca6b9572 sources/busybox +981c0b109dce7972e30074847880a6f91d2dfda9 sources/busybox +9924ce1cdcb6e4ab9635d6370ff7db6219c56094 sources/busybox +993c6aa0770aa7f3d68178c5d46d01b38dcb6a7e sources/busybox +9aed59ee3000bf6ea56eb209d2b0bc753cfdd687 sources/busybox +9af6cb4566c7382116b86b55de478bef6fbc19e9 sources/busybox +9b8f810d38a720bca94af864e2960de91aae3a29 sources/busybox 9bd2b5f3e179ebec467d13433b8c61d494e4857c sources/busybox +9e7ba6979cd91ca03d5bab39808a74adecd14f3e sources/busybox +a0ec7918f3da09156c3897fa63518e16af11081a sources/busybox a0fd52fb1d6c570748539fb903093f2f7da8b07b sources/busybox +a12eb9c64d736ffa8e335683f54b33b40fbc7385 sources/busybox a163e77e72f41ee70fbfeed37393bd93eecf5aad sources/busybox a2dd4ee0e80f50e204f4755e725ae0b1cd07ebad sources/busybox +a44a000ba6f927ac2329b65ad37cc5fb3a024c48 sources/busybox a4c3a341394a1fb25be8c15d2ddfe3ec77cbb83c sources/busybox aa4d303a3139107919f73cece4eaf85a7dc75db6 sources/busybox +aa4e5092f58f5a11018e569aee9cf037daf8c5d6 sources/busybox +ab4caf099ce6f2cc573524281ca1429ee59bae6c sources/busybox af6d23181c40e84426c57599000cb2d613249c91 sources/busybox +b03007455c0cba0571bc01d4257606e61d90d88a sources/busybox +b1cec5003b73080a8aa7ea277621bf1c71c3e8d6 sources/busybox b2d95147c989448f23cc59c63b83e2d89f0bd9cd sources/busybox +b30688a79906307e347b6cf765c87752fb058270 sources/busybox b3684abe870fff167fe114facf453586aee5d23b sources/busybox b3ee8534100316258734a180d57f254be1eb8756 sources/busybox +b84194b133212aca64605d1cd0cf771720bc0d94 sources/busybox b94eec66e7bfb6df1a38a9757ba277b1fd67ea65 sources/busybox bbff670a2cefd9c8fcf28296af70c10dd83d87ef sources/busybox +bc7177187f6b4f32c2f9562358294dfc7b521f67 sources/busybox +bcc5b0e6caca6c7602a6a41faa5f980292e0fbc5 sources/busybox +bd754746394a382e04d116df02547f61b2026da9 sources/busybox +bdea7807b1f045a230a2efab8d85fa21a9aa3e48 sources/busybox +be7d1b7b1701d225379bc1665487ed0871b592a5 sources/busybox +be947c4d97c0dacb703a6f24dd813ff6dd3a33b6 sources/busybox +c0eef0df8ce6521c38973b0ed91175e6fca19336 sources/busybox c0fab1ba496e27168898c0e74d8e3d11b9902999 sources/busybox +c1704a34745f8e49373eb2cbe1c83199ab2d0091 sources/busybox c3b34d8b39cae35fec8c6fb644d90dc80e574236 sources/busybox +c71db663ded180cb368183af6812c46e460e145a sources/busybox +caca7d9ca392452b742f465a199339671ceb239a sources/busybox +cc272b06eefb87030bb85b686abdbc22b5ed1c34 sources/busybox cdc3280b3ec9452fb6bccad508b08e92f0e551a8 sources/busybox ceaffde51163394c47fec34dac8663ae8152a699 sources/busybox +d7686c8c2c849c775007c5de19901ab6b38bd039 sources/busybox +d811a8cd01cb105869de477317839929a3444312 sources/busybox d84b175cb6948eb17f847313bf912174e2f934e1 sources/busybox +d86067205fb9355c2854c4ad525ae9f30680f422 sources/busybox d922947834160f356ebdee07af69e33cbe4b6057 sources/busybox +d9e0c438e10e2155513e5d26498af472c5137d65 sources/busybox +db4171d842e9bdc1c2903a9d5cfea053aceb35a2 sources/busybox +db726ae0c61ffec6b58e19749e0c63aaaf4f6989 sources/busybox +dbd3b883a891f076911d752f56f7a906d5650a17 sources/busybox +dc2ec4ad1a462f7831ce93c50d001a3f0ba09ce3 sources/busybox dc3701d2e7d847536814b939022f024ca16cbad6 sources/busybox ddd0b9aef2d7a4d6236ae2547293b4aeabf1dffa sources/busybox +de15bb931a66f99ffd1312ae5920347cdff4b21b sources/busybox e0dcb5992941e127d415094b303530eaa44f0ce9 sources/busybox +e16e8f09f2d2387936ddeb5653936fed0658fe80 sources/busybox +e3821088af5fb663be756c3330b52d1b48ad699e sources/busybox e441333e4e744bc464bb9c0d8a09d507805ec649 sources/busybox +e50f74da70da645c25d7daa81b2d9796a738f718 sources/busybox e512aeb0fb3c585948ae6517cfdf4a53cf99774d sources/busybox e52b735231bda70d811e4f9ef0e21fb2c7af96a2 sources/busybox +e58eac3373447adef3f131d8417590397176de12 sources/busybox +e5f6385ed3a5bc860bb98d3829ae13ca39e948e2 sources/busybox +e6f6d829403156797fabc4690d497fdf7cd6f7d1 sources/busybox +e73f3c1d3d83699b723251f7e6a981021ce75475 sources/busybox e7aa0d9eca180f77ed4226ecaa1e8961d842add7 sources/busybox +e80e5f6c6197354ce344693d38d017a31d3d7d50 sources/busybox +e8d45164becf42cef2ce4d501befd320b871d1c1 sources/busybox +e9f8b2f830bf0273d0d51f56d24da84b955e0df5 sources/busybox +ed058016bf8fc98271de2e58bfb650de9e9d304d sources/busybox ef800e5441185585986f9b7aaf39010a926fbd5f sources/busybox f5234398ef3010b68468cafe3e2ea89b2bb08a17 sources/busybox +f7ae2cbc036beb76ba0b121ed9b0b64598bdf125 sources/busybox +f99811908419608e3ab81393d0177cc456101e4b sources/busybox fb957125d8aa83c9df6e54292327983a51ee7ffd sources/busybox fbace046603cd400659ba15e17081339db31c7e8 sources/busybox +fbb12ddc6a53ad97ff6bcc7ed9b253c09001ad2f sources/busybox fd0e197d9c746faec8c8854fcfd416964440615d sources/busybox ffe18087faa553747d68ce662e0d4e9e7265fc3f sources/busybox c6aef8098d37a1773439117a5674bfc8662ef62b sources/confz +2f95e15270f2d0bf0d3b9b9b276c146c6bfd1776 sources/containers 41d6ee2d6aa33b323eee611013dd4aab6a09fc89 sources/containers -663fe31f8b5113450c54d0588e4b47c81cf3e108 sources/containers -8bd902b8f50d39acbbe21357ed368fbbb9f5734f sources/containers -eb29ead3d752060a8d81442cfe3d8ae07053250d sources/containers +46761773f4cb590dc89b0f80f5e9fe07399279e7 sources/containers 94422be00da71ff44c8ad1fe3455587c62ca29d3 sources/easyseccomp 02de9565862052afc290b6848b4ebd799d8f9f37 sources/execline 044b623c1ad9e3152b58722c936572f09832ed17 sources/execline @@ -181,6 +365,8 @@ eb29ead3d752060a8d81442cfe3d8ae07053250d sources/containers 445cfb2cc3cca8095b99e4bd7457cca10e5a9205 sources/execline 45dd4b4d9b7df142a76951426dbfb7c199ee958b sources/execline 45ef9a3ab6c2aeb12265dc953910df17f008b9a4 sources/execline +48ebde9a5ea2a5a96f438b1bc9a19cd3bcb96f8c sources/execline +4c94262512ab2ccbf26edc55abd9111e86eca326 sources/execline 4d3f1ed7f22e0921eb13105397c9a8e4950e85a0 sources/execline 51d47a8359f86b9fed426d2274a3f948e8623cea sources/execline 533ad0e872512c87ecb46e3d7aa50fda3aa89e3d sources/execline @@ -189,12 +375,14 @@ eb29ead3d752060a8d81442cfe3d8ae07053250d sources/containers 63bd21cf553bc4fba9c08a5fd2514eb4c9e64ad0 sources/execline 64905af38d0a4a94b713c4c439a484dc7b7df06c sources/execline 67bc135fbc3869bf42749fac612fd4f10a3fa361 sources/execline +7390d0eacf18f70a3ac4f6f3351cadc12656234e sources/execline 74a1ca3031d68c5cdc1796fec43ff5206142ee2d sources/execline 80c16996d30a06a9bcf0ab0cddd3fa9a2c717272 sources/execline 8217c167497fd836b2156506f3d9b074cc6052e1 sources/execline 85d952b1905e6699c1476dde94c71105510dec4c sources/execline 8a8fe4de649697d69fb38f110d9f9b2c827a3ad1 sources/execline 8ae008e2ec26c292c8cc2b133488d65b16be6fb3 sources/execline +9b0f07047aa0b9cde7e09e57528e0d314c1a6435 sources/execline 9c6f63599eaa1f7543244ee66cd3f970ebe98218 sources/execline 9db61840b6d4279949dcac5db9076d732d0f19bb sources/execline a0b46c927ebb2c60ac850964aa0b3cb28f6c8d74 sources/execline @@ -210,11 +398,11 @@ d3cadf79b45b74117f7fad5b08d53920e3409e25 sources/execline d4f8b5df7a58076b10838c6d9a847f7a64361330 sources/execline d5699ec7f056ce551ae36ea97589427a7f75c5b1 sources/execline d6e603826a3ca2568d7082929ec13b3e4a5051f0 sources/execline -db852ecd93afc9f893886a132ee58b23579fc79d sources/execline e249ccda2c28873d2d291e74641ccf78e9f7afb8 sources/execline e3b6e6ab8617b6118c10eae306ab35c3b2c28493 sources/execline e680493c6b4ff7313c6fe08775d0d6a0ec1e0b4f sources/execline e88a396281323a8c53ad60550586f4d5733ff370 sources/execline +e9a455b3ed13c1dba8ac6872d1c2da3af284b847 sources/execline efb26dfcaac5e395e77a4e9dc7b27fd07cb7fbea sources/execline f510ce6f485a7ecfb2d5592d060c395fe04c707e sources/execline f5c483be7e2be8adf36e912466e3324a1c518d27 sources/execline @@ -224,6 +412,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 009b88644c36209e5ed2de067d5cdce9a1ff0dc0 sources/git 00c2e1f092f5fc428e3f5b74bdbb618c227b2f54 sources/git 00e6af904e4ec9e908d5797975fd4a36f1d322dd sources/git +01a825578e79203a87b832731ed1fc7c23a3e77f sources/git 01cde9d884eb7e88c8a79d68804395a89b0013be sources/git 01dcc68948db4bd63135e7bdcddea06d038c0231 sources/git 01e6515feb062a18cea84571e8779f4ad851e2ae sources/git @@ -310,6 +499,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 14d20a75e3d57a872a8c81ae90dcc4c61ddba011 sources/git 1522d2b4aa450f36374b7409795b3d6817177d02 sources/git 1526ba313f8fc54c5fdd2066ecd22e3d06b37dce sources/git +156e3c39e3948cf65ec7476c937a2b6f5d0ec281 sources/git 15c6c83c4950d80e6bbabc5186c90b35629ce4f7 sources/git 15c7170c8c1f6d4f8b8aa539987a92c45d06be9e sources/git 15d906ab34f62ca761c251a06809128ad810be27 sources/git @@ -320,6 +510,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 17f9f635c101aef03874e1de1d8d0322187494b3 sources/git 185cac5253a6b7096cc8586b23fd12291114ee27 sources/git 18a07354e33f86c8349ffdc300d9087876658264 sources/git +192c4a60a726ab6016eabf9d770891893b075bbc sources/git 19f76cc730856b76c82525b0ab5ed3ce99cd0188 sources/git 1a1713a738a2228ac9d90b7d1847a1941d1ab054 sources/git 1a3206d6abe95652dec384a1dee36d10f34f9f15 sources/git @@ -330,6 +521,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 1c668b7b88be5f46f8dc8fe403842cdc663185d9 sources/git 1c8737f27f912aa2438ce3bf9d4e83eb178de00a sources/git 1cc4bc0fcd93f816d514d77c29f2cc9ffdd8ae09 sources/git +1cc8979c261f706a7931530cf636cbf9aa3076d6 sources/git 1d11abbaed181ccc8c22ff25ccc78dd6a32cd795 sources/git 1daa995dd824ad02cb22315f81d0c8d2653c98f2 sources/git 1dd64c2d05c7eb9f03e7e3579ea5f9ec095d9923 sources/git @@ -354,6 +546,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 22ed067acc84eac8a0a72d20478a18aee4e25571 sources/git 231ff84e8275b8ece773502a40e37643a18505da sources/git 233a527d0a7564a823c515c30a4cd1b34ea445e3 sources/git +237a7b6739ea4bcdbf3e234be1bb5c0157b016b3 sources/git 23b130b926d58efaa05aea15f131b8d7d0e49fe7 sources/git 23dc2ee076f1a015325e54245ebdab81833d1f66 sources/git 23ed9debf17263ed6bed478a4d6d86e71342c18a sources/git @@ -397,10 +590,14 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 3030004058418a637e563f39c9abd252f89b5029 sources/git 30505255108b5ce17155f9c3299cdb891f6a0f61 sources/git 3051e28518758b6bb4f7b15f6f4b16f169f26d30 sources/git +3074516e1fc49cd2b5fbe53779341d93a45d1c7d sources/git 30817e9f820c84385a62b47b3732ca059f213e48 sources/git 30c55398a3d20c400342319322a41d6177f23583 sources/git 31522284abaed82ec22567d3905a4fc2c02db14f sources/git +316fc8e77222aeba6c4afb3bec43bf2e1e93ef14 sources/git 317b9dc11b9f11ad9b84359eb87dda5ec9fbe53c sources/git +3186b1d85d450e1aaeae51b6067ef343290e0be4 sources/git +31d54373ad8142bce7779bebb978f254929592c5 sources/git 31d79e238ce0cea8931711b26e65dbef359c383c sources/git 32578a62ce8469465504509360aed5f1a6dc5b2b sources/git 3297e79271c53d99b8f62b99f91a2c6135da5f05 sources/git @@ -421,10 +618,12 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 37e09de410fb4a7dab50e3db3ba44c06726871e8 sources/git 38f8477bf437474ff27bcc3750640fe959e80b33 sources/git 38fc0d036c2e0267736249eae49fb9df786fe87b sources/git +3946f9147477c65cc97d6cd23bc403cdaf2206b0 sources/git 39545e0082522edab157cf9e3e1cfe7875f1980e sources/git 3996bb24c84013ec9ce9fa0980ce61f9ef97be4d sources/git 39a36830c75425accd2ab0bf294ea8a8bd3d4efa sources/git 39f241519f9a3346372eade7bab019f35c2eff88 sources/git +39f97e4cf51761476d270b8bac749692c7215c85 sources/git 3a41a48d139d1425c1d27e3fbe4f511fb7e09e94 sources/git 3b03a87fff436798b50d6bcfdf4a0de59abab5eb sources/git 3b06a7ea240104015c8b50cc246b062e49fd943b sources/git @@ -433,7 +632,6 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 3bd1ac1ba71c5a6ed23b4ac4c21771cf8b9d4012 sources/git 3bf735653d92fca9fe753de0344050235a60042c sources/git 3c08851978151b41525c12e6b1bae2d1d0feb21b sources/git -3c2a3fdc388747b9eaf4a4a4f2035c1c9ddb26d0 sources/git 3c81e95201ece182e799709c91b15a3501919d26 sources/git 3c922eadc15d9d29af996831242356a99a9891d3 sources/git 3cd3c6ebe9469676746364818c1a7173b37bef03 sources/git @@ -466,6 +664,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 45cb05973ad81770666bbb6b887d7b7afd33f015 sources/git 4615e3b45e5aded96398ba8dcc3d05d4542f4632 sources/git 4624442d68ee402a94364191085b77137618633e sources/git +466b63bd086c499668f5a0ec7f4ff8cdbbe7c32a sources/git 4689c95a40e3783d7e78aa9cd8c3084a2b07e7c8 sources/git 46fef34b9aa6eaba5c20f4d80888f4f7655a84c9 sources/git 47059bd24177104f61920b2589af97dc37914ba4 sources/git @@ -502,6 +701,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 4dda8ef71a86e3ebfff15734976f93b09153c171 sources/git 4e59f63cd18444984fdf7807e7bd5212ad4fcc22 sources/git 4e6cd2dd98822f09a8a115057dedd1821b4eddbe sources/git +4ec4435df758668055cc904ef64c275bc8d1089b sources/git 4ed0275fa14a3c75f071c03d4ea4a7ce1dbcc20b sources/git 4f2233ab2154436921acb8948b82a39ccca4ef45 sources/git 4f24175ae76efaf8265e179662a4258387019256 sources/git @@ -511,11 +711,13 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 50833c0d3d450294842eb2837024371ea3f99efa sources/git 512a51393f2ccb9567ee9900dffd94c31e1ba2c0 sources/git 513b09a0a364b35c0daff988fe3e983b0eef5720 sources/git +515fd3a3b8d7a3cde2e542edaa5eefe952aed224 sources/git 51993a414a76120fda20d56ba767fa513d9ff440 sources/git 51d8efc293d2a82516727d95e1aa5cd6123e79b1 sources/git 51f2164fdc92913c3d1c6d199409b43cb9b6649f sources/git 521e38b09e1e894140d89a900a1a990da186ddde sources/git 527b331100ddba839cc54bb31c1bcd66acc08321 sources/git +52c30914cbfa90105d8f0cefffa5b1c611821d34 sources/git 52dcc60ccf2e65081c528be1a26e838ce43d2f4c sources/git 52deb6867f9ad26e1821c7929b76410edfb3f06c sources/git 534ffb09a87995dbb2380a9a28e7e7e58ce3516b sources/git @@ -554,6 +756,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 5bfdf1787270de99fd3dcce7ca65d32df1b18f51 sources/git 5c35c7ea8cfdb6951a2e3923309d46138e1724b4 sources/git 5c505935b3f71f28d6668db82d56882dcf255a1d sources/git +5c55d7444b6ab1153bb64523d6a2a787414a4476 sources/git 5c857638d55bdd575d3f38bf3b99f1a2f99d3e46 sources/git 5d2f4e0e7da75b32d6a41df50a717df592eeb078 sources/git 5d4708f9e69786f822575a23c4c393cf1a25e413 sources/git @@ -580,25 +783,31 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 644b6ca3a68a0635e3d5e592e7967496c3964c53 sources/git 648de15108e0cbabd9b612142e98a5f657e8d1ec sources/git 65d04043855018175258649f1d41cfe0df8263d0 sources/git +6644ead45e228485686e71a7af4bb9c5c05b382c sources/git 6649c46643a721ec193b62383f8ba994f94a0b90 sources/git 665c4938c4b31d55d8cbe455ed3057d47b116b5d sources/git 667d091761f518bf2f5471c78c19a32fd722451b sources/git 669ac2d682aa0719afad6db470e88909fbe40026 sources/git 67308bd628c6235dbc1bad60c9ad1f2d27d576cc sources/git 673e4c22fee5bbb584a2e680b0a588e514c7a6f0 sources/git +6768cd3982a5cf8df192224d4da8c3f03d4cb964 sources/git 676f9ca3305839ac4e4400ccd3489fe326247814 sources/git +6783e1c66ae63b78a3eadd33cca3c6a9376ba7b2 sources/git 67b4b78858d9d9dd044f758a90a4270e48543cf1 sources/git 67b8734499e29878dab9c526a488483d6962d7e6 sources/git 682cca3ce3152980d5306a6a6e2a72f09cdba09f sources/git 683abfb7317e2f1889686409838f74190b447dd3 sources/git 683c35c9ade6e241df832a2f82c521264f6a9b7f sources/git +683c54c999c301c2cd6f715c411407c413b1d84e sources/git 68f29c84d063878f57c1b98f416f8f2bc74d6d0a sources/git +6905e7207a1213f44aa06f80178b40a1bcea33f4 sources/git 692fa26f87627362a35bbb2cb3d8f092abf97e82 sources/git 69a930174b4d2f372fe4f251cc7b83878d9f2f74 sources/git 6a74faa0772508c9359246e0203b1bf3c924887c sources/git 6a80b8083c4be2c5703ec122e511a6747af53295 sources/git 6a8dbe91ea2d02b3aa58842f1d32abd7f3d32949 sources/git 6abeb172d024cf64814f81fde2c954f4870a57fc sources/git +6ac5b341b89be0dbabb8780a8e89d1bb59dcb535 sources/git 6b4b7cf3b7dea2f1aadf9e2bd21da75dae9bbc5b sources/git 6be77858ee1b7d62992f165357d067b0a34311a1 sources/git 6bed3304b2b2f1cf440ca3050b57a7cf3a3fe687 sources/git @@ -612,6 +821,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 6f2bb67f2b16cf525e66fb4379a33cf851acd0bc sources/git 6fa8a902cc1d18527e1355773c86721945475d37 sources/git 7007eea03278861e0177bb896ef378e260e8b1fc sources/git +703f477e2a4cd7e5225a23ee177edcaa7ac077aa sources/git 70701283562a1fd4abb7b50685663a3de2c14a91 sources/git 70dc3448f4b2b546880fe72e777d4597f473fb9b sources/git 70f2ad291df259e023387e1c9f9f657c241a4270 sources/git @@ -629,6 +839,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 72dee1ab404265529f7f70f1467ce24ba96f223f sources/git 73807ff71e1acef4cfa35fe5cfb16d5878b6cd12 sources/git 738dec0ead6a96f87cf71989a1dad7bb5d1faba4 sources/git +7394f4f2acdf7453ee6276c73e04f601cc8398f1 sources/git 73ad3e781f7cee3cc7bf8f61c3b3c707e1191adb sources/git 73ae7cbcb80822b99d2e4e3df56662dada0cfe92 sources/git 73db6ae833b2f796d28fda80348090273e6a99cd sources/git @@ -646,9 +857,11 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 754c81418b6a5b7dfa4f6c5420f6880d36ad818c sources/git 7590ed7abf57429b36761c00377a3648630029bd sources/git 759dc1e2a7ab523e732e6e875cebf81741c146a3 sources/git +75a062f03c1c151fb46427b44cc0c7d89a5fc73d sources/git 76040d86b453451faa5bcd0dbcd1f4afcc358c81 sources/git 7661c5cd012ba7d6095d340567fb1259eb726438 sources/git 781aab17fe544cbfcaba0f0ea5cacf7672717236 sources/git +78594763ce07f52dfdd4802e2e609d60e7d296fd sources/git 78e1ea1f2493b780d2d159f05d59c7244052958c sources/git 794224d36a91cdd4f91d384e6b62d5f0a41023bb sources/git 79455923cf2c0dc8757dfa3a34ade0235e53da66 sources/git @@ -665,6 +878,7 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 7d3891b76dd25c29cc01ccd15e66588c1566eaa1 sources/git 7df1be854bdd4332abb5e042a336190e5e05b611 sources/git 7df71e15e5348f50a6347ce0528f2e6984861319 sources/git +7e122199d2fac08cec62e6f9ef0edec53075c426 sources/git 7e1385d1fa5f6653a2b8caf2ad4c0b5e26e38fd6 sources/git 7ea214fad518c27bcd6170af542902ed79974ad1 sources/git 7f7079e115264c9b3333e3e795daa6377236e457 sources/git @@ -712,9 +926,12 @@ fc71ed0e88d4ef910b504a96172bcc4a604aca8e sources/execline 8af0c4810b1f1bb1e2363e17434b47417b72610b sources/git 8b1e5575ab18757272e86c5ec7a10411bbaa3662 sources/git 8b301c10ed2bc973cec4f8395dec90fce2df42fb sources/git +8b6c91e5c60af880ff0fd8246eaf45460b44becd sources/git 8b891d2711bdfb153176cc325150e0233bdff175 sources/git +8be58deda2ccce7d036072ec34439f9fad88204f sources/git 8c178f72b54f387b84388d093a920ae45b8659dd sources/git 8c7a107d8eeba18ae56befb6142daaba91aa3ecf sources/git +8c9ea59d6eeabbfc5642d99353fce2192645ba1c sources/git 8cda3201ef25772a2a27f8a3dac9307c5fd23f0d sources/git 8cff9c8da91085061a29bc33fec3f94574c3ed9f sources/git 8d091e9ed473c372a5b89d1258d1c3ad01daa04c sources/git @@ -795,6 +1012,7 @@ a2aeb32598c0cc84298bb089dc2f993325a801ae sources/git a2c0c6b276c744e4edf1932d999137aacf7cfb8c sources/git a2d72db5cd368581dc4c6b569565aa457df1b432 sources/git a320a5c4764b02f0898a98b4b58e11fad5e54e09 sources/git +a372972baef250595e1fc4d40fee841b4e333222 sources/git a3e2475ac3f8fc035fb24013af5c763bfa64db4f sources/git a4122552ec8eed216c3bcbd00b31b818ad13b7e1 sources/git a497d102d6961ded91b60dc3524eb63679d7dc08 sources/git @@ -802,7 +1020,9 @@ a4ea91ab348d1acd10897bccf90e956f84a91bf7 sources/git a4f7a3489da1b73216ac970fdbef6b3cf4857bd1 sources/git a521db6514cd843af1ac87a9845ccbffbcd74a56 sources/git a528e8b8fe6076b489d3cacf14005d23a4149455 sources/git +a52b02cb1c59feac6011fbd8195df9e0b987610b sources/git a61df08ba2f6d9abb2a733a462e3c6e5fc534429 sources/git +a622a3b35cdd26de91f55bfd7dac49f23593d825 sources/git a67939439750839d77c69f874a2d0587f7c063ad sources/git a6866ada0d890473b2697eeb26af1061482081be sources/git a6ad24ac3f8bf989206d1e664f889195d80b8e86 sources/git @@ -813,6 +1033,7 @@ a75b578e5c81c7880cbc22a9e8b37e616b5b2e99 sources/git a76e723f5d6b28f404d07d83bbaa2c5b571e4b82 sources/git a7bb4ae889ff56456ab2d9daf023700ca05ea4d4 sources/git a829c08acb38ca5a3fdaa2f0ca3b5b1b87894763 sources/git +a8506c743b605b62fa515ce9945803a08ea6ab99 sources/git a8b4596613e899cc4d09c3175bff045b94765396 sources/git a8d8dc4c6cd6d4681746fd6919318640ee97a059 sources/git a8eaf9de52c2d49799d7dc724e688ccbfa74390c sources/git @@ -859,6 +1080,7 @@ b3bba323cfacb8ca9910a48f90a5279c27fcded5 sources/git b3bf8a69b1762d32c5428208f54c157739fd0536 sources/git b3c2e889d6dffb9822d8a13312a493db47e4f0f5 sources/git b3e9704ecdf48869f635f0aa99ddfb513f885aff sources/git +b3f05734c6457855f7db082e94438ef2125e973c sources/git b40e586a256a44dd1efef785bcc79a5107a6f109 sources/git b4463ead04f1801104502ea087dbb6bdd21b4ef1 sources/git b4711af8b9afe0f4470c9dddf2fade4f7ed6698d sources/git @@ -867,7 +1089,9 @@ b4965f858f57801d8d2b2bda3e00859e4d7a0581 sources/git b4a6d13251415d94a4be31d13891121cd0d0b752 sources/git b4f5709014078251b18174fe19b497c6ccf71277 sources/git b50058ea1d8897a901afa627574efb5aa295091e sources/git +b53823f15d3c1decd7fac41907d416040908ac3f sources/git b53a704006bf72f52f9c6e1186201742a49789fe sources/git +b58a7f57fe93dd97b44a9dbf5dc2e54c55ca05e6 sources/git b59263ad78ae2067a59e609b1c0519bc0bbbeba3 sources/git b599b4205ff08ddd07a80b56615e9c0e2dd948d7 sources/git b5b69059f73e1bfa0ff9ff2f0a8a8196a109a9aa sources/git @@ -880,6 +1104,7 @@ b685b14cd9385e8b0f5742ebcd35ef8c8c12ec4d sources/git b76e47088c9a5d487ff5fc9f763e4bd74939e84c sources/git b798adfbbb57623b60e5d4469e6a6210163339f3 sources/git b79a5a49c9e412e27a336e705fb7b462367f4c16 sources/git +b7a9f9c4c03329408717282815e79fc4bc9d7992 sources/git b7bc991a0c34b63cc39c3db021ba73509ac767f1 sources/git b7d75e49508ac928677f5cb83f490cf40a7c83d3 sources/git b7e68c41d92146de98ec5f433e1b123c4df2ac5a sources/git @@ -890,6 +1115,7 @@ b96cdc601bb0d179498570c0546fc8454a48bae3 sources/git b97f2f9016bb358f1f562884b2bdaddb5f25c83a sources/git b9a6216ee0a6c4be73a18bd4ba359ad2d07c2492 sources/git b9b0b3d0020c3559d4d9e6d07e3316c3ebcd6e85 sources/git +ba064fe15df005e17e0f44be73670c1353e5bf67 sources/git ba33926345347c015e031b74c40d375c4693ea7d sources/git bb085a4c162c24d42dc65da67138f4a03e70215a sources/git bb9ebe80cc9a9b262aa03e3f4e65c502f3e72138 sources/git @@ -903,6 +1129,7 @@ bd67d7d845eb5ae929306dadd3dff41cf04ce004 sources/git bdf533f9b47dc58ac452a4cc92c81dc0b2f5304f sources/git be7fae6d8b9c1f5d516e257ec3bffdd246408391 sources/git beb54f738b827a367f1dcc3af00dab44e9d8ac1e sources/git +bf3293b92e48a9fb2e1e86a57dde100920fbfa10 sources/git bf68fe0313c833fa62755176f6e24988ef7cf80f sources/git bf85c8576ea8791c8e51b6471822e8bca44ba8bd sources/git bfeb8b9ae0012cb61e026cbcd29664876abf5389 sources/git @@ -936,12 +1163,14 @@ c5f1a89c7061c5477fdbe90c08f2462c7eae0f31 sources/git c690868b578019848f914056fb457bdda0f86062 sources/git c69c7b915ad59c3e74df57d50417e94a47edba53 sources/git c75795b677e4674cd02b79127eec24fef86ca3e7 sources/git +c7a54b1d6984c297a142e9a97550fefcf8abd110 sources/git c90d90397e392f699f85c3c288f7cc8459322df3 sources/git c91a7daeaa2327ac60a37f5aeb0b9fbe50eedfe8 sources/git c933d82efee4e660dc6ffa02f7f9c02638f0e679 sources/git c93578b0c65ac46bb6bba0750542798518f09335 sources/git c9462d09e56521b81fcf1cbb4695af19855eb0ec sources/git c95d8e09f8f8aa15017d21664914e6c1c225421f sources/git +c9a1eee1857d1026f85060d0d194e017e86ec5d5 sources/git c9b60935183fba425fbd739ea6db3a97807cc48d sources/git ca1f84a036c5658938d72650ae34630ebb140866 sources/git ca2a99f835a3e0d20dcfba02887abf6e5e5d8b43 sources/git @@ -991,6 +1220,7 @@ d31472b33fb813279637dbbba82edc9c5da47305 sources/git d31c8f75043f8dfb068239ba5c1c03db38db2c0b sources/git d34cb027c31d8a80c5dbbf74272ecd07001952e6 sources/git d37ff315436cf953d41648fab73b23b228d1b2e4 sources/git +d4034f49aa19feb3c515fcf1b77f861b9a4e9415 sources/git d41e3d965c5cca27f7b8734d885f619ef949e0e2 sources/git d4b8919168252b53ed452b07b9d6858f62aaeaa7 sources/git d4ca2e3147b409459955613c152220f4db848ee1 sources/git @@ -1029,6 +1259,7 @@ dd8a0b7b9f6f371e98b6c28bb06798a15f686ee6 sources/git ddbbb7baf0ee1e93c08715fcbb5c155573710399 sources/git ddfbec1986195c7f1c1076cf617dd802dacb774a sources/git de1e62333947ec4192f66aac7106babde1c38fdf sources/git +de51a16826a42ec980d778b520d8ec04a23a9b55 sources/git de638335fb5309e52df9cbb3fb51d27cd97557c1 sources/git de9fbf5cf665a62367f0a6a294e5dd864e7d8408 sources/git ded3e9954b9711364f0a60a26f2784705f9b571d sources/git @@ -1051,6 +1282,7 @@ e37ddf98775ed404d2b77289153d63984e45a121 sources/git e3b23cc4e7c819f715fde6fec42f723eba05acf1 sources/git e3ebef87040b4c0e69434f5c5f150b3f30f4b56e sources/git e415b8f68c5ba6fce646594654684b6fb0677a72 sources/git +e42a29c4b39962e03c43b7ee6e32fd81ce8315a3 sources/git e441cab9d74dfd6cb2b90e92b4cf6cef74c9845e sources/git e4980cdc48cfa1301493ca94eb70523f6788b819 sources/git e4be0477c7bd475c863a361d7d8aeaeab621606c sources/git @@ -1071,9 +1303,11 @@ e8de0d254a1c0f0c13faf5ee91a17f22ecfeafd6 sources/git e8f04c21fdad4551047395d0b5ff997c67aedd90 sources/git e8f2650052f3ff646023725e388ea1112b020e79 sources/git e93f19bd6cab17c507792599b8a22f7b567ef516 sources/git +e94155a9ecafb89f308d834dea8fed4f7ad85d2a sources/git e94214ce4b8acefce06d4ea37b76ac0de11ecb2d sources/git e98226189cdd0ba52bac28fe46a615ce79982765 sources/git ea573aa10bfe31105f84d730941af0c34e43daea sources/git +ea5b86dd3fa3a73809e2f8a58318a2a07e059347 sources/git eab05abaeb51531e11835aaa4c26564a1babebac sources/git eb5fcb24f69e13335cf6a6a1b1d4553fa2b0f202 sources/git ebd2c750a63b8e10f1871f915fb6a5209f979716 sources/git @@ -1116,6 +1350,7 @@ f5ad12bd11ca6e9d2a095d06aba641a099fbfd27 sources/git f5f41eaa67421179df0ca3b01eb87471a7395464 sources/git f61264a821aafde174133af9ec1196089e9d8859 sources/git f665776185ad074b236c00751d666da7d1977dbe sources/git +f7d5d2b71e6a82c509a82482e77819d4d71f6d18 sources/git f8153402abf110675a792a938f670d88a074afcd sources/git f8696fcd2abc446a5ccda3e414b731eff2a7e981 sources/git f87933fe5dd98e8a23ed444d756e194a0242e32d sources/git @@ -1123,6 +1358,7 @@ f883596e997fe5bcbc5e89bee01b869721326109 sources/git f899c182d0bffb6e915da7c8db9be202b144c098 sources/git f8a33c0377c3eb05ac588c7f255adaa1800f6e1a sources/git f96a6ecfb81381758dfd9c0dc6951a21c74316ed sources/git +f9b0dce23dd9ee264133e29402a6305dd90d9404 sources/git f9ef668c9f7b780081193d447f458a38ef80f336 sources/git f9fc12cf30c48e6cc739762c6fc87e85b964a631 sources/git fa5abd7cde36a96a0382823a474990e3fe57d227 sources/git @@ -1149,17 +1385,26 @@ ff47992acf9fb774bc41f08914ed7de6c93900f4 sources/git ffa22c1601a782de4f54c7667d772936da123ef0 sources/git ffaf52ec9d9e1b9b119753559f70b7ae266cfc7a sources/git ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git +020b1dd4320d0d001d90271fa8051c5d722cb3c6 sources/libcap 025d813dcdfa51fc80f44a2871b228f38444cef2 sources/libcap +025f28ca4fe085fbcbf7933d53a42d335744e553 sources/libcap +036a6192cc96a112d5efeb5c34d7ac3b4dd08186 sources/libcap 042416b267a32aaf042efbfdc56b136286494b73 sources/libcap 0497ca5b061f1e6ca9c2ef73885b439232ce09b5 sources/libcap +057b26f0bc93eae50db86031b6717dd1efdf014b sources/libcap +05daef04117abf18af136bfaf3011708615bd30c sources/libcap 0722405c64a759a380f4c9128637fbc66b75e977 sources/libcap +07500d9ca5d5ce85958669d04fb3e5046f288189 sources/libcap 091645ad1cfd788db46cc38cfc75fb5835f41721 sources/libcap +09561e06d652c2b853eb33af694e70e393e4afc5 sources/libcap 0997df61b8ef766c14aad404f346f5975f876b3e sources/libcap +0a46af1fa3a0e9a23f87c2227c434f2da88e8570 sources/libcap 0c21a495403688455eb6505d51aafb7d47de48f0 sources/libcap 0d4cd03e87cf2ea9f2c0151af280f6a0d78856bb sources/libcap 0d64c95f23ca62f2ed2b1ac3f490182b959fae86 sources/libcap 0d81aef6d177e59d2b8acdde7dbcfe1d3e4cb78f sources/libcap 0db4d24f7801f6fbb5c28fe00e828da8bd3e67d3 sources/libcap +0e6d594486a5e03f5835cd17a552f1f4462a533b sources/libcap 0fef09c74a655c73225536a3d5cf393e5aba6c54 sources/libcap 1048a44a4a6eecb6d43d94913b0bd065ea6d0601 sources/libcap 118cd67afba1363ab8a1db434065e62dedf52fb6 sources/libcap @@ -1169,18 +1414,27 @@ ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git 14769e5757337ba2d223ef791896c3ab9676df31 sources/libcap 17804e98c994cbfea0031eda82f736fee02fd7f6 sources/libcap 17c3ed8f1b890684854c3716a4288c7430b715f0 sources/libcap +17f2fd58a37146c33b0d8626ff4fdc13c24bd299 sources/libcap +199c596e91f7349af14fbe3a7ca536b1d570b2a2 sources/libcap +1b436ee55e4436c5f3e191257fe7e9626877ca6b sources/libcap 1b7c9ceb1fbfcc9ebe906cf05ce2c66b00a56b94 sources/libcap 1e81b2c4070596060be05b3f200990ccf88aed13 sources/libcap 1ee6d9370b22868d196d2cd803f2da92afff772a sources/libcap +1f702f030bc436271990d38f25310903f13d3d7f sources/libcap +1f9f1a6a736feebaf8b75dedf912f3081d090b23 sources/libcap 2016e84a36e12327f0f62cd429cf103f87c941e6 sources/libcap +2173068d275cc9c28f39d22295590015ec6f29bd sources/libcap 2317992d81a3234f0d3b82111ae0829100fbebcd sources/libcap 2446774bd001217f0ba573a6700cb052a900efb3 sources/libcap 2493baaf4b7ce1b1556203d0a73979eb287288a6 sources/libcap 24ecd0fb475c576d27c76f500b17868a0b8aaadd sources/libcap 251ea7614f107da64490a20531972aa970184eee sources/libcap 25b840a0db65de6e461aec39d72b8976f1a402e2 sources/libcap +268ba2fc2a15452e0e9796554b5b4cb367dd531b sources/libcap 27143ea51a5a7430dfde77ec49e2f33bbddc501f sources/libcap +2823043bfb0049e51685c4f030e4acd65762b04e sources/libcap 2ae1977a30291c7903849a4f9f0771b686994a4a sources/libcap +2b082e655c5149533cb0d6512c1a12ad7be7ce77 sources/libcap 2b15c5bb17a502041b78f94dd49307e8ecfca759 sources/libcap 2b1d0c587622c7c894af789b8f376628c209552f sources/libcap 2b75e6c316d8f1a8b8549bc352858b0232f40a58 sources/libcap @@ -1192,13 +1446,20 @@ ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git 2e248a1ea105fbfba9e18d427a16bc6be777fd8d sources/libcap 2e5cb8f8821550e58d461ad9c24a1af3afbfa13e sources/libcap 2f323cbdd0901995edbccf009392c8bee7dc31ae sources/libcap +2f61123f584cd098e0034cd9ce2b124f3fc1b324 sources/libcap 2f9cee6d90aca898c4155680414bcc93f00786ed sources/libcap 318048b567671f4714861fb3adeac0404f5a4cf4 sources/libcap 3317553ffbfa687d7870bc76cdc2aeac95561611 sources/libcap +3503b53e44eb6bd46f090f701019f2420c0033f9 sources/libcap +36b30c346ba7e898b3b6761ab6b8721c436530ed sources/libcap +381a2ea42f7369327128bbe9f461d95f8b38190b sources/libcap +3991930a574613d9b897b001367279326f82df18 sources/libcap +3aa4d4482a2851ffe86d51018a8e17dcb49a9a48 sources/libcap 3aada3308079f892d653f77bc8647b9809b6a44d sources/libcap 3b52754f36ff484f2ce0d43a746491b379b844d1 sources/libcap 3ba4f95a3a71bed458f65aa59455f09d1089b989 sources/libcap 3d215aa12e65c30dbade8ee620cb93aafb9a24d8 sources/libcap +3da7d19c5b1e063bcfa1424d67cedf8c37960d28 sources/libcap 3e0330eec417569d81da54316b95c843c2e3ffdf sources/libcap 3e59821395bfd1a806a5dedceed321d4a9b6a803 sources/libcap 3f5f7004f0ca78133a4e00ab309da279f5754329 sources/libcap @@ -1208,8 +1469,11 @@ ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git 429e6800ebd2f63d7f8fd27ff4facef6285273aa sources/libcap 42b1c78360043e2371cc43b9ffc69ff7dd159aef sources/libcap 42e1304231033503ad063125b6b3801eb9af3d6a sources/libcap +4425764d96626640df846cf21a83ac200d7af42f sources/libcap +4434be8ea73dd41c12df9f1116859746ba733b24 sources/libcap 445061acd3e733232240e2b064e7815f241ff90a sources/libcap 44c6871a69fe063904b02a408dbed3d5cdf4d921 sources/libcap +45015a177af6341f9f3f70e154b6f77408efaa99 sources/libcap 4530f373713bcb0e465705d88f27950423fe1896 sources/libcap 4535b3cd0e0c6472c59a4b31da0e2ff5ac4c6bad sources/libcap 457d79c16436065f4fea23d815a344b14edf0c92 sources/libcap @@ -1218,52 +1482,79 @@ ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git 476dcf0bdb0bf08662a4ed672e945a2fcde054b1 sources/libcap 477fbb10b463e67947793ddd2cb31f124ef70d66 sources/libcap 4780b2180d84987134d30957800d43cc6057dd81 sources/libcap +47f119fff3111452fe69225407085b4b0d1fc977 sources/libcap 4896c7ba6a39650d7daf5836f556e3eab6ead459 sources/libcap 49318616c5ff3511405a412fdac89c873382f94c sources/libcap 497596c25d41c962e0b0b0d9df2fdb19768e8515 sources/libcap 497ca7ccdb5ada1090722418eb39d44172510031 sources/libcap 49c2e23c0e212dfa3eb9295563b6f559f6673898 sources/libcap 4a0fa40b6703054e01f90e2323f3f53719254da9 sources/libcap +4aa8ed6a17ecf5f0142fe7ed6ae34fe1f65e1029 sources/libcap 4afef829cbe366a2339cb095edc614afb9b1aa72 sources/libcap +4c7ca692f13c66d9e22f478bce3e8f87bf888341 sources/libcap 4d13894a85386feeca22ebf7c0f84f4173376e0f sources/libcap 4d16cd4c57cd177c60798f73bf33d104d263ee58 sources/libcap 4d726c865a8ea696b8ac2ad4011bb3a664a31eef sources/libcap 4d78f82b3803ef6c6680a84083c64e0e9f20510d sources/libcap 4d7aff9e28a0f8c9b334479fcde0a48e1addf9cf sources/libcap 502ac9be9fd5453c7f7768e4c97beefb7c6b61b1 sources/libcap +52343d84e6712e4b6c147002b3db69cb5ef36e62 sources/libcap +52976e61a72135ca226465ee83ed7872fbf53fe3 sources/libcap 53c191420819a994f4d46cb2fe3876fe37c07630 sources/libcap +548369c97cec7ca6241b7348d71b3f4012fab4b9 sources/libcap +570d102986d04a489e1ccd0968f669102ed4cf24 sources/libcap 57bd19e21ae9098e4f8ace4513ab7ce4011cea64 sources/libcap 5805505a5b9218f702f233b28b8e03bdc9ec1acd sources/libcap 5a958b744fd6507768e5c57eec4585c3eeb22da5 sources/libcap 5ba9e6bbd07130b14e2553786765bf89c341c37f sources/libcap 5e8d1d9f47b27968606a8a82746fb586b3d642ae sources/libcap +5ed71e7d0e941b25cd6b8c741b778b445f2f1905 sources/libcap 5ee4af02143a7025e64eb7df4dbb834b2cd6fdbc sources/libcap 62496688ad17e8d5bebf811b9a8c96196cc7f419 sources/libcap +63442582e42857c6f06930feea688d4e18a8c62d sources/libcap 635d1fc4c76b137229ecdcf56c08eb5e0395c4d9 sources/libcap 6367e527142ed84bf82679d38ecaffcf512c99c2 sources/libcap 6499c6abb90a67519c94442d061928bda9aed15a sources/libcap 64cf929c3b2fdc3128e3ddb96371e97b5819d88a sources/libcap +666ff38f0a627fab7329b3c8c9e7b269e25c7860 sources/libcap 67929674d5e515fc76f25d425dda2ecf18448d41 sources/libcap +67b3170120a65b9d642e2124e85051d596df0a7d sources/libcap +6973e9357b683c84de92b2b24733fcb18a70431a sources/libcap 6a12267b0160535f603828f2f526438730196bf1 sources/libcap 6a1e2d2d96b9258009827e30b6f715dc2536fc41 sources/libcap 6bcf0e24a74333508baad2b7dc6185196921b1c2 sources/libcap +6c650cd982b8541532b90bb25c0cc2a850f46189 sources/libcap +6dd845ebe78145976e875bfd6df7ccbaf7da06a0 sources/libcap 6f6a659962eefef69d678f059b0f4a2317dcb406 sources/libcap +70a1bd4c5688318b507ab768e6bab0d7e932def2 sources/libcap +724ede21243eaf70dc19b5fb65d42a9c168d1afd sources/libcap 7317013c78858014c8d46312bcf6a86e271bcc84 sources/libcap +733e3977f12d01930790a5be6347d18d9f1291ff sources/libcap +735d16c40d177dc9fd11b650c415f0a5234dd085 sources/libcap +7439788e22215a877daa78a74b0331fe995d420d sources/libcap +7476767a4ed5d7f8e5f2e1c80984b35c36269f1b sources/libcap 747c29f9b6cbe240fff351482243aa75750e66ba sources/libcap 749c9d791207a329e181debf26053d835521a02c sources/libcap +74aa2dae65fbd4240bc014880bc0a67d7bcbcf44 sources/libcap 750a26857845386c08aec2046d74869737b77692 sources/libcap 7588c893f9ceb54216c8c86373ff3b0589cfacbf sources/libcap +75af20a298b38aa2b981dc4f52b54de87d7efd63 sources/libcap +762bb6f0ef825c291ffa659a5cd745a84e6376d0 sources/libcap 776f4d1bab76ca2f5fb555cf23ebc2fabc650d6a sources/libcap 794c3d6c120b29f49ed351e4cd29331e27811ce9 sources/libcap +7a7982067edca2abedb2e7a0d08684dce49ea70e sources/libcap 7aa63b009867f10dcfd50b316835c3e5328bafe6 sources/libcap 7b4c42d87f737bc74ef2051e37a845093da6d029 sources/libcap 7ce03d1d5a008e985b5c77c19d7eab10f07a36ec sources/libcap +7ce04f8b11244adb0004758ae56a6e77863d5e02 sources/libcap 7cfe15ee579ea83a7780c6190576fdcab3e2faac sources/libcap 7ed1e8803c3629ea50eff8214ecedf894962ccf5 sources/libcap 7f3d0fe904b553ea36132b2d4d6f79b44a6fe1af sources/libcap 8035886f6649ba5aa62c30c65c2349e74b6e4f85 sources/libcap 81ed5ec54f3def120c0b7fb986bacc3f864a63b2 sources/libcap 82163e707f8461e711b44b0ce6ecc48be0f69015 sources/libcap +824333d997f7f424c86f3622563494f2102c8376 sources/libcap +82c2d3e4d0a46e3819fda9de05ce7885f7477e64 sources/libcap 83e2deba3a811c5355c46be8e49172a00d1c941c sources/libcap 84061cd4ba6a225ec42c33c8cacdc3e1beca0d78 sources/libcap 8412c290c035299a21d0ff7be451a1a614a96e73 sources/libcap @@ -1271,6 +1562,7 @@ ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git 84e33c9e0da650b37d1798d1836234daf22cfb65 sources/libcap 8645dac44ccb9bc1fa688f6358ed3ca11d2515f9 sources/libcap 86851ba26533f3c96888b801822a3263acd3e05d sources/libcap +8723d76629334c5a3dec822481d2de5c190c3430 sources/libcap 87afe85d2b3ed3752d641e4a053f7bc6e69fdb95 sources/libcap 87ff6a4b3b0edad285d1dd918c5d24eaf8053350 sources/libcap 88583938c6aa5b508a13f5a59da88ce8082b27d6 sources/libcap @@ -1285,7 +1577,9 @@ ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git 8f714a228c6cc45296e4d55081bcf19530050f94 sources/libcap 90192cd36471c7dfb44b4ecd6a8ccf7595d26e9d sources/libcap 90f64a6ba18309afa70ea1fdcd3af16bc4d839ff sources/libcap +918e1a42911ab062e123788f2c42b6aee31e97bd sources/libcap 92fea127561f3ae4d4605984184497b1b7d970aa sources/libcap +937a6839b976ab634f248676aa30812d7631b60c sources/libcap 93baa4bbd7a2f2ad2d20d782b53f7da9268c8c4e sources/libcap 972a30314843f79feb3adb0950d0b4331cfe07ba sources/libcap 9804255c648db2e62d9b76fb6118e71766ebe28c sources/libcap @@ -1294,9 +1588,14 @@ ffe392bad58e2e457c65c36ae21d30a9b088c2db sources/git 9a2301e22b692d539221ce2782199ab3195be774 sources/libcap 9a2f50273e152c08f1442779c7f0a2b607786250 sources/libcap 9a43026e1802f7b0e57c862bf5004fb6aeb3723e sources/libcap +9c46e11a46bd1b28e724655a0d57355dd7d5248e sources/libcap 9cc149d4f3f111fc239fcb0d67098459c1d4ebfd sources/libcap +9cfeea91090ee3f7dd86a5b3e5c25c2c0e45a0f6 sources/libcap +9da2fa8ca7f867a5846bed0fd0b0bea3057d217d sources/libcap 9f20d3484f0dd559a49d414c200201b2d58cbe76 sources/libcap +9ff6164375b1b732da5b4768e8175756a522743a sources/libcap a0e143c7bb50cd42d6cc2ee299b773acfe50670c sources/libcap +a12bd228c8f73a494827551593ba3af2635505eb sources/libcap a29e3cd20f2c3a9c26ca2afd667794a10b310bd7 sources/libcap a35b7b5c75b35a055de116baf7818cbf1f645c4f sources/libcap a38f09edc953423df864b8a4e424c8f92472d444 sources/libcap @@ -1304,54 +1603,92 @@ a48aec2d52747d8c13d6597a558fd7c8c9a0ac5b sources/libcap a5e7a7cf66cc96ff0e8d08eebbf07ef02dbaded5 sources/libcap a65a7364c9a3b0ef862cb46aad3855d826247ecd sources/libcap a706d6cf20d4d395bbf5d403f075685a744f608b sources/libcap +a73c1096319da8546fa9972dcb70784527bb21e6 sources/libcap +a780e40ab838747443a4be342ee0bbb08a185e86 sources/libcap +a7f7ba249b670deb28e5fce13f8835a72c6b2acb sources/libcap a838c2c2307be12b9d87783a070884f89f024029 sources/libcap +a998eed3ba4bbbcf6cce968bf823d1801be27d50 sources/libcap aa65f02eaa133746c1288a5778cced695fe85d49 sources/libcap +aabdd103bbb8903452a7b40147db1096d482176e sources/libcap +ab9a76eda04a09844529139fb2979cc493496221 sources/libcap ac4ab5c19883887708c6d8ac7a01af32bdab847c sources/libcap ad2e0b2a92be588b17e3f63e2a6454b80d14b75b sources/libcap add5e4c13a14f494c3f7845770b55177010b4ac3 sources/libcap +ade456b2a6e5e701227dcff7db9f4b144ca71c34 sources/libcap aded2edf3510a26867c102ca3424ee6d9ca35943 sources/libcap +aee87408200788d2079f3ea041fd39095210cace sources/libcap af3a5cbfd490ebe365c9c1894c75d4acc421951e sources/libcap +af3d469e7a85a8b0f48dd13fe412c8e5ce4c5f95 sources/libcap +af3f61cffbf240dee34a856229aaf5d2ccf259c0 sources/libcap b107dcf94722996aa311b1fad2cd68c6d677c545 sources/libcap +b1501691da12887a05dde6744c9be12c04e001cf sources/libcap +b28b06b0098d35146146b33df7e42dcd77328531 sources/libcap b2b26870c61ca5100c859667b109df6997857acf sources/libcap b3102adf033fe5235c1a98b273e6fb87deb514ac sources/libcap +b3179b3aab13c9322cfdead295c742bfa149917e sources/libcap b40594e2cbf1319c7a8a298fb1cf5eb114e5ebbc sources/libcap b43bc6313371cc1fecc4155b08da5b54477debeb sources/libcap +b43e6eaee4ca5732a076d91afd2f91eae648d308 sources/libcap b4fe3e46424358becb2c130cf6eba159a5e82310 sources/libcap b6256aa1413d5c5dcc0d73566e708c06d60db59d sources/libcap +b6f8e1be60f76c21024d3c808a327010847396df sources/libcap +b7ed588367b3abb34a73eec5683b3a839eff7567 sources/libcap b898f40210e363eb00815cd887dc9b08cf25c711 sources/libcap b8af89dddeb2882ea458f1325d13052bf8598732 sources/libcap b96079a2fc7bf7c44a18014013ed87b9f296502c sources/libcap +ba24233a2f9716c6be1de5e36991f9f6fc9340ec sources/libcap bae52ebc744a81e48b3671797887b6896a97b134 sources/libcap bb57c557f4172d22d6ed529bb618a905fde9aa2a sources/libcap bc5926298c40d2ad98398e2d29482d1b9465d16d sources/libcap bcb3d9af80de7bc5525dc57ab1c2691930e4d380 sources/libcap bcc5436d20526b757e3ec8f6b2d7ea5274d93772 sources/libcap bcfa7426f787d1e981943af642d891a1be12d6bf sources/libcap +bd18a69a50b06cd55065d325f5e055d3a2f58eff sources/libcap bd5610d3003644fec08dc3ba5b9f989106172b21 sources/libcap be0f804249ffd75ffaec399010ac57772b9035d7 sources/libcap +be34936c8b47c33412e8a9351a0cd06001ee3bb1 sources/libcap +bedfce3447ce9101118afade3b42a470a0f30aec sources/libcap beff9e3f6d390b1050014cafa1fd71bbae8c878e sources/libcap c0202ebb13cdcaf004bf68aaa0055ffea3f09567 sources/libcap +c0c015c5e324a8948c7d575968b12fb827291c70 sources/libcap c0c7283f6cd4dd177090e57b6138701d45b1195e sources/libcap c193749b4aaae0aa809aa6512527dd65df89d80b sources/libcap +c44d88c79ab8459b9c05166355726bef2fa8d2a0 sources/libcap c4733c970e533348cbe77e906135f3929de8e38b sources/libcap c4e635e878b44bb03c81849f8069ecc5224749f5 sources/libcap c5c17fa20ae3932844d0cb72065ed9a416203947 sources/libcap +c74e52a44cb9209a68f09090770700b3c44b9e26 sources/libcap +c752f50be10eeef6eb17b14c4da1f424c7516f41 sources/libcap c7fdfbde9f51fd8dd993888a103e8eb9e8d4450e sources/libcap +ca80a2252c628be81e52bd311d9f8b98f3a11c37 sources/libcap caf782352e2f204ec1e6486d5f6d59bd811feb74 sources/libcap cafd38dc8d2ef62ea645878436059d37fc236759 sources/libcap cbbf0d19fa713377e32eda08d029a6a8f000fe4a sources/libcap ccae71150bf6c08517438e7d2f50ba010121935e sources/libcap ccdd91a8564c2a579f06dcd9e06540b7657260a0 sources/libcap cd27cfaf1b6559296e2cbd357079f93f438b1458 sources/libcap +cd32d216e34d66dcea1e211d45bc0e0e3c3d9e43 sources/libcap cd863d1c83b4c7e34b8e0b4a767d0a44e0e422a5 sources/libcap ce2e90cbd77575dafccb475abaa80c58af492645 sources/libcap ce371953c08cffa5d76cd1d36822d110c3d9c0cc sources/libcap +ce3e9c366f985f1f7de999c2a55ca18d7f1b6990 sources/libcap ce53d9f8faec712960281d6421b2e08949e2506f sources/libcap cf800a590c07f0635e5a7059794e25e40f6fc58d sources/libcap cf84c1ab21fee0b14207263a08f86b30cf18809c sources/libcap +d152c2ac2d4ed006fad6f4af19142a0b18ac191b sources/libcap +d20f0bd8842b0ac041653dd703b95fc0444700d9 sources/libcap d225acac307205abfb12d11f2e1baf4995a7c00b sources/libcap +d29ec28fc81e454e8ff910940562fbea4ea495df sources/libcap +d2da4a61d4b44f115a1422bafa9917481d37edbb sources/libcap +d30876577f714b72dae8b5114ee473de7076fb6c sources/libcap +d32991364d7f85085816d4037f29038bd29d4b05 sources/libcap +d3f4328ae2517f04f85f8d4259dbad226da2dbfc sources/libcap +d4a1f877672eca8a4f0752a965863ad23b929428 sources/libcap d525b468c0b29c890f81678442bb5634d2c79469 sources/libcap +d5aacf350e07685afbfb9f4c45ec21818cbb3f6e sources/libcap +d64c308f168a580d09055da7fbe9c3aca2d0526e sources/libcap d6fc3bf63f76800bc1e364438cddf90e31802e3f sources/libcap +d739963fa30fade1837138a89ae14377194d4fd7 sources/libcap da05e8f69c05a972d832ba2d0cb66a556b5616ca sources/libcap da3250a1102d15a575009ac5aed7132be35e058f sources/libcap da69823f746a0385ab5acf7221bda517a8deff5c sources/libcap @@ -1363,53 +1700,73 @@ db789eb2edaf80c8077eb9dcdca633068d63039d sources/libcap dc7b2f2707cd1c2bc0a6dd723855d2a54966c7ef sources/libcap dcfa7f1b6a0529a2240d64e552cc6e01f850cc13 sources/libcap df8fc455389792ece9a5214efa2e70a4402d32d4 sources/libcap +dfb0fc263bbc215e3bd86a412ab85effcf2c857a sources/libcap +e0eb9ac4ac4c8a59bcd46d5ce47b68214f2ce6e9 sources/libcap e32991ba94daca0a0a608d2e6e6d9d0629e49a4e sources/libcap e402a304b7458be9a15b003c1eff0f39e3bb7809 sources/libcap e668cd62a296f740c6cc36e290ec0a2df243ad6b sources/libcap +e70dd0367cadf5496727b3ad1a0170552b72597f sources/libcap e73c43b0ab2945648244172ed80481af906aa0b9 sources/libcap -e79c7f06e1713eaae11119de4d8abfb4c77c6428 sources/libcap e79d3f75f01bb411725d29cbb983850b10a91199 sources/libcap e7e0e1b9e2cf3378d329174ed5b0c716b0539c72 sources/libcap +e850f421245b573166695427d0f15b8409f2533a sources/libcap ea138d4ff9ede2ae6391cf06af5a3fb6a4c83518 sources/libcap ea4e5f8e08bf8af459378dac24d42fdbbcdb2e73 sources/libcap ea7c06838caef0ff3428bb4a5218185d1dd8458f sources/libcap +eb6c355956fc54f80c50cd76d23e427008be9fd6 sources/libcap +eb7666d6ee479f21e086f512b64c6abbc68714a0 sources/libcap eb810b075920e796894fd8a1f053028a62122e21 sources/libcap +ec3151921d777ae563acbbce1c62b1719c07f4c3 sources/libcap ec37fc652bba1de1a808d67c1a0e358dc9027891 sources/libcap ec652074c73aa81747580241f39affcf30cb4b4a sources/libcap ef6b64d4cf3586cd4a0263bef0e0e9b3c04bad87 sources/libcap +ef9453d09098d79b505663c6ec7884b7fbf6452e sources/libcap f0ba425e16ba0e6f2c2f0f0056a242a6abfbca84 sources/libcap f1a366329a59ac3cacedff19e2b0b7e849d49a07 sources/libcap f2e0a44e65728acc17d6d11d8988be8fdc36574b sources/libcap f33eccf2855a3775da6cc391441e124d17013acd sources/libcap +f4534070f5c8c25d93300876353e79ed121d3b4f sources/libcap +f6423f74713989ed6934f5c8c66b750338d8df20 sources/libcap f87627b16a521581e4a9caeee20d2543e7a9d911 sources/libcap +f885f3b1b35cfc726460d1690dea7e95f27a40e5 sources/libcap f99213ba423d8c28fa4ec4d3c6d6a2cd4270c7f8 sources/libcap fb228151d52a3ff3bd441fec09b46558c2a403cb sources/libcap +fb2dede6e7d7104804f1565874dd7cf1459ffc78 sources/libcap fb48b0b1e6be970d7b1dd70e9e0693de0d622a36 sources/libcap fbdff0fb58832f57bf2fe0080490cc197cd0669b sources/libcap +fc8a50743b8c8f230f7456715eae5adab4ab2ca3 sources/libcap fd015829ac2276721283bd0668d339f87cbd4841 sources/libcap fd1fffbfd4053059e11ea234640d50c190bd93a7 sources/libcap +fd31b6cd318194906fc8f6cea582e475c67ec207 sources/libcap +fe5933431ff6448158754e96e8115c4c79a1c540 sources/libcap +fe96617b7142db04c5fbb5f8ce6ca809ad171072 sources/libcap 41039418205b48bda59372fb7c49453852853e8a sources/logincaps -4dc03fd661af2aa4f27cc03501d944007d9501a5 sources/logincaps +4c3d6d043f7abc2f9593e647f357199badc2668b sources/logincaps 6c9b7c1ca9b96ab366088c4bfc50d1b0e81042eb sources/logincaps 79af0da183f068b99a69107b2764d9c8c3c3eaca sources/logincaps 28895911cdcf052b64d8f19325926a870bd457d5 sources/mdev-conf +395634340de8349996fd273b055ae4bac9d2897c sources/mdev-conf 504cd29c0416f90a9f57b8c1c22bfc66d13a9fcd sources/mdev-conf 5afc0e75aa187011af12ac5348bd0f6b765c120c sources/mdev-conf +624401461b593311ab852a44c4a0920a2183dd92 sources/mdev-conf 6e3f0f5dae37e38cff42e0ca0435e546befd4e61 sources/mdev-conf 9c330b29f5537bbd6f400eff559bc05b0fb90926 sources/mdev-conf b929dc1b6953f2926cbb99eae433d0a1ec0b4ebc sources/mdev-conf +e83083ea00d1fbb8c53244746f8cea78d84d68a3 sources/mdev-conf 0838e7bd13c9f847c06d015d86a8a1ff403a2e8f sources/mdevd -0b151f11291a9f97c30d5f1cb6f7dcbddb19282f sources/mdevd 2951b8006851186a37a64bb3d3954a41f653bb61 sources/mdevd 2962e4d7ae14dcf976c780a809d0b2ce3ac89e79 sources/mdevd 2a07a72fbd5dd1b87eb48e849b30a1f9c1a38a7d sources/mdevd 347b9da594838674895bbfe734e78ebfccfa64ae sources/mdevd +38fe66bb67f5375b4bd50f732080ed9ac25ce2e7 sources/mdevd 3b05eee4104200e644ea37b2860ad71b5d154242 sources/mdevd 477d62f62b3050d68372f534db54c693ce0145d7 sources/mdevd 59541d01961452d238a2af2f064526de689af2d1 sources/mdevd 672308ba9f77a8cb3a5b4ea83c11712b56e26f26 sources/mdevd 6afaf76df5d9edf29dbb99d853be9152579dc844 sources/mdevd +853050d7d5db121ad42108b6644aacfff32044cf sources/mdevd 894d6fdc366baefac2084f781fc9a3b524c1e0ec sources/mdevd +9d811876949806f327d6ff0d0ad81f2d4739759e sources/mdevd a25ba0f5dff29b8782dbd11741e33ea6bf0f8e26 sources/mdevd b58cb0378f082977b336476133dc5a822a63a8d7 sources/mdevd bb1462b6ce37c092db2d356bf0b840b5b7eb2729 sources/mdevd @@ -1418,12 +1775,11 @@ ca7f6ecdeff71b8525b77004d24835404147c0e8 sources/mdevd d414dc4ffaacc23bd743e2e8bed7423d030b3a8e sources/mdevd d7ae3ec33282fe4d1ead4ff3c164b49a8194d099 sources/mdevd ea993d4a7785ff8a3d0e2ebcd6a7513519df7b83 sources/mdevd -26bb55104559325b5e840911742220268f556d7a sources/musl-cross-make 629189831f61b73ba1053624eee12ff6a816438f sources/musl-cross-make 67edcf134d9c373a4093e5510dc141ebf8a53fb5 sources/musl-cross-make +6f3701d08137496d5aac479e3a3977b5ae993c1f sources/musl-cross-make 75e6c618adc9dde2cdcd0522ef40adf75a6bffe7 sources/musl-cross-make 7a0997d196953ea39f945957faaaa65a4b18684b sources/musl-cross-make -7b4c7b315226835bab03da73a45945acb1b3bedf sources/musl-cross-make 8467bf3a6fcae8990fde3684f4261ffea78f02fe sources/musl-cross-make 8eeb57f5a511f2f6895a9bd58e1019506090227d sources/musl-cross-make b064daac18003170a393d625c61184fb0e201eec sources/musl-cross-make @@ -1446,17 +1802,27 @@ a8ae51bbc36113237e869d6958c0248ff6b12c3f sources/netbsd-curses dd131c1d6300ed2b7ebdc1798585354b2bf5e206 sources/netbsd-curses ea1965a36efe12a6f3ef65ec8b3c2122145edcbd sources/netbsd-curses f982fd96568e63a91903fc258c7f299c8db4ef2b sources/netbsd-curses +09c6e3e76a301147a92a5b0fa86befeeb7b9cf41 sources/patchelf +1b4890a658e881e4f1d4b3c0a49577d8bae03075 sources/patchelf +20aff21a045da2fd7ee7f926aabc1d39db95b04b sources/patchelf 21a85cc1c63cf3ef060ece59cdd82455e2884703 sources/patchelf 2ac5798fdc79762ceee520b2b3b4758f7f97b17e sources/patchelf +3671b1c595c9b88a8cc9452b14510ffeb8ec570e sources/patchelf 438d23e29c73beb8f16e04efe2a91daa6819ef34 sources/patchelf 44b7f9583ffe0ee09c4da8bd996ef9a6a0017e1a sources/patchelf 49008002562355b0e35075cbc1c42c645ff04e28 sources/patchelf +519766900c63f3cf227c9a38fc7aa8a53fc4f90c sources/patchelf +523f401584d9584e76c9c77004e7abeb9e6c4551 sources/patchelf 583fd5a3607aafeb043e6b0e2a4240193e2421ed sources/patchelf 5908e16cd562bcb1909be4de0409c4912a8afc52 sources/patchelf 5b85242585058c452e06272bb09a9f5683c111a6 sources/patchelf +6a35711bf9dd2a4af89182c1f1adcd5d558418d1 sources/patchelf +6c212edc4cfeb96c8b0864c298070edf5457ebd7 sources/patchelf +74f7a29c5c42454283ac467e8a54a6c5e187a120 sources/patchelf 7c2f768bf9601268a4e71c2ebe91e2011918a70f sources/patchelf 8d3a16e97294e3c5521c61b4c8835499c9918264 sources/patchelf 8f7b4a7a3648970fe55824cfee2afd3808626a3f sources/patchelf +90b987716a73550ea1ba9c53cb086cba5608f7c0 sources/patchelf 99c24238981b7b1084313aca8f5c493bb46f302c sources/patchelf a35054504293f9ff64539850d1ed0bfd2f5399f2 sources/patchelf a949ff23315bbb5863627c4655fe216ecbf341a2 sources/patchelf @@ -1465,9 +1831,12 @@ af77f12554be9cc4b9e8b639df26f2659dd30500 sources/patchelf babde50a1ff8767c6c8cf38d080eb0f4abb60142 sources/patchelf bf3f37ec29edcdb3e2a163edaf84aeece39f8c9d sources/patchelf d6b2a72d9ec3bdfde4b1aacdada823ce388968bb sources/patchelf +ddfc30cd7ea3c6b05c0afe081e37fa995b649691 sources/patchelf df7c57a032e62b0e34d1a63e96278cf5e8782c67 sources/patchelf +e1aa6d671c6e81172f7924b812ff8c8669e1a9e7 sources/patchelf e1e39f3639e39360ceebb2f7ed533cede4623070 sources/patchelf e6b9f431e4d5c7122112812d905bb2f921afa939 sources/patchelf +ec178fae9f3d5ddcffb96d6c76961515fe597582 sources/patchelf 0074e564e3fdbbb54bb2f939f0d89635d37d5b4a sources/s6 04548dc407192888d7c0a0a75f75d21ad5f17d54 sources/s6 14d86e3f7dc6aaf0b8978694cdb84afe1fb944dc sources/s6 @@ -1516,10 +1885,10 @@ e6b9f431e4d5c7122112812d905bb2f921afa939 sources/patchelf 8a188c927d7a5520b5f565eee9b77a3220484860 sources/s6 8a9a2a7c34a77ae046678e3335328e54830e4c4d sources/s6 8dbdeb0cac713b7a147f5cd57b3459e822b1a615 sources/s6 +8e22cbe9d3f821598a2eb9dea387c6b413f76105 sources/s6 93656d1f125ca719d5ffed172836a0cbb6bb2a02 sources/s6 96341b540a2d19cb3c12abe8789e5701cb4817bd sources/s6 998690e03d2257f9b3ad8292939e3850c58c76b2 sources/s6 -9bf94d170fd0d5540be8c6337f53ed71dbca268a sources/s6 a08bec51745b633f117484e9788e647b1347cd42 sources/s6 a7094a38e46f59c443364a9f6124840c1a9d4e17 sources/s6 adb8301889ae964a981276c2adb48f04dccb93a2 sources/s6 @@ -1528,21 +1897,25 @@ b72dd7ed893e518f00bea984bd06a1eaf705985d sources/s6 b746522cc1c649c69b4c992d90248d72c77661a4 sources/s6 b7589d2097ec038c61394ae6dd555055a46a92e8 sources/s6 be55448b432291609c952470a8dac2ab18714e1c sources/s6 +d77e05d456d24022eb1de5fb5efd1e73b0b5f060 sources/s6 de2c5b25e76e6c4a281a63a84de95a3f3213334f sources/s6 e08fdfa19514aa4e8be7215c3bae73a55dd844f2 sources/s6 +e2e44b9c7f89c79e343e901d76fd5f020573c8ec sources/s6 e3603389c2422bfd783004d53d193c68607cbb5c sources/s6 e4a20af84867ebf8ae2dc14cf9f6531cb0953979 sources/s6 +e6fc9ae2bc49838760d1a5f072bcc70bbd900f21 sources/s6 e781fa1a4c64f5f02e6490d298f55ddcb1db879d sources/s6 +e8847b8d3c9d5d6e29be0c9d5f150f9212f68e6d sources/s6 eb78012c8b1c54f6903bc22d57b1090c97c74245 sources/s6 fc24610b20a34b387ee915484e1fa58a199cd3b7 sources/s6 0585914643f52d782a0ed5eb6fd0d4947882eaed sources/s6-dns 070fb7154e7d0d0065b701ff6c41682b5f6ab2d9 sources/s6-dns 0f7d6ccfdf784d52eca22c48994e796c7f1c2900 sources/s6-dns 189826bce3dc06396a4576f046adb8d1089b136b sources/s6-dns +24987730cea7db460f88e90730afbf0d3270b53b sources/s6-dns 296ba12902eff32b255f996178eaad0fc25b5501 sources/s6-dns 3b8bc013b1c67ac886cd5dceda3ca6586048f63a sources/s6-dns 43191a5c4ccf9fd4437ddf1c23837adea36a44ce sources/s6-dns -51196c1512f071bec38064f8add058f52542976b sources/s6-dns 55ae72c1855c90ae6f178cb5e0fe7edc50a60490 sources/s6-dns 566c1d6890519fb13fcf1a4fe7ba172b61169009 sources/s6-dns 56f0665c3f60d5728b1b2b6f4ec991a500443e31 sources/s6-dns @@ -1556,11 +1929,14 @@ fc24610b20a34b387ee915484e1fa58a199cd3b7 sources/s6 90951bd764dbfc5bc4838c4dda63bcc3eb83169a sources/s6-dns a5f34c3c670d87cfdc0567e6e77a5d769e45e087 sources/s6-dns a6431fab8574d79ad2cc7275167b3ed163718281 sources/s6-dns +b5eba018a0a948d7757448d4cd70fe33cb6b71a0 sources/s6-dns b69db61ce4969940837bf46b9fd1e7ba126c9891 sources/s6-dns bc295ab02bc69632895ff658a62014b20280731e sources/s6-dns dae46070a0c0cfa40d13fb51451a11e2af933306 sources/s6-dns +dcfaf149e5af402b9bbca0411e87069bd13f4b86 sources/s6-dns e04af0b59d6d231b6bea27fe6a03c5c786b6741e sources/s6-dns e11bc28fb54eeb7909fcbedff0b199f8c3890c63 sources/s6-dns +e25c41578e710aed96939e5c7e503fc1db5dab3a sources/s6-dns eb66693eb84abdb746c5e7ab5723521439a5d50f sources/s6-dns ef64f6c227e92a8d67a6f0709d9d27bf4806aacb sources/s6-dns f134de96ab173d997d929f71f62efb6df87c16a0 sources/s6-dns @@ -1573,12 +1949,12 @@ f5cc848d203943f07216ec7afe4408237f0905e5 sources/s6-dns 1893ef637066a00525dc6d14fbce2b27af5675cc sources/s6-linux-init 19af71602ef592fca6d94f37a482215fb0dc9acf sources/s6-linux-init 222191efba945bdd8b89ad3f395c4cc1913dd667 sources/s6-linux-init -28787fc0512f8df17809c1a0507da2bfed552082 sources/s6-linux-init 4da8632fd87de00b53044b8d65628542bdd1d113 sources/s6-linux-init 51f3f38410ba61cb4448e6dd9ba68f6cf3f3fc1a sources/s6-linux-init 54c0a265c48109dd25c0fa40cfde65329195518b sources/s6-linux-init 587af67f9ebbf9c397e7ac499daf477693144387 sources/s6-linux-init 589d7ad2e8f17dda0e55ce114f4e7edffa2ca598 sources/s6-linux-init +59bf5341790b98413caf9fdd6c99a760bebc075d sources/s6-linux-init 5e23ce7ae5a5a20f19db0ada2042483258a778c0 sources/s6-linux-init 655bad7bd5dc9d6b4f2752a3bb4b8fdcf33750e4 sources/s6-linux-init 6a1d3aab38ba2fdab30c4767312cd8f3faafa87e sources/s6-linux-init @@ -1589,9 +1965,11 @@ f5cc848d203943f07216ec7afe4408237f0905e5 sources/s6-dns 78feb87f558e0326950da3b1f4bc3d636a36b2a8 sources/s6-linux-init 7f142f3abf92aceacef26a74ad4614568692aca3 sources/s6-linux-init 836994a58d69210a231deee0861372027a3eb6dc sources/s6-linux-init +87f302d8f9fcca1af1a948841f5169281663fed6 sources/s6-linux-init 911d364108fb0ef86bb2a88e4a5aa7648345cfc3 sources/s6-linux-init 920ac06b7ab2e43bb9f0144ee9719642bec5ed11 sources/s6-linux-init a4250342686258cf1d0941a973da43d576d61772 sources/s6-linux-init +a53c8b393b8181808ed8a84a50c4b521d7aaf436 sources/s6-linux-init ab9316efeadab306233396ebae792040028a72f7 sources/s6-linux-init af9c36d379c9c71c4111cc15545f0938cca8e68e sources/s6-linux-init b049ca18914771879a1e7c8143054b5cc5578d61 sources/s6-linux-init @@ -1599,7 +1977,9 @@ b23ecc0bc418a71bdedd72301e0b952da21f3036 sources/s6-linux-init b534674a961e868aa3965d55804afcf45013c916 sources/s6-linux-init bd528e68ee3376a9c6d47af26a9dfbd85aff18b1 sources/s6-linux-init be5d4908fbd3df46e557119e1fc649a7072a62ef sources/s6-linux-init +cc5e22c27db8a2d3bf26791fe8533243d0fb9d75 sources/s6-linux-init cf8f0c28cf983797d74f1124cbbc7037192fcce9 sources/s6-linux-init +d83b67a4c6c71da08fe6737739cd03432c60f83a sources/s6-linux-init dd51bd190723ec2bd6163239270f9b3f4b1dcc3f sources/s6-linux-init e5488918328f1b734e14331ef110aacfe327fa7f sources/s6-linux-init e7ae92fa4d147351002eb39729889a012731b5d5 sources/s6-linux-init @@ -1607,6 +1987,7 @@ f3dd926c7fb95888d0742603fa99d1bc8a79a1ec sources/s6-linux-init f7ffb1f3529093d3f36ae8190082f16feaed0321 sources/s6-linux-init f8cdf8cb1a382f8d2215398b2f36dc3b6dfb9160 sources/s6-linux-init fc3820b2af92248828ac10cc5ee75b80884fb0c4 sources/s6-linux-init +0488b4fc747cefb0caf860834764005f3f3c1f0a sources/s6-linux-utils 0c96a00dc60cfe2aaef0abb776b852650c83c3c2 sources/s6-linux-utils 0ccc14f077d6232a3cb3841207492d8e7daecf4d sources/s6-linux-utils 139ceca59b584ec5e2aca18e3f7ff0cedcd67db6 sources/s6-linux-utils @@ -1623,25 +2004,30 @@ fc3820b2af92248828ac10cc5ee75b80884fb0c4 sources/s6-linux-init 4ac235b523cd1b50bd681e31c8241a2b8bdd3060 sources/s6-linux-utils 4b98e03b0497e96925ccfe75f63fdc7c50a9868f sources/s6-linux-utils 5129a0a5d989544ace4dd2315724a228b3a94f12 sources/s6-linux-utils +54d4b6e74bf539930db2cafbe075416894900076 sources/s6-linux-utils 60aafd75457cdccb5d13134258e11bca92a25c07 sources/s6-linux-utils 61197916137c57377b029d4f77b344f56a999f01 sources/s6-linux-utils 67d9ea5b615cde0a00c10043307f82933919bfef sources/s6-linux-utils 786ae4f4ccfed41d90c98045056f65ab97ab088a sources/s6-linux-utils 85d7ab54efd73e5f5d4a0f02ca7a84318d3c8b53 sources/s6-linux-utils 883b5df92e90a86ce867f5c7683491766adbd1a1 sources/s6-linux-utils +8f74a42d6058007c7b7c45b65f49342d5c791657 sources/s6-linux-utils a3f6ac142dd35e13a4df1739ed4fa1823c0267cd sources/s6-linux-utils a8bfbf6c127aa62baa97fbd54420fc02be315caa sources/s6-linux-utils ac86525db572171f2b029ac6884b7d08d0330f22 sources/s6-linux-utils +bd2db933976df2b586394e9a8cea5c9c03685c97 sources/s6-linux-utils d054373ebb35b1790c19350b8e9a47c36a8cb0ae sources/s6-linux-utils e3dd9402c833fbb07df435745230759a14c33c67 sources/s6-linux-utils edb03a98287c220e10b4eecf52bf51b5776eed87 sources/s6-linux-utils f5ccc33428c33ffe0f40b52ca69c4bca056d2584 sources/s6-linux-utils f76493f01b86ad63473104e2c3025b0116774cd5 sources/s6-linux-utils 021abfb588bf2aa91762742a0d5ff50c3f6a9914 sources/s6-networking +1191557c30af6326fc5fae7f02167375043bb293 sources/s6-networking 1ab131c49e58e4f69384495ddf47afa06b48ef12 sources/s6-networking 24e2b26b10b3fe7d8f855a71ae0200c4b5d5ab7a sources/s6-networking 25d0e0c1d753631fb5a87b4c1dfa9409d1f0ef9b sources/s6-networking 27b1f9603bb2ec9baf9cdb2c93b583db5f6a3d8b sources/s6-networking +2c7b780bdb204caac3faf5613051d71a58de4017 sources/s6-networking 2db50db86f01fddae54f2fdaba71f91a258f3c3a sources/s6-networking 321164860c848753c1c2fa148f16d6bc3aa7e561 sources/s6-networking 377e4ea17fefded02851beb2e22cd39c93244ff4 sources/s6-networking @@ -1657,19 +2043,21 @@ f76493f01b86ad63473104e2c3025b0116774cd5 sources/s6-linux-utils 5da24c1800a21ed4da588aa6b434adb71206b691 sources/s6-networking 6a27a5420acd6c6077fe017cc176ebd9cad4c205 sources/s6-networking 6dca68b62c590fd1ae442c144544b3375342ff5a sources/s6-networking +7325e1de800397e53fd50c704ccb4a7a268c613b sources/s6-networking 749f61a872264c2b7f237be82604b1e6e65ca466 sources/s6-networking +7b70f4731be3f49387a3736ab933a86c138689ae sources/s6-networking 802bb2c5e56cce10f32444d6a2500be8fbf7ad8e sources/s6-networking 8479f7b18afddfed9fccb0dc458514d24a1b01b0 sources/s6-networking 879ccb8e2e567864015e8da39b0b99dafa81790b sources/s6-networking 8f47c72a31f6015575119abcaa4fb5a6f3ed78b7 sources/s6-networking 972efb93d7c3b3e3b88feb16f7cf0abb50bf4e20 sources/s6-networking a11e2e3555585a7df2485ce8b0d8915fef580b15 sources/s6-networking +aa2def27d55cdaf25edbf6e1d390d4743ad03549 sources/s6-networking c729eb6198f36e3a70f73a5871ad14b923a4174c sources/s6-networking c7bad79c64b896106e39c7bf3efdbe3043fdbe47 sources/s6-networking d7649c1016c50b8373d5f251ab790e8a1caf7e21 sources/s6-networking e269024124c358268e03afc359841137c94bf0e2 sources/s6-networking e36384f35a1a9c575f59368b32b323b8c85551bd sources/s6-networking -e8eb657e23912ac34821e2fcadf6ea7dfed90fce sources/s6-networking ea0346700cd4c4d7d8a848bc2e0b008a303fb04a sources/s6-networking fe7d4261679730949227c067a25cf31972ce0f2d sources/s6-networking 00ad09ecf7ad44e32c3cc54819bbf50e944fd4f9 sources/s6-portable-utils @@ -1679,11 +2067,15 @@ fe7d4261679730949227c067a25cf31972ce0f2d sources/s6-networking 1a5896529487d82d4420f0126e2172e63b7bf7b7 sources/s6-portable-utils 1af94757010262bb4ff74001727c041c15f2eef0 sources/s6-portable-utils 1ef9a887c62d606c5ce141e31e5114f524aec414 sources/s6-portable-utils +22d1a9da68a8ccd5c5835ec7b8268b5c31b07a44 sources/s6-portable-utils +24cfd4f0a739ebc409cfa5bd6992de91ad99f62a sources/s6-portable-utils 279425f326088e9075b5d4a2cf08cb24a4f6085e sources/s6-portable-utils +288aaac661a0d0683298874874c48e8eae10df66 sources/s6-portable-utils 2ad77e0b02035b594e5a443d06c78b4c4f7ab729 sources/s6-portable-utils 46e43632fc7e912658e3375ebc5e8d3cbc1042e7 sources/s6-portable-utils 5e0fe5010cc5f46146dc1ca2023cd5f3140f93fa sources/s6-portable-utils 61195420116c58b70a1b6c6da36f4001343dcfdf sources/s6-portable-utils +6798c0676545bd7ea2f547a275b829b7222b84b1 sources/s6-portable-utils 6f9d2dbe944d551f0599f119a5737f4bec205c00 sources/s6-portable-utils 700e58a6aecc925da0905141ba2d93fd6a274a7c sources/s6-portable-utils 79321064afa96ab3c5b5901d29b356d26896a7dc sources/s6-portable-utils @@ -1710,7 +2102,9 @@ fa5a8c2bd05826e25514587a069784f96ed76213 sources/s6-portable-utils 05b1c7b373a80024db5df592e93e08a0b95f29fc sources/s6-rc 05e9208221bb1243faf9678e0b21d54f45a5ee52 sources/s6-rc 0db5a6c4e9cd9fa65bc63aab47ab05302c09d4e2 sources/s6-rc +13a6d7144b1f990bc42c2b0a798c0eb9dd903720 sources/s6-rc 15b5158dfc18d9a2e24c6218a02dad1ce7d80a24 sources/s6-rc +1821c6dda0ba20c92d47d5b57fe7f01cc1877151 sources/s6-rc 2594a725d928cead18247bf58284dad42b4fd43c sources/s6-rc 2fd319e96918c3d804dd24ede045f6a8c6407933 sources/s6-rc 316991ba01af6730e7f804633bca04464061e549 sources/s6-rc @@ -1725,11 +2119,12 @@ fa5a8c2bd05826e25514587a069784f96ed76213 sources/s6-portable-utils 4a5f6793cbc9cbb518fb0a842dc58514a66877a5 sources/s6-rc 69b8215c446a8ea77d64aabfe889fe2a41be6460 sources/s6-rc 69e32a56b20c2be768d2209794eb8fe6ec549e64 sources/s6-rc -6da7caeefde4b2b55fb4803faa49ea116f0b3a12 sources/s6-rc +6a7e431b770a4993c8eee91636fcf0d7bc41eaf4 sources/s6-rc 7554aa2cfde278b58745429454bee178fd43438d sources/s6-rc 8067189ed6e1bb7db9a885b33cd3084cd79836b6 sources/s6-rc 8746b69259091a06e4e64bff6b4e5eeb042c7f2d sources/s6-rc 8dd474f0f9ade508aacba37b8fd0d9ee2100ea66 sources/s6-rc +8f29b68cc95714b41d281ff0355e2074e1ca6bc4 sources/s6-rc 94bc6ebb64f5a55b7b8ba0e86a709649985abff0 sources/s6-rc 9cb686c5497f7d7d0058ff0624f00823030c6839 sources/s6-rc a3fd8bf4c0fcd0c5d004ee1de4d9aeb3608e4b4f sources/s6-rc @@ -1737,6 +2132,7 @@ acd88e0446570dc8577affbe7d16b9380b11dc6c sources/s6-rc b9f08780d4808bcdbddc5b91b40ecc2a42fcdd80 sources/s6-rc bbb77c9c6351bc03799be286f5cccae564dad12e sources/s6-rc bda47a9479bc55574d9ad7b2c584a6786a9315e0 sources/s6-rc +bf6581c05dbb78658b7ac20084f655d8416b03e8 sources/s6-rc bf8fbd45fc8e937d471b219c8e3e2cc9cbe81ad3 sources/s6-rc c1276f59406c7382dd99ceb98f68036970fc796c sources/s6-rc c2d7fa9167c216be7d423f17e5c2b25742c7e653 sources/s6-rc @@ -1751,7 +2147,6 @@ fffee7bebdb97b5f477a5c52cd28f63f37194620 sources/s6-rc 0853c458f44805063eda1582f8ea21b6c511c2a7 sources/skalibs 087cf62ccaf610c5cc618fd3d2bdbf02967f2d41 sources/skalibs 09ca36a3205e09bf1154a8a694be107d63e18385 sources/skalibs -09db8b32db61b085030e8be2c6da2e9c2a86a128 sources/skalibs 0bc53e0a27d7b787f6ec28c2cd87e0ed5bbb74db sources/skalibs 0c44bf73a004cfe74985007972dddf50bc4de564 sources/skalibs 0e72f6126832407bba8622edbb814a917418a802 sources/skalibs @@ -1767,15 +2162,18 @@ fffee7bebdb97b5f477a5c52cd28f63f37194620 sources/s6-rc 3335dafec5a18ba7d05d8e7fd6d66510a0e4f228 sources/skalibs 3a2b2d8c232a6eda78ee303c0bcf1c625e58ef90 sources/skalibs 3ae027ba8e74af65e54ded77948fa4516c764c87 sources/skalibs +3bfa7d52aa807be97988806719865e7683206eb8 sources/skalibs 3f9c35dadc61ca9c64918707854d95e4a922b5f9 sources/skalibs 40b5ffbc6018f32cdc7e826e7659ce6e1a895fa0 sources/skalibs 48bc21d368828eda3ae75328596fbcab5377de2f sources/skalibs 4cae839e2e1e14f65b8f681088362b0f44f2c633 sources/skalibs +4f53303d8dd06e6c34491275e0d80b43082d247f sources/skalibs 515f860ee3c18ba17390ebd2780cd8876e7bc890 sources/skalibs 57006c155c9e95735fd018607c51e204343b6a81 sources/skalibs 5b5fcedf65f6691ceeebd5a8d6948ca5a62a889e sources/skalibs 6ba5d48e88f6bfbcde5ae6668f1cfafa7d5e9866 sources/skalibs 70bf679d90b0e19bd46c2a2c79fdbe47b934ea8d sources/skalibs +715b0466cda481f240bafdad7793d59eaaea26b1 sources/skalibs 72eca1625a0ab6afc3810eb3dad119f2ecdf6652 sources/skalibs 76005616855586fea9fa09c44e0e60ab3d349c5f sources/skalibs 76126f6cab6fe04e91588acd208cfb58f939c91f sources/skalibs @@ -1788,6 +2186,7 @@ fffee7bebdb97b5f477a5c52cd28f63f37194620 sources/s6-rc 9bfc886b1db2154c0f61d25c538e0c06d4c3d361 sources/skalibs 9ca7a683842ce4c82c87c08f712cddee233af6d2 sources/skalibs a46d150e46f5390c6e646b089da487c13706158c sources/skalibs +a7973043c92dc0f9d083e600142a47ce6dd1c9f6 sources/skalibs ac37d2e8d2c107120809f3f05cdf2d5fdbdec208 sources/skalibs b450906944d26cc1a09844c7b3394367b41bd02f sources/skalibs bb771a3ecbe89049ff2a97ad5bcedcaf1ea28e85 sources/skalibs @@ -1812,11 +2211,11 @@ f3cfdbc950c7c787397bbfc57b9a70a7bd2e5c5d sources/skalibs fe6a7178c290979b822e287014f7c2f93aa0a732 sources/skalibs ff066bd37e692daadc573fbd3ef622c3f1e8ec6a sources/skalibs e9d8af262eb5e25536ea9778e3ed57aebb55488c sources/snaprep -01a879f14d0b7b15c2a948c528799a23fd5d05e8 sources/system-config f41e8fb1dda464b6f5bf4c1f77c3fadd8593717a sources/system-config f9d071a4c5870d42d00d0ca496efac527388e6f4 sources/system-config dc793695cc0632a808af9d4415f3b0cf0f4dfba2 sources/system-config-scripts 1390434aaa6e044fc713547a232f20f2aa17f972 sources/system-config-zsh +0381211069ef2ed9a57c20a11c5353495a53e8d4 sources/tcb 11fa125ba2007080776659dd510d8d69be9ad07a sources/tcb 217fd47ed4ed872d2622a80bf88998ad6b35af96 sources/tcb 2ad8eba9ba5af18093db830cabf0fb213d5c3e67 sources/tcb @@ -1839,6 +2238,7 @@ cf878d97cb9235d85af53dad68f6582012c2515e sources/tcb d638445997f267efc22e7f6ea72715720377e9e1 sources/tcb d7f16da7fae275c31da30077919be8b0e053ef8c sources/tcb dbd3352d40f464887bd418426dcd9e7a43d9bbeb sources/tcb +e1b66cca6eb64144c75d078b09e3eb92104fa88a sources/tcb f31080ccf0994f8688f5fb4beb465df44bba1ae6 sources/tcb f3e515644dafd34f32a307f74adb4dc76dcd8090 sources/tcb f5bbc15a200165fa73b34d409d17dd4554ad19a2 sources/tcb @@ -1847,65 +2247,97 @@ fa0a135baf988fcee2253accf5038bfa40dcb77d sources/tcb fe8edd32b566505b1e892e8b7ada1e6a26720e3b sources/tcb 000fe2060b74bb396651baad6a1a8c0f31537b08 sources/zsh 043c302261dfee52e54e9a6c42b4ebcc2f7ccd33 sources/zsh +04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8 sources/zsh 08506bdf6730fe3c817246f2806f33bfa6f2b74d sources/zsh +08f335e4851dd626c0a9c4f5e3b0fe661909e6f4 sources/zsh 09532a70ead07a600a3d2258837d6e3fe943f2fd sources/zsh 0b90a37a7ca141faeda3ed6a76479ef18b904119 sources/zsh +0cdfbb7069bee40e4af0240324cab9d87b2dcbfa sources/zsh 0d022939a5aa063f2f1a5192dfa470165d915c3c sources/zsh 0d101890d0faeaefa863099042e3510f5021fbc3 sources/zsh +0e3bceebc2022abf4e092a3e4c7e2768af27c34e sources/zsh 0e49f665962e717fafd11e77d8eb20e19c3227f7 sources/zsh +1055e40c9315d3fbb54bd7d671fe62902eb130db sources/zsh 11189c6df725d682a5b0759f83d0bd5afc0e330a sources/zsh 11ee75b6dd5d6dc72469ca5eb05998418ba642b2 sources/zsh 131a49b09842dd5feccc13fe25ebab767c3f1927 sources/zsh +13288010566df7e484f90cfea61ccd55907c26d1 sources/zsh +134ed0ab4431b94341c8d3f0afe6a89b43d12a16 sources/zsh +14810d6df13e0564a606b74e4c4e918e80862e25 sources/zsh +169b440d2b9615efcdfc405caf2f0777c20d8663 sources/zsh 16e01cf37551b4da4c097012cb449b94b9ecb4b5 sources/zsh 17a552aa2d2259bca8603ff87e1dbdaac3d07ca0 sources/zsh 17e6282fec5755d2bff1b1d30d59b2c622ca9c5c sources/zsh +18711831c5ee14ecb972e31be07f34e55dd530fa sources/zsh 1a0f907a7762ef923cbd3342d64114924a740273 sources/zsh +1a490c7050cfacd5daf8376d5a1f0e8cb14ccda5 sources/zsh 1ac4f6a77f5dd7d57b01f8bcfa422f17613dfc37 sources/zsh 1b3cb68d05c14df55fff23f8d355f46fc4056c68 sources/zsh 1b551d05136c26ee1e50c1a3c33239d025001f79 sources/zsh 1be8bbf7fa933ed200c03a3dbd104a3b7cfe7890 sources/zsh 1ee08302704abbac3e086d13c08b6af0c772ecee sources/zsh +1f6786ef7ae24ff858f52c6d4ac2bc23d529c0c1 sources/zsh 1fbdfe14e776d07ba0e928bf274bfaa660b853e3 sources/zsh +206237c8ec4b7619d9e70a75004cd1ae1066b0a0 sources/zsh 207758992aed766b96e511bf067b6505c9e783cd sources/zsh 208bdede3e812ea9e28937034fdbfdf1d7549fed sources/zsh +20d67907c95265356b51dbdce8ecc0c1ede9e66b sources/zsh 20ec72c83bb598e9615a137884455925a343a685 sources/zsh 21266db1d9ae433bf1dcb196a4e258c00541b599 sources/zsh 24c37d86ad95bd78861500b113a3080970ae09b9 sources/zsh 25132aab70987a0c0451ffc3b53e005db4e3773d sources/zsh 2663a0310f03e62a4439602158b956ec08e3f4fd sources/zsh 2a2ddb36a41cd50ce1ffbfeac5bc9ffea7beb766 sources/zsh +2a5a899a55fd2bce10efd01c75a4bec5285aa46c sources/zsh 2b44768ab76aff51cb3935e6d6ef82030c980c42 sources/zsh 2c0b7929cc786680d8a943ac0d0a8453e2a3e650 sources/zsh 2c431a2b3c4902f3a67a6ae26d9682f52e166582 sources/zsh 2cc7fd4fec3ad42027be86d4d32210a1d1c2c297 sources/zsh +2d8280a3a771a991b95fbf771a4cd37525227c13 sources/zsh 2e3c328b4a942ee32dcb2b1ad24873fd60775735 sources/zsh +32c2ebbaa5d7927f33ee0ecf98472a71cf902cf3 sources/zsh 32f03e33e7976fced6e47befa9f3c9c11fc49e46 sources/zsh 3363d1e82f6fff53f7a9cea157319be074a5a59c sources/zsh +346825df86466cf151be61b9429ef2c1734e66ea sources/zsh 34c15d8a57a261d5096649834b20c3a47508b5f4 sources/zsh 372e84dc5b65b8297de146eac1182340aea6943c sources/zsh 37412a6f9b9d10b1ae9032738d84f26327a20248 sources/zsh 375115c7dfd6dff576915d25fe2ecdd381dd9d81 sources/zsh 3a6d55446cdf8baa7562c43e2c8f79f3a33774a2 sources/zsh +3ba5e6b909f3dbba6ae4bedb7f1a09ecfdead4eb sources/zsh 3c3c8d3d13fd4cf6c03f81ca8dc18a1efd561728 sources/zsh 3def62d6400fff51bcddcb9db62cb68f5b6b3f51 sources/zsh 3f676a818f8c708605e34a06016e73ac0786c3e0 sources/zsh 40dae2a82da2dd548a2de16e3e2a771a95bed650 sources/zsh +42120c197bb5f1d01d61ab326c972d8555e24a79 sources/zsh +435cb1b748ce1f2f5c38edc1d64f4ee2424f9b3a sources/zsh +443c0f7f056f7d0d7a655af62dd9c70c7767a702 sources/zsh +44cd8ebe74451e0bb6fec83c723c168c4084d9b8 sources/zsh +45df094bdcca308c22de9a67189f33e5628a33ea sources/zsh 45f0e0578247969f3a67d9faa6e741b8bcc5ddfb sources/zsh 4872ed50868379e769ce905a4af3ae7dfcef09d7 sources/zsh 491e39c8a9f41d74e52e038efaeb3bca0009195f sources/zsh 4a15ed83bc367df0c1e03bd63b3e425f0000b7f0 sources/zsh +4a63170c2ccc383fe7b9efb15944179e48ab4f91 sources/zsh +4ad8d51ab9a5f30766707768c3e709710d58e4c2 sources/zsh 4c2807e313ea1376b10db3deb685c4eb115cbf8e sources/zsh 4c8d37250ea0a318ec13c7cb4b938d8132eb6452 sources/zsh +4ce0cff5e91608598adf4a72318fc868681e398d sources/zsh 4dbcbdaefc9c341785fa066f4c3ffa40de14fefb sources/zsh 4f1d07bb8622f27135b90c5622a032a4d2fbdee3 sources/zsh 4f9ff8206ba046343c77bb7698c2e66cc5b4edf2 sources/zsh +4fec788fa5f6e7c9723e02e3d0b57068ce9785aa sources/zsh +5070e79545deebd122b7929678ae63d1b2292fca sources/zsh 50b77cd584077a8b8f8699c10b3195d82e82b1da sources/zsh +51cb3f0a27ea185be2d703be822b2b4b23eba0b7 sources/zsh 533cc753f76729aceb1d9ea1b9fc894256e09027 sources/zsh 53652f94b8e40b6a0bda4dfacfd63847de461403 sources/zsh +53d36e795b26a945048e7a87a1a91224f8e1663a sources/zsh 543a83f63ebcebbf6d3f189f27adc7a620d67f82 sources/zsh 54af3ffed03e37e8f0749e032ab3aa3e6a06c41e sources/zsh 54f2a2480f8e8de0fe4b0c5ed3208b7ce50dbc68 sources/zsh 56aa469d06a60ff23fe0c50ab9d44ae40c150412 sources/zsh +585e059c1841f9e7bab298df9aceec7174f4bbfd sources/zsh 58614f16693a741396840fbb3db0f9ba1e53cfcb sources/zsh 5a6452742793d99bd899c50d3412db40275e6d9a sources/zsh 5be52f092a696040f3f0e21a9fa337cc12837e4e sources/zsh @@ -1915,50 +2347,85 @@ fe8edd32b566505b1e892e8b7ada1e6a26720e3b sources/tcb 5dd476786ccafd698816608ed87bbea7d1b210b2 sources/zsh 5e22d7ee424dc58de4049a9ad65b50ec4728c206 sources/zsh 5f25bb8223d090d13af5869893fa35e5b8c44182 sources/zsh +6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf sources/zsh 60205c81b8e8d0b4f2ce2d17e3b8a32beeb29cdc sources/zsh +61e68d70da5af5afe943f92cd94a8c96e78348d9 sources/zsh 61f9940d67117e0ab2dd9b3cba04eee6773f83a5 sources/zsh +640a840d2e94f0fc245ef8632050c37af23c6b94 sources/zsh 68405f31a043bdd5bf338eb06688ed3e1f740937 sources/zsh 68505bb12c67c411f706c67f99b9243fb1648af8 sources/zsh +6a81d6f4d34ca5343bccc376b41722342477b3e2 sources/zsh +6ad3885077846037c63b152030f289a4d7a94980 sources/zsh +6c1fb551ba0973c9a86e1ea479d553d66c6bf6b7 sources/zsh 6e7edf9807f4286e8d3c667648fa52a40a1bc77f sources/zsh 7152094541a54c92ff937413f850e09412585b7b sources/zsh +71fdad2ca05c24e27d6ef0516f11e5c0c5c0a2fa sources/zsh +72348f15d268d8dc4c73acf643216256e527c22e sources/zsh 7293813b4e97a1892e0deeb34fa2d01c388ade12 sources/zsh +72f7f904e8734c2ee73b77e35e60ecb86148bc60 sources/zsh 73d317384c9225e46d66444f93b46f0fbe7084ef sources/zsh 746f80b77e9d2419882f120fae278382ed401b38 sources/zsh 750ec0fe1b2e357cd8bb6054849bb656e96fa6d0 sources/zsh 77166e259ee91fde498347de7c3c807d7bff6f1f sources/zsh +779b36d8442997a42de3fb5c032fbb984498182a sources/zsh +784c413690c71212ad9e08bb093414abd1cacc08 sources/zsh 79abe00e1d73b3f0681343a70e3e7f84e5e3d647 sources/zsh 79f2f7fa2ce18552869afa33f1d0d42cf4191b04 sources/zsh +7a0415cfd70a02b2280d27556c6c54cef1c86e1a sources/zsh +7a40d6c258ad87d147ee5d6839e746c33ebc0ac7 sources/zsh +7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56 sources/zsh +7ef31c0ac9edba315f7645062341242afd45b6f0 sources/zsh +805381040dd69dd02b78423d2d71913b33f3cc33 sources/zsh 81551829918c9b8f1ce7552493ae3d009ac6bde8 sources/zsh 8348814fb3097528f8c6f5854bb0ca1a66852f1b sources/zsh 8457d8837cf575f141f63c60864ac4f64fbfd7f5 sources/zsh +850fb2e7f94b4e0e9fbf3538ad9e3c44c9fed74b sources/zsh 859cccba7a1a12da9ea6c8b1c992677eb34a2c8d sources/zsh +85bed930922bc6e0b1a5fa57eacfecce731ce978 sources/zsh +85e20f745e6329893ba0467ae5490e1840d774c5 sources/zsh 8718b9bf0973d21b8e33d67b28a67ab0e0153991 sources/zsh 881474edcb223ac22a08d81a824809c33ca3a9c9 sources/zsh 8a63e7dd88bcf802b7e1544938c6ca20a92ad89c sources/zsh 8cc1fe70817d5f743d201355603347931c25a729 sources/zsh +8ceb54fbc2f879e0e80f58c18761bd54db07e5f7 sources/zsh +9003d99d16c46b5679da7fcf1f2a41adef495ff9 sources/zsh +904b939cbd81a542303da2c58288b95b153106f5 sources/zsh +929c56748420b581088cd75443d21d7c06ac44d6 sources/zsh 93db11c295363651875afc826af1f9e7d1045678 sources/zsh 9717445ff56c4ffc93752e687a4dbb15d17aebbc sources/zsh 986bdc108497d00c5513aeb5b61d5d5240844f35 sources/zsh 9d71f4c207fb34e8d64af0443c83231b1cc3b494 sources/zsh 9fcef71861b44cdc9dd298891616ed26de8d1788 sources/zsh +9ffe596f251b6b35d59da3b9e204b315d34fdfbf sources/zsh +a2159285e80508bb682d90a71270fbddada8bd05 sources/zsh +a3c3aba9e2224abc7755af685c294a7dc613203f sources/zsh a451f3058e3ccd49184e4ce7bb4c57687664ed10 sources/zsh a47971f5b7d4a21d71adcefaa0c0426f6bde8011 sources/zsh a5bc728c05efa5e91307414f6356eba684d320bc sources/zsh +a61dc2074ae6cd00f1c166dc0102c491db056060 sources/zsh a9feb3b28acae7e27fdd9a4337192d6c0bc84a13 sources/zsh aa2e531d499d61351210894b2fab549e6b43b9e9 sources/zsh +ac97ec5dbf5d642c5eb50d334043d30e6f38d2f3 sources/zsh af79d23b955f1a5b1359aa9c71fbdba9dcf1d4e5 sources/zsh +afe0e139c8fb5acdbd1d744b9be3d7830302c144 sources/zsh b0923e4811f9cebd69c456c90ac79db832e8dc13 sources/zsh +b09922bb063ddf44c7850b182fec4795fbe1ae90 sources/zsh b0d29667d32120019a1f333266539dcd136f659b sources/zsh b116f33f9a2b1768f47260c17393c837264c47c0 sources/zsh b1b6e5935b242447244392befe1807e20fb03fdb sources/zsh b2f8bc5ea25dbd1710aca9a681a70dcba6a6f436 sources/zsh b32d6325a58619ad1154fc13e00b87eb685cdb78 sources/zsh +b4a5b9db8b528f9c9b6a9cbb00db381c95659380 sources/zsh +b52f9da686a0b403a46d2d1274d3c07eb3f467e0 sources/zsh b5409e70ce575fd8eaef7254402a67dd6382c357 sources/zsh -b68002d927b1577bbed453d7bbbe39b55acf7bd0 sources/zsh b74e003f9cf9ae541869b3f6aab4a86a056c6cca sources/zsh b75b87c8d9b676fc6e274cffd97f9736daf270b4 sources/zsh +b770c1f033269ffd9074632d20d07e959034c58d sources/zsh b77f9505d813016d9ad44e5e9832dcf1fb2a6d03 sources/zsh +ba4f5e80ec9d7e145718e79fed6e57a852c86c12 sources/zsh c05a2d20937b2fee0b54adcbdc76d134a8d3f7a9 sources/zsh +c1a6c5f57780ac10f2c69aa8697ef0a4c7db1370 sources/zsh +c30917f6bb3a78a001d2928730d6b701da69bf5c sources/zsh c363023a75a21a475656dbfd77b20988af9c46d9 sources/zsh c59b55a08807d2988411a9267a5608ff87a77709 sources/zsh c5c3cd9af1a75eca540061773ce434daba137e40 sources/zsh @@ -1966,30 +2433,48 @@ cac27544ff9d42069acd89a7587a2f9b581a9a2b sources/zsh cc69eef1cd835cd8d3f33960e9f616c894e7ae4f sources/zsh cce4261a3c6f4bf78b483db61623c80e3c98d10b sources/zsh cd962793dfcc547b5c0933c4c8bcce1b1e859a7b sources/zsh +d0974ede0b80cec97b88d8928ba1b664a312a001 sources/zsh +d139ae56432a82a3dbe11f4be89ba7d886f2c177 sources/zsh +d165b4864d736d67a39d0c738132b501f8d4aae4 sources/zsh +d2b14d6baa162305a2b1678fddb05b2d152a3cac sources/zsh d5dcd73e22e4f26d548161a923ad6e07757eb452 sources/zsh d5e2b2da0d2df39de56f17205b3845d0ded50d5e sources/zsh d6bfe888700f47be827e7c6c616284b4c8eadaa0 sources/zsh +d6d4a3abfc84f0940e663cd69537789a039a7056 sources/zsh +d8f703027345170c7bc820ed7808e693dd1377d6 sources/zsh +d9d9925acba894045db8c52f6bb2e2fc4cd75dfd sources/zsh daa828bc51b48110f0a584fa2b74895d2cc761c1 sources/zsh db7d0ac34143ed2378c2fd98845b2ae5eaaf6bbb sources/zsh +defb49795782cd6012d2bbedf7e00588f68c08d6 sources/zsh e19583f201de2cc9a37686e198751cab9d735ed8 sources/zsh e27142d45686cacc6ed155e5045b97dd6243d44c sources/zsh e376f614ca5c7f9af5260249259034896809cb83 sources/zsh e37ba376b0933346716bb39dc1fc56a9c9baf896 sources/zsh +e931ff28669e9139d31ea1b7d259b1a396d017a4 sources/zsh +ea0ddb0fc6073be3d7d289e59b083f564dbd761f sources/zsh eaea1dc23c4a4e7b65046edd7f3d53a81e39e27b sources/zsh ebc33dc0fb78317aa3d5830dd0d343f9b1e11bac sources/zsh edd3a2519d257e6c5cee1334ad828685c1a4d25c sources/zsh +ef175160df2b40c49b1b21cfa23ad3190dd590d9 sources/zsh ef6bed07421893ef25abf3ad1dff52f6e207e73e sources/zsh f0068edb4888a4d8fe94defa9c7affaa15e917c9 sources/zsh +f13624e0f8a3c28c90aa0ce8ee36b639a491e4a9 sources/zsh f21d699ad8c1ab1a22360cb0a449ed65d7d928c6 sources/zsh f2fffea3e62d7ba2e6ab2f74572819d08c20b36e sources/zsh f33b842ad8ef4bb0adef16d2f8546dc86b53c428 sources/zsh f353beb40d2fdfb2079b9466f45c3be3373cb5b6 sources/zsh +f42e3fa8e6152e145251e8f16f4c61c23dec1f59 sources/zsh f46ad1753bc86fddddbef87ffa659f66bbadef5d sources/zsh f48fa9eb9d66bb225ef2529186b8d7048ea3b2ba sources/zsh +f4ab07b48c747e8dade9ee85369445de3a10d669 sources/zsh f6cff33fb722533567992b4152f5072f770e8b93 sources/zsh +f6de8782b8be44c8eec23c2686968d4a91e7455b sources/zsh +f85cb4504561df0b486e3e140d4c0434516a0f7f sources/zsh f8ae47f29b766dc0330b19d7fdb35859d6aab930 sources/zsh +f8c02f38566d368935fbd09143e2f59450ef1e5f sources/zsh f9b13e01d842afa1c98efac467b5663b1fe3b6ea sources/zsh f9fdaff1613094822bb7a5b5e2d654316bb45afe sources/zsh fade355d03e32ebe1769d8586c5cbca91cf908ed sources/zsh +fbccda6ab4a9c375b3539f1ca52a3da8aa4ecefb sources/zsh fd786a5c8abf1942a05ed8c470b06cc0b4aa5174 sources/zsh c73505cc47870bd09e8e204d98ac5976e0d4cb52 sources/zsh_config diff --git a/filelist.sha256 b/filelist.sha256 @@ -1,3 +1,4 @@ +1927024d61af67ce1af87acb6a50ac7c64b828c079e3749c767f0679bdac9d8e files/.apk-tools.patch.swp 9c102bcc376af1498d549b77bdbfa815ae86faa1d2d82f040e616b18ef2df2d4 files/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub ebf31683b56410ecc4c00acd9f6e2839e237a3b62b5ae7ef686705c7ba0396a9 files/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub 1bb2a846c0ea4ca9d0e7862f970863857fc33c32f5506098c636a62a726a847b files/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub @@ -15,7 +16,7 @@ db0b49163f07ffba64a5ca198bcf1688610b0bd1f0d8d5afeaf78559d73f2278 files/alpine-d ebe717d228555aa58133c202314a451f81e71f174781fd7ff8d8970d6cfa60da files/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub d11f6b21c61b4274e182eb888883a8ba8acdbf820dcc7a6d82a7d9fc2fd2836d files/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub 40a216cbd163f22e5f16a9e0929de7cde221b9cbae8e36aa368b1e128afe0a31 files/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub -921442b5f5bd0070caeb9c27137e63b804e634a2f5a2d69a82145362b2055b33 files/apk-tools.patch +a50b6439f2d5fbc7dc5e2b6aa0d1bcce3dfe9dd005708bec11b145578b2d4e1d files/apk-tools.patch 818a5ad7061ab1a740a5c2e7d7d8cdcc7be7e84e3f04b479731cf94ff1f1d093 files/applyuidgid-caps.c 1d9bd69b7a9a90f27db72629ceb4faaab2aab470103b77b5abd335c6f8bd0f35 files/argv0exec-amd64 8d716caa5ea940bbbb8f68ac0907cea36773c183bd4c1eebad030f6cc7deaec9 files/argv0exec.c diff --git a/variants/ccx-x86_64.mk b/variants/ccx-x86_64.mk @@ -0,0 +1,2 @@ +versions:=/home/ccx/versions +packages:=variants/ccx-x86_64+ \ No newline at end of file diff --git a/variants/ccx-x86_64.yaml b/variants/ccx-x86_64.yaml @@ -0,0 +1,6 @@ +shebang: "#!/usr/bin/env pthbs-build" +triplet: x86_64-linux-musl +versions: /home/ccx/versions +make: "make -j${JOBS:-1} -l$((1+${JOBS:-1}))" +#etc_dir: /home/ccx/.local/etc +var_dir: /var/pthbs diff --git a/variants/ccx-x86_64/aat b/variants/ccx-x86_64/aat @@ -0,0 +1,83 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#@git:5ce6a6a1224101ce5b0dfec1544a98c94d233ae0:aat + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd 'aat' + +for d in bin sbin command; do + if test -d "$d"; then + pthbs-banginstall "$d"/* "$pkgdir" + fi +done + +if test -d vim; then + mkdir -p "$pkgdir/vimfiles/pack/plugins/start" + mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" +fi + +if test -d zsh-functions; then + mkdir -p "$pkgdir/zsh" + mv -v zsh-functions "$pkgdir/zsh/site-functions" +fi +mv -v data.awk "$pkgdir/" + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/aat"]=1 + x["./command/aat.awk"]=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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/acl b/variants/ccx-x86_64/acl @@ -0,0 +1,121 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+attr.ec30f38aece043461c19e8e045855404855864a80f365124949cec4d554d9f60 +#@untar:-z:sha256:5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c:. + +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/acl" \ + --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 +} + + +autotools_static acl-2.3.2 +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 == "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/alpine-keys b/variants/ccx-x86_64/alpine-keys @@ -0,0 +1,68 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#@git:c7b36ed27103ee3f9aa01905ba1fac2d606079cf:alpine-keys + +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +def_prefix +mkdir -p "${pthbs_destdir%/}/$prefix/keys" +mv alpine-keys/keys "${pthbs_destdir%/}/$prefix/keys/alpine" + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./keys/alpine/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub"]=1 + x["./keys/alpine/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub"]=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 == "keys" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/apk-tools b/variants/ccx-x86_64/apk-tools @@ -0,0 +1,107 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+patch.9d8b2c370a0ccf6e5ad48c27070ff1da2d30d41327fd5711a76cf570b34ae523 +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#+zstd.a83f72c5953bd6b7afc171528a503710b3144bf9197961833fd27926b0a18137 +#+pkgconf-pkg-config.ea4d3fe0fca073b8e3eb3b731df4d36c062498864ee04f68ce000a6f282b5621 +#@git:aeb74de67818dedb3f4e1c1175e8182ef5eae8d9:apk-tools +#@sha256:a50b6439f2d5fbc7dc5e2b6aa0d1bcce3dfe9dd005708bec11b145578b2d4e1d:apk-tools.patch + +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} + +build_env_static +def_prefix +cd apk-tools +patch -p1 <../apk-tools.patch +make -j${JOBS:-1} -l$((1+${JOBS:-1})) STATIC=y LUA=no V=1 \ + DESTDIR="$pthbs_destdir" \ + SBINDIR="$prefix/command" \ + CONFDIR="$prefix/etc/apk" \ + MANDIR="$prefix/man" \ + DOCDIR="$prefix/doc/apk" \ + INCLUDEDIR="$prefix/include" \ + LIBDIR="$prefix/library" \ + PKGCONFIGDIR="$prefix/library/pkgconfig" \ + install-static + +check_static command/apk.static + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/apk.static"]=1 + x["./library/libapk.a"]=1 + x["./library/pkgconfig/apk.pc"]=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/applyuidgid-caps b/variants/ccx-x86_64/applyuidgid-caps @@ -0,0 +1,93 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#+libcap.66ba1f95782e8619e1ec2189653a79f3105901a0c25a4ad2ed3694f0bbe292ea +#@sha256:818a5ad7061ab1a740a5c2e7d7d8cdcc7be7e84e3f04b479731cf94ff1f1d093:applyuidgid-caps.c + +name=applyuidgid-caps +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet -lcap + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/applyuidgid-caps"]=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/attr b/variants/ccx-x86_64/attr @@ -0,0 +1,121 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-z:sha256:39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87:. + +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/attr" \ + --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 +} + + +LDFLAGS=--static +autotools_static attr-2.5.2 +check_static command/attr + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/attr"]=1 + x["./command/setfattr"]=1 + x["./command/getfattr"]=1 + x["./library/libattr.a"]=1 + x["./include/attr/libattr.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/bison b/variants/ccx-x86_64/bison @@ -0,0 +1,118 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+flex.42bdab01fb2083e92a4417d5fb289c468b9a1a5b8092904b965455b74559262f +#@untar:-J:sha256:9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2:. + +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/bison" \ + --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 CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" +autotools_static bison-3.8.2 --disable-nls +check_static command/bison +rm -vrf "$pthbs_destdir"/$prefix/lib/charset.alias +rmdir -p "$pthbs_destdir"/$prefix/lib || true + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/bison"]=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/bootstrap.environment b/variants/ccx-x86_64/bootstrap.environment @@ -0,0 +1,3 @@ +#+busybox.40c4c01bd9c0817673dceb9645c01c31733d950119f972c2549f4727292ec6a5 +#+gnu-make.4a32aa4cdf63aaa58ea27e250f18ee034174cbe12838b6d49e01734d296a50e0 +#+musl-cross-make.87153c0d352ab6464c7cf36689811ac4736e07f9f81e050e2af17504cbbec794+ \ No newline at end of file diff --git a/variants/ccx-x86_64/busybox b/variants/ccx-x86_64/busybox @@ -0,0 +1,30 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.4a32aa4cdf63aaa58ea27e250f18ee034174cbe12838b6d49e01734d296a50e0 +#+busybox.40c4c01bd9c0817673dceb9645c01c31733d950119f972c2549f4727292ec6a5 +#@git:aa4d303a3139107919f73cece4eaf85a7dc75db6:busybox +#@sha256:955edd28faae9dd665f002c85466eef58ef8fd36d76d1f39eb974e22933478ab:busybox/.config + +: ${JOBS:=1} + +export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc" +export CFLAGS="-D_GNU_SOURCE" +export LDFLAGS="-static" + +cd busybox +make V=1 CROSS_COMPILE=x86_64-linux-musl- LDFLAGS=-static HOSTLDFLAGS=-static \ + HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j$JOBS + +mkdir -p "$pthbs_destdir/versions/$pthbs_package/command" +cp -a busybox "$pthbs_destdir/versions/$pthbs_package/command/" +cd "$pthbs_destdir/versions/$pthbs_package" +echo false | ./command/busybox --list >/dev/null # test if it works +./command/busybox --list | awk ' +/^(cmp|diff)$/ {next} # provided by diffutils +/^(login)$/ {next} # provided by logincaps +/^(reset|clear)$/ {next} # provided by netbsd-curses +/^(chvt|deallocvt|fgconsole|kbd_mode|openvt|setfont|setkeycodes|showkey)$/ {next} # provided by kbd +{ print "./command/busybox\t./command/" $0 } +END { print "./command/busybox\t./command/busybox" } +' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/busybox-diffutils b/variants/ccx-x86_64/busybox-diffutils @@ -0,0 +1,12 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 + +mkdir -p "$pthbs_destdir/versions/$pthbs_package" +cd "$pthbs_destdir/versions/$pthbs_package" +bb=$(which busybox) +mkdir command +for exe in cmp diff; do + ln -sf "$bb" command/$exe + printf '%s\t%s\n' "./command/$exe" "./command/$exe" >>.install-links.new +done +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/busybox-kbd b/variants/ccx-x86_64/busybox-kbd @@ -0,0 +1,12 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 + +mkdir -p "$pthbs_destdir/versions/$pthbs_package" +cd "$pthbs_destdir/versions/$pthbs_package" +bb=$(which busybox) +mkdir command +for exe in chvt deallocvt fgconsole kbd_mode openvt setfont setkeycodes showkey; do + ln -sf "$bb" command/$exe + printf '%s\t%s\n' "./command/$exe" "./command/$exe" >>.install-links.new +done +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/busybox-login b/variants/ccx-x86_64/busybox-login @@ -0,0 +1,12 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 + +mkdir -p "$pthbs_destdir/versions/$pthbs_package" +cd "$pthbs_destdir/versions/$pthbs_package" +bb=$(which busybox) +mkdir command +for exe in login; do + ln -sf "$bb" command/$exe + printf '%s\t%s\n' "./command/$exe" "./command/$exe" >>.install-links.new +done +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/busybox:bootstrap b/variants/ccx-x86_64/busybox:bootstrap @@ -0,0 +1,30 @@ +#!/usr/bin/env pthbs-build +#@pragma:nosandbox +#@pragma:nopath +#+musl-cross-make.87153c0d352ab6464c7cf36689811ac4736e07f9f81e050e2af17504cbbec794 +#+gnu-make.4a32aa4cdf63aaa58ea27e250f18ee034174cbe12838b6d49e01734d296a50e0 +#@git:aa4d303a3139107919f73cece4eaf85a7dc75db6:busybox +#@sha256:9ee52091d7a41e7e492d508574573fbebe64155d85a07980128f21105eaad1e2:busybox/.config + +: ${JOBS:=1} +mcm=/versions/musl-cross-make.87153c0d352ab6464c7cf36689811ac4736e07f9f81e050e2af17504cbbec794 +make=/versions/gnu-make.4a32aa4cdf63aaa58ea27e250f18ee034174cbe12838b6d49e01734d296a50e0 + +export PATH="$mcm/bin:$make/command:$PATH" +export CC="$mcm/bin/x86_64-linux-musl-gcc" +export CFLAGS="-D_GNU_SOURCE" +export LDFLAGS="-static" + +cd busybox +$make/command/make V=1 CROSS_COMPILE=x86_64-linux-musl- LDFLAGS=-static HOSTLDFLAGS=-static \ + HOSTCC="$CC -static" CC="$CC -static" HOSTCFLAGS=-D_GNU_SOURCE -j$JOBS + +mkdir -p "$pthbs_destdir/versions/$pthbs_package/command" +cp -a busybox "$pthbs_destdir/versions/$pthbs_package/command/" +cd "$pthbs_destdir/versions/$pthbs_package" +echo false | ./command/busybox --list >/dev/null # test if it works +./command/busybox --list | awk ' +{ print "./command/busybox\t./command/" $0 } +END { print "./command/busybox\t./command/busybox" } +' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/confz b/variants/ccx-x86_64/confz @@ -0,0 +1,81 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#@git:c6aef8098d37a1773439117a5674bfc8662ef62b:confz + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd 'confz' + +for d in bin sbin command; do + if test -d "$d"; then + pthbs-banginstall "$d"/* "$pkgdir" + fi +done + +if test -d vim; then + mkdir -p "$pkgdir/vimfiles/pack/plugins/start" + mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" +fi + +if test -d zsh-functions; then + mkdir -p "$pkgdir/zsh" + mv -v zsh-functions "$pkgdir/zsh/site-functions" +fi + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/confz"]=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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/containers b/variants/ccx-x86_64/containers @@ -0,0 +1,112 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#@git:2f95e15270f2d0bf0d3b9b9b276c146c6bfd1776:containers + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd 'containers' + +for d in bin sbin command; do + if test -d "$d"; then + pthbs-banginstall "$d"/* "$pkgdir" + fi +done + +if test -d vim; then + mkdir -p "$pkgdir/vimfiles/pack/plugins/start" + mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" +fi + +if test -d zsh-functions; then + mkdir -p "$pkgdir/zsh" + mv -v zsh-functions "$pkgdir/zsh/site-functions" +fi +mkdir "$pkgdir/data" +mv -v service_scripts container_template "$pkgdir/data/" +printf '%s\n' >"$pkgdir/zsh/site-functions/confz_containers_pthbs_init" \ + "typeset -g container_template_dir='$prefix/data/container_template'" \ + "typeset -g container_service_script_dir='$prefix/data/service_scripts'" \ + "typeset -g container_alpine_keys_dir='$prefix/deps/keys/alpine/x86_64'" \ + "typeset -g container_apk_executable='$prefix/deps/command/apk.static'" \ + "typeset -g container_void_keys_dir='$prefix/deps/keys/void'" \ + "typeset -g container_xbps_install_executable='$prefix/deps/command/xbps-install.static'" + +mkdir -p "$pkgdir/deps/command" +ln -sf '/versions/apk-tools.886e1d02e34af28e797012476396984c2f83b8aafcd319cfa7b30853d1b76a59/command/apk.static' "$pkgdir/deps/command/" +ln -sf '/versions/xbps.f2dcdfd8accffba33bb4a025e1b3ad227f1a9d9776422455a381cfafaac7d473/command/xbps-install.static' "$pkgdir/deps/command/" + +for f in '/versions/alpine-keys.4ecd9fac6efcc329a98af1b0b1318771a77eb83ac10832c6e769ebf11c14cae1'/keys/alpine/*/*; do + test -f "$f" + d=$(basename "${f%/*}") + mkdir -p "$pkgdir/deps/keys/alpine/$d" + ln -sf "$f" "$pkgdir/deps/keys/alpine/$d/" +done + +mkdir -p "$pkgdir/deps/keys/void" +for f in '/versions/xbps.f2dcdfd8accffba33bb4a025e1b3ad227f1a9d9776422455a381cfafaac7d473'/keys/void/*; do + ln -sf "$f" "$pkgdir/deps/keys/void/" +done + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/container_sysroot_run"]=1 + x["./command/ns_run"]=1 + x["./command/ns_umount_script.awk"]=1 + x["./command/pidns_run.py"]=1 + x["./zsh/site-functions/confz_containers_init"]=1 + x["./zsh/site-functions/confz_site_containers_init"]=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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/containers.environment b/variants/ccx-x86_64/containers.environment @@ -0,0 +1,16 @@ +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#+s6-portable-utils.f6171ad521d6be72875f1d5c1b28f966662ba93cfe5790e1ef010f9e76211bc3 +#+s6-linux-utils.f7e0654375f11beedafd731ad1dd66c0de8d03452bb8e38bb647cc51cc3adb2e +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+confz.2c5f5b9bb69976bb57be5de332d8e7a2cf69c0b41c006ee7e6912abe8e8a0edf +#+containers.7f2d5cf9cd6451fc678aa81828c49ba28310eff571b69621902cf0a47d9b4e36 +#+xbps.f2dcdfd8accffba33bb4a025e1b3ad227f1a9d9776422455a381cfafaac7d473 +#+zstd.a83f72c5953bd6b7afc171528a503710b3144bf9197961833fd27926b0a18137 +#+apk-tools.886e1d02e34af28e797012476396984c2f83b8aafcd319cfa7b30853d1b76a59 +#+alpine-keys.4ecd9fac6efcc329a98af1b0b1318771a77eb83ac10832c6e769ebf11c14cae1 +#+getent.a4f1c1679ad9e6d4cd167e921ee8af0f7fce4a2b7886f96223b8c7fe1ba5ba97 +#+fileset.7159458f5e8c9237e1e1708cafced263dd342d5fd24ccec97ae8092d9b1c5150 +#+pidns_run.cd1d0a2c3dd5d118443eb9947881cc26dfc286d17cd92df0a1ba735776db2ade+ \ No newline at end of file diff --git a/variants/ccx-x86_64/curl b/variants/ccx-x86_64/curl @@ -0,0 +1,140 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#@untar:-J:sha256:3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15:. + +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/curl" \ + --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 +} + + +# Do not generate manpages (requires Perl) +( + cd curl-8.6.0 + t=$(busybox which true) + for f in scripts/cd2nroff docs/cmdline-opts/*.pl; do + printf '#!%s\n' "$t" >$f + done +) || exit $? + +export LDFLAGS="--static" +autotools_static curl-8.6.0 \ + --with-zlib \ + --enable-ipv6 \ + --enable-unix-sockets \ + --enable-static \ + --with-openssl \ + --disable-ldap \ + --enable-websockets \ + --without-libssh2 \ + --without-libpsl \ + --disable-manual +check_static command/curl + +rm -r -v "$pthbs_destdir"'/versions'"/$pthbs_package/man" + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/curl"]=1 + x["./library/libcurl.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/default.environment b/variants/ccx-x86_64/default.environment @@ -0,0 +1,44 @@ +#+system-config.926ac1402951d66ec919911e59663517598d06c172a73a15b84b3eb5a3a2767f +#+system-config-rc.0fd31ad487cfdddbdeb3ee5141f317c97fb170e3f00e29ab2ebe69c7d307b70a +#+system-config-scripts.4c00e32b8c4f6feef53b562356abd54830cc7e889149e4f8bcb928d6e6e93378 +#+system-config-init.45708e7fd844b4f977ef37155397f8328f50a2fadd2cfa89a24439a7313b050f +#+system-config-zsh.01286ec545c7035b2e08ded96e40b73f912f33fd7eec44993a1e93e12577dc0f +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+diffutils.3624d5d708d8d0c246f53189fddbc8008971f0c085ba8ab2e2d4e177d6dc7940 +#+patch.9d8b2c370a0ccf6e5ad48c27070ff1da2d30d41327fd5711a76cf570b34ae523 +#+flex.42bdab01fb2083e92a4417d5fb289c468b9a1a5b8092904b965455b74559262f +#+bison.d9992ea20119a82e24982f67479e65e94ec0fdc686f024f0ed04e87c83a00ef0 +#+rsync.0d38ed5b8c53de378afb90bb4162a0adc58ffce7c9ddc40cacdb6db2cda01a15 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#+s6-rc.c131bb99b2054bcd9705c5a5652822938265a8587a54d2894667b8b620815c7f +#+s6-portable-utils.f6171ad521d6be72875f1d5c1b28f966662ba93cfe5790e1ef010f9e76211bc3 +#+s6-linux-utils.f7e0654375f11beedafd731ad1dd66c0de8d03452bb8e38bb647cc51cc3adb2e +#+s6-linux-init.8fbed3537ce9accc1a31e36f4648d1a0df0f1d155fcfa8fb5b1079786cf1442c +#+mdevd.ce53dc40e066f620a163354acb732a70f019902cf9dbdb45571d368eaf4f67b8 +#+s6-dns.e65a0e1310967e0d4b18fd597993a364969fd35d50d35ba9eb2fd3fc68ffdf4b +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#+s6-networking.209e6bfa214a98dcd814b74f8a9ccd803cc7e97f5939a65911d1d03b9c58c3a6 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#+aat.9432aa485263e75ca3e43d6511c561a9cd328c417ebe26b890ed4a8061fee06f +#+confz.2c5f5b9bb69976bb57be5de332d8e7a2cf69c0b41c006ee7e6912abe8e8a0edf +#+containers.7f2d5cf9cd6451fc678aa81828c49ba28310eff571b69621902cf0a47d9b4e36 +#+fileset.7159458f5e8c9237e1e1708cafced263dd342d5fd24ccec97ae8092d9b1c5150 +#+logincaps.2f972abfd388f5fe599ca55104232cacf60562157bd0028d26154a578af8f14f +#+snaprep.73784e7863284b4cc1597b76b0d869eb2eaaa5eed08245e629937044a2c0c3b5 +#+curl.77419befc08ac7280bdc98fe2388cde9d88721ec00a30a7f9feb7817610ae58a +#+git.7a4dbe4f09816eab374b3b020321f582a08dce75afaa97f2abeae2a58bcfe0a7 +#+xbps.f2dcdfd8accffba33bb4a025e1b3ad227f1a9d9776422455a381cfafaac7d473 +#+apk-tools.886e1d02e34af28e797012476396984c2f83b8aafcd319cfa7b30853d1b76a59 +#+getent.a4f1c1679ad9e6d4cd167e921ee8af0f7fce4a2b7886f96223b8c7fe1ba5ba97 +#+getconf.2d8409e202963fe34a70113b3fed7da0299f212d739c84f529126f9451886e7e +#+iconv.b537e50837859e5b0fa7cc56ee46ff152c638910b9c817cba957f09631c9aad1 +#+libcap.66ba1f95782e8619e1ec2189653a79f3105901a0c25a4ad2ed3694f0bbe292ea +#+applyuidgid-caps.2d571b717bda734b4464e7d3b36bb2c9eaa265fffd595bc090cbb137258121b8 +#+nosuid.498257584ccc02addbc06e693b148be33eb24174b15e02d26513d53d6b26bce4 +#+spawn-pty.6a26823325079f177717b86ec2226068c39a6fab3dd102442d67d5b73f0af7fb +#+safelink.32934902576e73bd5312ddf140fefbf7e2021068593f7b6e9d2b80a09ecdfc98 +#+user-env.8ad55eebe32b11f005f7b5c6dc204fdccc0a53cd7294f87c1e959ea47793dbca+ \ No newline at end of file diff --git a/variants/ccx-x86_64/diffutils b/variants/ccx-x86_64/diffutils @@ -0,0 +1,118 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-J:sha256:90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e:. + +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/diffutils" \ + --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 +} + + +autotools_static diffutils-3.10 --disable-nls +check_static command/diff +check_static command/cmp + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/diff"]=1 + x["./man/man1/diff.1"]=1 +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "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/elf.h b/variants/ccx-x86_64/elf.h @@ -0,0 +1,59 @@ +#!/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/ccx-x86_64/elfutils b/variants/ccx-x86_64/elfutils @@ -0,0 +1,125 @@ +#!/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/ccx-x86_64/execline b/variants/ccx-x86_64/execline @@ -0,0 +1,83 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@git:7390d0eacf18f70a3ac4f6f3351cadc12656234e:execline + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 'execline' +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install +if ! test -e "${pthbs_destdir%/}$prefix/command/eltest"; then + # TODO + printf '%s\n' >"${pthbs_destdir%/}$prefix/command/eltest" \ + "#!$prefix/command/execlineb -S0" \ + 's6-test $@' + chmod +x "${pthbs_destdir%/}$prefix/command/eltest" +fi + +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/ccx-x86_64/fileset b/variants/ccx-x86_64/fileset @@ -0,0 +1,83 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#@git:1b161b09bc889d17ac0a4ccce2dc3e74b64e1433:fileset + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd 'fileset' + +for d in bin sbin command; do + if test -d "$d"; then + pthbs-banginstall "$d"/* "$pkgdir" + fi +done + +if test -d vim; then + mkdir -p "$pkgdir/vimfiles/pack/plugins/start" + mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" +fi + +if test -d zsh-functions; then + mkdir -p "$pkgdir/zsh" + mv -v zsh-functions "$pkgdir/zsh/site-functions" +fi + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/fslist"]=1 + x["./command/fsapply"]=1 + x["./command/fileset"]=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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/flex b/variants/ccx-x86_64/flex @@ -0,0 +1,121 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-z:sha256:e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995:. + +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/flex" \ + --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 CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" +export LDFLAGS="--static" +autotools_static flex-2.6.4 --disable-nls +check_static command/flex +check_static command/flex++ + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/flex"]=1 + x["./command/flex++"]=1 + #x["./command/lex"]=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/getconf b/variants/ccx-x86_64/getconf @@ -0,0 +1,91 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#@sha256:d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c:getconf.c + +name=getconf +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/getconf"]=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/getent b/variants/ccx-x86_64/getent @@ -0,0 +1,91 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#@sha256:002c1a216f6bed0f816ab1cfebde94a0b127193ef410c36b2190599983e015b8:getent.c + +name=getent +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/getent"]=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/git b/variants/ccx-x86_64/git @@ -0,0 +1,100 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#+curl.77419befc08ac7280bdc98fe2388cde9d88721ec00a30a7f9feb7817610ae58a +#@untar:-J:sha256:f612c1abc63557d50ad3849863fc9109670139fc9901e574460ec76e0511adb9:. + +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 +} + +prefix=/versions/$pthbs_package + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C ./git-2.43.2 \ + LD_LIBRARY_PATH="$pthbs_build_environment/library:$pthbs_build_environment/library.so" \ + CPATH="$pthbs_build_environment/include" \ + LDFLAGS="-static --static -L$pthbs_build_environment/library" \ + CPPFLAGS="-D_GNU_SOURCE" \ + NO_REGEX=NeedsStartEnd \ + NO_TCLTK=1 NO_PYTHON=1 NO_EXPAT=1 NO_GETTEXT=1 \ + DESTDIR="$pthbs_destdir" \ + prefix="$prefix" \ + gitexecdir="$prefix"/git-core \ + bindir="$prefix/command" \ + mandir="$prefix/man" \ + infodir="$prefix/info" \ + sharedir="$prefix/share" \ + gitwebdir="$prefix/gitweb" \ + V=1 all install + +check_static command/git + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/git"]=1 + x["./command/git-upload-archive"]=1 + x["./command/git-receive-pack"]=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/gnu-make b/variants/ccx-x86_64/gnu-make @@ -0,0 +1,115 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.4a32aa4cdf63aaa58ea27e250f18ee034174cbe12838b6d49e01734d296a50e0 +#+busybox.40c4c01bd9c0817673dceb9645c01c31733d950119f972c2549f4727292ec6a5 +#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:. + +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/gnu-make" \ + --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 +} + + +autotools_static make-4.4.1 --disable-nls +check_static command/make + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/make"]=1 + x["./man/man1/make.1"]=1 +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "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/gnu-make:bootstrap b/variants/ccx-x86_64/gnu-make:bootstrap @@ -0,0 +1,121 @@ +#!/usr/bin/env pthbs-build +#@pragma:nosandbox +#@pragma:nopath +#+musl-cross-make.87153c0d352ab6464c7cf36689811ac4736e07f9f81e050e2af17504cbbec794 +#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:. + +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/gnu-make:bootstrap" \ + --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 +} + + +mcm=/versions/musl-cross-make.87153c0d352ab6464c7cf36689811ac4736e07f9f81e050e2af17504cbbec794 + +export PATH="$mcm/bin:$PATH" +export CC="$mcm/bin/x86_64-linux-musl-gcc" +export CXX="$mcm/bin/x86_64-linux-musl-g++" +export CFLAGS="-D_GNU_SOURCE" +export LDFLAGS="-static" + +autotools make-4.4.1 --enable-static --disable-shared --disable-nls + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/make"]=1 + x["./man/man1/make.1"]=1 +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "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/iconv b/variants/ccx-x86_64/iconv @@ -0,0 +1,91 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#@sha256:f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7:iconv.c + +name=iconv +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -static -o $name $name.c + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/iconv"]=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/kbd b/variants/ccx-x86_64/kbd @@ -0,0 +1,122 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-z:sha256:99b2a39e1c5475ffe8e1bb2004345cb8849c3cc1aedbe541beee2d45e270975f:. + +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/kbd" \ + --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 CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" +export LDFLAGS="--static" +autotools_static kbd-2.6.4 \ + --disable-nls --disable-vlock --disable-werror --disable-tests \ + --datadir="$prefix/data" --datarootdir="$prefix/data" +check_static command/loadkeys +cd ../destdir +mv -v data ".$prefix/" + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/loadkeys"]=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 @@ -0,0 +1 @@ +#+linux.127dba0e90f84b5759fecbae1dac44d3d74106970f7a464a3561fdd9004eb98a+ \ No newline at end of file diff --git a/variants/ccx-x86_64/libarchive b/variants/ccx-x86_64/libarchive @@ -0,0 +1,120 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-J:sha256:04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb:. + +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/libarchive" \ + --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 LDFLAGS=--static +autotools_static libarchive-3.7.2 --without-xml2 + +check_static command/bsdtar +check_static command/bsdcpio + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/bsdtar"]=1 + x["./command/bsdcpio"]=1 + x["./library/libarchive.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/libbsd b/variants/ccx-x86_64/libbsd @@ -0,0 +1,115 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+libmd.32735db94582ce62793cea105a6132bc0a190f289db136346f085c87255e60a1 +#@untar:-J:sha256:55fdfa2696fb4d55a592fa9ad14a9df897c7b0008ddb3b30c419914841f85f33:. + +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/libbsd" \ + --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 +} + +autotools_static libbsd-0.11.8 + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library/libbsd.a"]=1 + x["./include/bsd/bsd.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/libcap b/variants/ccx-x86_64/libcap @@ -0,0 +1,119 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+pkgconf-pkg-config.ea4d3fe0fca073b8e3eb3b731df4d36c062498864ee04f68ce000a6f282b5621 +#@untar:-J:sha256:f311f8f3dad84699d0566d1d6f7ec943a9298b28f714cae3c931dfd57492d7eb:. + +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +def_prefix +LDFLAGS=--static +build_env_static + +cd libcap-2.69 +sed -i '1 s|^#!/bin/bash|#!/bin/sh|' progs/*.sh +make \ + DESTDIR="$pthbs_destdir" \ + SHARED=no DYNAMIC=no LIBCSTATIC=yes \ + prefix="$prefix" \ + exec_prefix="$prefix" \ + lib_prefix="$prefix" \ + inc_prefix="$prefix" \ + man_prefix="$prefix/share" \ + MANDIR="$prefix/man" \ + sbin=command \ + SBINDIR="$prefix/command" \ + INCDIR="$prefix/include" \ + lib=library \ + LIBDIR="$prefix/library" \ + PKGCONFIGDIR="$prefix/library/pkgconfig" \ + CAPSH_SHELL="'-DSHELL=\"$(which sh)\"'" \ + LDFLAGS="$LDFLAGS" \ + all install + +check_static command/capsh +check_static command/getcap +check_static command/setcap +check_static command/getpcaps + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/capsh"]=1 + x["./command/getcap"]=1 + x["./command/setcap"]=1 + x["./command/getpcaps"]=1 + x["./library/libcap.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/libcgroup b/variants/ccx-x86_64/libcgroup @@ -0,0 +1,120 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+flex.42bdab01fb2083e92a4417d5fb289c468b9a1a5b8092904b965455b74559262f +#+bison.d9992ea20119a82e24982f67479e65e94ec0fdc686f024f0ed04e87c83a00ef0 +#+musl-fts.d6e90c1871572fc3c842c0fed5bf2571e63040dc12400ef482e500371deef615 +#@untar:-z:sha256:8d284d896fca1c981b55850e92acd3ad9648a69227c028dda7ae3402af878edd:. + +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/libcgroup" \ + --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 +} + + +autotools_static libcgroup-3.0.0 +check_static command/cgconfigparser + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/cgconfigparser"]=1 + x["./man/man1/cgconfigparser.1"]=1 +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "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 @@ -0,0 +1,69 @@ +#!/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/ccx-x86_64/libelf.h b/variants/ccx-x86_64/libelf.h @@ -0,0 +1,62 @@ +#!/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/ccx-x86_64/libmd b/variants/ccx-x86_64/libmd @@ -0,0 +1,115 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-J:sha256:1bd6aa42275313af3141c7cf2e5b964e8b1fd488025caf2f971f43b00776b332:. + +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/libmd" \ + --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 +} + +autotools_static libmd-1.1.0 + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library/libmd.a"]=1 + x["./include/rmd160.h"]=1 + x["./include/sha512.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/libressl b/variants/ccx-x86_64/libressl @@ -0,0 +1,122 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-z:sha256:6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954:. + +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/libressl" \ + --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 LDFLAGS="--static" +autotools_static libressl-3.8.2 --sysconfdir=/etc +check_static command/openssl +check_static command/ocspcheck + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/openssl"]=1 + x["./command/ocspcheck"]=1 + x["./man/man1/openssl.1"]=1 + x["./library/libssl.a"]=1 + x["./include/tls.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/libseccomp b/variants/ccx-x86_64/libseccomp @@ -0,0 +1,95 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+pkgconf-pkg-config.ea4d3fe0fca073b8e3eb3b731df4d36c062498864ee04f68ce000a6f282b5621 +#@untar:-z:sha256:248a2c8a4d9b9858aa6baf52712c34afefcf9c9e94b76dce02c1c9aa25fb3375:. + +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +def_prefix +LDFLAGS=--static +build_env_static + +cd libseccomp-2.5.5 +autotools_static libseccomp-2.5.5 + +check_static command/scmp_sys_resolver + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/scmp_sys_resolver"]=1 + x["./library/libseccomp.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/linux b/variants/ccx-x86_64/linux @@ -0,0 +1,89 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+diffutils.3624d5d708d8d0c246f53189fddbc8008971f0c085ba8ab2e2d4e177d6dc7940 +#+patch.9d8b2c370a0ccf6e5ad48c27070ff1da2d30d41327fd5711a76cf570b34ae523 +#+flex.42bdab01fb2083e92a4417d5fb289c468b9a1a5b8092904b965455b74559262f +#+bison.d9992ea20119a82e24982f67479e65e94ec0fdc686f024f0ed04e87c83a00ef0 +#+rsync.0d38ed5b8c53de378afb90bb4162a0adc58ffce7c9ddc40cacdb6db2cda01a15 +#+libelf-compat.eb6c45846b007e6c7a4c7717bcfc5379a68315a73ff1343e073f790de94980b1 +#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. +#@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz +#@sha256:cb8081499f316acdc7b31b486b8d68afd68094db8f420aba0eab2c3e8de13888:linux.config +#@sha256:ff3ddd131d73fee6838b11a6c4773bdb85c5f60fdd4b9ac4120ced021c341417:noobjtool.patch + +export CFLAGS="-L$pthbs_build_environment/library -L$pthbs_build_environment/library.so" +export LD_LIBRARY_PATH="$pthbs_build_environment/library:$pthbs_build_environment/library.so" +export CPATH="$pthbs_build_environment/include" + +cd linux-6.1 +unxz -c < ../patch-6.1.34.xz | patch -p1 -N +patch -p1 -N <../noobjtool.patch +cp -v ../linux.config .config +linux64 make -j${JOBS:-1} -l$((1+${JOBS:-1})) olddefconfig +diff -u ../linux.config .config || true +linux64 make -j${JOBS:-1} -l$((1+${JOBS:-1})) + +installdir="$pthbs_destdir//versions/$pthbs_package" +mkdir -p "$installdir" +cp -v .config "$installdir/config" +mkdir -p "$installdir/doc" +mv Documentation/* "$installdir/doc" +linux64 make modules_install install \ + INSTALL_MOD_PATH="$installdir" \ + INSTALL_MOD_STRIP=1 \ + INSTALL_PATH="$installdir"/boot \ + INSTALL_DTBS_PATH="$installdir/boot/dtbs" + +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/ccx-x86_64/logincaps b/variants/ccx-x86_64/logincaps @@ -0,0 +1,101 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+safelink.32934902576e73bd5312ddf140fefbf7e2021068593f7b6e9d2b80a09ecdfc98 +#@git:4c3d6d043f7abc2f9593e647f357199badc2668b:logincaps + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd 'logincaps' + +for d in bin sbin command; do + if test -d "$d"; then + pthbs-banginstall "$d"/* "$pkgdir" + fi +done + +if test -d vim; then + mkdir -p "$pkgdir/vimfiles/pack/plugins/start" + mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" +fi + +if test -d zsh-functions; then + mkdir -p "$pkgdir/zsh" + mv -v zsh-functions "$pkgdir/zsh/site-functions" +fi + +pthbs-banginstall etc/loginexec "$pkgdir" + +cat >"$pkgdir/command/login-keepenv" <<EOF +#!$(which execlineb) -S0 +$prefix/command/login -p \$@ +EOF +chmod +x "$pkgdir/command/login-keepenv" + +cd login +sh build_static.sh -DLOGINEXEC_PATH="\"$prefix/command/loginexec\"" +cp -a login "$pkgdir/command/" + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/check-root-password.py"]=1 + x["./command/login"]=1 + x["./command/login-keepenv"]=1 + x["./command/login.capability.brightness"]=1 + x["./command/login.capability.service"]=1 + x["./command/logincaps"]=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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/m4 b/variants/ccx-x86_64/m4 @@ -0,0 +1,115 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#@untar:-z:sha256:3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70:. + +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/m4" \ + --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 +} + + +autotools_static m4-1.4.19 --disable-nls +check_static command/m4 + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/m4"]=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/mdev-scripts b/variants/ccx-x86_64/mdev-scripts @@ -0,0 +1,74 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#@git:395634340de8349996fd273b055ae4bac9d2897c:mdev-scripts + +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +def_prefix +def_dest + +cd 'mdev-scripts' +mkdir -p "$dest" +for script in persistent-storage dvbdev ptpdev usbdev; do + mv -v $script mdev-hook-$script + chmod +x mdev-hook-$script + pthbs-banginstall mdev-hook-$script "$dest" +done + +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/ccx-x86_64/mdevd b/variants/ccx-x86_64/mdevd @@ -0,0 +1,77 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#@git:38fe66bb67f5375b4bd50f732080ed9ac25ce2e7:mdevd + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 'mdevd' +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/mdevd.environment b/variants/ccx-x86_64/mdevd.environment @@ -0,0 +1,5 @@ +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#+mdev-scripts.be55c2e94e2ae2765fda567e99df15cbd7f2af5494d9ea56e89dad8f46257b53 +#+mdevd.ce53dc40e066f620a163354acb732a70f019902cf9dbdb45571d368eaf4f67b8+ \ No newline at end of file diff --git a/variants/ccx-x86_64/musl-cross-make b/variants/ccx-x86_64/musl-cross-make @@ -0,0 +1,152 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.87153c0d352ab6464c7cf36689811ac4736e07f9f81e050e2af17504cbbec794 +#+gnu-make.4a32aa4cdf63aaa58ea27e250f18ee034174cbe12838b6d49e01734d296a50e0 +#+busybox.40c4c01bd9c0817673dceb9645c01c31733d950119f972c2549f4727292ec6a5 +#@git:6f3701d08137496d5aac479e3a3977b5ae993c1f:musl-cross-make +#@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz +#@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub +#@sha256:d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b:musl-cross-make/sources/gcc-11.2.0.tar.xz +#@sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:musl-cross-make/sources/gmp-6.1.2.tar.bz2 +#@sha256:bdf76c15229b241e578046b8486106f09534d754ea4cbf105e0660e551fb1669:musl-cross-make/sources/linux-6.5.4.tar.xz +#@sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:musl-cross-make/sources/mpc-1.1.0.tar.gz +#@sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:musl-cross-make/sources/mpfr-4.0.2.tar.bz2 +#@sha256:a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4:musl-cross-make/sources/musl-1.2.5.tar.gz +#@sha256:4213e75809588e3f32ae0fde8fb11df2dfd6e0e013762ff5ee951c3aadb7ffc0:musl-cross-make/patches/linux-6.5.4/0001-no-rsync-headers.diff +#@sha256:68140a82582ede938159630bca0fb13a93b4bf1cb2e85b08943c26242cf8f3a6:zpipe.c + +: ${JOBS:=1} + +# For validating the compiler +printf '%s\n' 'int main(void) { return 0; }' >true.c + +printf '%s\n' >musl-cross-make/config.mak \ + "OUTPUT=${pthbs_destdir%/}/versions/$pthbs_package" \ + "TARGET=x86_64-linux-musl" \ + 'GCC_VER=11.2.0' \ + 'LINUX_VER=6.5.4' \ + 'st=-static --static' \ + 'fl=-g0 -O2' \ + 'COMMON_CONFIG += CFLAGS="${fl} ${st}" CXXFLAGS="${fl} ${st}" FFLAGS="${fl}" LDFLAGS="-s ${st}"' \ + 'COMMON_CONFIG += CC="x86_64-linux-musl-gcc ${st}" CXX="x86_64-linux-musl-g++ ${st}"' + +printf '%s %s\n' >musl-cross-make/hashes/linux-6.5.4.tar.xz.sha1 \ + 24ffca128d47b6c8e5c15efaa2b1c9ebe546c13c linux-6.5.4.tar.xz + +touch musl-cross-make/sources/* + +# Patch linker path for dynamic executables +make -C musl-cross-make gcc-11.2.0 +sed -i -e 's|/lib/ld-musl-|/versions/'"$pthbs_package"'/x86_64-linux-musl/lib/ld-musl-|' musl-cross-make/gcc-11.2.0/gcc/config/*/linux*.h + + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C musl-cross-make || exit $? +make -C musl-cross-make install || exit $? + +dd=$pthbs_destdir//versions/$pthbs_package + +# Override linker symlink +for linkname in "$dd"'/x86_64-linux-musl/lib/'ld-musl-*so*; do + ln -s -f libc.so "$linkname" +done + +# Validate the compiler +"$dd"'/bin/x86_64-linux-musl-gcc' --version +"$dd"'/bin/x86_64-linux-musl-gcc' -o true true.c +"$dd"'/bin/x86_64-linux-musl-readelf' --string-dump=.interp true >true.linker +grep -F "$pthbs_package" true.linker + +pkgs="gmp intl mpc mpfr zlib" +#pkgs="$pkgs libbacktrace libcc1 libcpp libdecnumber libiberty lto-plugin" + +for pkg in $pkgs; do + make -C musl-cross-make/build/local/x86_64-linux-musl/obj_gcc/$pkg prefix=/ DESTDIR="$dd" install +done +cp -va musl-cross-make/gcc-*.orig/zlib/zconf.h musl-cross-make/gcc-*.orig/zlib/zlib.h "$dd/include/" +mkdir -p "$dd/library/pkgconfig" +printf '%s\n' > "$dd/library/pkgconfig/zlib.pc" \ + "prefix=/versions/$pthbs_package" \ + 'exec_prefix=${prefix}' \ + 'includedir=${prefix}/include' \ + 'libdir=${exec_prefix}/library' \ + '' \ + 'Name: zlib' \ + 'Description: zlib compression library' \ + 'Version: 1.2.11' \ + '' \ + 'Requires:' \ + 'Libs: -L${libdir} -lz' \ + 'Cflags: -I${includedir}' + +# validate zlib +"$dd"'/bin/x86_64-linux-musl-gcc' -I"$dd/include" -L"$dd/lib" -static -o zpipe zpipe.c -lz +./zpipe <true.c >true.c.gz +./zpipe -d <true.c.gz >true.c.2 +cmp -s true.c true.c.2 + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./bin/x86_64-linux-musl-g++"]=1 + x["./bin/x86_64-linux-musl-gcc"]=1 + x["./lib/libgmp.a"]=1 + x["./lib/libmpc.a"]=1 + x["./lib/libmpfr.a"]=1 + x["./lib/libz.a"]=1 + + x["./include/gmp.h"]=1 + x["./include/mpc.h"]=1 + x["./include/mpf2mpfr.h"]=1 + x["./include/mpfr.h"]=1 + x["./include/zlib.h"]=1 + x["./include/zconf.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 == "bin" && $3 ~ /^x86_64-linux-musl-/ { target=$3; sub("x86_64-linux-musl-", "", target); link("./command/" target) } +$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/musl-cross-make:bootstrap-0 b/variants/ccx-x86_64/musl-cross-make:bootstrap-0 @@ -0,0 +1,99 @@ +#!/usr/bin/env pthbs-build +#@pragma:nosandbox +#@pragma:nopath +#@git:6f3701d08137496d5aac479e3a3977b5ae993c1f:musl-cross-make +#@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz +#@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub +#@sha256:c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e:musl-cross-make/sources/gcc-9.4.0.tar.xz +#@sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:musl-cross-make/sources/gmp-6.1.2.tar.bz2 +#@sha256:dc7abf734487553644258a3822cfd429d74656749e309f2b25f09f4282e05588:musl-cross-make/sources/linux-headers-4.19.88-2.tar.xz +#@sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:musl-cross-make/sources/mpc-1.1.0.tar.gz +#@sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:musl-cross-make/sources/mpfr-4.0.2.tar.bz2 +#@sha256:a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4:musl-cross-make/sources/musl-1.2.5.tar.gz + +: ${JOBS:=1} + +# For validating the compiler +printf '%s\n' 'int main(void) { return 0; }' >true.c + +printf '%s\n' >musl-cross-make/config.mak \ + "OUTPUT=${pthbs_destdir%/}/versions/$pthbs_package" \ + "TARGET=x86_64-linux-musl" \ + 'fl=-g0 -O2' \ + 'COMMON_CONFIG += CFLAGS="${fl}" CXXFLAGS="${fl}" FFLAGS="${fl}" LDFLAGS="-s"' + +touch musl-cross-make/sources/* + +# Patch linker path for dynamic executables +make -C musl-cross-make gcc-9.4.0 +sed -i -e 's|/lib/ld-musl-|/versions/'"$pthbs_package"'/x86_64-linux-musl/lib/ld-musl-|' musl-cross-make/gcc-9.4.0/gcc/config/*/linux*.h + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C musl-cross-make +make -C musl-cross-make install + +# Override linker symlink +for linkname in "${pthbs_destdir%/}"'/versions/'"$pthbs_package"'/x86_64-linux-musl/lib/'ld-musl-*so*; do + ln -s -f libc.so "$linkname" +done + +# Validate the compiler +"${pthbs_destdir%/}"'/versions'"/$pthbs_package/bin/"'x86_64-linux-musl-gcc' --version +"${pthbs_destdir%/}"'/versions'"/$pthbs_package/bin/"'x86_64-linux-musl-gcc' -o true true.c +"${pthbs_destdir%/}"'/versions'"/$pthbs_package/bin/"'x86_64-linux-musl-readelf' --string-dump=.interp true >true.linker +grep -F "$pthbs_package" true.linker + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./bin/x86_64-linux-musl-g++"]=1 + x["./bin/x86_64-linux-musl-gcc"]=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 == "bin" && $3 ~ /^x86_64-linux-musl-/ { target=$3; sub("x86_64-linux-musl-", "", target); link("./command/" target) } +$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/musl-cross-make:bootstrap-1 b/variants/ccx-x86_64/musl-cross-make:bootstrap-1 @@ -0,0 +1,107 @@ +#!/usr/bin/env pthbs-build +#@pragma:nosandbox +#@pragma:nopath +#+musl-cross-make.3a19d5517d40b9e991619202addb81be350111ec96e4dd5d2093f2c8d5f5860d +#@git:6f3701d08137496d5aac479e3a3977b5ae993c1f:musl-cross-make +#@sha256:ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf:musl-cross-make/sources/binutils-2.33.1.tar.xz +#@sha256:75d5d255a2a273b6e651f82eecfabf6cbcd8eaeae70e86b417384c8f4a58d8d3:musl-cross-make/sources/config.sub +#@sha256:d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b:musl-cross-make/sources/gcc-11.2.0.tar.xz +#@sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:musl-cross-make/sources/gmp-6.1.2.tar.bz2 +#@sha256:dc7abf734487553644258a3822cfd429d74656749e309f2b25f09f4282e05588:musl-cross-make/sources/linux-headers-4.19.88-2.tar.xz +#@sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:musl-cross-make/sources/mpc-1.1.0.tar.gz +#@sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:musl-cross-make/sources/mpfr-4.0.2.tar.bz2 +#@sha256:a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4:musl-cross-make/sources/musl-1.2.5.tar.gz + +: ${JOBS:=1} +bootstrap=/versions/musl-cross-make.3a19d5517d40b9e991619202addb81be350111ec96e4dd5d2093f2c8d5f5860d +"$bootstrap/bin/x86_64-linux-musl-gcc" --version + +# For validating the compiler +printf '%s\n' 'int main(void) { return 0; }' >true.c + +printf '%s\n' >musl-cross-make/config.mak \ + "OUTPUT=${pthbs_destdir%/}/versions/$pthbs_package" \ + 'GCC_VER=11.2.0' \ + "TARGET=x86_64-linux-musl" \ + 'st=-static --static' \ + 'fl=-g0 -O2' \ + "bbin=$bootstrap/bin" \ + 'COMMON_CONFIG += CFLAGS="${fl}" CXXFLAGS="${fl}" FFLAGS="${fl}" LDFLAGS="-s ${st}"' \ + 'COMMON_CONFIG += CC="${bbin}/x86_64-linux-musl-gcc ${st}" CXX="${bbin}/x86_64-linux-musl-g++ ${st}"' + +touch musl-cross-make/sources/* + +# Patch linker path for dynamic executables +make -C musl-cross-make gcc-11.2.0 +sed -i -e 's|/lib/ld-musl-|/versions/'"$pthbs_package"'/x86_64-linux-musl/lib/ld-musl-|' musl-cross-make/gcc-11.2.0/gcc/config/*/linux*.h + +export PATH="$bootstrap/bin:$PATH" +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C musl-cross-make +make -C musl-cross-make install + +# Override linker symlink +for linkname in "${pthbs_destdir%/}"'/versions/'"$pthbs_package"'/x86_64-linux-musl/lib/'ld-musl-*so*; do + ln -s -f libc.so "$linkname" +done + +# Validate the compiler +"${pthbs_destdir%/}"'/versions'"/$pthbs_package/bin/"'x86_64-linux-musl-gcc' --version +"${pthbs_destdir%/}"'/versions'"/$pthbs_package/bin/"'x86_64-linux-musl-gcc' -o true true.c +"${pthbs_destdir%/}"'/versions'"/$pthbs_package/bin/"'x86_64-linux-musl-readelf' --string-dump=.interp true >true.linker +grep -F "$pthbs_package" true.linker + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./bin/x86_64-linux-musl-g++"]=1 + x["./bin/x86_64-linux-musl-gcc"]=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 == "bin" && $3 ~ /^x86_64-linux-musl-/ { target=$3; sub("x86_64-linux-musl-", "", target); link("./command/" target) } +$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/musl-fts b/variants/ccx-x86_64/musl-fts @@ -0,0 +1,116 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-z:sha256:49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6:. + +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/musl-fts" \ + --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 +} + + +autotools_static musl-fts-1.2.7 + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library/libfts.a"]=1 + x["./include/fts.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/netbsd-curses b/variants/ccx-x86_64/netbsd-curses @@ -0,0 +1,79 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#@git:51d179dad861640caeb76674b5908ccd79f04fae:curses + +export CFLAGS="-L$pthbs_build_environment/library -L$pthbs_build_environment/library.so" +export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS" +export LD_LIBRARY_PATH="$pthbs_build_environment/library:$pthbs_build_environment/library.so" +export CPATH="$pthbs_build_environment/include" + +cd curses +prefix=/versions/$pthbs_package +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +cat << EOF > config.mak +PREFIX=$prefix +PREFIX="$prefix" +BINDIR="$prefix/command" +INCDIR="$prefix/include" +LIBDIR="$prefix/library" +MANDIR="$prefix/man" +DESTDIR="$pthbs_destdir" +EOF + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make install-static + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library/libncurses.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/nosuid b/variants/ccx-x86_64/nosuid @@ -0,0 +1,92 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@sha256:d53f929459d390275a98f948b570697c03b55384fd2536b8a5d72950d194c0c4:nosuid.c + +name=nosuid +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/nosuid"]=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/patch b/variants/ccx-x86_64/patch @@ -0,0 +1,115 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-J:sha256:ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd:. + +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/patch" \ + --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 +} + + +autotools_static patch-2.7.6 --disable-nls +check_static command/patch + + + +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/ccx-x86_64/patchelf:bootstrap b/variants/ccx-x86_64/patchelf:bootstrap @@ -0,0 +1,114 @@ +#!/usr/bin/env pthbs-build +#@pragma:nosandbox +#@pragma:nopath +#@git:523f401584d9584e76c9c77004e7abeb9e6c4551:patchelf + +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/patchelf:bootstrap" \ + --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 +} + +cd patchelf +./bootstrap.sh +autotools_static . --disable-nls +check_static command/patchelf + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/patchelf"]=1 + x["./man/man1/patchelf.1"]=1 +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "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/pidns_run b/variants/ccx-x86_64/pidns_run @@ -0,0 +1,92 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@sha256:c7be49de876eea64554e2e46bcaa7059083bcd6210c5007fd9030e0a6e57a0dd:pidns_run.c + +name=pidns_run +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/pidns_run"]=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/pkgconf b/variants/ccx-x86_64/pkgconf @@ -0,0 +1,117 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-J:sha256:3a224f2accf091b77a5781316e27b9ee3ba82c083cc2e539e08940b68a44fec5:. + +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/pkgconf" \ + --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 LDFLAGS=--static +autotools_static pkgconf-2.1.1 --with-pkg-config-dir= + +check_static command/pkgconf + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/pkgconf"]=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/pkgconf-pkg-config b/variants/ccx-x86_64/pkgconf-pkg-config @@ -0,0 +1,11 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+pkgconf.8989a4f72488f7aa07829d6a6630278dcee3f3d5ce6e384d580b12f800db1116 + +mkdir -p "$pthbs_destdir/versions/$pthbs_package" +cd "$pthbs_destdir/versions/$pthbs_package" +exe=$(realpath "$(which pkgconf)") +mkdir command +ln -sf "$exe" command/pkg-config +printf '%s\t%s\n' "./command/pkg-config" "./command/pkg-config" >>.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/popt b/variants/ccx-x86_64/popt @@ -0,0 +1,114 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#@untar:-z:sha256:c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9:. + +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/popt" \ + --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 +} + +autotools_static popt-1.19 --disable-nls + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./include/popt.h"]=1 + x["./library/libpopt.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/pthbs-banginstall b/variants/ccx-x86_64/pthbs-banginstall @@ -0,0 +1,62 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#@sha256:1e021bddaf5c020ede9107656494715236a894557b99035365fc999605541b2d:pthbs-banginstall + +installdir="$pthbs_destdir//versions/$pthbs_package" +mkdir -p "$installdir/command" +chmod +x pthbs-banginstall +zsh -x pthbs-banginstall pthbs-banginstall "$installdir" + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/pthbs-banginstall"]=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/rsync b/variants/ccx-x86_64/rsync @@ -0,0 +1,125 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+popt.3e3f8b71a43e7c837dff32830175ac07372bc54fbba39564ec0b609dd3c8d8d0 +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#+zstd.a83f72c5953bd6b7afc171528a503710b3144bf9197961833fd27926b0a18137 +#@untar:-z:sha256:4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb:. + +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/rsync" \ + --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 +} + + +autotools_static rsync-3.2.7 \ + --without-included-popt \ + --enable-openssl \ + --enable-zstd \ + --disable-xxhash \ + --disable-lz4 +check_static command/rsync + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/rsync"]=1 + x["./man/man1/rsync.1"]=1 +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "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/s6 b/variants/ccx-x86_64/s6 @@ -0,0 +1,79 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+patch.9d8b2c370a0ccf6e5ad48c27070ff1da2d30d41327fd5711a76cf570b34ae523 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#@git:8e22cbe9d3f821598a2eb9dea387c6b413f76105:s6 + +: ${JOBS:=1} + +prefix=/versions/$pthbs_package +cd s6 +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) CFLAGS=-DWANT_CLONE_NEWPID +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/s6-dns b/variants/ccx-x86_64/s6-dns @@ -0,0 +1,76 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@git:24987730cea7db460f88e90730afbf0d3270b53b:s6-dns + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 's6-dns' +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/s6-linux-init b/variants/ccx-x86_64/s6-linux-init @@ -0,0 +1,78 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#@git:59bf5341790b98413caf9fdd6c99a760bebc075d:s6-linux-init + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 's6-linux-init' +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/s6-linux-utils b/variants/ccx-x86_64/s6-linux-utils @@ -0,0 +1,76 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@git:8f74a42d6058007c7b7c45b65f49342d5c791657:s6-linux-utils + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 's6-linux-utils' +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/s6-networking b/variants/ccx-x86_64/s6-networking @@ -0,0 +1,84 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#+s6-dns.e65a0e1310967e0d4b18fd597993a364969fd35d50d35ba9eb2fd3fc68ffdf4b +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#@git:2c7b780bdb204caac3faf5613051d71a58de4017:s6-networking + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 's6-networking' +./configure --enable-ssl=libtls \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/s6-tcpclient"]=1 + x["./command/s6-tcpserver"]=1 + x["./command/s6-tlsclient"]=1 + x["./command/s6-tlsserver"]=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/s6-portable-utils b/variants/ccx-x86_64/s6-portable-utils @@ -0,0 +1,76 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@git:6798c0676545bd7ea2f547a275b829b7222b84b1:s6-portable-utils + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 's6-portable-utils' +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/s6-rc b/variants/ccx-x86_64/s6-rc @@ -0,0 +1,78 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#@git:8f29b68cc95714b41d281ff0355e2074e1ca6bc4:s6-rc + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +cd 's6-rc' +./configure \ + --prefix="$prefix" \ + --dynlibdir="${prefix}/library.so" \ + --bindir="${prefix}/command" \ + --libdir="${prefix}/library" \ + --shebangdir="${prefix}/command" \ + --with-sysdeps='/versions/skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86/sysdeps' \ + --with-include="$pthbs_build_environment/include" \ + --with-lib="$pthbs_build_environment/library" \ + --with-dynlib="$pthbs_build_environment/library.so" \ + --disable-shared --enable-static --enable-allstatic --enable-static-libc --absolute-paths + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/safelink b/variants/ccx-x86_64/safelink @@ -0,0 +1,92 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@sha256:4c8df9ba4d6a4a7e9042ef03e3dbf893636785f42e55391c4e4cefcb632b2467:safelink.c + +name=safelink +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -ggdb -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/safelink"]=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/skalibs b/variants/ccx-x86_64/skalibs @@ -0,0 +1,81 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#@git:715b0466cda481f240bafdad7793d59eaaea26b1:skalibs + +: ${JOBS:=1} + +export CC="$pthbs_build_environment/command/x86_64-linux-musl-gcc" +export CXX="$pthbs_build_environment/command/x86_64-linux-musl-g++" +export LD="$pthbs_build_environment/command/x86_64-linux-musl-ld" +export AR="$pthbs_build_environment/command/x86_64-linux-musl-ar" + +export CFLAGS="-O2 -ggdb" + +prefix=/versions/$pthbs_package +cd skalibs +./configure \ + --prefix="$prefix" \ + --sysdepdir="${prefix}/sysdeps" \ + --binprefix="${prefix}/command" \ + --extbinprefix="${prefix}/command" \ + --dynlibdir="${prefix}/library.so" \ + --libdir="${prefix}/library" \ + --includedir="${prefix}/include" \ + --disable-shared --enable-static + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) +make DESTDIR="$pthbs_destdir" install + +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/ccx-x86_64/snaprep b/variants/ccx-x86_64/snaprep @@ -0,0 +1,82 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#@git:e9d8af262eb5e25536ea9778e3ed57aebb55488c:snaprep + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd 'snaprep' + +for d in bin sbin command; do + if test -d "$d"; then + pthbs-banginstall "$d"/* "$pkgdir" + fi +done + +if test -d vim; then + mkdir -p "$pkgdir/vimfiles/pack/plugins/start" + mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" +fi + +if test -d zsh-functions; then + mkdir -p "$pkgdir/zsh" + mv -v zsh-functions "$pkgdir/zsh/site-functions" +fi + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/snap.push"]=1 + x["./command/snap.lvm2"]=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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/spawn-pty b/variants/ccx-x86_64/spawn-pty @@ -0,0 +1,92 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+skalibs.80095d3b5fc0b02710609d76fd585ca9556056300f83a94e4dc094ee3f53fa86 +#@sha256:a6779ebb826c5e48d1023f113d5f370fe9f90788a6c5bdd05234efdcb2850ea7:spawn-pty.c + +name=spawn-pty +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 +} +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" +} +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +build_env_static +def_prefix + +gcc -ggdb -D_GNU_SOURCE -static -o $name $name.c $LDFLAGS -lskarnet + +install -d "$pthbs_destdir/$prefix/command" +install -m 755 $name "$pthbs_destdir/$prefix/command" +check_static command/$name + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/spawn-pty"]=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/system-config b/variants/ccx-x86_64/system-config @@ -0,0 +1,130 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+diffutils.3624d5d708d8d0c246f53189fddbc8008971f0c085ba8ab2e2d4e177d6dc7940 +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+aat.9432aa485263e75ca3e43d6511c561a9cd328c417ebe26b890ed4a8061fee06f +#+fileset.7159458f5e8c9237e1e1708cafced263dd342d5fd24ccec97ae8092d9b1c5150 +#+rsync.0d38ed5b8c53de378afb90bb4162a0adc58ffce7c9ddc40cacdb6db2cda01a15 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+kbd.2a0ad895612242729ff63f689075b1bff9295cba0f3eac9c23d79aedf88f6f54 +#+mdevd.ce53dc40e066f620a163354acb732a70f019902cf9dbdb45571d368eaf4f67b8 +#+s6-linux-utils.f7e0654375f11beedafd731ad1dd66c0de8d03452bb8e38bb647cc51cc3adb2e +#+s6-rc.c131bb99b2054bcd9705c5a5652822938265a8587a54d2894667b8b620815c7f +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+system-config-scripts.4c00e32b8c4f6feef53b562356abd54830cc7e889149e4f8bcb928d6e6e93378 +#+logincaps.2f972abfd388f5fe599ca55104232cacf60562157bd0028d26154a578af8f14f +#@git:f41e8fb1dda464b6f5bf4c1f77c3fadd8593717a:system-config + +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +def_prefix +def_dest +err_notfound() { + printf >&2 'Executable not found for command "%s"\n' "$1" + exit 1 +} +linkdep() { + exe=$(command which "$1") || err_notfound "$1" + exe=$(realpath "$exe") + name=$(basename "$1") + if ! test -x "$exe"; then + printf 'Error: executable not found: %s\n' "$1" + fi + mkdir -p "$dest/deps/command" + ln -sf $exe "$dest/deps/command/$name" +} + +cd 'system-config' + +printf '%s\n' >config/etc/motd \ + "Welcome to $(cat ./config/hostname)!" \ + 'Current running configuration was generated from system-config:f41e8fb1dda464b6f5bf4c1f77c3fadd8593717a' \ + 'Last change on 2025-02-14 14:41:23 +0000 by ccx' + +printf '%s\n' >config/etc/skel/loginexec \ + "#!$(which execlineb) -S0" \ + 'user_loginexec $@' +chmod +x config/etc/skel/loginexec + +env 'pthbs_path_system-config'="$prefix" \ + 'pthbs_path_containers=/versions/env.e4c8214509091c193e06d718e0ab59bb14ae42edc8a4f31668ef95e90e40695f' \ + 'pthbs_path_mdevd=/versions/env.699c310193b7957c8ec17e16d6846443f99c198e3e2ce6425066f4523de2cf1e' \ + make -j${JOBS:-1} -l$((1+${JOBS:-1})) all + +sort -u build/execfile | while IFS= read exename; do + linkdep "$exename" +done + +mkdir "$dest/command" +awk -v "zsh=$(which zsh)" <./postinstall >"$dest/command/install-as-current-environment.postinstall" ' +NR==1 { print "#!" zsh; next } +/@@current@@/ { print "current=/run/current"; next } +/@@versions@@/ { print "versions='/versions'"; next } +1 +' +chmod +x "$dest/command/install-as-current-environment.postinstall" + +mkdir -p "$dest/config/" +rsync -ai ./config/ "$dest/config/" +rsync -ai ./out/ "$dest/config/" +mv -v keys "$dest/" + + +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 == "config" { link($0); next } +$2 == "keys" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/system-config-init b/variants/ccx-x86_64/system-config-init @@ -0,0 +1,170 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#+s6-rc.c131bb99b2054bcd9705c5a5652822938265a8587a54d2894667b8b620815c7f +#+s6-portable-utils.f6171ad521d6be72875f1d5c1b28f966662ba93cfe5790e1ef010f9e76211bc3 +#+s6-linux-init.8fbed3537ce9accc1a31e36f4648d1a0df0f1d155fcfa8fb5b1079786cf1442c +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+system-config-rc.0fd31ad487cfdddbdeb3ee5141f317c97fb170e3f00e29ab2ebe69c7d307b70a + +s6rcdb=/versions/system-config-rc.0fd31ad487cfdddbdeb3ee5141f317c97fb170e3f00e29ab2ebe69c7d307b70a/config/s6-rc-db +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" + +q() { + "s6-quote" "$@" +} + +qx() { + exe=$(realpath "$(which "$1")") + name=$(basename "$1") + if ! test -x "$exe"; then + printf 'Error: executable not found: %s\n' "$1" + fi + mkdir -p "$pkgdir/deps/command" + ln -sf $exe "$pkgdir/deps/command/$name" + "s6-quote" "$prefix/deps/command/$name" +} + +# Generate init ($pkgdir must not exist but parent dir does) +mkdir -p "$pthbs_destdir//versions" +s6-linux-init-maker \ + -p "/run/current/command:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ + -G "$(q "$prefix/deps/command/env") TERM=linux $(q "$prefix/deps/command/getty") 38400 tty9" \ + -t 1 \ + -N \ + -c "$prefix" \ + "$pkgdir" + + +# Link deps that are passed to s6-l-i-m +qx env +qx getty + +# Link execlineb - can't quote shebang +qx execlineb +el=$prefix/deps/command/$name + +# Rewrite bin/init as it fails finding it's own s6-linux-init +s6-cat >"$pkgdir/bin/init.new" <<EOF || exit $? +#!$el -S0 +$(qx pthbs-enter) +$(qx s6-envdir) -I /run/current/env +EOF +s6-cat >>"$pkgdir/bin/init.new" <"$pkgdir/bin/init" +chmod +x "$pkgdir/bin/init.new" +mv -v "$pkgdir/bin/init.new" "$pkgdir/bin/init" + +# Rewrite dynamically generated scripts +s6-cat >"$pkgdir/scripts/rc.init" <<EOF || exit $? +#!$el -S1 +$(qx export) TERM "linux" +$(qx foreground) { $(qx s6-echo) "* Starting s6-rc from "$(q "$s6rcdb") } +$(qx if) { $(qx s6-rc-init) -d -c $(q "$s6rcdb") /run/service } +$prefix/scripts/runlevel \$1 +EOF + +s6-cat >"$pkgdir/scripts/rc.shutdown" <<EOF || exit $? +#!$el -P + +### Things to do before hardware halt/reboot/poweroff. +### Ideally, it should be a single call to the service manager, +### telling it to bring all the services down. + +$(qx redirfd) -w 1 /dev/console +$(qx redirfd) -w 2 /dev/console +$(qx s6-rc) -v2 -bDa change +EOF + +s6-cat >"$pkgdir/scripts/runlevel" <<EOF || exit $? +#!$el -S1 +export TERM "linux" + +# The requested runlevel is in "\$1" but currently ignored. + +# Run the service manager. +# Call it twice because the first time may spuriously "timeout" +# due to the clock jumping forward. + +$(qx ifelse) -X { + $(qx s6-rc) -v 2 -t 600000 -- change ok-all-but-tty +} { + # no timeout, start ttys properly + $(qx foreground) { $(qx s6-echo) "* System started normally (bundle ok-all-but-tty)" } + $(qx foreground) { sleep 0.3 } + $(qx foreground) { $(qx s6-svc) -d /run/service/console-log-tail } + $(qx s6-rc) -v 2 -t 600000 -- change ok-all +} +$(qx foreground) { $(qx s6-echo) "* System startup failure: retry" } +# try again without tty and then with +$(qx foreground) { $(qx s6-rc) -v 2 -t 600000 -- change ok-all-but-tty } +$(qx foreground) { $(qx sleep) 0.1 } +$(qx foreground) { $(qx s6-svc) -d /run/service/console-log-tail } +$(qx s6-rc) -v 2 -t 600000 -- change ok-all +EOF + +s6-mkdir "$pkgdir/run-image/service/console-log-tail" || exit $? +s6-cat >"$pkgdir/run-image/service/console-log-tail/run" <<EOF || exit $? +#!$el -P +$(qx redirfd) -w 1 /dev/console +$(qx fdmove) -c 2 1 +$(qx pipeline) -w { $(qx s6-tai64nlocal) } +$(qx tail) -F -n +1 /run/uncaught-logs/current +EOF +s6-chmod 755 "$pkgdir/run-image/service/console-log-tail/run" exit $? + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./bin/init"]=1 + x["./bin/halt"]=1 + x["./bin/poweroff"]=1 + x["./bin/reboot"]=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/system-config-rc b/variants/ccx-x86_64/system-config-rc @@ -0,0 +1,72 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+s6-rc.c131bb99b2054bcd9705c5a5652822938265a8587a54d2894667b8b620815c7f +#+fileset.7159458f5e8c9237e1e1708cafced263dd342d5fd24ccec97ae8092d9b1c5150 +#+system-config.926ac1402951d66ec919911e59663517598d06c172a73a15b84b3eb5a3a2767f + +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +def_dest + +src=/versions/system-config.926ac1402951d66ec919911e59663517598d06c172a73a15b84b3eb5a3a2767f/config/s6-rc-source +s6-rc-compile ./s6-rc-db "$src" +mkdir -p "$dest/config" +mv -v s6-rc-db "$dest/config/" + +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 == "config" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/system-config-scripts b/variants/ccx-x86_64/system-config-scripts @@ -0,0 +1,82 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#@git:dc793695cc0632a808af9d4415f3b0cf0f4dfba2:system-config-scripts + +: ${JOBS:=1} +prefix=/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd 'system-config-scripts' + +for d in bin sbin command; do + if test -d "$d"; then + pthbs-banginstall "$d"/* "$pkgdir" + fi +done + +if test -d vim; then + mkdir -p "$pkgdir/vimfiles/pack/plugins/start" + mv -v vim "$pkgdir/vimfiles/pack/plugins/start/$pthbs_package" +fi + +if test -d zsh-functions; then + mkdir -p "$pkgdir/zsh" + mv -v zsh-functions "$pkgdir/zsh/site-functions" +fi + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/s"]=1 + x["./command/issue-gen"]=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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/system-config-zsh b/variants/ccx-x86_64/system-config-zsh @@ -0,0 +1,72 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#@git:1390434aaa6e044fc713547a232f20f2aa17f972:system-config-zsh + +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} +def_prefix +def_dest + +cd 'system-config-zsh' + +mkdir -p "$dest/zsh" +mv -v zsh-functions "$dest/zsh/site-functions" + +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 == "zsh" { link($0); next } +$2 == "vimfiles" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/user-env b/variants/ccx-x86_64/user-env @@ -0,0 +1,63 @@ +#!/usr/bin/env pthbs-build +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#@sha256:664430d033e0b491a5ed90cb39cb17cddb57ac0be9f3f2bf014264f3c17d55df:user-env + +installdir="$pthbs_destdir//versions/$pthbs_package" +mkdir -p "$installdir/command" +chmod +x user-env +pthbs-banginstall user-env "$installdir" + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/user-env"]=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/userspace.environment b/variants/ccx-x86_64/userspace.environment @@ -0,0 +1,39 @@ +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+diffutils.3624d5d708d8d0c246f53189fddbc8008971f0c085ba8ab2e2d4e177d6dc7940 +#+patch.9d8b2c370a0ccf6e5ad48c27070ff1da2d30d41327fd5711a76cf570b34ae523 +#+flex.42bdab01fb2083e92a4417d5fb289c468b9a1a5b8092904b965455b74559262f +#+bison.d9992ea20119a82e24982f67479e65e94ec0fdc686f024f0ed04e87c83a00ef0 +#+rsync.0d38ed5b8c53de378afb90bb4162a0adc58ffce7c9ddc40cacdb6db2cda01a15 +#+execline.c89bee1b1207461afa2d2ab9250f0940a2a6bbca3e45bdd60037049a75f4adf9 +#+s6.43f7ad2aaeb2646da287c5bddf7c29c44d3f7b68a976beee75b60da44b54759e +#+s6-rc.c131bb99b2054bcd9705c5a5652822938265a8587a54d2894667b8b620815c7f +#+s6-portable-utils.f6171ad521d6be72875f1d5c1b28f966662ba93cfe5790e1ef010f9e76211bc3 +#+s6-linux-utils.f7e0654375f11beedafd731ad1dd66c0de8d03452bb8e38bb647cc51cc3adb2e +#+s6-linux-init.8fbed3537ce9accc1a31e36f4648d1a0df0f1d155fcfa8fb5b1079786cf1442c +#+mdevd.ce53dc40e066f620a163354acb732a70f019902cf9dbdb45571d368eaf4f67b8 +#+s6-dns.e65a0e1310967e0d4b18fd597993a364969fd35d50d35ba9eb2fd3fc68ffdf4b +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#+s6-networking.209e6bfa214a98dcd814b74f8a9ccd803cc7e97f5939a65911d1d03b9c58c3a6 +#+zsh.4ac9e4166454e8d60c15837b7ca4938abe99db029b3fffa11b1cfd54d40ae09b +#+pthbs-banginstall.30ed98ef3fedfb6b25b3f58c27e845f123a22a756b37a5cd75764315bba23571 +#+aat.9432aa485263e75ca3e43d6511c561a9cd328c417ebe26b890ed4a8061fee06f +#+confz.2c5f5b9bb69976bb57be5de332d8e7a2cf69c0b41c006ee7e6912abe8e8a0edf +#+containers.7f2d5cf9cd6451fc678aa81828c49ba28310eff571b69621902cf0a47d9b4e36 +#+fileset.7159458f5e8c9237e1e1708cafced263dd342d5fd24ccec97ae8092d9b1c5150 +#+logincaps.2f972abfd388f5fe599ca55104232cacf60562157bd0028d26154a578af8f14f +#+snaprep.73784e7863284b4cc1597b76b0d869eb2eaaa5eed08245e629937044a2c0c3b5 +#+curl.77419befc08ac7280bdc98fe2388cde9d88721ec00a30a7f9feb7817610ae58a +#+git.7a4dbe4f09816eab374b3b020321f582a08dce75afaa97f2abeae2a58bcfe0a7 +#+xbps.f2dcdfd8accffba33bb4a025e1b3ad227f1a9d9776422455a381cfafaac7d473 +#+apk-tools.886e1d02e34af28e797012476396984c2f83b8aafcd319cfa7b30853d1b76a59 +#+getent.a4f1c1679ad9e6d4cd167e921ee8af0f7fce4a2b7886f96223b8c7fe1ba5ba97 +#+getconf.2d8409e202963fe34a70113b3fed7da0299f212d739c84f529126f9451886e7e +#+iconv.b537e50837859e5b0fa7cc56ee46ff152c638910b9c817cba957f09631c9aad1 +#+libcap.66ba1f95782e8619e1ec2189653a79f3105901a0c25a4ad2ed3694f0bbe292ea +#+applyuidgid-caps.2d571b717bda734b4464e7d3b36bb2c9eaa265fffd595bc090cbb137258121b8 +#+nosuid.498257584ccc02addbc06e693b148be33eb24174b15e02d26513d53d6b26bce4 +#+spawn-pty.6a26823325079f177717b86ec2226068c39a6fab3dd102442d67d5b73f0af7fb +#+safelink.32934902576e73bd5312ddf140fefbf7e2021068593f7b6e9d2b80a09ecdfc98 +#+user-env.8ad55eebe32b11f005f7b5c6dc204fdccc0a53cd7294f87c1e959ea47793dbca+ \ No newline at end of file diff --git a/variants/ccx-x86_64/xbps b/variants/ccx-x86_64/xbps @@ -0,0 +1,158 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+libarchive.27442e0362163a464fbcc3f60b8a8ccfba7afeb95fed8e412af2983b40d27f27 +#+libressl.a24435b73987145b250c26263ad652c1fb8e0a4f8995f8b71f042cfe4c028139 +#+pkgconf-pkg-config.ea4d3fe0fca073b8e3eb3b731df4d36c062498864ee04f68ce000a6f282b5621 +#@untar:-z:sha256:a6607e83fcd654a0ae846d729e43fefd8da9a61323e91430f884caf895b4f59b:. + +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/xbps" \ + --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 +} + +def_prefix() { + prefix=/versions/$pthbs_package +} +def_dest() { + dest=${pthbs_destdir%/}//versions/$pthbs_package +} + +export LDFLAGS=--static +export CPPFLAGS="-D_GNU_SOURCE -DSTDC_HEADERS" +build_env_static +def_dest +def_prefix + +cd xbps-0.59.2 +find lib bin -name '*.c' -exec sed -iEe '/^[\t ]*#[\t ]*define[\t ]+_GNU_SOURCE/d' '{}' \; +find lib bin -name '*.c' -exec sed -iEe '/#.*_GNU_SOURCE/d' '{}' \; +./configure --verbose \ + --prefix="$prefix" \ + --build="$(${CC:-gcc} -dumpmachine)" \ + --datadir="$prefix" \ + --bindir="$prefix/command" \ + --infodir="$prefix/info" \ + --mandir="$prefix/man" \ + --libdir="$prefix/library" \ + --localstatedir=/var \ + --enable-static + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C include +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C lib libxbps.a +install -d "$dest/library" +install -m 644 lib/libxbps.a "$dest/library" +install -d "$dest/command" +for cmd in xbps-alternatives xbps-create xbps-dgraph xbps-install xbps-pkgdb xbps-query xbps-reconfigure xbps-remove xbps-rindex xbps-uhelper xbps-checkvers xbps-fbulk xbps-digest xbps-fetch xbps-uchroot xbps-uunshare; do + make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C "bin/$cmd" "$cmd.static" + install -m 755 "bin/$cmd/$cmd.static" "$pthbs_destdir/$prefix/command" +done +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C data +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C data install DESTDIR="$pthbs_destdir" + +check_static command/xbps-install.static +mkdir -p "$dest/keys" +mv -v "$pthbs_destdir/var/db/xbps/keys" "$dest/keys/void" + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/xbps-install.static"]=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 == "keys" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/zsh b/variants/ccx-x86_64/zsh @@ -0,0 +1,145 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#+m4.3cffaef6909a65493ddc9aba4c53f77dc594ff5ab8b58c57acaa34c654b09ff3 +#+netbsd-curses.b500a82325e0b4243d62de54eb41b228df075366e41994e7cf477c1189bee65f +#+libbsd.bbbaf775521e6866fc4e63e45b7dd3d82a861fb58adb6a06986ab0a96297f8f7 +#@git:c73505cc47870bd09e8e204d98ac5976e0d4cb52:zsh_config +#@untar:-J:sha256:9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5:. + +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/zsh" \ + --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 +} + +build_env_static +cd zsh-5.9 +autotools_config \ + --enable-static --disable-shared \ + --enable-libc-musl --disable-locale \ + --enable-cap \ + --enable-maildir-support \ + --enable-datadir="/versions/$pthbs_package" \ + --enable-datarootdir="/versions/$pthbs_package" \ + --enable-etcdir="/versions/$pthbs_package/etc" \ + --enable-scriptdir="/versions/$pthbs_package/zsh/scripts" \ + --enable-site-scriptdir="/versions/$pthbs_package/zsh/site-scripts" \ + --enable-fndir="/versions/$pthbs_package/zsh/functions" \ + --enable-site-fndir="/versions/$pthbs_package/zsh/site-functions" \ + --enable-runhelpdir="/versions/$pthbs_package/zsh/help" + +sed -Ee '/name=zsh\/(files|stat|system|zselect|zutil|regex|net\/socket|net\/tcp) /s/link=[^ ]+/link=static/' -i config.modules +cat config.modules + +make -j${JOBS:-1} -l$((1+${JOBS:-1})) + +cat Src/zshpaths.h +make DESTDIR="$pthbs_destdir" install +mv -v ../zsh_config/etc "$pthbs_destdir//versions/$pthbs_package/" +mv -v ../zsh_config/zsh-functions/* "$pthbs_destdir//versions/$pthbs_package/zsh/site-functions/" +check_static command/zsh + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/zsh"]=1 + x["./man/man1/zsh.1"]=1 + x["./man/man1/zshall.1"]=1 +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + + $2 == "zsh" { link($0); next } +$2 == "command" { link($0); next } +$2 == "bin" { link(s1("command", $0)); next } + +$2 == "library.so" { link($0); next } +$2 == "library" { link($0); next } +$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next } +$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next } + +$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next } + +$2 == "man" { link($0); next } +$2 == "info" { link($0); next } +$2 == "doc" { link($0); next } +$2 == "icons" { link($0); next } +$2 == "terminfo" { link($0); next } +$2 == "data" { link($0); next } +$2 == "include" { link($0); next } + +{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" } + +END { + for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" } + for(fname in x) { + if(x[fname]) { + printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr" + exit 3 + } + } +}' >.install-links.new +mv .install-links.new .install-links diff --git a/variants/ccx-x86_64/zstd b/variants/ccx-x86_64/zstd @@ -0,0 +1,92 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.d0431fc0def788be03da43136972361827de52c8e6f0a6f3890dc57fe32e8ecc +#+gnu-make.444e811a68f4f16724e21354b710fad3592e53a2dbf7c0c78658f3d4e7c8e465 +#+busybox.f4ef3d511c029095beda8d21dd48f7730bec63fb09792ca951402d6620338089 +#+busybox-diffutils.4a0933977737282afcd82b39d435b50946a700fe13472d24e4580a41fa852123 +#@untar:-z:sha256:98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1:. + +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 +} +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" +} +build_env_static + +cd zstd-1.5.5 +make -j${JOBS:-1} -l$((1+${JOBS:-1})) default install \ + V=1 \ + DESTDIR="$pthbs_destdir" \ + prefix="/versions/$pthbs_package" \ + datarootdir="/versions/$pthbs_package" \ + bindir="/versions/$pthbs_package/command" \ + libdir="/versions/$pthbs_package/library" + +check_static command/zstd +rm -v "$pthbs_destdir//versions/$pthbs_package/library"/*.so* + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/zstd"]=1 + x["./library/libzstd.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.mk b/variants/root-x86_64.mk @@ -0,0 +1,2 @@ +versions:=/versions +packages:=variants/root-x86_64+ \ No newline at end of file diff --git a/variants/root-x86_64.yaml b/variants/root-x86_64.yaml @@ -0,0 +1,6 @@ +shebang: "#!/usr/bin/env pthbs-build" +triplet: x86_64-linux-musl +versions: /versions +make: "make -j${JOBS:-1} -l$((1+${JOBS:-1}))" +#etc_dir: /home/ccx/.local/etc +var_dir: /var/pthbs diff --git a/packages/aat b/variants/root-x86_64/aat diff --git a/packages/acl b/variants/root-x86_64/acl diff --git a/packages/alpine-keys b/variants/root-x86_64/alpine-keys diff --git a/packages/apk-tools b/variants/root-x86_64/apk-tools diff --git a/packages/applyuidgid-caps b/variants/root-x86_64/applyuidgid-caps diff --git a/packages/attr b/variants/root-x86_64/attr diff --git a/packages/bison b/variants/root-x86_64/bison diff --git a/packages/bootstrap.environment b/variants/root-x86_64/bootstrap.environment diff --git a/packages/busybox b/variants/root-x86_64/busybox diff --git a/packages/busybox-diffutils b/variants/root-x86_64/busybox-diffutils diff --git a/packages/busybox-kbd b/variants/root-x86_64/busybox-kbd diff --git a/packages/busybox-login b/variants/root-x86_64/busybox-login diff --git a/packages/busybox:bootstrap b/variants/root-x86_64/busybox:bootstrap diff --git a/packages/confz b/variants/root-x86_64/confz diff --git a/packages/containers b/variants/root-x86_64/containers diff --git a/packages/containers.environment b/variants/root-x86_64/containers.environment diff --git a/packages/curl b/variants/root-x86_64/curl diff --git a/packages/default.environment b/variants/root-x86_64/default.environment diff --git a/packages/diffutils b/variants/root-x86_64/diffutils diff --git a/packages/elf.h b/variants/root-x86_64/elf.h diff --git a/packages/elfutils b/variants/root-x86_64/elfutils diff --git a/packages/execline b/variants/root-x86_64/execline diff --git a/packages/fileset b/variants/root-x86_64/fileset diff --git a/packages/flex b/variants/root-x86_64/flex diff --git a/packages/getconf b/variants/root-x86_64/getconf diff --git a/packages/getent b/variants/root-x86_64/getent diff --git a/packages/git b/variants/root-x86_64/git diff --git a/packages/gnu-make b/variants/root-x86_64/gnu-make diff --git a/packages/gnu-make:bootstrap b/variants/root-x86_64/gnu-make:bootstrap diff --git a/packages/iconv b/variants/root-x86_64/iconv diff --git a/packages/kbd b/variants/root-x86_64/kbd diff --git a/packages/kernel.environment b/variants/root-x86_64/kernel.environment diff --git a/packages/libarchive b/variants/root-x86_64/libarchive diff --git a/packages/libbsd b/variants/root-x86_64/libbsd diff --git a/packages/libcap b/variants/root-x86_64/libcap diff --git a/packages/libcgroup b/variants/root-x86_64/libcgroup diff --git a/packages/libelf-compat b/variants/root-x86_64/libelf-compat diff --git a/packages/libelf.h b/variants/root-x86_64/libelf.h diff --git a/packages/libmd b/variants/root-x86_64/libmd diff --git a/packages/libressl b/variants/root-x86_64/libressl diff --git a/packages/libseccomp b/variants/root-x86_64/libseccomp diff --git a/packages/linux b/variants/root-x86_64/linux diff --git a/packages/logincaps b/variants/root-x86_64/logincaps diff --git a/packages/m4 b/variants/root-x86_64/m4 diff --git a/packages/mdev-scripts b/variants/root-x86_64/mdev-scripts diff --git a/packages/mdevd b/variants/root-x86_64/mdevd diff --git a/packages/mdevd.environment b/variants/root-x86_64/mdevd.environment diff --git a/packages/musl-cross-make b/variants/root-x86_64/musl-cross-make diff --git a/packages/musl-cross-make:bootstrap-0 b/variants/root-x86_64/musl-cross-make:bootstrap-0 diff --git a/packages/musl-cross-make:bootstrap-1 b/variants/root-x86_64/musl-cross-make:bootstrap-1 diff --git a/packages/musl-fts b/variants/root-x86_64/musl-fts diff --git a/packages/netbsd-curses b/variants/root-x86_64/netbsd-curses diff --git a/packages/nosuid b/variants/root-x86_64/nosuid diff --git a/packages/patch b/variants/root-x86_64/patch diff --git a/packages/patchelf:bootstrap b/variants/root-x86_64/patchelf:bootstrap diff --git a/packages/pidns_run b/variants/root-x86_64/pidns_run diff --git a/packages/pkgconf b/variants/root-x86_64/pkgconf diff --git a/packages/pkgconf-pkg-config b/variants/root-x86_64/pkgconf-pkg-config diff --git a/packages/popt b/variants/root-x86_64/popt diff --git a/packages/pthbs-banginstall b/variants/root-x86_64/pthbs-banginstall diff --git a/packages/rsync b/variants/root-x86_64/rsync diff --git a/packages/s6 b/variants/root-x86_64/s6 diff --git a/packages/s6-dns b/variants/root-x86_64/s6-dns diff --git a/packages/s6-linux-init b/variants/root-x86_64/s6-linux-init diff --git a/packages/s6-linux-utils b/variants/root-x86_64/s6-linux-utils diff --git a/packages/s6-networking b/variants/root-x86_64/s6-networking diff --git a/packages/s6-portable-utils b/variants/root-x86_64/s6-portable-utils diff --git a/packages/s6-rc b/variants/root-x86_64/s6-rc diff --git a/packages/safelink b/variants/root-x86_64/safelink diff --git a/packages/skalibs b/variants/root-x86_64/skalibs diff --git a/packages/snaprep b/variants/root-x86_64/snaprep diff --git a/packages/spawn-pty b/variants/root-x86_64/spawn-pty diff --git a/packages/system-config b/variants/root-x86_64/system-config diff --git a/packages/system-config-init b/variants/root-x86_64/system-config-init diff --git a/packages/system-config-rc b/variants/root-x86_64/system-config-rc diff --git a/packages/system-config-scripts b/variants/root-x86_64/system-config-scripts diff --git a/packages/system-config-zsh b/variants/root-x86_64/system-config-zsh diff --git a/packages/user-env b/variants/root-x86_64/user-env diff --git a/packages/userspace.environment b/variants/root-x86_64/userspace.environment diff --git a/packages/xbps b/variants/root-x86_64/xbps diff --git a/packages/zsh b/variants/root-x86_64/zsh diff --git a/packages/zstd b/variants/root-x86_64/zstd