Etapa F refinamientos: uninstall poda dirs vacíos + install --require-signed
Dos bordes ásperos de la paquetería: - uninstall ahora retira los directorios que quedaron VACÍOS por el borrado (rmdir de abajo arriba; remove_dir sólo borra dirs vacíos ⇒ se detiene solo al toparse con contenido de otro paquete). Antes dejaba /usr/bin, etc. huérfanos. - `install --require-signed`: modo estricto que ABORTA si el release no está firmado por una clave confiada (Unsigned o UnknownKey ⇒ error). No basta con que el .swm reproduzca: exige autoría verificada del catálogo. Default off (no rompe flujos sin firma). Validado E2E: uninstall bwrap poda 4 dirs; --require-signed aborta sin firma y procede con release trusted. 31 suites verde. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -145,7 +145,8 @@ CLI:
|
||||
un binario ajeno. Registra el paquete en la DB de instalados (`--db`). `--repo` admite un
|
||||
directorio local **o una URL HTTP(S)** (el repo son ficheros estáticos: `index.json` + los
|
||||
`.swm`; con URL baja el índice + el cierre de deps a un temporal y procede igual).
|
||||
`--prefix`/`--skip-source-patch` para staging y dry-run de schema.
|
||||
`--prefix`/`--skip-source-patch` para staging y dry-run de schema. `--require-signed` exige que
|
||||
el release esté firmado por una clave confiada (modo estricto: no basta con reproducir).
|
||||
- `hammer repo list [--repo DIR]` — lista el catálogo (`<repo>/index.json`).
|
||||
- `hammer repo sign --repo DIR --key KEY` — firma el ÍNDICE entero (release). Re-firmá tras
|
||||
publicar (cada `pack --repo` invalida la firma del release).
|
||||
|
||||
Reference in New Issue
Block a user