16 febrero 2026

SBoDeps para Slackware (resuelva dependencias en SBo)

Solucionador de dependencias heréticamente conveniente para sbopkg.

Al intentar instalar algo como SpamAssassin y sus 41 dependencias multicapa, la vida es demasiado corta para molestarse en buscarlas manualmente. El repositorio de slackbuilds.org (http://www.slackbuilds.org/) incluye toda la información necesaria para automatizarlo en formato legible por computadora, pero no existe ninguna herramienta práctica que lo utilice.

sbopkg (http://www.sbopkg.org/) Es una herramienta madura y de alta calidad que automatiza la compilación e instalación de paquetes de slackbuilds.org, pero por respeto a la liturgia de Slackware, no resuelve dependencias. sbodeps es una utilidad complementaria a sbopkg que facilita enormemente la resolución de dependencias sin quitarle control al administrador.

Requiere
sbopkg Una instalación configurada y en funcionamiento. Consulte http://www.sbopkg.org/ para más información.

Características
  • Resolución de dependencias rápida y sobre la marcha. A diferencia de sqg, no es necesario almacenar colas de compilación con antelación, aunque es posible hacerlo.
  • Si no hay opciones, sbodeps simplemente envía la cola de compilación de los paquetes especificados a la terminal. Use la redirección de salida o la opción -q para almacenarla donde desee. Use la opción -Q para almacenarla en sbopkgel directorio de colas de [nombre del paquete], como sqg se hace, para poder usarla con sbopkg la interfaz de diálogo de [nombre del paquete].
  • A diferencia de sqg, sbodeps omite las dependencias ya instaladas. Usa la opción -a para incluirlas.
  • Para instalar o actualizar paquetes y sus dependencias, sbodeps no se necesita una cola de compilación almacenada; en su lugar, se construye directamente una línea de comandos sbopkg que instala, en el orden correcto, los paquetes especificados y todas sus dependencias que aún no estén instaladas. (Si -a se proporciona [nombre del paquete], se reconstruirán y reinstalarán incluso los que ya estén instalados). Instalar SpamAssassin y sus 41 dependencias es tan sencillo como decir [nombre del paquete] sbodeps -i spamassassin.
  • Novedad en la versión 1.1: Comprobador rápido de actualizaciones: sbodeps -c es aproximadamente 100 veces más rápido que [Nombre del sbopkg -c programa]. Además, añadirá automáticamente cualquier nueva dependencia a la cola de actualizaciones. Instalar todas las actualizaciones disponibles (y cualquier nueva dependencia) es tan sencillo como decir [Nombre del programa] sbodeps -ci.
  • Novedad en la versión 1.1: Por defecto, los paquetes que no son de SBo no se consideran en la resolución de dependencias ni en la comprobación de actualizaciones. Por lo tanto, las dependencias que no son de SBo se reemplazan por versiones de SBo por defecto (para garantizar la compatibilidad), y los paquetes que no son de SBo instalados no se consideran en la comprobación de actualizaciones. Al añadir esta nueva opción -n, se sbodeps considerarán los paquetes que no son de SBo instalados durante la resolución de dependencias o la comprobación de actualizaciones.
  • Novedad en la versión 1.2: La -r opción ahora se ejecuta sbopkg -r para sincronizar el repositorio. Esto significa que puedes combinarla fácilmente con otras sbodepsopciones, como sbopkg -rci sincronizar, comprobar e instalar.
  • Para eliminar un paquete y sus dependencias de slackbuilds.org instaladas, use la opción --remove. Se recomienda precaución; sbodeps compilará y mostrará un comando removepkg, solicitando confirmación antes de ejecutarlo.
  • Muestra un puntero al archivo README del paquete si tiene dependencias opcionales (es decir, si hay una etiqueta %README% en el archivo .info).
  • No requiere root solo para mostrar o almacenar una cola de compilación.
  • Respetuoso con la filosofía de Slackware (http://docs.slackware.com/slackware:philosophy): no le quita ningún control al administrador, muestra exactamente lo que hará antes de hacerlo y no cambia nada sin permiso previo expreso.
  • Descaradamente herético hacia la filosofía de Slackware: podría tentar a alguien a admitir que la resolución automatizada de dependencias puede ser terriblemente conveniente. ;-)

Consideraciones de seguridad
Como parte de su estrategia para lograr un alto rendimiento, sbodepsobtiene directamente sbopkglos archivos de configuración y .info los archivos del repositorio de slackbuilds.org, tratando las entradas de configuración e información como variables de shell. Estos archivos solo deben contener asignaciones de variables y comentarios. Sin embargo, cualquier otro código de shell que se encuentre allí también será ejecutado por bash, incluso rm -rf /. Por lo tanto, antes de usar sbodeps, asegúrese de que sus archivos de configuración y su copia local del repositorio no hayan sido alterados.

(Para ser justos, lo mismo se aplica a la ejecución sbopkgen sí, o de hecho a cualquier script de SlackBuild; podrían fácilmente contener código de shell malicioso).

Uso y opciones
Usage: sbodeps [OPTION...] [PACKAGENAME...]
Generate a sbopkg build queue for one or more packages or check for possible updates to already-installed packages, resolving dependencies.
Options:
-a, --all include all dependencies, even those already installed
-Q, --queue store build queue in /var/lib/sbopkg/queues/PACKAGENAME.sqf
-q FILE, --qfile=FILE, --queuefile=FILE
store build queue in FILE
-i, --install instead of storing build queue, install packages now
--remove remove a package and its dependencies (be careful!)
-c, --check add potential updates (and any new deps) to build queue
-n, --nonrepo consider non-SBo installed packages in dep.res./updates
-r, --sync sync the repo (run 'sbopkg -r') before doing anything else
-v, --version show version number
-h, --help show this help
-L, --licen[sc]e show license

https://github.com/McDutchie/sbodeps/


Que te diviertas!

No hay comentarios:

Publicar un comentario