mrrl

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

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:
Mtemplates/genlinks | 2+-
Mtemplates/package_sets | 4++++
Atemplates/pkg/pthbs_sandbox_ns.environment | 1+
Atemplates/pkg/sandbox_root | 33+++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/pthbs_sandbox_ns.environment | 3+++
Avariants/ccx-x86_64/sandbox_root | 40++++++++++++++++++++++++++++++++++++++++
Avariants/root-x86_64/pthbs_sandbox_ns.environment | 3+++
Avariants/root-x86_64/sandbox_root | 40++++++++++++++++++++++++++++++++++++++++
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 +