commit 11c3811afe08a156fde384e4a23aa7d37fce29c1
parent d3a8df9fc1b155e21375205e3761cb68f1ec8582
Author: Jan Pobříslo <ccx@te2000.cz>
Date: Fri, 7 Jul 2023 10:47:13 +0200
Install libraries from m-c-m
Diffstat:
30 files changed, 235 insertions(+), 120 deletions(-)
diff --git a/command/pthbs-install b/command/pthbs-install
@@ -31,3 +31,4 @@ if test -e "$pthbs_versions/$pthbs_package"; then
fi
mv "$pthbs_destdir/${pthbs_versions%/}/$pthbs_package" "$pthbs_versions/$pthbs_package"
+find "$pthbs_destdir" -type d -o -exec printf 'WARNING: stray file in destdir: %s\n' '{}' +
diff --git a/genpkg.py b/genpkg.py
@@ -62,12 +62,21 @@ class Main:
self.env.globals["files"] = FileInfo()
self.package_hashes = {}
self.rendering = []
+ self.deps = {}
def load_vars_yaml(self, fname="vars.yaml"):
with open(fname) as f:
self.env.globals.update(yaml.safe_load(f))
def pkg_sha256(self, name):
+ current = self.rendering[-1]
+ if current not in self.deps:
+ self.deps[current] = set((name,))
+ else:
+ self.deps[current].add(name)
+ return self._pkg_sha256(name)
+
+ def _pkg_sha256(self, name):
if name in self.package_hashes:
return self.package_hashes[name]
if name in self.rendering:
@@ -111,7 +120,9 @@ class Main:
def render_all(self):
for pkgname in self.list_packages():
- print("%s\t%s" % (pkgname, self.pkg_sha256(pkgname)))
+ print("%s\t%s" % (pkgname, self._pkg_sha256(pkgname)))
+ for dep in sorted(self.deps.get(pkgname, ())):
+ print(" > %s.%s" % (dep, self.package_hashes[dep],))
if __name__ == '__main__':
diff --git a/packages/bison b/packages/bison
@@ -1,10 +1,10 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+m4.51f0d643e0ceda317e09b61fdc659791a5965cf03d8575daa806001744ababa3
-#+flex.532c954cf9f0276e92267db4dccf8d3ad6f1aac3911744130cf720780c35ea56
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+m4.ebf3e533502d6128c4fa67ea82a7407d7d0e6b630ad3c7c31147c16819ecf3b4
+#+flex.f66b83d2cfa8f9e464ec6e560fb4ce9227d4021964d1eb90b8b493b0e7f7bd01
#@untar:-J:sha256:9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2:.
autotools() {
diff --git a/packages/busybox b/packages/busybox
@@ -1,6 +1,6 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
#+gnu-make.5a3ea32d78aa7a67390d110b9f44c88e8254bd8503a91a7ceef5ae7bc56d49d5
#+busybox.b9094196ca61dd443f1a2d734e8ab616adf15bd671d70d3df6166df7484763c0
#@git:aa4d303a3139107919f73cece4eaf85a7dc75db6:busybox
diff --git a/packages/default.environment b/packages/default.environment
@@ -1,13 +1,13 @@
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+execline.21e6c752c9787c1f3ef5849534e95afcbcac21ad47e063e6e643b63c44116152
-#+s6.42611beb543732d3091a701b689e112b8eb9c1df7a29e261374c76c034a0b248
-#+s6-rc.4607f7dfffefb9bb61d5b029dd278bc9a9498f70286cebadcaf0718a3eb25079
-#+s6-portable-utils.1b91c4b28b51bc4813477df6e048d69afd2f10d1853f149a6a7ede7f257a0f65
-#+s6-linux-utils.097eb89c8ce6709aa0bb3079680f762d39fd0ac3415dc4207234cdf531a39482
-#+s6-linux-init.90a04f2af0196362353d9a7f89dfb4e98a9f8d43349baa16388d5a370b8bbb7e
-#+mdevd.11f5a6edffa3e2936e88f7354a2c0b081fddb9a47a010cc7dc3baa7f1cd6da01
-#+s6-dns.540a47c3c6488c369e87a8995f5b1cc83ac52219d5ba1e8907c6ed652e2b0371
-#+s6-networking.af8311afb0a23315111d72ac0333b08075b928fbb2ccaccdf0779a604b22059e
-#+linux.ee169f5ac80df0e8dbe006b47fb581ca174caf482ecffdccc552257a2fa9e220-
\ No newline at end of file
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+execline.e5e523094b03c20e68d4c526c37b18c4b8223e1206ed156e851365a244ed7518
+#+s6.1b0f460bd31a6a3a7d0976a74711f256606bd9d6488c73a46e61b0b0872882da
+#+s6-rc.bd03d636c4f618ec2ecf48f39a0f64ec3b2bd9fd0c4fba6731e37fb2e7766bfb
+#+s6-portable-utils.6620660c000714c26a764e6ee4373daf328e26fc7b26a840caec73f85d7a70a6
+#+s6-linux-utils.cb785ba635ede8b71654806a183540658f34373a81852db5d27c8c59e7f18302
+#+s6-linux-init.91d3df82714e86a53c96dc6f2037f13e082b2bb2ecff079fa204d9753160501a
+#+mdevd.9e185afd776d4db81f29cc7d4ede13f2a70672da47dc17c4f9730d7dad65e2af
+#+s6-dns.2b9d95e1fe04f225a6cf989d86992b73e3c8348948673267f4703d1cb4be5b65
+#+s6-networking.f7b3957cbc6a182fc478c4409bd0b80d8c12573c52e797ee6b1e61663a705d66
+#+linux.acbb8c9f21ae40a2945a20ae7c352738ee75940ac3d2a76a08fe8b3cf1085700+
\ No newline at end of file
diff --git a/packages/elf.h b/packages/elf.h
@@ -1,6 +1,6 @@
#!/usr/bin/env pthbs-build
#+*
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
#@sha256:a6ffb38364effd623e135b206ec97ff9e6826a1f285e349a3633df55db38bc9e:elf.h
installdir="$pthbs_destdir//home/ccx/versions/$pthbs_package"
diff --git a/packages/execline b/packages/execline
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/sysdeps' \
--with-include="$pthbs_build_environment/include" \
--with-lib="$pthbs_build_environment/library" \
--with-dynlib="$pthbs_build_environment/library.so" \
diff --git a/packages/flex b/packages/flex
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+m4.51f0d643e0ceda317e09b61fdc659791a5965cf03d8575daa806001744ababa3
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+m4.ebf3e533502d6128c4fa67ea82a7407d7d0e6b630ad3c7c31147c16819ecf3b4
#@untar:-z:sha256:e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995:.
autotools() {
diff --git a/packages/gmp b/packages/gmp
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+m4.51f0d643e0ceda317e09b61fdc659791a5965cf03d8575daa806001744ababa3
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+m4.ebf3e533502d6128c4fa67ea82a7407d7d0e6b630ad3c7c31147c16819ecf3b4
#@untar:-j:sha256:5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2:.
autotools() {
diff --git a/packages/gnu-make b/packages/gnu-make
@@ -1,6 +1,6 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
#+gnu-make.5a3ea32d78aa7a67390d110b9f44c88e8254bd8503a91a7ceef5ae7bc56d49d5
#+busybox.b9094196ca61dd443f1a2d734e8ab616adf15bd671d70d3df6166df7484763c0
#@untar:-z:sha256:dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3:.
diff --git a/packages/libelf.h b/packages/libelf.h
@@ -0,0 +1,63 @@
+#!/usr/bin/env pthbs-build
+#+*
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#@sha256:9be2e5a97b3fcbc60dedb71967667b9a21d562dbfdaa7f9f74f4b3d9cbb5df86:include/dwarf.h
+#@sha256:0991a992f75396056c7d7f698fa7e87be24349ae85a195060d46e6a61881d97b:include/gelf.h
+#@sha256:3b20df1d58f9a445785503415aea1188d33159327c2edab3d370dbd37bc4845e:include/libelf.h
+#@sha256:98a8ddd1004034aeff4cc6d18e5df23f55d2869d879735c3b571594a44ba1212:include/nlist.h
+
+installdir="$pthbs_destdir//home/ccx/versions/$pthbs_package"
+mkdir -p "$installdir"
+mv include "$installdir/"
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(|\..*)$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+
+$2 == "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
@@ -1,28 +1,30 @@
#!/usr/bin/env pthbs-build
#+*
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+flex.532c954cf9f0276e92267db4dccf8d3ad6f1aac3911744130cf720780c35ea56
-#+bison.32293f1518c207358fa530c0147c38038749c04a088d3ae9977c0f239137b213
-#+patch.ed277e6738df0ce18638ca10a827168b221e3a4c86aaeeddced1a9b323049fbf
-#+gmp.a513243812472095e5715f8c7006bcd3191896c1fe76f3035a9fed1693efdde3
-#+mpc.f8134f738e0c4e51cded80e26a0aa26c166f9a8625181744ca52aaa20321df9f
-#+mpfr.0b082e22e384715a1a13df163694c5b34fb9de46c8bff1fadabff1abb984a964
-#+elf.h.0709c8eb1725ce08a4ff02c849912724a55fc8eff3e2a6c38a9f80f4b52648f0
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+flex.f66b83d2cfa8f9e464ec6e560fb4ce9227d4021964d1eb90b8b493b0e7f7bd01
+#+bison.a91d3c9582d19f55bcb4054ec2b88f3bfe3af8b13cebdfa18770ce77b246fedb
+#+patch.64a9c54973bc2dd18a6215523194161f6dc52fe9ea52d3720cc9a52d7ba7c20d
+#+elf.h.5b58bdcdae4bab7515e92a37e62ba288b0245be8feaaf7af4da1bdad97aa46c0
+#+libelf.h.a02e7587b237414b9636f0eb6fa73721fcc0e888b2290ce42729d0c138a38fbb
#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:.
#@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz
-#@sha256:6beb4182e8815f0157ba784b932038a09f5e72d84dd1aba423a8c1a68167731e:linux-6.1/.config
+#@sha256:f33d82840d1db22114e18626b64922fa1a3b539a2dee6847528ecc1b17b7b659:linux.config
export LD_LIBRARY_PATH="$pthbs_build_environment/library:$pthbs_build_environment/library.so"
export CPATH="$pthbs_build_environment/include"
cd linux-6.1
unxz -c < ../patch-6.1.34.xz | patch -p1 -N
+cp -v ../linux.config .config
+linux64 make -j${JOBS:-1} -l$((1+${JOBS:-1})) olddefconfig
+diff -u ../linux.config .config || true
linux64 make -j${JOBS:-1} -l$((1+${JOBS:-1}))
installdir="$pthbs_destdir//home/ccx/versions/$pthbs_package"
mkdir -p "$installdir"
+cp -v .config "$installdir/config"
mv linux-6.1/Documentation "$installdir/doc"
linux64 make modules_install install \
INSTALL_MOD_PATH="$installdir" \
diff --git a/packages/m4 b/packages/m4
@@ -1,8 +1,8 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
#@untar:-z:sha256:3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70:.
autotools() {
diff --git a/packages/mdevd b/packages/mdevd
@@ -1,10 +1,10 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
-#+execline.21e6c752c9787c1f3ef5849534e95afcbcac21ad47e063e6e643b63c44116152
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
+#+execline.e5e523094b03c20e68d4c526c37b18c4b8223e1206ed156e851365a244ed7518
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,9 +1,10 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+m4.51f0d643e0ceda317e09b61fdc659791a5965cf03d8575daa806001744ababa3
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+m4.ebf3e533502d6128c4fa67ea82a7407d7d0e6b630ad3c7c31147c16819ecf3b4
+#+gmp.af602872bd14b7a0c3285a049dbba7ce49629c8156c1e996abb61e15d60590d6
#@untar:-z:sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:.
autotools() {
diff --git a/packages/mpfr b/packages/mpfr
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+m4.51f0d643e0ceda317e09b61fdc659791a5965cf03d8575daa806001744ababa3
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+m4.ebf3e533502d6128c4fa67ea82a7407d7d0e6b630ad3c7c31147c16819ecf3b4
#@untar:-z:sha256:c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc:.
autotools() {
diff --git a/packages/musl-cross-make b/packages/musl-cross-make
@@ -23,11 +23,21 @@ touch musl-cross-make/sources/*
make -j${JOBS:-1} -l$((1+${JOBS:-1})) -C musl-cross-make || exit $?
make -C musl-cross-make install || exit $?
+dd=$pthbs_destdir//home/ccx/versions/$pthbs_package
+pkgs="gmp intl mpc mpfr zlib"
+#pkgs="$pkgs libbacktrace libcc1 libcpp libdecnumber libiberty lto-plugin"
+
+for pkg in $pkgs; do
+ make -C musl-cross-make/build/local/x86_64-linux-musl/obj_gcc/$pkg prefix=/ DESTDIR="$dd" install
+done
+
+
cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
find -type d -o -print | awk -F/ '
BEGIN {
x["./bin/x86_64-linux-musl-g++"]=1
x["./bin/x86_64-linux-musl-gcc"]=1
+ x["./lib/libgmp.a"]=1
}
function r1(s) {
diff --git a/packages/patch b/packages/patch
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+m4.51f0d643e0ceda317e09b61fdc659791a5965cf03d8575daa806001744ababa3
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+m4.ebf3e533502d6128c4fa67ea82a7407d7d0e6b630ad3c7c31147c16819ecf3b4
#@untar:-J:sha256:ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd:.
autotools() {
diff --git a/packages/s6 b/packages/s6
@@ -1,11 +1,11 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+patch.ed277e6738df0ce18638ca10a827168b221e3a4c86aaeeddced1a9b323049fbf
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
-#+execline.21e6c752c9787c1f3ef5849534e95afcbcac21ad47e063e6e643b63c44116152
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+patch.64a9c54973bc2dd18a6215523194161f6dc52fe9ea52d3720cc9a52d7ba7c20d
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
+#+execline.e5e523094b03c20e68d4c526c37b18c4b8223e1206ed156e851365a244ed7518
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,11 +1,11 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
-#+execline.21e6c752c9787c1f3ef5849534e95afcbcac21ad47e063e6e643b63c44116152
-#+s6.42611beb543732d3091a701b689e112b8eb9c1df7a29e261374c76c034a0b248
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
+#+execline.e5e523094b03c20e68d4c526c37b18c4b8223e1206ed156e851365a244ed7518
+#+s6.1b0f460bd31a6a3a7d0976a74711f256606bd9d6488c73a46e61b0b0872882da
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,12 +1,12 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
-#+execline.21e6c752c9787c1f3ef5849534e95afcbcac21ad47e063e6e643b63c44116152
-#+s6.42611beb543732d3091a701b689e112b8eb9c1df7a29e261374c76c034a0b248
-#+s6-dns.540a47c3c6488c369e87a8995f5b1cc83ac52219d5ba1e8907c6ed652e2b0371
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
+#+execline.e5e523094b03c20e68d4c526c37b18c4b8223e1206ed156e851365a244ed7518
+#+s6.1b0f460bd31a6a3a7d0976a74711f256606bd9d6488c73a46e61b0b0872882da
+#+s6-dns.2b9d95e1fe04f225a6cf989d86992b73e3c8348948673267f4703d1cb4be5b65
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,9 +1,9 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,11 +1,11 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
-#+skalibs.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c
-#+execline.21e6c752c9787c1f3ef5849534e95afcbcac21ad47e063e6e643b63c44116152
-#+s6.42611beb543732d3091a701b689e112b8eb9c1df7a29e261374c76c034a0b248
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
+#+skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206
+#+execline.e5e523094b03c20e68d4c526c37b18c4b8223e1206ed156e851365a244ed7518
+#+s6.1b0f460bd31a6a3a7d0976a74711f256606bd9d6488c73a46e61b0b0872882da
#@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.d29ab008dc73d2a276a852f5089c0bfc08b9ad2915601c7a1e2dcba0d7f3a22c/sysdeps' \
+ --with-sysdeps='/home/ccx/versions/skalibs.743eee08d2cd53ead71065626c21078c6bb897a1456ec03838e9d9d967b38206/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
@@ -1,8 +1,8 @@
#!/usr/bin/env pthbs-build
#+*
-#+musl-cross-make.cc90b3976df6e6d3994f5fb23caf6f5006163095721bb2251e57788402e27f34
-#+gnu-make.b9f417c39ba8520d03b25e0f87427a9e4c5fb9ac5b74bfa04fc54ebd3f695d49
-#+busybox.3baaa8dfd872514eb9ef62d28829ab78fc0d6391b2c8985285cd0b56702de575
+#+musl-cross-make.b11394cfa8c14abc8c7da8d66c40b287a75b6eca11dd424bf1e31793b4f0238a
+#+gnu-make.8eac2955aee3cdd922af58024a9cab51afccff834a9afd75151cb5d002f40cd6
+#+busybox.ec767de23186276a0f02f2045f2ca2f9050e6dfead835f2a02fdb8a26d5f8397
#@git:c555cd2ba1682f90fb5344d2865713fcd0f3c3e1:skalibs
: ${JOBS:=1}
diff --git a/templates/pkg/libelf.h b/templates/pkg/libelf.h
@@ -0,0 +1,13 @@
+{% extends "genlinks" %}
+{%- block script %}
+#+*
+#+{{pkg_install_name("busybox")}}
+#@sha256:{{files["dwarf.h"]}}:include/dwarf.h
+#@sha256:{{files["gelf.h"]}}:include/gelf.h
+#@sha256:{{files["libelf.h"]}}:include/libelf.h
+#@sha256:{{files["nlist.h"]}}:include/nlist.h
+
+installdir="$pthbs_destdir/{{versions}}/$pthbs_package"
+mkdir -p "$installdir"
+mv include "$installdir/"
+{% endblock %}
diff --git a/templates/pkg/linux b/templates/pkg/linux
@@ -4,26 +4,29 @@
#+{{pkg_install_name("busybox")}}
#+{{pkg_install_name("gnu-make")}}
#+{{pkg_install_name("musl-cross-make")}}
+#+{{pkg_install_name("diffutils")}}
+#+{{pkg_install_name("patch")}}
#+{{pkg_install_name("flex")}}
#+{{pkg_install_name("bison")}}
-#+{{pkg_install_name("patch")}}
-#+{{pkg_install_name("gmp")}}
-#+{{pkg_install_name("mpc")}}
-#+{{pkg_install_name("mpfr")}}
#+{{pkg_install_name("elf.h")}}
+#+{{pkg_install_name("libelf.h")}}
#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:.
#@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz
-#@sha256:{{files["linux-6.1.34-x86_64.config"]}}:linux-6.1/.config
+#@sha256:{{files["linux-6.1.34-x86_64-nossl.config"]}}:linux.config
export LD_LIBRARY_PATH="$pthbs_build_environment/library:$pthbs_build_environment/library.so"
export CPATH="$pthbs_build_environment/include"
cd linux-6.1
unxz -c < ../patch-6.1.34.xz | patch -p1 -N
+cp -v ../linux.config .config
+linux64 {{make}} olddefconfig
+diff -u ../linux.config .config || true
linux64 {{make}}
installdir="$pthbs_destdir/{{versions}}/$pthbs_package"
mkdir -p "$installdir"
+cp -v .config "$installdir/config"
mv linux-6.1/Documentation "$installdir/doc"
linux64 make modules_install install \
INSTALL_MOD_PATH="$installdir" \
diff --git a/templates/pkg/mpc b/templates/pkg/mpc
@@ -1,5 +1,6 @@
{% extends "autotools" %}
{%- block extra_deps %}
+#+{{pkg_install_name("gmp")}}
#@untar:-z:sha256:6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e:.
{%- endblock %}
{% block at_script %}
diff --git a/templates/pkg/musl-cross-make b/templates/pkg/musl-cross-make
@@ -23,10 +23,20 @@ printf '%s\n' >musl-cross-make/config.mak "OUTPUT=${pthbs_destdir%/}{{versions}}
touch musl-cross-make/sources/*
{{make}} -C musl-cross-make || exit $?
make -C musl-cross-make install || exit $?
+
+dd=$pthbs_destdir/{{versions}}/$pthbs_package
+pkgs="gmp intl mpc mpfr zlib"
+#pkgs="$pkgs libbacktrace libcc1 libcpp libdecnumber libiberty lto-plugin"
+
+for pkg in $pkgs; do
+ make -C musl-cross-make/build/local/x86_64-linux-musl/obj_gcc/$pkg prefix=/ DESTDIR="$dd" install
+done
+
{% endblock %}
{% block genlinks_begin %}
x["./bin/{{triplet}}-g++"]=1
x["./bin/{{triplet}}-gcc"]=1
+ x["./lib/libgmp.a"]=1
{% endblock %}
{% block rules %}
$2 == "bin" && $3 ~ /^{{triplet}}-/ { target=$3; sub("{{triplet}}-", "", target); link("./command/" target) }