From 6fa19a6332bcfb6e904cc14d141bbae83009681a Mon Sep 17 00:00:00 2001 From: sergio Date: Fri, 17 Jul 2026 20:15:16 -0400 Subject: [PATCH] openrc 0.62.6: receta del supervisor de servicios (meson, musl-static) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El init/service-manager de Gentoo y Alpine — musl-clean por diseño (Alpine lo corre sobre musl en prod). Enlace static-musl vía zig-cc; deps opcionales (audit/selinux/pam/libcap) desactivadas para clausura mínima. Encolado en incoming/; el worker lo muele tras la pasada KDE. Es la pieza de supervisión que falta para la distro instalable (arje-zero=PID1 + openrc sobre /etc/init.d). hash dry-run: b3:78502dcb. Co-Authored-By: Claude Opus 4.8 --- recipes/incoming/openrc.toml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 recipes/incoming/openrc.toml diff --git a/recipes/incoming/openrc.toml b/recipes/incoming/openrc.toml new file mode 100644 index 00000000..d7df07d2 --- /dev/null +++ b/recipes/incoming/openrc.toml @@ -0,0 +1,30 @@ +# openrc 0.62.6 — gestor de servicios / init dependency-based (el de Gentoo y Alpine). C, meson. +# Por qué en hammer: hammer bootea con arje-zero como PID1, pero openrc es el SUPERVISOR de +# servicios que falta para una distro instalable de verdad (rc-service/rc-status/rc-update sobre +# /etc/init.d). Es musl-clean por diseño: Alpine lo corre sobre musl en producción ⇒ encaja con el +# toolchain zig-cc/musl static de hammer sin parches. +# +# Estático (modelo hammer): -Ddefault_library=static + --prefer-static ⇒ libeinfo/librc salen .a y +# los binarios rc/rc-service enlazan static-musl. Deps OPCIONALES desactivadas para clausura mínima: +# audit/selinux/pam/libcap son features 'auto'/required:false en el meson.build; sin declararlas ni +# el sandbox las provee ⇒ no se enganchan. Se pueden sumar después (libcap ya está en el corpus) si +# se quiere capability-dropping por servicio; por ahora, el núcleo. +name = "openrc" +version = "0.62.6" + +[source] +tarball = "https://github.com/OpenRC/openrc/archive/refs/tags/0.62.6.tar.gz" +sha256 = "d5c15b37533e2b5d247d9fbab8b41f312614784b9ea11239ddcfe8e4528e7722" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "static" + +[build.phases] +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Daudit=disabled -Dselinux=disabled -Dpam=false -Dbash-completions=false -Dzsh-completions=false -Dsysvinit=false" +compile = "ninja -C output" +install = "DESTDIR=/out meson install -C output --no-rebuild" + +[deps] +build = ["meson", "samurai", "python3", "pkgconf"]