KevinCrrl Python AUR Helper: Creado para automatizar de manera segura.

KPA: Documentación

KPA es un proyecto independiente usado en sistemas Arch Linux y derivados, sin embargo, ni KPA ni su creador tienen relaciones con Arch Linux ni con su nombre oficial.

Este es un proyecto que busca la seguridad y el minimalismo para automatizar la clonación de PKGBUILD y construcción a partir de ellos usando el AUR (Arch User Repository), ya que la forma clásica de instalar paquetes desde el AUR es de manera manual, sin embargo, ya que suele ser un proceso complejo, se crean estos programas, desafortunadamente, un helper puede ser riesgoso ya que ejecuta el PKGBUILD sin intervención humana, además que puede ocultar procesos importantes o incluso reemplazar herramientas clásicas, pues en los PKGBUILD pueden haber comandos maliciosos que se pueden ejecutar pidiendo permisos root, todo esto rompe la actividad clásica de usar las herramientas propias del sistema Arch Linux como Git, Makepkg, PacMan o su editor de preferencia.

Disponibilidad

El código fuente de KPA se encuentra en GitHub, está disponible como paquete python en versiones iguales y posteriores a 2.0.0 y para versiones anteriores a 2.0.0 está compilado para arquitecturas aarch64 y x86_64 con pyinstaller (disponibles en releases) y se puede automatizar la instalación vía kpa en AUR (el paquete kpa-bin ya no será mantenido oficialmente y solicité su eliminación del AUR).


Por cierto, esta documentación corresponde a la versión 3.0.0 de KPA y superiores que puedan existir.

Diferencias de este AUR helper

kpa automatiza las herramientas propias de Arch, el entorno Linux y el control de versiones a diferencia de otros AUR Helper que se limitan a sus propias implementaciones y/o reemplazan programas y no ofrecen una mejor transparencia del proceso o un proceso de configuración para usar herramientas diferentes.
- Tiene varios comandos simples:
Ins: Instalar
Act: Actualizar
Des: Desinstalar (Usa `pacman -R`).
Limp: Limpiar el sistema
Conf: Configurar KPA mediante CLI y escribir esa configuración al archivo kpa.json

De estos comandos Ins y Act se pueden usar con --verbose para ver las salidas de Git (Solo a partir de la versión 2.2.0).
A partir de la versión 3.0.0, Ins y Act tienen múltiples banderas, para consultarlas y ver que hace cada una, use:

            
                kpa Ins --help
                # y/o
                kpa Act --help
            
        

Puede ejecutar kpa --help para obtener más información de los comandos principales.
- Confirmación del usuario: Antes de usar makepkg, se muestra el PKGBUILD para que se pueda leer y decidir dentro de la interfaz de consola del programa si quiere continuar o cancelar, además por defecto tiene un detector de EULA que le advierte si un paquete lo contiene (aunque se puede desactivar).

- diffs y scripts .install: Desde la versión 3.0.0, KPA muestra, además del PKGBUILD, el script .install en una instalación, y el diff de cambios en una actualización, premitiendo no depender solo del PKGBUILD y auditar cambios rapidamente o supervisar que un archivo extra no ejecute comandos no deseados.

- Python puro: kpa sigue una filosofía minimalista, por ello no usa bases de datos del AUR, controles de versiones innecesarios o configuraciones que no tienen que ver con la libertad o personalización, kpa solo sigue su objetivo de automatizar y ser útil, por ello usa sus propias carpetas para almacenar los repositorios del AUR clonados, para poder recorrerlos en actualizaciones, verificar su existencia y comparar PKGBUILDs gracias a `pkgbuild-parser`, además de su propia forma de configuración liviana en JSON para darle libertad sobre como quiere usar su AUR helper sin comprometer peso o portabilidad del programa.

- Sin tantas dependencias, solo Python y herramientas de desarrollo: kpa depende de las librerías propias de Python y de unas cuantas externas, lo cual no debe ser un gran peso, ya que Python viene instalado en la mayoría de sistemas, y las librerías externas se pueden instalar en un entorno virtual vía pip, además se usa solo lo suficiente para la construcción de paquetes del AUR, o sea, Git y makepkg que según la wiki de Arch ya viene por defecto en el paquete Pacman.

Construcción e instalación

Visite este sitio para construir e instalar KPA.

El parámetro Limp

Permite limpiar el sistema de paquetes innecesarios, actualmente soporta la limpieza de paquetes huérfanos y caché de la carpeta de KPA.

    
        $ kpa Limp huerfanos
        # O
        $ kpa Limp cache
    
    

Al usar Limp huerfanos, KPA buscará paquetes que fueron instalados como dependencias pero que ya no son requeridos por ningún paquete, y le preguntará si desea eliminarlos.
Al usar Limp cache, KPA eliminará los residuos de archivos comprimidos y carpetas src y pkg de la carpeta donde KPA construye y almacena los PKGBUILD.

kpa.json

La inclusión de proxychains en KPA ha sido retirada en la versión 2.2.0, para usar proxychains debe hacerlo por la línea de comandos, por ejemplo:
$ proxychains kpa Ins [PAQUETE]

Este archivo permite a KPA saber que programas externos usar o como se debe comportar, todo con el fin de mejorar la experiencia y no limitar a que todo el que use KPA sea obligado a usarlo como lo usan los demás, para que no existan problemas en caso de que no cree el archivo, KPA incluye una configuración interna que se usa tanto si no existe el archivo de configuración como cuando solo configura algunas cosas.
A partir de la versión 1.5.0, puede definir solo las variables que desee sin que se produzcan errores. A continuación, se explica para que se usan cada una de las variables en el archivo kpa.json en caso de que quiera personalizar la experiencia:
El archivo se ubica en $XDG_CONFIG_HOME/kpa/kpa.json (normalmente ~/.config/kpa/kpa.json).

Ejemplo

Ejemplo de kpa.json

Volver a Inicio