commit 95d17c159ace8b4d4ce116cc6fca88accfcbac11
parent db06f21c7312ed1958473db71c7f83c3fed58e1d
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Tue, 11 Nov 2025 10:59:53 +0000
target to build sandbox root tarball
Diffstat:
8 files changed, 125 insertions(+), 1 deletion(-)
diff --git a/templates/genlinks b/templates/genlinks
@@ -65,4 +65,4 @@ END {
}
}' >.install-links.new
mv .install-links.new .install-links
-{% endblock %}
+{% endblock finish %}
diff --git a/templates/package_sets b/templates/package_sets
@@ -105,6 +105,10 @@
#+{{pkg_install_name("busybox:modutils")}}
{%- endmacro %}
+{% macro pthbs_sandbox_ns_environment() -%}
+#+{{pkg_install_name("sandbox_root")}}
+{%- endmacro %}
+
{% macro bootstrap_environment() -%}
#+{{pkg_install_name("busybox:bootstrap")}}
#+{{pkg_install_name("gnu-make:bootstrap")}}
diff --git a/templates/pkg/pthbs_sandbox_ns.environment b/templates/pkg/pthbs_sandbox_ns.environment
@@ -0,0 +1 @@
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/sandbox_root b/templates/pkg/sandbox_root
@@ -0,0 +1,33 @@
+{%- set src_dir="." -%}
+{% extends "generic" %}
+{%- do import_functions.update(["build_env_static"]) %}
+{%- block template_deps %}{% endblock %}
+{% block package_deps -%}
+#@pragma:nosandbox
+#+{{pkg_install_name("musl-cross-make:bootstrap-1")}}
+#+{{pkg_install_name("gnu-make:bootstrap")}}
+#+{{pkg_install_name("busybox:bootstrap")}}
+#@sha256:{{ files["argv0exec.c"] }}:argv0exec.c
+{%- endblock package_deps -%}
+{% block build -%}
+mkdir -p root/bin root/dev root/proc
+ln -v -s bin root/sbin
+ln -v -s . root/usr
+
+build_env_static
+gcc ${CFLAGS} -o "root/bin/argv0exec" "argv0exec.c" $LDFLAGS
+
+ln -v -s argv0exec root/bin/sh
+ln -v -s argv0exec root/bin/env
+{% endblock build %}
+{% block install -%}
+mkdir -p "$dest/pthbs/sandbox"
+tar -cvf "$dest/pthbs/sandbox/root.tar" -C root .
+{% endblock install %}
+{%- block finish -%}
+{{ super() -}}
+cd "$dest"
+ls -lh ./pthbs/sandbox/root.tar
+printf '%s\t%s\n' >.install-links.new ./pthbs/sandbox/root.tar ./pthbs/sandbox/root.tar
+mv .install-links.new .install-links
+{% endblock finish %}
diff --git a/variants/ccx-x86_64/pthbs_sandbox_ns.environment b/variants/ccx-x86_64/pthbs_sandbox_ns.environment
@@ -0,0 +1,2 @@
+#!/usr/bin/env pthbs-build
+#+sandbox_root.8533ef8dca3fdfec026ae903a55a768377a6aca3edb564e1e86fe6ddebcd11cb+
\ No newline at end of file
diff --git a/variants/ccx-x86_64/sandbox_root b/variants/ccx-x86_64/sandbox_root
@@ -0,0 +1,40 @@
+#!/usr/bin/env pthbs-build
+#@pragma:nosandbox
+#+musl-cross-make.513f0acae3d9d88d67a9151a33515f34995d3ff3d69f38b47239070d1b02c731
+#+gnu-make.0a6fbda1db6316eb5ed666a1697e7bf0e4604d371ac4cf5d24a5151e76280074
+#+busybox.a0af8a5860e7fa278d39404f06a382633b7e2122d85c16bb2e22b1804cdd1654
+#@sha256:8d716caa5ea940bbbb8f68ac0907cea36773c183bd4c1eebad030f6cc7deaec9:argv0exec.c
+
+# - build script start -
+
+build_env_static() {
+ export LD_LIBRARY_PATH="$pthbs_build_environment/library"
+ export CPATH="$pthbs_build_environment/include"
+ export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS"
+}
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd '.'
+
+
+mkdir -p root/bin root/dev root/proc
+ln -v -s bin root/sbin
+ln -v -s . root/usr
+
+build_env_static
+gcc ${CFLAGS} -o "root/bin/argv0exec" "argv0exec.c" $LDFLAGS
+
+ln -v -s argv0exec root/bin/sh
+ln -v -s argv0exec root/bin/env
+mkdir -p "$dest/pthbs/sandbox"
+tar -cvf "$dest/pthbs/sandbox/root.tar" -C root .
+
+
+
+
+cd "$dest"
+ls -lh ./pthbs/sandbox/root.tar
+printf '%s\t%s\n' >.install-links.new ./pthbs/sandbox/root.tar ./pthbs/sandbox/root.tar
+mv .install-links.new .install-links
+
diff --git a/variants/root-x86_64/pthbs_sandbox_ns.environment b/variants/root-x86_64/pthbs_sandbox_ns.environment
@@ -0,0 +1,2 @@
+#!/usr/bin/env pthbs-build
+#+sandbox_root.3d117ba94e5de43a39ad6d6625b5f06756d4922d2f3e7467d777156124f1fa8f+
\ No newline at end of file
diff --git a/variants/root-x86_64/sandbox_root b/variants/root-x86_64/sandbox_root
@@ -0,0 +1,40 @@
+#!/usr/bin/env pthbs-build
+#@pragma:nosandbox
+#+musl-cross-make.473310ee8dd6c0b20a1b81598700e61a0e38dcfe0b8503bd5cdbb9bf4f9af4fc
+#+gnu-make.47af7543e52e6b72ac25e13223e2ce78703c58993166ba25c56cba245e48dbfa
+#+busybox.73a23c9ea571875b0e9e166a6974b6b314b540c8c247783d9cf96e10a59fcd73
+#@sha256:8d716caa5ea940bbbb8f68ac0907cea36773c183bd4c1eebad030f6cc7deaec9:argv0exec.c
+
+# - build script start -
+
+build_env_static() {
+ export LD_LIBRARY_PATH="$pthbs_build_environment/library"
+ export CPATH="$pthbs_build_environment/include"
+ export LDFLAGS="-static -L$pthbs_build_environment/library $LDFLAGS"
+}
+
+prefix=/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd '.'
+
+
+mkdir -p root/bin root/dev root/proc
+ln -v -s bin root/sbin
+ln -v -s . root/usr
+
+build_env_static
+gcc ${CFLAGS} -o "root/bin/argv0exec" "argv0exec.c" $LDFLAGS
+
+ln -v -s argv0exec root/bin/sh
+ln -v -s argv0exec root/bin/env
+mkdir -p "$dest/pthbs/sandbox"
+tar -cvf "$dest/pthbs/sandbox/root.tar" -C root .
+
+
+
+
+cd "$dest"
+ls -lh ./pthbs/sandbox/root.tar
+printf '%s\t%s\n' >.install-links.new ./pthbs/sandbox/root.tar ./pthbs/sandbox/root.tar
+mv .install-links.new .install-links
+