Resumen/xpm — gestor de paquetes
xpm — Notas de integración
Cómo encaja xpm en el flujo de la distribución, qué queda abierto antes de
que sea la vía de instalación principal y qué interfaces conviene mantener
estables.
Dónde está xpm hoy
xpm está conectado de extremo a extremo:
- El resolver SAT corre dentro de
installyupgrade: cierre de dependencias, orden de dependencias, requisitosname=versionyprovidessin versión. - La instalación de
.xplocales, la eliminación y las actualizaciones con dependencias funcionan sobre el mismo motor de transacciones. - El endpoint nativo (
https://equislinux.github.io/x-repo/x/$arch, separado del endpoint pacman en/repo/x86_64) está publicado y validado conxpm sync/search/deps/install. - El sistema se sigue aprovisionando con pacman + el repositorio firmado
[x]:xpmcoexiste como canal nativo, no sustituye la vía de producción.
Antes de que xpm sea la vía activa
Lista de producción pendiente (los elementos de recuperación y endurecimiento cerraron antes):
- Resolver — ciclo de
gcc-libs.Unsolvable(Conflict)con paquetes que dependen degcc-libsincluso en un root limpio. - Extracción de hardlinks. Falla al instalar paquetes reales de Arch con
hardlinks (
zoneinfobajousr/share/zoneinfo/). - Hitos de producción (Fase 8 y 9 de la ROADMAP del repo): tests de escala sobre repositorios grandes ya en suite; el benchmark directo contra pacman necesita root y queda manual. Restan: fuzzing, auditoría de errores (descargas parciales, paquetes corruptos, disco lleno) y objetivos post-v1.0 (bindings Python, i18n, TUI, selección de mirrors, caché configurable).
Integración con xpkg
xpm y xpkg son binarios complementarios que comparten el formato de paquete:
| Herramienta | Rol | Analogía |
|---|---|---|
xpm | Gestor de paquetes — instalar, eliminar, actualizar, resolver dependencias | pacman |
xpkg | Constructor de paquetes — compilar, empaquetar, lint, gestionar repos | makepkg + repo-add + namcap |
Ciclo de vida: receta (XBUILD/PKGBUILD) → xpkg build → paquete .xp → base
del repositorio → hosting estático → xpm sync → xpm install/upgrade
(verificar firma, extraer, ejecutar .INSTALL, registrar localmente). xpkg
también puede emitir una base ALPM estándar; xpm lee tanto campos estándar
como extendidos de xpkg (FILENAME, SHA256SUM, URL), manteniendo
compatibilidad con repositorios Arch.
Interfaces que conviene mantener estables
- Formato de paquete:
.xp== estructura ALPM.pkg.tar.zst(tar.zst con.PKGINFO,.BUILDINFO,.MTREE,.INSTALLopcional). La versión del formato es implícita en.PKGINFO; ambas herramientas deben moverse en lockstep. - Layout del repositorio: endpoint
<server>/<repo>.db(+.files), árbol nativo enhttps://equislinux.github.io/x-repo/x/$arch, firmas detached.sig, keyringtrustedkeys.gpg. - Configuración:
/etc/xpm.conf(TOML), repos de usuario en/etc/xpm.d/, variables$repo/$arch, semántica desig_level. - Base local:
/var/lib/xpm/local/<pkg>/conversion,reason,origin,files,dependsyprovides; bases de sync en/var/lib/xpm/sync/. - Contrato de scriptlets: funciones bash de
.INSTALLconXPM_ROOT_DIR,XPM_PKG_NAME,XPM_PKG_VERSION.
Ver también
- Roadmap del repo:
../../ROADMAP.md - Integración xpm/xpkg:
../INTEGRATION.md - Arquitectura del resolver:
../RESOLVER.md