mrrl

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

commit a3516f23179a10bb1013336d178b23fdc2a16903
parent 7c8731f73fdef999510c09c419ead001f44bb4f9
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Thu, 29 May 2025 12:43:10 +0000

Make linux build script a template

Diffstat:
Mdownloadlist.sha256 | 1+
Atemplates/linux | 59+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtemplates/pkg/linux | 59+++++------------------------------------------------------
Mtemplates/pkg/linux-qemu-guest | 60++----------------------------------------------------------
Mvariants/ccx-x86_64/kernel.environment | 4++--
Mvariants/ccx-x86_64/linux | 6+++---
Mvariants/ccx-x86_64/linux-qemu-guest | 4+---
Mvariants/ccx-x86_64/vm.environment | 4++--
Mvariants/root-x86_64/kernel.environment | 4++--
Mvariants/root-x86_64/linux | 6+++---
Mvariants/root-x86_64/linux-qemu-guest | 4+---
Mvariants/root-x86_64/vm.environment | 4++--
12 files changed, 83 insertions(+), 132 deletions(-)

diff --git a/downloadlist.sha256 b/downloadlist.sha256 @@ -59,3 +59,4 @@ ddf0e32dd5fafe5283198d37e4bf9decf7ba1770b6e7e006c33e6df79e6a6157 958468 https:// 712590fd20aaa60ec75d778fe5b810d6b829ca7fb1e530577917a131f9105539 18102481 https://github.com/openssl/openssl/releases/download/openssl-3.3.3/openssl-3.3.3.tar.gz 3bc9fc0e61827ee2f608e5e44993a8fda6d610b80a1e01a9c75610cc292997b5 432142 https://causal.agency/libretls/libretls-3.8.1.tar.gz 6ef7bc56cc0e0b307d99a3c494119686091cc1d4ad08986d68aa089dd00c7788 234383 https://gitlab.alpinelinux.org/alpine/ca-certificates/-/archive/20241121/ca-certificates-20241121.tar.bz2 +7586962547803be7ecc4056efc927fb25214548722bd28171172f3599abb9764 151168812 https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.15.tar.xz diff --git a/templates/linux b/templates/linux @@ -0,0 +1,59 @@ +{% extends "genlinks" %} +{%- block script %} +#+{{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("zstd")}} +#+{{pkg_install_name("libelf")}} +#+{{pkg_install_name("pkgconf-pkg-config")}} +#@untar:-J:sha256:{{ assertion(tarball_shasum) }}:. +{% if patch_version -%} +#@sha256:{{ assertion(patch_shasum) }}:patch-{{ patch_version }}.xz +{% endif -%} +#@sha256:{{files["lh_bootstrap-x86_64-config"]}}:linux.config +#@sha256:{{files["noobjtool.patch"]}}:noobjtool.patch + +export CPATH="$pthbs_build_environment/include" + +cd 'linux-{{ tarball_version }}' +{% if patch_version -%} +unxz -c < '../patch-{{ patch_version }}.xz' | patch -p1 -N +{% endif -%} +patch -p1 -N <../noobjtool.patch +cp -v ../linux.config .config +linux64 make olddefconfig +diff -u ../linux.config .config || true +linux64 {{make}} \ + V=1 \ + HOSTLDFLAGS="-static -L$pthbs_build_environment/library" \ + HOSTCFLAGS="-L$pthbs_build_environment/library" + +installdir="$pthbs_destdir/{{versions}}/$pthbs_package" +mkdir -p "$installdir/doc/linux" "$installdir/boot" +cp -v .config "$installdir/config" +mv Documentation/* "$installdir/doc/linux" +linux64 make modules_install install \ + INSTALL_MOD_PATH="$installdir" \ + INSTALL_MOD_STRIP=1 \ + INSTALL_PATH="$installdir"/boot \ + INSTALL_DTBS_PATH="$installdir/boot/dtbs" +{% endblock %} +{% block rules %} +$2 == "boot" { link($0); next } +{% endblock -%} +{% block genlinks_begin %} + kernel_name="6.1.34" + x["./boot/vmlinuz"]=1 + x["./boot/System.map"]=1 + x["./lib/modules/" kernel_name "/modules.alias"]=1 + x["./lib/modules/" kernel_name "/modules.builtin"]=1 + x["./lib/modules/" kernel_name "/modules.dep"]=1 + x["./lib/modules/" kernel_name "/modules.order"]=1 + x["./lib/modules/" kernel_name "/modules.symbols"]=1 +{% endblock %} + diff --git a/templates/pkg/linux b/templates/pkg/linux @@ -1,54 +1,5 @@ -{% extends "genlinks" %} -{%- block script %} -#+{{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("zstd")}} -#+{{pkg_install_name("libelf")}} -#+{{pkg_install_name("pkgconf-pkg-config")}} -#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. -#@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz -#@sha256:{{files["linux-6.1.34-x86_64-nossl.config"]}}:linux.config -#@sha256:{{files["noobjtool.patch"]}}:noobjtool.patch - -export CPATH="$pthbs_build_environment/include" - -cd linux-6.1 -unxz -c < ../patch-6.1.34.xz | patch -p1 -N -patch -p1 -N <../noobjtool.patch -cp -v ../linux.config .config -linux64 make olddefconfig -diff -u ../linux.config .config || true -linux64 {{make}} \ - V=1 \ - HOSTLDFLAGS="-static -L$pthbs_build_environment/library" \ - HOSTCFLAGS="-L$pthbs_build_environment/library" - -installdir="$pthbs_destdir/{{versions}}/$pthbs_package" -mkdir -p "$installdir/doc/linux" "$installdir/boot" -cp -v .config "$installdir/config" -mv Documentation/* "$installdir/doc/linux" -linux64 make modules_install install \ - INSTALL_MOD_PATH="$installdir" \ - INSTALL_MOD_STRIP=1 \ - INSTALL_PATH="$installdir"/boot \ - INSTALL_DTBS_PATH="$installdir/boot/dtbs" -{% endblock %} -{% block rules %} -$2 == "boot" { link($0); next } -{% endblock -%} -{% block genlinks_begin %} - kernel_name="6.1.34" - x["./boot/vmlinuz"]=1 - x["./boot/System.map"]=1 - x["./lib/modules/" kernel_name "/modules.alias"]=1 - x["./lib/modules/" kernel_name "/modules.builtin"]=1 - x["./lib/modules/" kernel_name "/modules.dep"]=1 - x["./lib/modules/" kernel_name "/modules.order"]=1 - x["./lib/modules/" kernel_name "/modules.symbols"]=1 -{% endblock %} +{%- set tarball_version="6.1" -%} +{%- set tarball_shasum="2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb" -%} +{%- set patch_version="6.1.34" -%} +{%- set patch_shasum="d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a" -%} +{% extends "linux" %} diff --git a/templates/pkg/linux-qemu-guest b/templates/pkg/linux-qemu-guest @@ -1,61 +1,5 @@ -{% extends "genlinks" %} {%- set tarball_version="6.15" -%} +{%- set tarball_shasum="7586962547803be7ecc4056efc927fb25214548722bd28171172f3599abb9764" -%} {%- set patch_version="" -%} {%- set patch_shasum="" -%} -{%- block script %} -#+{{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("zstd")}} -#+{{pkg_install_name("libelf")}} -#+{{pkg_install_name("pkgconf-pkg-config")}} -#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. -{% if patch_version %} -#@sha256:{{ patch_shasum }}:patch-{{ patch_version }}.xz -{% endif %} -#@sha256:{{files["lh_bootstrap-x86_64-config"]}}:linux.config -#@sha256:{{files["noobjtool.patch"]}}:noobjtool.patch - -export CPATH="$pthbs_build_environment/include" - -cd 'linux-{{ tarball_version }}' -{% if patch_version %} -unxz -c < '../patch-{{ patch_version }}.xz' | patch -p1 -N -{% endif %} -patch -p1 -N <../noobjtool.patch -cp -v ../linux.config .config -linux64 make olddefconfig -diff -u ../linux.config .config || true -linux64 {{make}} \ - V=1 \ - HOSTLDFLAGS="-static -L$pthbs_build_environment/library" \ - HOSTCFLAGS="-L$pthbs_build_environment/library" - -installdir="$pthbs_destdir/{{versions}}/$pthbs_package" -mkdir -p "$installdir/doc/linux" "$installdir/boot" -cp -v .config "$installdir/config" -mv Documentation/* "$installdir/doc/linux" -linux64 make modules_install install \ - INSTALL_MOD_PATH="$installdir" \ - INSTALL_MOD_STRIP=1 \ - INSTALL_PATH="$installdir"/boot \ - INSTALL_DTBS_PATH="$installdir/boot/dtbs" -{% endblock %} -{% block rules %} -$2 == "boot" { link($0); next } -{% endblock -%} -{% block genlinks_begin %} - kernel_name="6.1.34" - x["./boot/vmlinuz"]=1 - x["./boot/System.map"]=1 - x["./lib/modules/" kernel_name "/modules.alias"]=1 - x["./lib/modules/" kernel_name "/modules.builtin"]=1 - x["./lib/modules/" kernel_name "/modules.dep"]=1 - x["./lib/modules/" kernel_name "/modules.order"]=1 - x["./lib/modules/" kernel_name "/modules.symbols"]=1 -{% endblock %} +{% extends "linux" %} diff --git a/variants/ccx-x86_64/kernel.environment b/variants/ccx-x86_64/kernel.environment @@ -1,2 +1,2 @@ #!/usr/bin/env pthbs-build -#+linux.8252c34a657a9c77eeb80c4980205fcd95f5087a8833b31e98001d25fae45348- \ No newline at end of file +#+linux.333fd2e284d1530889db5295c29fca5f9db2d6e8a7a4a7ca4e33cecb564990b4+ \ No newline at end of file diff --git a/variants/ccx-x86_64/linux b/variants/ccx-x86_64/linux @@ -12,13 +12,13 @@ #+pkgconf-pkg-config.86f9c193f6ccc64cc2ac696a7e3a258f01b8d0c539312ae37c08ea2354332e90 #@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. #@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz -#@sha256:f33d82840d1db22114e18626b64922fa1a3b539a2dee6847528ecc1b17b7b659:linux.config +#@sha256:cc2633ee136db0283d4faf7c27c890641e90cd835fc3adb19eaf0569e4078867:linux.config #@sha256:ff3ddd131d73fee6838b11a6c4773bdb85c5f60fdd4b9ac4120ced021c341417:noobjtool.patch export CPATH="$pthbs_build_environment/include" -cd linux-6.1 -unxz -c < ../patch-6.1.34.xz | patch -p1 -N +cd 'linux-6.1' +unxz -c < '../patch-6.1.34.xz' | patch -p1 -N patch -p1 -N <../noobjtool.patch cp -v ../linux.config .config linux64 make olddefconfig diff --git a/variants/ccx-x86_64/linux-qemu-guest b/variants/ccx-x86_64/linux-qemu-guest @@ -10,15 +10,13 @@ #+zstd.8b11bd81c450d61aa6a44ffd019654c590439df68ebd8987db4cdbbcf182d67c #+libelf.fd68f03f03caea1e71ca235bd8e1c0d4dc9fe6b5556ff45c3892c4940218c018 #+pkgconf-pkg-config.86f9c193f6ccc64cc2ac696a7e3a258f01b8d0c539312ae37c08ea2354332e90 -#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. - +#@untar:-J:sha256:7586962547803be7ecc4056efc927fb25214548722bd28171172f3599abb9764:. #@sha256:cc2633ee136db0283d4faf7c27c890641e90cd835fc3adb19eaf0569e4078867:linux.config #@sha256:ff3ddd131d73fee6838b11a6c4773bdb85c5f60fdd4b9ac4120ced021c341417:noobjtool.patch export CPATH="$pthbs_build_environment/include" cd 'linux-6.15' - patch -p1 -N <../noobjtool.patch cp -v ../linux.config .config linux64 make olddefconfig diff --git a/variants/ccx-x86_64/vm.environment b/variants/ccx-x86_64/vm.environment @@ -1,2 +1,2 @@ #!/usr/bin/env pthbs-build -#+linux-qemu-guest.01e9779093d46bc175e8deca5d019b40926f2865882295d50e868f6c5999dacc- \ No newline at end of file +#+linux-qemu-guest.ed187736439b7d90daab75a7afe96dd343d72f9fd6c450772c175f5d9d1347f2+ \ No newline at end of file diff --git a/variants/root-x86_64/kernel.environment b/variants/root-x86_64/kernel.environment @@ -1,2 +1,2 @@ #!/usr/bin/env pthbs-build -#+linux.ba0b0e3f4004b4d2c4b2ab33ac2a4d2a12917c410b85421d173c65cac6bee057- \ No newline at end of file +#+linux.5adc78399e0abbdedbf4412f196ce93ad4292ae8e770d3f68488e7f2bf54f037+ \ No newline at end of file diff --git a/variants/root-x86_64/linux b/variants/root-x86_64/linux @@ -12,13 +12,13 @@ #+pkgconf-pkg-config.ea4d3fe0fca073b8e3eb3b731df4d36c062498864ee04f68ce000a6f282b5621 #@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. #@sha256:d9b01e4dac3dd140c394227603c8b3339bb2f1e10c97afd3607d84e3003ec75a:patch-6.1.34.xz -#@sha256:f33d82840d1db22114e18626b64922fa1a3b539a2dee6847528ecc1b17b7b659:linux.config +#@sha256:cc2633ee136db0283d4faf7c27c890641e90cd835fc3adb19eaf0569e4078867:linux.config #@sha256:ff3ddd131d73fee6838b11a6c4773bdb85c5f60fdd4b9ac4120ced021c341417:noobjtool.patch export CPATH="$pthbs_build_environment/include" -cd linux-6.1 -unxz -c < ../patch-6.1.34.xz | patch -p1 -N +cd 'linux-6.1' +unxz -c < '../patch-6.1.34.xz' | patch -p1 -N patch -p1 -N <../noobjtool.patch cp -v ../linux.config .config linux64 make olddefconfig diff --git a/variants/root-x86_64/linux-qemu-guest b/variants/root-x86_64/linux-qemu-guest @@ -10,15 +10,13 @@ #+zstd.a83f72c5953bd6b7afc171528a503710b3144bf9197961833fd27926b0a18137 #+libelf.b129c20086c9a39a997886caaa57b3f7c5be24fd0ceb34289b62e794ff722ed0 #+pkgconf-pkg-config.ea4d3fe0fca073b8e3eb3b731df4d36c062498864ee04f68ce000a6f282b5621 -#@untar:-J:sha256:2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb:. - +#@untar:-J:sha256:7586962547803be7ecc4056efc927fb25214548722bd28171172f3599abb9764:. #@sha256:cc2633ee136db0283d4faf7c27c890641e90cd835fc3adb19eaf0569e4078867:linux.config #@sha256:ff3ddd131d73fee6838b11a6c4773bdb85c5f60fdd4b9ac4120ced021c341417:noobjtool.patch export CPATH="$pthbs_build_environment/include" cd 'linux-6.15' - patch -p1 -N <../noobjtool.patch cp -v ../linux.config .config linux64 make olddefconfig diff --git a/variants/root-x86_64/vm.environment b/variants/root-x86_64/vm.environment @@ -1,2 +1,2 @@ #!/usr/bin/env pthbs-build -#+linux-qemu-guest.0d3718037487a54f3affc953a1b8e7bd94de95e9bbc788e2a10418017b670faf- \ No newline at end of file +#+linux-qemu-guest.397272d894d1bebc318254d2529111bd90d36ffd54a27c89a743a4d0e6d35053+ \ No newline at end of file