pthbs_genpkgpy

Template engine for producing packages for pthbs written using Python and Jinja
git clone https://ccx.te2000.cz/git/pthbs_genpkgpy
Log | Files | Refs | Submodules | README

commit 5e0f1f02b9e2b715cf4b6ff906817c55ef33fc23
parent eb7490cc78b46a3d68e4aa8865145803953e6e73
Author: ccx <ccx@te2000.cz>
Date:   Fri,  8 Mar 2024 12:01:59 +0000

packages

Diffstat:
Mcommand/pthbs-enter-gen | 2+-
Mdownloadlist.sha256 | 4++++
Apackages/acl | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/attr | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/core-system-conf | 8++++----
Mpackages/core-system-init | 4++--
Mpackages/core-system-rc | 4++--
Mpackages/default.environment | 8++++----
Mpackages/kernel.environment | 4++--
Apackages/libcgroup | 120+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/linux | 2+-
Apackages/musl-fts | 116+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/rsync | 4++--
Mpackages/userspace.environment | 2+-
Atemplates/pkg/acl | 18++++++++++++++++++
Atemplates/pkg/attr | 18++++++++++++++++++
Atemplates/pkg/libcgroup | 17+++++++++++++++++
Atemplates/pkg/musl-fts | 13+++++++++++++
Mtemplates/pkg/rsync | 4++--
19 files changed, 569 insertions(+), 21 deletions(-)

diff --git a/command/pthbs-enter-gen b/command/pthbs-enter-gen @@ -76,7 +76,7 @@ foreground { } if { rm -v /run/current } if { mv -v /run/previous.\${NS_PID} /run/current } -foreground { /run/command/install-as-current-environment.postinstall } +#foreground { /run/current/command/install-as-current-environment.postinstall } exit 1 EOF chmod +x "$exe" diff --git a/downloadlist.sha256 b/downloadlist.sha256 @@ -41,3 +41,7 @@ d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c 11614 https://d f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 2577 https://dev.gentoo.org/~blueness/musl-misc/iconv.c 002c1a216f6bed0f816ab1cfebde94a0b127193ef410c36b2190599983e015b8 11656 https://gitlab.alpinelinux.org/alpine/aports/-/raw/93a08815f8598db442d8b766b463d0150ed8e2ab/main/musl/getent.c 99b2a39e1c5475ffe8e1bb2004345cb8849c3cc1aedbe541beee2d45e270975f 2999129 https://www.kernel.org/pub/linux/utils/kbd/kbd-2.6.4.tar.gz +49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6 19336 https://github.com/void-linux/musl-fts/archive/refs/tags/v1.2.7.tar.gz +5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c 555754 https://download.savannah.nongnu.org/releases/acl/acl-2.3.2.tar.gz +f311f8f3dad84699d0566d1d6f7ec943a9298b28f714cae3c931dfd57492d7eb 189200 https://kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.69.tar.xz +39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87 492539 https://download.savannah.nongnu.org/releases/attr/attr-2.5.2.tar.gz diff --git a/packages/acl b/packages/acl @@ -0,0 +1,121 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.65f98305f5666435bf0c6b9ccedffae2179ff1b3286752756886f760cf7771d2 +#+gnu-make.782c9e6625fd7420e2cd38b847afed19db3b3844cae8a0426a0dbf73e10d78e5 +#+busybox.e60885fe93ee85c01831673bb29f0e62a64903f4ce3094e3dc35bc8ec8887ad9 +#+busybox-diffutils.4f5a07b29246414b77a7d71b103263af8f1249d75ddcbd9864e00def3d6feded +#+m4.d61a4ef6e5ca207e24ed8bbbd9931e1e0ac2359ed5aae4e384b49d71401b4840 +#+attr.6c49fb4fe0fbefcf8f9447fc1d6aeeb0746955077ffc06cc581ff6648c02c3e8 +#@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/packages/attr b/packages/attr @@ -0,0 +1,121 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.65f98305f5666435bf0c6b9ccedffae2179ff1b3286752756886f760cf7771d2 +#+gnu-make.782c9e6625fd7420e2cd38b847afed19db3b3844cae8a0426a0dbf73e10d78e5 +#+busybox.e60885fe93ee85c01831673bb29f0e62a64903f4ce3094e3dc35bc8ec8887ad9 +#+busybox-diffutils.4f5a07b29246414b77a7d71b103263af8f1249d75ddcbd9864e00def3d6feded +#+m4.d61a4ef6e5ca207e24ed8bbbd9931e1e0ac2359ed5aae4e384b49d71401b4840 +#@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/packages/core-system-conf b/packages/core-system-conf @@ -4,7 +4,7 @@ #+gnu-make.782c9e6625fd7420e2cd38b847afed19db3b3844cae8a0426a0dbf73e10d78e5 #+aat.e073f6b23349ea7153987ad737fc80f909241ae4a0c0a22adc12392fcad71597 #+fileset.22d9abf3009dbbfe507bd7ff93fdd0bf7f86ee0bc317b37b423b89d70ab950a2 -#+rsync.f5e922072414cf74a8db00fadc751686c87650b09730663507e6bc5ee61f239b +#+rsync.b356835b04c5d49533ce9cd7660fd7d61f50d1c1d527b123f46e3eb2f25d3989 #+execline.9d9d14aad09d9643f578727ab1ed3363b975772358c4ac8e756abdad4fca7a3d #+kbd.4d0b59602cb299724eca17b59bddd6fbb1a72ad73b0103801da528856c31d461 #+mdevd.d0ffd7f79efbd9ff9af5e2a93e8fe5fae0d994325eb28e2af7e5d6783c50afb3 @@ -12,7 +12,7 @@ #+s6-rc.6cefe2791153127e0a783521ab97f3b124f023f21cdc2eddadbb865496ad0b45 #+s6.bb3974d7b49c2034b5064bac508beae2d4bfc1a7b6543aefcbc1af9e9e94f1a7 #+zsh.762204e14953017be79e356d4bf9f7681625a750ecc951f3510bf144ea7b51bb -#@git:eb2f9a71bb07c73d73cce36ba69e1440180f6b29:core-system-conf +#@git:7b63e9ab32c2044b5abefbdadc73a519b967897b:core-system-conf def_prefix() { prefix=/versions/$pthbs_package @@ -40,8 +40,8 @@ linkdep() { cd 'core-system-conf' printf '%s\n' >config/etc/motd \ "Welcome to $(cat ./config/hostname)!" \ - 'Current running configuration was generated from core-system-conf:eb2f9a71bb07c73d73cce36ba69e1440180f6b29' \ - 'Last change on 2024-03-07 19:51:14 +0000 by ccx' + 'Current running configuration was generated from core-system-conf:7b63e9ab32c2044b5abefbdadc73a519b967897b' \ + 'Last change on 2024-03-08 11:53:47 +0000 by ccx' env 'pthbs_path_core-system-conf'="$prefix" \ 'pthbs_path_containers=/versions/containers.environment.5c638a60055f057e241390ce3f606b4555427cd47c09becd05c48c29ca76d8bb' \ diff --git a/packages/core-system-init b/packages/core-system-init @@ -5,9 +5,9 @@ #+s6-portable-utils.39f4babb8cd30769f1a931708e5442244b0305c36ddafe32348c7dc30c000b00 #+s6-linux-init.396413eed542c149346f51a569f2d686c03b2104f4d062f52422e444ad9b502d #+execline.9d9d14aad09d9643f578727ab1ed3363b975772358c4ac8e756abdad4fca7a3d -#+core-system-rc.b8371187cb9bc42975fe32c24d12a48f7230f59c99fb0bb943a1771e553e2219 +#+core-system-rc.ea60f9ba73b7c28b8d75afeb51e41eae62d88c829734e8cb73ed5c7cf2fb0358 -s6rcdb=/versions/core-system-rc.b8371187cb9bc42975fe32c24d12a48f7230f59c99fb0bb943a1771e553e2219/config/s6-rc-db +s6rcdb=/versions/core-system-rc.ea60f9ba73b7c28b8d75afeb51e41eae62d88c829734e8cb73ed5c7cf2fb0358/config/s6-rc-db prefix=/versions/$pthbs_package pkgdir="$pthbs_destdir/$prefix" diff --git a/packages/core-system-rc b/packages/core-system-rc @@ -3,7 +3,7 @@ #+busybox-diffutils.4f5a07b29246414b77a7d71b103263af8f1249d75ddcbd9864e00def3d6feded #+s6-rc.6cefe2791153127e0a783521ab97f3b124f023f21cdc2eddadbb865496ad0b45 #+fileset.22d9abf3009dbbfe507bd7ff93fdd0bf7f86ee0bc317b37b423b89d70ab950a2 -#+core-system-conf.06c3ee1a306ef1da8e1de2a2ccfd162f9d727693576136226bfdddb1550ab6b3 +#+core-system-conf.9028fdf62e86bda47421ae1d0561c4e19cb891b8650195b825142f1bba0f4c68 def_prefix() { prefix=/versions/$pthbs_package @@ -13,7 +13,7 @@ def_dest() { } def_dest -src=/versions/core-system-conf.06c3ee1a306ef1da8e1de2a2ccfd162f9d727693576136226bfdddb1550ab6b3/config/s6-rc-source +src=/versions/core-system-conf.9028fdf62e86bda47421ae1d0561c4e19cb891b8650195b825142f1bba0f4c68/config/s6-rc-source s6-rc-compile ./s6-rc-db "$src" mkdir -p "$dest/config" mv -v s6-rc-db "$dest/config/" diff --git a/packages/default.environment b/packages/default.environment @@ -1,7 +1,7 @@ -#+core-system-conf.06c3ee1a306ef1da8e1de2a2ccfd162f9d727693576136226bfdddb1550ab6b3 -#+core-system-rc.b8371187cb9bc42975fe32c24d12a48f7230f59c99fb0bb943a1771e553e2219 +#+core-system-conf.9028fdf62e86bda47421ae1d0561c4e19cb891b8650195b825142f1bba0f4c68 +#+core-system-rc.ea60f9ba73b7c28b8d75afeb51e41eae62d88c829734e8cb73ed5c7cf2fb0358 #+core-system-scripts.132a3b1c6b226dee79156049db1244ebeacdf5a4bfcffc74b6b97175dad000fd -#+core-system-init.19dfdc2450c0459d2629e603a19c216ad89ad5c85e56d031f6484269569cfc28 +#+core-system-init.ec947ff186c088e0446df3bbc55762b4c7bb529a09282f63d060492682baf2d9 #+busybox.e60885fe93ee85c01831673bb29f0e62a64903f4ce3094e3dc35bc8ec8887ad9 #+gnu-make.782c9e6625fd7420e2cd38b847afed19db3b3844cae8a0426a0dbf73e10d78e5 #+musl-cross-make.65f98305f5666435bf0c6b9ccedffae2179ff1b3286752756886f760cf7771d2 @@ -9,7 +9,7 @@ #+patch.c2f2ffe5c9b78dce8f2a1adeca76c83dd548ffcabed790bfb6e886e9d27474bb #+flex.1ec95ce5516c7871d0757dc9ffc02f3a8795a765ad7936c23a6e2688e7d3afd0 #+bison.fed01ec0597b5f4443ca53edb88e09263e1edbec32cb3bdc2d7c8642c295ab64 -#+rsync.f5e922072414cf74a8db00fadc751686c87650b09730663507e6bc5ee61f239b +#+rsync.b356835b04c5d49533ce9cd7660fd7d61f50d1c1d527b123f46e3eb2f25d3989 #+execline.9d9d14aad09d9643f578727ab1ed3363b975772358c4ac8e756abdad4fca7a3d #+s6.bb3974d7b49c2034b5064bac508beae2d4bfc1a7b6543aefcbc1af9e9e94f1a7 #+s6-rc.6cefe2791153127e0a783521ab97f3b124f023f21cdc2eddadbb865496ad0b45 diff --git a/packages/kernel.environment b/packages/kernel.environment @@ -1 +1 @@ -#+linux.fb92ea898f81f3d19b7e8396fd308c7e9351e637871b4fba196a8357a74ee436- \ No newline at end of file +#+linux.0350c0ccd1cd73a2cfe37bade5c9d268db7d264ce389b726ad4eb97729eeccab+ \ No newline at end of file diff --git a/packages/libcgroup b/packages/libcgroup @@ -0,0 +1,120 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.65f98305f5666435bf0c6b9ccedffae2179ff1b3286752756886f760cf7771d2 +#+gnu-make.782c9e6625fd7420e2cd38b847afed19db3b3844cae8a0426a0dbf73e10d78e5 +#+busybox.e60885fe93ee85c01831673bb29f0e62a64903f4ce3094e3dc35bc8ec8887ad9 +#+busybox-diffutils.4f5a07b29246414b77a7d71b103263af8f1249d75ddcbd9864e00def3d6feded +#+m4.d61a4ef6e5ca207e24ed8bbbd9931e1e0ac2359ed5aae4e384b49d71401b4840 +#+flex.1ec95ce5516c7871d0757dc9ffc02f3a8795a765ad7936c23a6e2688e7d3afd0 +#+bison.fed01ec0597b5f4443ca53edb88e09263e1edbec32cb3bdc2d7c8642c295ab64 +#+musl-fts.67986f640ed530fdb372efaf071ee694b31caf408f0fdb9b02ff58efc4e7d9ac +#@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/packages/linux b/packages/linux @@ -6,7 +6,7 @@ #+patch.c2f2ffe5c9b78dce8f2a1adeca76c83dd548ffcabed790bfb6e886e9d27474bb #+flex.1ec95ce5516c7871d0757dc9ffc02f3a8795a765ad7936c23a6e2688e7d3afd0 #+bison.fed01ec0597b5f4443ca53edb88e09263e1edbec32cb3bdc2d7c8642c295ab64 -#+rsync.f5e922072414cf74a8db00fadc751686c87650b09730663507e6bc5ee61f239b +#+rsync.b356835b04c5d49533ce9cd7660fd7d61f50d1c1d527b123f46e3eb2f25d3989 #+libelf-compat.fe3d8e94f9889f2bda4206cd33dfeefb1a44c67d68cd513b067472696a706582 #@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. #@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz diff --git a/packages/musl-fts b/packages/musl-fts @@ -0,0 +1,116 @@ +#!/usr/bin/env pthbs-build +#+musl-cross-make.65f98305f5666435bf0c6b9ccedffae2179ff1b3286752756886f760cf7771d2 +#+gnu-make.782c9e6625fd7420e2cd38b847afed19db3b3844cae8a0426a0dbf73e10d78e5 +#+busybox.e60885fe93ee85c01831673bb29f0e62a64903f4ce3094e3dc35bc8ec8887ad9 +#+busybox-diffutils.4f5a07b29246414b77a7d71b103263af8f1249d75ddcbd9864e00def3d6feded +#+m4.d61a4ef6e5ca207e24ed8bbbd9931e1e0ac2359ed5aae4e384b49d71401b4840 +#@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/packages/rsync b/packages/rsync @@ -6,6 +6,7 @@ #+m4.d61a4ef6e5ca207e24ed8bbbd9931e1e0ac2359ed5aae4e384b49d71401b4840 #+popt.d994682732499125f79227d5e9ca96af0cc3023a2b7df3c1ee10f904d6c76278 #+libressl.712d293b92e9b1beb4a8b5905c45ea20cab64e3ddd9796f9c2781577f04771ab +#+zstd.ab99ab40fa027a935e6012884c3988d7161dc0c6ff10c06566c0a92c694bca07 #@untar:-z:sha256:4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb:. build_env_static() { @@ -60,11 +61,10 @@ check_static() { autotools_static rsync-3.2.7 \ - --disable-nls \ --without-included-popt \ --enable-openssl \ + --enable-zstd \ --disable-xxhash \ - --disable-zstd \ --disable-lz4 check_static command/rsync diff --git a/packages/userspace.environment b/packages/userspace.environment @@ -5,7 +5,7 @@ #+patch.c2f2ffe5c9b78dce8f2a1adeca76c83dd548ffcabed790bfb6e886e9d27474bb #+flex.1ec95ce5516c7871d0757dc9ffc02f3a8795a765ad7936c23a6e2688e7d3afd0 #+bison.fed01ec0597b5f4443ca53edb88e09263e1edbec32cb3bdc2d7c8642c295ab64 -#+rsync.f5e922072414cf74a8db00fadc751686c87650b09730663507e6bc5ee61f239b +#+rsync.b356835b04c5d49533ce9cd7660fd7d61f50d1c1d527b123f46e3eb2f25d3989 #+execline.9d9d14aad09d9643f578727ab1ed3363b975772358c4ac8e756abdad4fca7a3d #+s6.bb3974d7b49c2034b5064bac508beae2d4bfc1a7b6543aefcbc1af9e9e94f1a7 #+s6-rc.6cefe2791153127e0a783521ab97f3b124f023f21cdc2eddadbb865496ad0b45 diff --git a/templates/pkg/acl b/templates/pkg/acl @@ -0,0 +1,18 @@ +{% extends "autotools" %} +{%- block extra_deps %} +#+{{pkg_install_name("attr")}} +#@untar:-z:sha256:5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c:. +{%- endblock %} +{% block at_script %} + +autotools_static acl-2.3.2 +check_static command/chacl + +{% endblock %} +{% block genlinks_begin %} + x["./command/chacl"]=1 + x["./command/setfacl"]=1 + x["./command/getfacl"]=1 + x["./library/libacl.a"]=1 + x["./include/acl/libacl.h"]=1 +{% endblock %} diff --git a/templates/pkg/attr b/templates/pkg/attr @@ -0,0 +1,18 @@ +{% extends "autotools" %} +{%- block extra_deps %} +#@untar:-z:sha256:39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87:. +{%- endblock %} +{% block at_script %} + +LDFLAGS=--static +autotools_static attr-2.5.2 +check_static command/attr + +{% endblock %} +{% block genlinks_begin %} + x["./command/attr"]=1 + x["./command/setfattr"]=1 + x["./command/getfattr"]=1 + x["./library/libattr.a"]=1 + x["./include/attr/libattr.h"]=1 +{% endblock %} diff --git a/templates/pkg/libcgroup b/templates/pkg/libcgroup @@ -0,0 +1,17 @@ +{% extends "autotools" %} +{%- block extra_deps %} +#+{{pkg_install_name("flex")}} +#+{{pkg_install_name("bison")}} +#+{{pkg_install_name("musl-fts")}} +#@untar:-z:sha256:8d284d896fca1c981b55850e92acd3ad9648a69227c028dda7ae3402af878edd:. +{%- endblock %} +{% block at_script %} + +autotools_static libcgroup-3.0.0 +check_static command/cgconfigparser + +{% endblock %} +{% block genlinks_begin %} + x["./command/cgconfigparser"]=1 + x["./man/man1/cgconfigparser.1"]=1 +{% endblock %} diff --git a/templates/pkg/musl-fts b/templates/pkg/musl-fts @@ -0,0 +1,13 @@ +{% extends "autotools" %} +{%- block extra_deps %} +#@untar:-z:sha256:49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6:. +{%- endblock %} +{% block at_script %} + +autotools_static musl-fts-1.2.7 + +{% endblock %} +{% block genlinks_begin %} + x["./library/libfts.a"]=1 + x["./include/fts.h"]=1 +{% endblock %} diff --git a/templates/pkg/rsync b/templates/pkg/rsync @@ -2,16 +2,16 @@ {%- block extra_deps %} #+{{pkg_install_name("popt")}} #+{{pkg_install_name("libressl")}} +#+{{pkg_install_name("zstd")}} #@untar:-z:sha256:4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb:. {%- endblock %} {% block at_script %} autotools_static rsync-3.2.7 \ - --disable-nls \ --without-included-popt \ --enable-openssl \ + --enable-zstd \ --disable-xxhash \ - --disable-zstd \ --disable-lz4 check_static command/rsync