
Athena OS es una distribución basada en Arch/Nix enfocada en ciberseguridad. ¡Aprende, practica y disfruta con cualquier herramienta de hacking!

Los paquetes de este repositorio se mantienen actualizados automáticamente mediante un flujo de trabajo diario de GitHub Actions impulsado por nvchecker.
La automatización se ejecuta todos los días (y también se puede activar manualmente) y realiza los siguientes pasos:
Generación de configuración — .nvchecker/generate-nvchecker-config.py escanea cada PKGBUILD en src/ y genera automáticamente .nvchecker/nvchecker.toml. Cada paquete se clasifica como uno de los siguientes:
pkgver= estático y una URL de origen remota. Se rastrea mediante la última etiqueta/versión en la plataforma de alojamiento.pkgver() y una fuente git+https://. Se rastrea mediante el último commit upstream.Verificación de versiones — nvchecker consulta el upstream de cada paquete rastreado y escribe los resultados en .nvchecker/newver.json. Esto se compara con .nvchecker/oldver.json (incluido en el repositorio) para encontrar paquetes que tengan una nueva versión disponible.
El generador de configuración y el flujo de trabajo de CI resuelven las referencias a variables de shell en las líneas source= para que URLs indirectas como la siguiente se manejen correctamente:
_pkgname=${pkgname#athena-}
source=("git+https://github.com/Athena-OS/$_pkgname.git")
Se admiten las siguientes formas de expansión de parámetros de bash:
Las siguientes construcciones de bash no las resuelve la automatización. Los PKGBUILDs que dependen de ellas se omitirán sin problemas con una nota informativa: no se genera ningún error y siempre se pueden actualizar manualmente.
Si tu PKGBUILD usa alguna de las anteriores y la automatización lo omite, puedes reescribir la asignación como una línea var=value simple o abrir un PR para actualizar la versión manualmente.
Actualización del PKGBUILD y PR — para cada paquete desactualizado, el flujo de trabajo:
auto-update/<pkgname>-<newver>.pkgver y restablece pkgrel a 1 en el PKGBUILD.updpkgsums.pkgver() localmente para calcular la cadena de versión real estilo Arch (p. ej., 131.940a5d3) y mantiene sha512sums=('SKIP') tal cual.auto-update para revisión humana antes de que cualquier cambio se integre en main.Guardado de estado — .nvchecker/oldver.json se actualiza con las versiones vistas en esta ejecución y se hace commit de nuevo en main, de modo que la siguiente ejecución solo abra PRs para cambios realmente nuevos.
| Plataforma | Detección |
|---|
| GitHub | github.com/<user>/<repo> |
| GitLab (gitlab.com + autohospedado) | gitlab.*/<user>/<repo> |
| Codeberg | codeberg.org/<user>/<repo> |
| Gitea (autohospedado) | gitea.*/<user>/<repo> |
| Sourcehut | git.sr.ht/~<user>/<repo> |
| Sintaxis | Significado | Ejemplo |
|---|
$var / ${var} | Sustitución simple | $pkgname → athena-settings |
${var#prefix} | Elimina el prefijo coincidente más corto | ${pkgname#athena-} → settings |
${var%suffix} | Elimina el sufijo coincidente más corto | ${pkgname%-git} → athena-settings |
| Sintaxis no compatible | Ejemplo | Motivo |
|---|
## eliminación codiciosa de prefijo | ${var##*/} | Solo se implementa el # no codicioso |
%% eliminación codiciosa de sufijo | ${var%%.*} | Solo se implementa el % no codicioso |
| Extracción de subcadena | ${var:0:3} | Operador distinto, poco común en PKGBUILDs |
| Sustitución de patrones | ${var//foo/bar} | Operador distinto, poco común en PKGBUILDs |
| Expansión aritmética | $((pkgver + 1)) | Fuera del alcance del seguimiento de versiones |
| Expansiones anidadas | ${${var}#prefix} | No es POSIX válido; no se usa en la práctica |