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…
granja: cargar cola base-system — 18 esenciales del userland foundational
1# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
2# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
3# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
4name = "sudo"
5version = "1.9.17_p2"
6
7[source]
8tarball = "https://www.sudo.ws/dist/sudo-${pkgver/_/}.tar.gz"
9# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
10# sha512 = "c8abd6ca56e54a081c9ef1e9f6579d1db5b93ff857e60d1f58d1f425d7dc23c31c58d40b7819780688f66dfdf87a1f3bbe0a78387b007e2beb1b0e546203ea93"
11sha256 = "FIXME-sha256"
12
13[build]
14compiler = "zig-cc"
15target = "x86_64-linux-musl"
16link = "static"
17flags = []
18
19[build.phases]
20# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
21compile = '''
22_abuild_phase() {
23CFLAGS="$CFLAGS -flto=auto" \
24 ./configure \
25 --build=$CBUILD \
26 --host=$CHOST \
27 --prefix=/usr \
28 --libexecdir=/usr/lib \
29 --mandir=/usr/share/man \
30 --with-rundir=/run/sudo \
31 --with-vardir=/var/lib/sudo \
32 --with-tzdir=/usr/share/zoneinfo \
33 --with-logdir=/var/log \
34 --with-iologdir=/var/log/sudo-io \
35 --with-logpath=/var/log/sudo.log \
36 --with-relaydir=/var/log/sudo_logsrvd \
37 --disable-nls \
38 --enable-pie \
39 --with-env-editor \
40 --with-mdoc \
41 --without-pam \
42 --without-skey \
43 --with-sendmail=/usr/sbin/sendmail \
44 --with-passprompt="[sudo] password for %p: "
45
46 make
47}
48_abuild_phase
49'''
50# de package() de Alpine (traducido $pkgdir→/out):
51install = '''
52_abuild_phase() {
53# the sudo's mkinstalldir script miscreates the leading
54 # path components with bad permissions. fix this.
55 install -dm0755 "/out"/var "/out"/var/db
56 make -j1 DESTDIR="/out" install
57
58 # Exactly the same as /etc/sudoers
59 rm -v "/out"/etc/sudoers.dist
60}
61_abuild_phase
62'''