Empaquetado RPM. Parte 1: conceptos básicos

Este artículo te servirá para entender los conceptos básicos del empaquetado RPM y cómo montar un entorno de construcción de paquetes.


Hoy proliferan las distribuciones basadas en Debian, con su conocido sistema de paquetes .deb. Sin embargo, no es el único sistema de empaquetado disponible. De hecho, el LSB dice que cualquier distribución que quiera cumplir los estándares debe soportar paquetes RPM. Vamos a ver cómo se crea uno.

Usaremos Fedora siguiendo las instrucciones de su wiki.

Preparar el entorno

Se recomienda crear un usuario específicamente para crear los paquetes, de modo que no rompamos nada del nuestro. También necesitamos una selección básica de paquetes:

sudo yum install @development-tools @fedora-packager

Ya está listo lo que necesitamos. Ahora vamos a crear el entorno de construcción de paquetes:

rpmdev-setuptree

Ahora tenemos la carpeta ~/rpmbuild, en la que se encuentran algunas otras carpetas:

  • BUILD: Aquí es donde se construirá el paquete.
  • BUILDROOT: Aquí se realiza el simulacro de instalación. Se escribirán los ficheros que se supone que deben instalarse cuando el usuario final instala el paquete.
  • RPMS: Una vez construido, se colocarán aquí los ficheros RPM binarios (.rpm) resultantes, listos para instalar.
  • SRPMS: Si así lo indicamos, aquí se colocarán los ficheros RPM de fuentes (.src.rpm), ideales para hacer una versión revisada o actualizada del paquete.
  • SOURCES: Aquí hay que poner las fuentes originales (.tar.gz, normalmente) y los parches que haya que usar.
  • SPECS: Aquí se colocan los ficheros de especificaciones (.spec).

    Con esto ya tenemos el entorno preparado. En el próximo capítulo aprenderemos cómo entender esos extraños ficheros spec.


      6 comentarios

      1.   Courage dijo

        Primero baja esos humos.

        Hay distros que evitan todo eso que dices (Mageia, Open Xange, Kororaa…)

        A ver si investigamos un poquito antes de abrir la bocaza

      2.   Rrrr dijo

        El problema de hacer guias para empaquetar RPM es que cada distro tiene sus cosas, aunque obviamente esencialmente no varían. Algo que hasta ahora no sucede en los pquetes deb y ni hablar en los txz de slack! XD

        buena guia, es un tema muy interesante

      3.   Courage dijo

        Buen post

      4.   zulander dijo

        Aun Linux no se cansa de ofrecer soluciones tan radicales y dirigidas a usuarios avanzados, ¿Cuando va ser el día en que ofrescan algo mas facil para usuarios noveles? estoy cansado de ver tanta tontería de empaquetado, consolas y repositorios, que lo único que hacen es atrasar y frustrar más aun la apropiación de usuarios noveles al mundo Linux. No hablo de que no sea bueno lo que hacen o los avances que han realizado hasta ahora, pero sigo criticando las formas en que lo hacen, ya es hora de hacer algo facil y de ofrecer un solo paquete de instalación completo y libre de las ataduras de la conección de internet para poder instalar algo completo. Lastima que las empresas dedicadas al desarrollo de sistemas operativos linux no se han dado cuenta de este pequeño pero tan importante detalle, cosa que si tomaron muy en serio Windows y MacOS…

      5.   portaro dijo

        Buen material me encanta.
        A ver si me hace dar una mirada a la distro Fedora

      6. Excelente justo lo que necesitaba al parecer este proyecto no tiene un rpm

      Deja un comentario

      Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *