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 f398dad31560bf659a92273804e26fa9f66b542f
parent 2e93470ca243e5a8feecfebce6b0251e3c63dbf5
Author: Jan Pobříslo <ccx@te2000.cz>
Date:   Sat, 16 Dec 2023 20:35:12 +0100

banginstall, scriptsetup, core-system conf&s6-rc

Diffstat:
M.gitmodules | 3+++
Mfiles/pthbs-banginstall | 68+++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
Apackages/aat | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/bison | 8++++----
Mpackages/busybox | 1+
Mpackages/busybox-diffutils | 2+-
Apackages/busybox-login | 13+++++++++++++
Apackages/confz | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/containers | 85+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/core-system-conf | 74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/core-system-rc | 73+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/default.environment | 46+++++++++++++++++++++++++++-------------------
Mpackages/diffutils | 6+++---
Mpackages/elf.h | 2+-
Mpackages/elfutils | 6+++---
Mpackages/execline | 6+++---
Apackages/fileset | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/flex | 6+++---
Mpackages/gmp | 6+++---
Mpackages/libelf-compat | 2+-
Mpackages/libelf.h | 2+-
Mpackages/linux | 14+++++++-------
Apackages/logincaps | 88+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/m4 | 4++--
Mpackages/mdevd | 8++++----
Mpackages/mpc | 8++++----
Mpackages/mpfr | 6+++---
Mpackages/netbsd-curses | 2+-
Mpackages/patch | 6+++---
Mpackages/popt | 6+++---
Mpackages/pthbs-banginstall | 6+++---
Mpackages/rsync | 8++++----
Mpackages/s6 | 10+++++-----
Mpackages/s6-dns | 6+++---
Mpackages/s6-linux-init | 10+++++-----
Mpackages/s6-linux-utils | 6+++---
Mpackages/s6-networking | 12++++++------
Mpackages/s6-portable-utils | 6+++---
Mpackages/s6-rc | 10+++++-----
Mpackages/skalibs | 2+-
Apackages/snaprep | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/userspace.environment | 44++++++++++++++++++++++++++------------------
Mpackages/zsh | 8++++----
Asources/core-system-conf | 1+
Atemplates/pkg/aat | 8++++++++
Mtemplates/pkg/busybox | 1+
Atemplates/pkg/busybox-login | 15+++++++++++++++
Atemplates/pkg/confz | 4++++
Atemplates/pkg/containers | 10++++++++++
Atemplates/pkg/core-system-conf | 26++++++++++++++++++++++++++
Atemplates/pkg/core-system-rc | 25+++++++++++++++++++++++++
Atemplates/pkg/fileset | 6++++++
Atemplates/pkg/logincaps | 15+++++++++++++++
Atemplates/pkg/snaprep | 5+++++
Mtemplates/pkg/userspace.environment | 8++++++++
Atemplates/scriptsetup | 40++++++++++++++++++++++++++++++++++++++++
56 files changed, 1032 insertions(+), 140 deletions(-)

diff --git a/.gitmodules b/.gitmodules @@ -80,3 +80,6 @@ [submodule "sources/snaprep"] path = sources/snaprep url = /home/ccx/git/bzr-mirror/snaprep.git/ +[submodule "sources/core-system-conf"] + path = sources/core-system-conf + url = /home/ccx/git/carbon-conf.git diff --git a/files/pthbs-banginstall b/files/pthbs-banginstall @@ -1,10 +1,50 @@ #!/command/zsh setopt no_unset extended_glob +typeset -g vd # versions dir, eg: /home/ccx/versions +typeset -g pvd # package versions dir, eg: +# /home/ccx/versions/pthbs-banginstall.d76..99a +typeset -g pdd # package destdir, eg: +# /home/ccx/git/pthbs/work/builddir.4253/destdir/home/ccx/versions/pthbs-banginstall.d76...99a + +typeset -g hl_fatal hl_reset +if (( ${terminfo[colors]:-0} >= 8 )); then + hl_fatal='%F{red}%B'; hl_fatal=${(%)hl_fatal} + hl_reset='%b%f'; hl_reset=${(%)hl_reset} +fi + +# helper that prints out stack, error message and exits +die_ret() { + set +x + local ret n + ret=$1 + shift + print -r - >&2 "${hl_fatal}Fatal$hl_reset error occurend in:" + for n in {${#funcfiletrace}..1}; do + printf >&2 '%d> %s (%s)\n' $n "$funcfiletrace[$n]" "$functrace[$n]" + done + printf >&2 '%s\n' "${hl_fatal}*$hl_reset $^@" + exit $ret +} + +die100() { # 100: wrong usage + set +x + die_ret 100 "$@" +} +die111() { # 111: system call failed + set +x + die_ret 111 "$@" +} + main() { - typeset -g pkg_dir - pkg_dir="$@[-1]" - [[ -d $pkg_dir ]] || exit 1 + pdd="$@[-1]" # package destdir + [[ -d $pdd ]] || die111 "Not a valid destdir: ${(qqq)pdd}" + (( $+pthbs_destdir )) || die100 "Variable pthbs_destdir is not defined" + pdd=${${pdd%%/}//\/\//\/} + [[ $pdd == $pthbs_destdir/* ]] || die100 "Package destdir ${(qqq)pdd} not in pthbs_destdir ${(qqq)pthbs_destdir}" + pvd=${pdd##$pthbs_destdir} # package versioned dir + [[ $pdd == $pthbs_destdir$pvd ]] || die_ret 3 "Internal error" + vd=${pvd:h} local cmd for cmd in "$@[1,-2]"; do write_command $cmd @@ -15,18 +55,24 @@ write_command() { (( $# == 1 )) || exit 2 local script_file shebang interpreter rest script_file=$1 - [[ -x $script_file ]] || exit 1 + [[ -x $script_file ]] || die111 "${(qqq)script_file} is not an executable script" read <$script_file shebang rest - [[ $shebang == '#!/'* ]] || exit 1 + [[ $shebang == '#!/'* ]] || die111 "${(qqq)script_file} does not start with '#!/'" + if ! (($+commands[${shebang:t}])); then + die111 "Could not find executable for ${(qqq)shebang:t} in ${(qqq)script_file}" + fi interpreter=${commands[${shebang:t}]:P} - mkdir -p $pkg_dir/command $pkg_dir/deps/command || exit $? - ln -sf $interpreter $pkg_dir/deps/command/${shebang:t} || exit $? - [[ -e $pkg_dir/command/${script_file:t} ]] && exit 1 - cp -a $script_file $pkg_dir/command/${script_file:t} || exit $? - new_sb='#!'${pkg_dir:P}/deps/command/${shebang:t} awk ' + [[ $interpreter == ${pvd:h}/* ]] || \ + die111 "The executable for ${(qqq)${shebang:t}} is at ${(qqq)commands[${shebang:t}]:P} which is outside ${(qqq)vd}" + mkdir -p $pdd/command $pdd/deps/command || exit $? + ln -sf $interpreter $pdd/deps/command/${shebang:t} || exit $? + [[ -e $pdd/command/${script_file:t} ]] && \ + die111 "Target file already exists: $pdd/command/${script_file:t}" + cp -a $script_file $pdd/command/${script_file:t} || exit $? + new_sb='#!'$pvd/deps/command/${shebang:t} awk ' NR==1 { sub("^[^ \t]+", ENVIRON["new_sb"]) } 1 - ' >$pkg_dir/command/${script_file:t} <$script_file + ' >$pdd/command/${script_file:t} <$script_file } main "$@" diff --git a/packages/aat b/packages/aat @@ -0,0 +1,83 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#@git:5ce6a6a1224101ce5b0dfec1544a98c94d233ae0:aat + +: ${JOBS:=1} +prefix=/home/ccx/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 + mv -v zsh-functions "$pkgdir/" +fi +mv -v data.awk "$pkgdir/" + +cd "$pthbs_destdir/home/ccx/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-scripts" { 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 == "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/bison b/packages/bison @@ -2,10 +2,10 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c -#+flex.2f957a1b131f67ad011a162bb2351579236bf3dc1a209abe1b661d1403c4c7a5 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 +#+flex.b62d752270e090ca95e6899f099ca4743cb1486a1ec36a9bcdf1ae4bf7ffa50d #@untar:-J:sha256:9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2:. autotools() { diff --git a/packages/busybox b/packages/busybox @@ -22,6 +22,7 @@ cd "$pthbs_destdir/home/ccx/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 { print "./command/busybox\t./command/" $0 } END { print "./command/busybox\t./command/busybox" } diff --git a/packages/busybox-diffutils b/packages/busybox-diffutils @@ -1,6 +1,6 @@ #!/usr/bin/env pthbs-build #+* -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 mkdir -p "$pthbs_destdir/home/ccx/versions/$pthbs_package" cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" diff --git a/packages/busybox-login b/packages/busybox-login @@ -0,0 +1,13 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 + +mkdir -p "$pthbs_destdir/home/ccx/versions/$pthbs_package" +cd "$pthbs_destdir/home/ccx/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/packages/confz b/packages/confz @@ -0,0 +1,81 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#@git:c6aef8098d37a1773439117a5674bfc8662ef62b:confz + +: ${JOBS:=1} +prefix=/home/ccx/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 + mv -v zsh-functions "$pkgdir/" +fi + +cd "$pthbs_destdir/home/ccx/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-scripts" { 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 == "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/containers b/packages/containers @@ -0,0 +1,85 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc +#@git:e1e16c08f53d80d08f0ce9e405115fd650270e6b:containers + +: ${JOBS:=1} +prefix=/home/ccx/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 + mv -v zsh-functions "$pkgdir/" +fi + +cd "$pthbs_destdir/home/ccx/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"]=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-scripts" { 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 == "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 @@ -0,0 +1,74 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+diffutils.8b8d8e77ea4a38208c2ec62e4f48df8ba365476d0363d9139b4e87a371e9220c +#+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de +#+aat.324ec1b33055301b8884508fb052dc047e89e6ca47f2e17949cdce8918f2c4fc +#+fileset.8db1ec15a8c764b4999a9ec882cb7ef4ad7693d8d51dfa8070a21b6bd9e0a149 +#@git:68c2ffd5f266f0c27e3d0b9038872088235659f5:core-system-conf + +: ${JOBS:=1} +prefix=/home/ccx/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cp -av 'core-system-conf' "$pkgdir/" +# verify build +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C 'core-system-conf' clean +make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C 'core-system-conf' all +rm -rf 'core-system-conf/build' +diff -ru 'core-system-conf/' "$pkgdir/core-system-conf/" + + +cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "static" { link(r1($0)); next } +$2 == "authorized_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 == "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-rc b/packages/core-system-rc @@ -0,0 +1,73 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+s6-rc.d9477400ee9be61bbd377c180fc7cdc6a23ebad752775622078a8000f3485214 +#+fileset.8db1ec15a8c764b4999a9ec882cb7ef4ad7693d8d51dfa8070a21b6bd9e0a149 +#+core-system-conf.47c9e8c97fd233c043f9b63abc8e0a915be08cb4ac26dd8d64e917f4e040cfb3 + +conf=/home/ccx/versions/core-system-conf.47c9e8c97fd233c043f9b63abc8e0a915be08cb4ac26dd8d64e917f4e040cfb3/core-system-conf +prefix=/home/ccx/versions/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/s6-rc-source" +cd "$pkgdir/" +fsapply ./s6-rc-source "$conf/s6-rc.fileset" +if ! [[ -f ./s6-rc-source/ok-all/type ]]; then + printf '%s\n' "Failed to generate s6-rc source directory" + exit 111 +fi +s6-rc-compile ./s6-rc-db ./s6-rc-source + + +cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { +} + +function r1(s) { + sub("^[.]/[^/]*", ".", s) + return s +} +function s1(repl, s) { + sub("^[.]/[^/]*", "./"repl, s) + return s +} +function link(src) { + x[$0]=0 + printf "%s\t%s\n", $0, src + printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr" +} +$1!="."{exit 1} + + +$2 == "s6-rc-db" { 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 == "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/default.environment b/packages/default.environment @@ -1,20 +1,28 @@ -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c -#+diffutils.cefaff2fce5e212c465e420b4c12ebe919732b429224ee7184f03d5f9b690795 -#+patch.5009a36f27088275d30f4314c68f26e491343e7eb640f21b3fa194e478f0bd14 -#+flex.2f957a1b131f67ad011a162bb2351579236bf3dc1a209abe1b661d1403c4c7a5 -#+bison.53499d4a7d6e5b1103e2bc20c57c0aec19d95acf6edc718480f63c42bf05ea58 -#+rsync.7255fc204881514faafa59f7b7f78dd992b2711dcf9be8886c8a32b03bc52057 -#+execline.0ecf1224330632cf67e469ce0d49cf5632c6c88da37a0ea748457fcb802e4c54 -#+s6.96761c32dde7d3ee4610a741dec5373f0835f3d846f67776ad9699c4911f3f10 -#+s6-rc.4872f137a3255c7b3ec7b8212c611aaafdd949625e9bce34aa50bff634d54a72 -#+s6-portable-utils.29636ef6bb7aa1d7cae6b9c8531014273abd51b16b63aff69b31ae66b4a29c74 -#+s6-linux-utils.25031b1a4b959a7a28ea4141090b1399420329f85b50d6f905f43deb2c6d872b -#+s6-linux-init.4402bdbed9ed834c1d11e7e75120a48bb908d4dde7d238c85c77b0eb56ae221e -#+mdevd.b8212bebb9cb2b009f10357b358501789c2b33f5917f544391ec3e425e3e9716 -#+s6-dns.1fc33e454e4223762ec3ecb16a57fa087dfb77c41ef9a2192fe6374e275b437a -#+s6-networking.e4d23d3b419702d6796f46ffe4e07604efe95f9a0ccb3ca3bfa958da368b3a96 -#+zsh.8f959a5600b3c3032d95e369169334cdcb92e39be6d1bf9f481bd04b346025f1 -#+pthbs-banginstall.e93c990b3f00675976f37cd063fe0db1f81fb74e856bfb7d76bbf81275a9dc7c -#+linux.8eedd5ac58030045509e8362bc29f7ed41dd467d3994202f933726cef5800bbc- \ No newline at end of file +#+diffutils.8b8d8e77ea4a38208c2ec62e4f48df8ba365476d0363d9139b4e87a371e9220c +#+patch.e88eea6400a7d36c81defb72be8639b32a81791f6dc45424cf5cc04aaf636006 +#+flex.b62d752270e090ca95e6899f099ca4743cb1486a1ec36a9bcdf1ae4bf7ffa50d +#+bison.3d9db209c80cf73d47088ce649e2d3267818413cf749e0bfccdc84003d492677 +#+rsync.456bd92f8127bdd35d14b434ccc3ef01e2e3c5bf51e09e81cf31793bffc445f0 +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc +#+s6.5842cf13ac273f44789effa073be8856e140c0c1c8e881e56b0953d8c3f9bfde +#+s6-rc.d9477400ee9be61bbd377c180fc7cdc6a23ebad752775622078a8000f3485214 +#+s6-portable-utils.74e1284710969971e975e52a4a18c628df2c12db025139d5707e1a0af27dab64 +#+s6-linux-utils.715675b37c929447b8a7434a9fc330e1692e5bbd459e406743eec778a4305fed +#+s6-linux-init.ae12bfa48868d8e6ebf8066df04a4d51751a879322992a6883586c4580c6a0d6 +#+mdevd.c61798b14d712f303b7d13e56d4be3230187c72bcc12d0a68345bfe5f83c1b67 +#+s6-dns.218c387833bb5f3db8cf6d46fdf9b5daf76fdcd344ba23dd433f0790815ae93d +#+s6-networking.20244fbbe73d9b70b6e1030ff6d198d6ff04162284c523722859fed11c2eb558 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#+aat.324ec1b33055301b8884508fb052dc047e89e6ca47f2e17949cdce8918f2c4fc +#+confz.31c18a68f15e9e49fa8c1b7a850c5eb7cfe456f2bb6ff859267628dc3fac6b4c +#+containers.da63edefe232296a47c6e639b30fb9ab127f6d9bd27132e0306ba18e036d91c5 +#+fileset.8db1ec15a8c764b4999a9ec882cb7ef4ad7693d8d51dfa8070a21b6bd9e0a149 +#+logincaps.d1cbcbb8c5bca5c69e85fbe821229189ded7b9eb29d83e6c4fc6b9c6196826bc +#+snaprep.1ed06cea3dda8aca11d7d3ec83742e10eabc2836633213b39806eafaa6ef078a +#+core-system-conf.47c9e8c97fd233c043f9b63abc8e0a915be08cb4ac26dd8d64e917f4e040cfb3 +#+core-system-rc.3ae386addf824444a7c470e615ec72fd61effa62221c6897eb4cbdb1c26700b5 +#+linux.6f1590762b7d76ff71297f21c313b58800c8d8b4cd18f013d3a275e75b41c2dd+ \ No newline at end of file diff --git a/packages/diffutils b/packages/diffutils @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 #@untar:-J:sha256:90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e:. autotools() { diff --git a/packages/elf.h b/packages/elf.h @@ -1,6 +1,6 @@ #!/usr/bin/env pthbs-build #+* -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #@sha256:a6ffb38364effd623e135b206ec97ff9e6826a1f285e349a3633df55db38bc9e:elf.h installdir="$pthbs_destdir//home/ccx/versions/$pthbs_package" diff --git a/packages/elfutils b/packages/elfutils @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 #@untar:-j:sha256:39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8:. autotools() { diff --git a/packages/execline b/packages/execline @@ -2,8 +2,8 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 #@git:85315b3e709f65781dd221fd3f13d3a989a748d4:execline : ${JOBS:=1} @@ -17,7 +17,7 @@ cd 'execline' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/fileset b/packages/fileset @@ -0,0 +1,83 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#@git:4cced2cb91b19ebb648b803cfdcc936148cd6f94:fileset + +: ${JOBS:=1} +prefix=/home/ccx/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 + mv -v zsh-functions "$pkgdir/" +fi + +cd "$pthbs_destdir/home/ccx/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-scripts" { 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 == "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/flex b/packages/flex @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 #@untar:-z:sha256:e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995:. autotools() { diff --git a/packages/gmp b/packages/gmp @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 #@untar:-j:sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:. autotools() { diff --git a/packages/libelf-compat b/packages/libelf-compat @@ -2,7 +2,7 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #@git:3e7acf5c35999492e7feeaa59616510bf9cc51ac:s6 #@sha256:627d1273036dc35239ba9dd1da45132e3bfce1ab8171dd27dc7952cdf09b698e:s6_clone3_newpid.patch #@untar:-j:sha256:4496d6cec9644cda8006ead15e17e500629ce30fe85ab2f2052a77ba43a1358d:. diff --git a/packages/libelf.h b/packages/libelf.h @@ -1,6 +1,6 @@ #!/usr/bin/env pthbs-build #+* -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #@sha256:9be2e5a97b3fcbc60dedb71967667b9a21d562dbfdaa7f9f74f4b3d9cbb5df86:include/dwarf.h #@sha256:0991a992f75396056c7d7f698fa7e87be24349ae85a195060d46e6a61881d97b:include/gelf.h #@sha256:3b20df1d58f9a445785503415aea1188d33159327c2edab3d370dbd37bc4845e:include/libelf.h diff --git a/packages/linux b/packages/linux @@ -1,14 +1,14 @@ #!/usr/bin/env pthbs-build #+* -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c -#+diffutils.cefaff2fce5e212c465e420b4c12ebe919732b429224ee7184f03d5f9b690795 -#+patch.5009a36f27088275d30f4314c68f26e491343e7eb640f21b3fa194e478f0bd14 -#+flex.2f957a1b131f67ad011a162bb2351579236bf3dc1a209abe1b661d1403c4c7a5 -#+bison.53499d4a7d6e5b1103e2bc20c57c0aec19d95acf6edc718480f63c42bf05ea58 -#+rsync.7255fc204881514faafa59f7b7f78dd992b2711dcf9be8886c8a32b03bc52057 -#+libelf-compat.4821fa1be1fcd56ced865c9bea4547578886f36a5437b2165364a6855c9e6bf1 +#+diffutils.8b8d8e77ea4a38208c2ec62e4f48df8ba365476d0363d9139b4e87a371e9220c +#+patch.e88eea6400a7d36c81defb72be8639b32a81791f6dc45424cf5cc04aaf636006 +#+flex.b62d752270e090ca95e6899f099ca4743cb1486a1ec36a9bcdf1ae4bf7ffa50d +#+bison.3d9db209c80cf73d47088ce649e2d3267818413cf749e0bfccdc84003d492677 +#+rsync.456bd92f8127bdd35d14b434ccc3ef01e2e3c5bf51e09e81cf31793bffc445f0 +#+libelf-compat.1754316c0f1decdbeaee39e0265d71a4478a1f086f8dc1a4a8e1f9e36b30aa6f #@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. #@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz #@sha256:cb8081499f316acdc7b31b486b8d68afd68094db8f420aba0eab2c3e8de13888:linux.config diff --git a/packages/logincaps b/packages/logincaps @@ -0,0 +1,88 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc +#+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c +#@git:b8c706e2a24a12ec3854d41e777e4b8840f98be2:logincaps + +: ${JOBS:=1} +prefix=/home/ccx/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 + mv -v zsh-functions "$pkgdir/" +fi +cd login +sh build_static.sh +cp -a login "$pkgdir/command/" + +cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./command/zshaskpass_lock"]=1 + x["./command/service.X.run"]=1 + x["./command/login"]=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-scripts" { 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 == "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/m4 b/packages/m4 @@ -2,8 +2,8 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 #@untar:-z:sha256:3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70:. autotools() { diff --git a/packages/mdevd b/packages/mdevd @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 -#+execline.0ecf1224330632cf67e469ce0d49cf5632c6c88da37a0ea748457fcb802e4c54 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc #@git:d9f63961ec01dc02131ad0967734ae1a058b27b8:mdevd : ${JOBS:=1} @@ -18,7 +18,7 @@ cd 'mdevd' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/mpc b/packages/mpc @@ -2,10 +2,10 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c -#+gmp.cf378cad86518203d95e5c3b6669fc9e50a7bc87af25d2028154e037357c96c3 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 +#+gmp.d3ba33733e7776276dbec738710925643e5cd3e5c252bec1343a817bb2c141e6 #@untar:-z:sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:. autotools() { diff --git a/packages/mpfr b/packages/mpfr @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 #@untar:-z:sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:. autotools() { diff --git a/packages/netbsd-curses b/packages/netbsd-curses @@ -1,6 +1,6 @@ #!/usr/bin/env pthbs-build #+* -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #@git:5874f9b1ced9c29d7d590d95e254b252f657a160:curses diff --git a/packages/patch b/packages/patch @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 #@untar:-J:sha256:ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd:. autotools() { diff --git a/packages/popt b/packages/popt @@ -2,9 +2,9 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 #@untar:-z:sha256:c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9:. autotools() { diff --git a/packages/pthbs-banginstall b/packages/pthbs-banginstall @@ -1,8 +1,8 @@ #!/usr/bin/env pthbs-build #+* -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+zsh.8f959a5600b3c3032d95e369169334cdcb92e39be6d1bf9f481bd04b346025f1 -#@sha256:979284d53c1653d0fbeb96bbf587f66de47d381b852baea2cbccdc75b7ec6fea:pthbs-banginstall +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#@sha256:1e021bddaf5c020ede9107656494715236a894557b99035365fc999605541b2d:pthbs-banginstall installdir="$pthbs_destdir//home/ccx/versions/$pthbs_package" mkdir -p "$installdir/command" diff --git a/packages/rsync b/packages/rsync @@ -2,10 +2,10 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c -#+popt.0083b234eb54c76f99629b99d920be6e69136e660074172cb5b5ca090112b70b +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 +#+popt.9e2251ed8473b6d01a62766677fd2b67988385bdbbdb62fcdbc9960060f797c8 #@untar:-z:sha256:4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb:. autotools() { diff --git a/packages/s6 b/packages/s6 @@ -2,10 +2,10 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+patch.5009a36f27088275d30f4314c68f26e491343e7eb640f21b3fa194e478f0bd14 -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 -#+execline.0ecf1224330632cf67e469ce0d49cf5632c6c88da37a0ea748457fcb802e4c54 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+patch.e88eea6400a7d36c81defb72be8639b32a81791f6dc45424cf5cc04aaf636006 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc #@git:3e7acf5c35999492e7feeaa59616510bf9cc51ac:s6 #@sha256:627d1273036dc35239ba9dd1da45132e3bfce1ab8171dd27dc7952cdf09b698e:s6_clone3_newpid.patch @@ -20,7 +20,7 @@ patch -up 1 -i ../s6_clone3_newpid.patch --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/s6-dns b/packages/s6-dns @@ -2,8 +2,8 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 #@git:4d081d9c2657ef40e770145f21328d37035dd774:s6-dns : ${JOBS:=1} @@ -17,7 +17,7 @@ cd 's6-dns' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/s6-linux-init b/packages/s6-linux-init @@ -2,10 +2,10 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 -#+execline.0ecf1224330632cf67e469ce0d49cf5632c6c88da37a0ea748457fcb802e4c54 -#+s6.96761c32dde7d3ee4610a741dec5373f0835f3d846f67776ad9699c4911f3f10 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc +#+s6.5842cf13ac273f44789effa073be8856e140c0c1c8e881e56b0953d8c3f9bfde #@git:42a91a98b780759257862642c764c2102237fea6:s6-linux-init : ${JOBS:=1} @@ -19,7 +19,7 @@ cd 's6-linux-init' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/s6-linux-utils b/packages/s6-linux-utils @@ -2,8 +2,8 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 #@git:964442539c3b5b7f6f13a17cbf391843ec93ce6f:s6-linux-utils : ${JOBS:=1} @@ -17,7 +17,7 @@ cd 's6-linux-utils' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/s6-networking b/packages/s6-networking @@ -2,11 +2,11 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 -#+execline.0ecf1224330632cf67e469ce0d49cf5632c6c88da37a0ea748457fcb802e4c54 -#+s6.96761c32dde7d3ee4610a741dec5373f0835f3d846f67776ad9699c4911f3f10 -#+s6-dns.1fc33e454e4223762ec3ecb16a57fa087dfb77c41ef9a2192fe6374e275b437a +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc +#+s6.5842cf13ac273f44789effa073be8856e140c0c1c8e881e56b0953d8c3f9bfde +#+s6-dns.218c387833bb5f3db8cf6d46fdf9b5daf76fdcd344ba23dd433f0790815ae93d #@git:68db8af7c26461d4477f482ecbc279729fa911e4:s6-networking : ${JOBS:=1} @@ -20,7 +20,7 @@ cd 's6-networking' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/s6-portable-utils b/packages/s6-portable-utils @@ -2,8 +2,8 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 #@git:536eea15284be9a257b6f97f971e0d8d4a7e437b:s6-portable-utils : ${JOBS:=1} @@ -17,7 +17,7 @@ cd 's6-portable-utils' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/s6-rc b/packages/s6-rc @@ -2,10 +2,10 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06 -#+execline.0ecf1224330632cf67e469ce0d49cf5632c6c88da37a0ea748457fcb802e4c54 -#+s6.96761c32dde7d3ee4610a741dec5373f0835f3d846f67776ad9699c4911f3f10 +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6 +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc +#+s6.5842cf13ac273f44789effa073be8856e140c0c1c8e881e56b0953d8c3f9bfde #@git:b79282b3746ff67c3c0df8aa32814b3688b91d4f:s6-rc : ${JOBS:=1} @@ -19,7 +19,7 @@ cd 's6-rc' --bindir="${prefix}/command" \ --libdir="${prefix}/library" \ --shebangdir="${prefix}/command" \ - --with-sysdeps='/home/ccx/versions/skalibs.e3bc84062f5ffc0886c308d5c62adb7f99a1fa95b0ecf50e119401d883c64e06/sysdeps' \ + --with-sysdeps='/home/ccx/versions/skalibs.80206639a7ca0a8adbc939567f54b9aa51323661fa1c5efffcb7a7db6387ebc6/sysdeps' \ --with-include="$pthbs_build_environment/include" \ --with-lib="$pthbs_build_environment/library" \ --with-dynlib="$pthbs_build_environment/library.so" \ diff --git a/packages/skalibs b/packages/skalibs @@ -2,7 +2,7 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #@git:c555cd2ba1682f90fb5344d2865713fcd0f3c3e1:skalibs : ${JOBS:=1} diff --git a/packages/snaprep b/packages/snaprep @@ -0,0 +1,82 @@ +#!/usr/bin/env pthbs-build +#+* +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#@git:e9d8af262eb5e25536ea9778e3ed57aebb55488c:snaprep + +: ${JOBS:=1} +prefix=/home/ccx/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 + mv -v zsh-functions "$pkgdir/" +fi + +cd "$pthbs_destdir/home/ccx/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-scripts" { 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 == "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/userspace.environment b/packages/userspace.environment @@ -1,19 +1,27 @@ -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c -#+diffutils.cefaff2fce5e212c465e420b4c12ebe919732b429224ee7184f03d5f9b690795 -#+patch.5009a36f27088275d30f4314c68f26e491343e7eb640f21b3fa194e478f0bd14 -#+flex.2f957a1b131f67ad011a162bb2351579236bf3dc1a209abe1b661d1403c4c7a5 -#+bison.53499d4a7d6e5b1103e2bc20c57c0aec19d95acf6edc718480f63c42bf05ea58 -#+rsync.7255fc204881514faafa59f7b7f78dd992b2711dcf9be8886c8a32b03bc52057 -#+execline.0ecf1224330632cf67e469ce0d49cf5632c6c88da37a0ea748457fcb802e4c54 -#+s6.96761c32dde7d3ee4610a741dec5373f0835f3d846f67776ad9699c4911f3f10 -#+s6-rc.4872f137a3255c7b3ec7b8212c611aaafdd949625e9bce34aa50bff634d54a72 -#+s6-portable-utils.29636ef6bb7aa1d7cae6b9c8531014273abd51b16b63aff69b31ae66b4a29c74 -#+s6-linux-utils.25031b1a4b959a7a28ea4141090b1399420329f85b50d6f905f43deb2c6d872b -#+s6-linux-init.4402bdbed9ed834c1d11e7e75120a48bb908d4dde7d238c85c77b0eb56ae221e -#+mdevd.b8212bebb9cb2b009f10357b358501789c2b33f5917f544391ec3e425e3e9716 -#+s6-dns.1fc33e454e4223762ec3ecb16a57fa087dfb77c41ef9a2192fe6374e275b437a -#+s6-networking.e4d23d3b419702d6796f46ffe4e07604efe95f9a0ccb3ca3bfa958da368b3a96 -#+zsh.8f959a5600b3c3032d95e369169334cdcb92e39be6d1bf9f481bd04b346025f1 -#+pthbs-banginstall.e93c990b3f00675976f37cd063fe0db1f81fb74e856bfb7d76bbf81275a9dc7c- \ No newline at end of file +#+diffutils.8b8d8e77ea4a38208c2ec62e4f48df8ba365476d0363d9139b4e87a371e9220c +#+patch.e88eea6400a7d36c81defb72be8639b32a81791f6dc45424cf5cc04aaf636006 +#+flex.b62d752270e090ca95e6899f099ca4743cb1486a1ec36a9bcdf1ae4bf7ffa50d +#+bison.3d9db209c80cf73d47088ce649e2d3267818413cf749e0bfccdc84003d492677 +#+rsync.456bd92f8127bdd35d14b434ccc3ef01e2e3c5bf51e09e81cf31793bffc445f0 +#+execline.212907020e985bcf7a850b25114d7d264ae725bea35d0d631d58e1e5801eeefc +#+s6.5842cf13ac273f44789effa073be8856e140c0c1c8e881e56b0953d8c3f9bfde +#+s6-rc.d9477400ee9be61bbd377c180fc7cdc6a23ebad752775622078a8000f3485214 +#+s6-portable-utils.74e1284710969971e975e52a4a18c628df2c12db025139d5707e1a0af27dab64 +#+s6-linux-utils.715675b37c929447b8a7434a9fc330e1692e5bbd459e406743eec778a4305fed +#+s6-linux-init.ae12bfa48868d8e6ebf8066df04a4d51751a879322992a6883586c4580c6a0d6 +#+mdevd.c61798b14d712f303b7d13e56d4be3230187c72bcc12d0a68345bfe5f83c1b67 +#+s6-dns.218c387833bb5f3db8cf6d46fdf9b5daf76fdcd344ba23dd433f0790815ae93d +#+s6-networking.20244fbbe73d9b70b6e1030ff6d198d6ff04162284c523722859fed11c2eb558 +#+zsh.ab347c2bf33345f5c8ccc911490305d65cb5d3fb86d29ab374e218a93fc6e268 +#+pthbs-banginstall.4acc05826812a65baca1dea7ce467bdbe33570c70e35a3ead46c43d24ae089ed +#+aat.324ec1b33055301b8884508fb052dc047e89e6ca47f2e17949cdce8918f2c4fc +#+confz.31c18a68f15e9e49fa8c1b7a850c5eb7cfe456f2bb6ff859267628dc3fac6b4c +#+containers.da63edefe232296a47c6e639b30fb9ab127f6d9bd27132e0306ba18e036d91c5 +#+fileset.8db1ec15a8c764b4999a9ec882cb7ef4ad7693d8d51dfa8070a21b6bd9e0a149 +#+logincaps.d1cbcbb8c5bca5c69e85fbe821229189ded7b9eb29d83e6c4fc6b9c6196826bc +#+snaprep.1ed06cea3dda8aca11d7d3ec83742e10eabc2836633213b39806eafaa6ef078a +#+core-system-conf.47c9e8c97fd233c043f9b63abc8e0a915be08cb4ac26dd8d64e917f4e040cfb3 +#+core-system-rc.3ae386addf824444a7c470e615ec72fd61effa62221c6897eb4cbdb1c26700b5+ \ No newline at end of file diff --git a/packages/zsh b/packages/zsh @@ -2,10 +2,10 @@ #+* #+musl-cross-make.6b51ffb677cb4f036686cda813695293f70e827cbabfc81d623c42961f93187c #+gnu-make.3f7fc26fd89f68ca6f816688c80515b019776e41ba016b5156683b68617d80de -#+busybox.74796beee7ee14b0d53a5576d0ec2e2938b951dd9864c233dbc5eb299e47330f -#+busybox-diffutils.e74cf9b745d42af5035febc4e092aef016491fc16a5fb4fdc8d09b25f38cbcb7 -#+m4.1548d17bbfec335a425a5676c2c3fc00c6e63e08a93cbdfc8e38139f281b1a0c -#+netbsd-curses.5a3fc6f9dbdd52cf6b5b48ffb984acf2a2cdca17768101ba080a1b4a882be9ef +#+busybox.2148c04100bdf3af4de264efec32f63b4d2b836189cae739a75035e9ec4ceff1 +#+busybox-diffutils.a1112631b6daa058b9bb166ac4b2146973ca7c18b909c5400eb991d168556bd0 +#+m4.0580f144290b5b2b8dfd82bae7b209444498f0b2c49b1d3a85f7a31e3c00a146 +#+netbsd-curses.460245bc603ce1f365eac59de33eca096b4f18ca7578ed1fd84e53f8bfc7223f #@git:73d317384c9225e46d66444f93b46f0fbe7084ef:zsh #@untar:-J:sha256:9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5:. diff --git a/sources/core-system-conf b/sources/core-system-conf @@ -0,0 +1 @@ +Subproject commit 68c2ffd5f266f0c27e3d0b9038872088235659f5 diff --git a/templates/pkg/aat b/templates/pkg/aat @@ -0,0 +1,8 @@ +{% extends "scriptsetup" %} +{%- block extra_script %} +mv -v data.awk "$pkgdir/" +{%- endblock %} +{% block genlinks_begin %} + x["./command/aat"]=1 + x["./command/aat.awk"]=1 +{%- endblock %} diff --git a/templates/pkg/busybox b/templates/pkg/busybox @@ -23,6 +23,7 @@ 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 { print "./command/busybox\t./command/" $0 } END { print "./command/busybox\t./command/busybox" } diff --git a/templates/pkg/busybox-login b/templates/pkg/busybox-login @@ -0,0 +1,15 @@ +{% extends "base" %} +{%- block body %} +#+* +#+{{pkg_install_name("busybox")}} + +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 +{% endblock %} diff --git a/templates/pkg/confz b/templates/pkg/confz @@ -0,0 +1,4 @@ +{% extends "scriptsetup" %} +{% block genlinks_begin %} + x["./command/confz"]=1 +{%- endblock %} diff --git a/templates/pkg/containers b/templates/pkg/containers @@ -0,0 +1,10 @@ +{% extends "scriptsetup" %} +{%- block extra_deps %} +#+{{pkg_install_name("execline")}} +{%- endblock %} +{% block genlinks_begin %} + x["./command/container_sysroot_run"]=1 + x["./command/ns_run"]=1 + x["./command/ns_umount_script.awk"]=1 + x["./command/pidns_run"]=1 +{%- endblock %} diff --git a/templates/pkg/core-system-conf b/templates/pkg/core-system-conf @@ -0,0 +1,26 @@ +{% extends "genlinks" %} +{%- block script %} +#+* +#+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("diffutils")}} +#+{{pkg_install_name("gnu-make")}} +#+{{pkg_install_name("aat")}} +#+{{pkg_install_name("fileset")}} +#@git:{{submodule.current[name]}}:{{name}} + +: ${JOBS:=1} +prefix={{versions}}/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cp -av '{{name}}' "$pkgdir/" +# verify build +{{make}} -C '{{name}}' clean +{{make}} -C '{{name}}' all +rm -rf '{{name}}/build' +diff -ru '{{name}}/' "$pkgdir/{{name}}/" + +{% endblock -%} +{% block rules %} +$2 == "static" { link(r1($0)); next } +$2 == "authorized_keys" { link($0); next } +{% endblock -%} diff --git a/templates/pkg/core-system-rc b/templates/pkg/core-system-rc @@ -0,0 +1,25 @@ +{% extends "genlinks" %} +{%- block script %} +#+* +#+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("busybox-diffutils")}} +#+{{pkg_install_name("s6-rc")}} +#+{{pkg_install_name("fileset")}} +#+{{pkg_install_name("core-system-conf")}} + +conf={{pkg_install_dir("core-system-conf")}}/core-system-conf +prefix={{versions}}/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/s6-rc-source" +cd "$pkgdir/" +fsapply ./s6-rc-source "$conf/s6-rc.fileset" +if ! [[ -f ./s6-rc-source/ok-all/type ]]; then + printf '%s\n' "Failed to generate s6-rc source directory" + exit 111 +fi +s6-rc-compile ./s6-rc-db ./s6-rc-source + +{% endblock -%} +{% block rules %} +$2 == "s6-rc-db" { link($0); next } +{% endblock -%} diff --git a/templates/pkg/fileset b/templates/pkg/fileset @@ -0,0 +1,6 @@ +{% extends "scriptsetup" %} +{% block genlinks_begin %} + x["./command/fslist"]=1 + x["./command/fsapply"]=1 + x["./command/fileset"]=1 +{%- endblock %} diff --git a/templates/pkg/logincaps b/templates/pkg/logincaps @@ -0,0 +1,15 @@ +{% extends "scriptsetup" %} +{%- block extra_deps %} +#+{{pkg_install_name("execline")}} +#+{{pkg_install_name("musl-cross-make")}} +{%- endblock %} +{%- block extra_script %} +cd login +sh build_static.sh +cp -a login "$pkgdir/command/" +{%- endblock %} +{% block genlinks_begin %} + x["./command/zshaskpass_lock"]=1 + x["./command/service.X.run"]=1 + x["./command/login"]=1 +{%- endblock %} diff --git a/templates/pkg/snaprep b/templates/pkg/snaprep @@ -0,0 +1,5 @@ +{% extends "scriptsetup" %} +{% block genlinks_begin %} + x["./command/snap.push"]=1 + x["./command/snap.lvm2"]=1 +{%- endblock %} diff --git a/templates/pkg/userspace.environment b/templates/pkg/userspace.environment @@ -17,3 +17,11 @@ #+{{pkg_install_name("s6-networking")}} #+{{pkg_install_name("zsh")}} #+{{pkg_install_name("pthbs-banginstall")}} +#+{{pkg_install_name("aat")}} +#+{{pkg_install_name("confz")}} +#+{{pkg_install_name("containers")}} +#+{{pkg_install_name("fileset")}} +#+{{pkg_install_name("logincaps")}} +#+{{pkg_install_name("snaprep")}} +#+{{pkg_install_name("core-system-conf")}} +#+{{pkg_install_name("core-system-rc")}} diff --git a/templates/scriptsetup b/templates/scriptsetup @@ -0,0 +1,40 @@ +{% extends "genlinks" %} +{%- block script %} +#+* +#+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("zsh")}} +#+{{pkg_install_name("pthbs-banginstall")}} +{%- block extra_deps %} +{%- endblock %} +#@git:{{submodule.current[name]}}:{{name}} + +: ${JOBS:=1} +prefix={{versions}}/$pthbs_package +pkgdir="$pthbs_destdir/$prefix" +mkdir -p "$pkgdir/" +cd '{{name}}' + +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 + mv -v zsh-functions "$pkgdir/" +fi + +{%- block extra_script %} +{%- endblock %} +{% endblock %} +{% block rules %} +{%- block extra_rules %} +{%- endblock %} +$2 == "zsh-scripts" { link($0); next } +$2 == "vimfiles" { link($0); next } +{% endblock -%}