mrrl

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

commit 586e63cb8f7e2f839cc3fc7c73e4b844dc85ee03
parent 548d0f2be3c459d20cf31f81ea5e0efbb4eb3d3a
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Thu,  6 Nov 2025 13:50:37 +0000

Move environment definition into package set macros

Diffstat:
Atemplates/package_sets | 114+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtemplates/pkg/bootstrap.environment | 7++++---
Mtemplates/pkg/containers.environment | 21++-------------------
Mtemplates/pkg/default.environment | 11+++--------
Mtemplates/pkg/mdevd.environment | 8++------
Atemplates/pkg/ocaml.environment | 5+++++
Mtemplates/pkg/userspace.environment | 44++------------------------------------------
Mtemplates/pkg/vm.environment | 3++-
Mtemplates/pkg/wip.environment | 13++++---------
9 files changed, 138 insertions(+), 88 deletions(-)

diff --git a/templates/package_sets b/templates/package_sets @@ -0,0 +1,114 @@ +{# +{% macro foo() -%} +{%- endmacro %} +#} + +{% macro bootstrap() -%} +#+{{pkg_install_name("busybox:bootstrap")}} +#+{{pkg_install_name("gnu-make:bootstrap")}} +#+{{pkg_install_name("musl-cross-make:bootstrap-1")}} +{%- endmacro %} + +{% macro wip() -%} +#+{{pkg_install_name("ocaml:dynlink")}} +#+{{pkg_install_name("dune")}} +#+{{pkg_install_name("ocamlbuild")}} +#+{{pkg_install_name("ocaml-base")}} +#+{{pkg_install_name("opam")}} +#+{{pkg_install_name("ocaml-bos")}} +#+{{pkg_install_name("ocaml-lun")}} +#+{{pkg_install_name("ocaml-ppx_deriving")}} +{#- #+{{pkg_install_name("ocaml-findlib")}} #} +{%- endmacro %} + +{% macro ocaml() -%}{%- endmacro %} + +{% macro vm() -%} +#+{{pkg_install_name("linux-qemu-guest")}} +{%- endmacro %} + +{% macro mdevd() -%} +#+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("execline")}} +#+{{pkg_install_name("s6")}} +#+{{pkg_install_name("mdev-scripts")}} +#+{{pkg_install_name("mdevd")}} +#+{{pkg_install_name(["busybox-modutils", "busybox:modutils"][kernel is defined|int])}} +{%- endmacro %} + +{% macro containers() -%} +#+{{pkg_install_name("busybox")}} +#+{{pkg_install_name("busybox-diffutils")}} +#+{{pkg_install_name("execline")}} +#+{{pkg_install_name("s6")}} +#+{{pkg_install_name("s6-portable-utils")}} +#+{{pkg_install_name("s6-linux-utils")}} +#+{{pkg_install_name("zsh")}} +#+{{pkg_install_name("confz")}} +#+{{pkg_install_name("containers")}} +#+{{pkg_install_name("xbps")}} +#+{{pkg_install_name("zstd")}}{# called by xbps-install #} +#+{{pkg_install_name("apk-tools")}} +#+{{pkg_install_name("alpine-keys")}} +#+{{pkg_install_name("getent")}} +#+{{pkg_install_name("fileset")}} +#+{{pkg_install_name("ccx-utils")}} +#+{{pkg_install_name("easyseccomp")}} +#+{{pkg_install_name("findutils")}} +#+{{pkg_install_name("nawk")}} +{%- endmacro %} + +{% macro userspace() -%} +#+{{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("rsync")}} +#+{{pkg_install_name("execline")}} +#+{{pkg_install_name("s6")}} +#+{{pkg_install_name("s6-rc")}} +#+{{pkg_install_name("s6-portable-utils")}} +#+{{pkg_install_name("s6-linux-utils")}} +#+{{pkg_install_name("s6-linux-init")}} +#+{{pkg_install_name("mdevd")}} +#+{{pkg_install_name("s6-dns")}} +#+{{pkg_install_name("libressl")}} +#+{{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("curl")}} +#+{{pkg_install_name("git")}} +#+{{pkg_install_name("xbps")}} +#+{{pkg_install_name("apk-tools")}} +#+{{pkg_install_name("getent")}} +#+{{pkg_install_name("getconf")}} +#+{{pkg_install_name("iconv")}} +#+{{pkg_install_name("libcap")}} +#+{{pkg_install_name("applyuidgid-caps")}} +#+{{pkg_install_name("ccx-utils")}} +#+{{pkg_install_name("user-env")}} +#+{{pkg_install_name("strace")}} +#+{{pkg_install_name("mlog")}} +#+{{pkg_install_name("findutils")}} +#+{{pkg_install_name("nawk")}} +#+{{pkg_install_name("squashfs-tools")}} +{%- endmacro %} + +{% macro default() -%} +{{ userspace() }} +#+{{pkg_install_name("system-config")}} +#+{{pkg_install_name("system-config-rc")}} +#+{{pkg_install_name("system-config-scripts")}} +#+{{pkg_install_name("system-config-init")}} +#+{{pkg_install_name("system-config-zsh")}} +#+{{pkg_install_name(["busybox-modutils", "busybox:modutils"][kernel is defined|int])}} +{%- endmacro %} diff --git a/templates/pkg/bootstrap.environment b/templates/pkg/bootstrap.environment @@ -1,4 +1,5 @@ {{ shebang }} -#+{{pkg_install_name("busybox:bootstrap")}} -#+{{pkg_install_name("gnu-make:bootstrap")}} -#+{{pkg_install_name("musl-cross-make:bootstrap-1")}} +{%- set env_name=name.split('.')[0] -%} +{%- import "package_sets" as ps %} +{%- if ps[env_name]() == "" %}{% do skip("package set is empty: " ~ env_name) %}{% endif %} +{{ ps[env_name]() }} diff --git a/templates/pkg/containers.environment b/templates/pkg/containers.environment @@ -1,20 +1,3 @@ {{ shebang }} -#+{{pkg_install_name("busybox")}} -#+{{pkg_install_name("busybox-diffutils")}} -#+{{pkg_install_name("execline")}} -#+{{pkg_install_name("s6")}} -#+{{pkg_install_name("s6-portable-utils")}} -#+{{pkg_install_name("s6-linux-utils")}} -#+{{pkg_install_name("zsh")}} -#+{{pkg_install_name("confz")}} -#+{{pkg_install_name("containers")}} -#+{{pkg_install_name("xbps")}} -#+{{pkg_install_name("zstd")}}{# called by xbps-install #} -#+{{pkg_install_name("apk-tools")}} -#+{{pkg_install_name("alpine-keys")}} -#+{{pkg_install_name("getent")}} -#+{{pkg_install_name("fileset")}} -#+{{pkg_install_name("ccx-utils")}} -#+{{pkg_install_name("easyseccomp")}} -#+{{pkg_install_name("findutils")}} -#+{{pkg_install_name("nawk")}} +{%- import "package_sets" as ps %} +{{ ps[name.split('.')[0]]() }} diff --git a/templates/pkg/default.environment b/templates/pkg/default.environment @@ -1,8 +1,3 @@ -{% include "pkg/userspace.environment" %} -#+{{pkg_install_name("system-config")}} -#+{{pkg_install_name("system-config-rc")}} -#+{{pkg_install_name("system-config-scripts")}} -#+{{pkg_install_name("system-config-init")}} -#+{{pkg_install_name("system-config-zsh")}} -#+{{pkg_install_name(["busybox-modutils", "busybox:modutils"][kernel is defined|int])}} -{#- {% include "pkg/kernel.environment" %} #} +{{ shebang }} +{%- import "package_sets" as ps %} +{{ ps.default() }} diff --git a/templates/pkg/mdevd.environment b/templates/pkg/mdevd.environment @@ -1,7 +1,3 @@ {{ shebang }} -#+{{pkg_install_name("busybox")}} -#+{{pkg_install_name("execline")}} -#+{{pkg_install_name("s6")}} -#+{{pkg_install_name("mdev-scripts")}} -#+{{pkg_install_name("mdevd")}} -#+{{pkg_install_name(["busybox-modutils", "busybox:modutils"][kernel is defined|int])}} +{%- import "package_sets" as ps %} +{{ ps[name.split('.')[0]]() }} diff --git a/templates/pkg/ocaml.environment b/templates/pkg/ocaml.environment @@ -0,0 +1,5 @@ +{{ shebang }} +{%- set env_name=name.split('.')[0] -%} +{%- import "package_sets" as ps %} +{%- if ps[env_name]() == "" %}{% do skip("package set is empty: " ~ env_name) %}{% endif %} +{{ ps[env_name]() }} diff --git a/templates/pkg/userspace.environment b/templates/pkg/userspace.environment @@ -1,43 +1,3 @@ {{ shebang }} -#+{{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("rsync")}} -#+{{pkg_install_name("execline")}} -#+{{pkg_install_name("s6")}} -#+{{pkg_install_name("s6-rc")}} -#+{{pkg_install_name("s6-portable-utils")}} -#+{{pkg_install_name("s6-linux-utils")}} -#+{{pkg_install_name("s6-linux-init")}} -#+{{pkg_install_name("mdevd")}} -#+{{pkg_install_name("s6-dns")}} -#+{{pkg_install_name("libressl")}} -#+{{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("curl")}} -#+{{pkg_install_name("git")}} -#+{{pkg_install_name("xbps")}} -#+{{pkg_install_name("apk-tools")}} -#+{{pkg_install_name("getent")}} -#+{{pkg_install_name("getconf")}} -#+{{pkg_install_name("iconv")}} -#+{{pkg_install_name("libcap")}} -#+{{pkg_install_name("applyuidgid-caps")}} -#+{{pkg_install_name("ccx-utils")}} -#+{{pkg_install_name("user-env")}} -#+{{pkg_install_name("strace")}} -#+{{pkg_install_name("mlog")}} -#+{{pkg_install_name("findutils")}} -#+{{pkg_install_name("nawk")}} -#+{{pkg_install_name("squashfs-tools")}} +{%- import "package_sets" as ps %} +{{ ps[name.split('.')[0]]() }} diff --git a/templates/pkg/vm.environment b/templates/pkg/vm.environment @@ -1,2 +1,3 @@ {{ shebang }} -#+{{pkg_install_name("linux-qemu-guest")}} +{%- import "package_sets" as ps %} +{{ ps[name.split('.')[0]]() }} diff --git a/templates/pkg/wip.environment b/templates/pkg/wip.environment @@ -1,10 +1,5 @@ {{ shebang }} -#+{{pkg_install_name("ocaml:dynlink")}} -#+{{pkg_install_name("dune")}} -#+{{pkg_install_name("ocamlbuild")}} -#+{{pkg_install_name("ocaml-base")}} -#+{{pkg_install_name("opam")}} -#+{{pkg_install_name("ocaml-bos")}} -#+{{pkg_install_name("ocaml-lun")}} -#+{{pkg_install_name("ocaml-ppx_deriving")}} -{#- #+{{pkg_install_name("ocaml-findlib")}} #} +{%- set env_name=name.split('.')[0] -%} +{%- import "package_sets" as ps %} +{%- if ps[env_name]() == "" %}{% do skip("package set is empty: " ~ env_name) %}{% endif %} +{{ ps[env_name]() }}