gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1532Shell 196Rust 108Markdown 993686 Sutichaykuna

⎇ f2aafb1b390ceccde27ee921803e45abc9f0904f recipes/cronie.toml TOML · 54 siq'ikuna · 3.2 KB Ñawpa willay ch'uya

granja: las tres `wanted` del perfil servidor, construidas — y popt, que faltaba debajo cc5aebd8c · Sergio ·

1# cronie 1.7.2 — el disparador periódico. Es la tercera y última de las raíces que `targets.toml`
2# declaraba para el perfil `servidor` sin receta detrás. El motivo escrito allí es directo: en una
3# distro sin systemd no hay timers, y el latido de la granja son tres líneas de crontab.
4#
5# **Y busybox YA trae un `crond` — esto no lo reemplaza por reflejo.** El artefacto sellado de
6# busybox pone `crond` en `/sbin`. Lo que cronie agrega y busybox no tiene: `@reboot`, crontabs por
7# usuario con `crontab -e`, `/etc/cron.d`, `cronnext`, y `anacron` para las tareas que hay que
8# recuperar cuando la máquina estuvo apagada. Cuál de los dos va en cada imagen es una decisión de
9# perfil, no de esta receta; lo que hacía falta era que la opción EXISTIERA en el corpus en vez de
10# descubrirse ausente el día que alguien la necesite.
11#
12# ⚠ EL DEFAULT QUE HABÍA QUE PINEAR SÍ O SÍ: `--with-editor`. Sin él, `configure.ac` hace
13# `AC_PATH_PROG([vi])` — o sea que la ruta del editor que `crontab -e` lanza SALE DE BUSCAR `vi` EN
14# EL LAB, y queda grabada en el binario con `AC_DEFINE_UNQUOTED`. El lab no entra en `hash_inputs`:
15# dos labs con `vi` en rutas distintas sellarían bytes distintos en la MISMA dirección del store y
16# nada lo notaría. Se fija en `/bin/vi`, que además es donde busybox lo deja de verdad (comprobado
17# en su artefacto sellado); el fallback de autoconf era `/usr/bin/vi`, que en esta distro no existe.
18#
19# Lo demás son palancas de cosas que el corpus no tiene, apagadas explícitamente por la misma razón
20# —que el probe no salga del entorno— y no porque estorben:
21#   --without-pam       no hay Linux-PAM en el corpus. La autorización de `crontab` cae entonces a
22#                       `/etc/cron.allow` + `/etc/cron.deny`, que es el mecanismo clásico y no
23#                       necesita nada más.
24#   --without-selinux   la distro no lleva SELinux.
25#   --without-audit     no hay libaudit.
26#   --with-inotify      esto se ENCIENDE: con inotify, crond se entera de un crontab editado sin
27#                       esperar al minuto siguiente. Es una API del kernel, no una dep nueva.
28#   --enable-syscrontab `/etc/crontab` y `/etc/cron.d`, que es por donde entra el latido de la granja.
29#
30# `link = "static"`: binarios monolíticos como el resto de las herramientas de sistema.
31#
32# La licencia es compuesta y no se adivina: el grueso (`src/cron.c` y compañía) es ISC de Vixie/ISC,
33# y `anacron` —que se construye— trae su propio `COPYING.anacron`, GPLv2-or-later.
34name    = "cronie"
35version = "1.7.2"
36license = "ISC AND GPL-2.0-or-later"
37
38[source]
39tarball = "https://github.com/cronie-crond/cronie/releases/download/cronie-1.7.2/cronie-1.7.2.tar.gz"
40sha256  = "f1da374a15ba7605cf378347f96bc8b678d3d7c0765269c8242cfe5b0789c571"
41
42[build]
43compiler = "zig-cc"
44target   = "x86_64-linux-musl"
45link     = "static"
46flags    = []
47
48[build.phases]
49configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/sbin --with-editor=/bin/vi --with-inotify --without-pam --without-selinux --without-audit --enable-syscrontab'
50compile   = 'make -j"$(nproc)"'
51install   = "make install DESTDIR=/out && find /out -name '*.la' -delete"
52
53[deps]
54build = ["binutils", "busybox", "make", "pkgconf"]