Product SiteDocumentation Site

Capítulo 2. Configurar tu entorno de empaquetado

2.1. Crear un usuario del sistema para empaquetar
2.1.1. Configuración inicial
2.1.2. Crear una Cuenta de Usuario de Fedora
2.1.3. Crear una Cuenta de Usuario en Bugzilla
Antes de crear paquetes RPM en Fedora, necesita instalar algunas herramientas básicas de desarrollo:
# dnf -y install @development-tools
# dnf -y install fedora-packager fedora-review rpmlint

2.1. Crear un usuario del sistema para empaquetar

Es recomendable crear un usuario ficticio (dummy) específicamente para crear paquetes RPM, si el proceso de construcción sale mal evitara destruir sus archivos o enviar sus claves privadas a la web.

Aviso

Nunca se debe crear los paquetes como usuario root.
  • Crear un nuevo usuario:
    # useradd nombre_nuevo_usuario
  • Agregar el usuario al grupo 'mock':
    # usermod -a -G mock nombre_nuevo_usuario
    
  • Establecer una contraseña para el nuevo usuario:
    # passwd nombre_nuevo_usuario
    
Fedora cuenta con una rama de desarrollo conocida como Rawhide, Fedora Rawhide es la base para el próximo lanzamiento de Fedora, en Rawhide se encuentran las últimas versiones disponibles del software disponible en Fedora y sirve como una etapa de pruebas y estabilización antes de ponerlas a disposición del público en general. No se exige realizar empaquetar usando Fedora Rawhide pero es altamente recomendable usar una maquina virtual con Fedora Rawhide para asegurarnos que el software que estamos empaquetando podra funcionar sin problemas en la próxima versión estable de Fedora.

2.1.1. Configuración inicial

Una vez creado el usuario para empaquetar en nuestro sistema y habiendo instalando el entorno minimo de empaquetado podemos iniciar la configuración de nuestro entorno de empaquetado. El trabajo de empaquetado RPM se llega a caba utilizando herramientas de linea de comandos, se recomiendo estar familiarizado con la "Terminal".
Iniciamos sesión con el usuario empaquetador, accedemos a una terminal y ejecutamos
$ rpmdev-setuptree
El comando anterior creo el directorio ~/rpmbuild y los subdirectorios que son necesarios para la creación de paquetes RPM:
  • BUILD: Este es el directorio de compilación del código fuente, durante el proceso de de creación de un paquete RPM los archivos fuentes deben compilarse a binarios, a este directorio de copian los archivos fuentes descomprimidos, se aplican los parches sin son necesarios y se ejecuta la compilación de las fuentes.
  • BUILDROOT: En este directorio se "instalan" virtualmente los archivos compilados anteriormente en el directorio /BUILD, bajo este directorio se crean los directorios que necesita el software que estamos empaquetando una vez instalado, los archivos en /BUILDROOT son los que se incluyen en el "payloda" del RPM.
  • RPMS: En directorio se guardan los archivos RPM que vamos a crear.
  • SOURCES: En este directorio se deben guardar los archivos fuentes que se van a compilar, en este mismo directorio se deben guardar los parches sin son necesarios así como todo contenido que queramos incluir en el archivo RPM.
  • SPECS: En este directorio se deben colocar los archivos .spec que vamos a crear para compilar las fuentes en un archivo RPM
  • RPMS: En directorio se guardan los archivos SOURCE RPM que resultan del proceso de crear un RPM, un SOURCE RPM es un archivo que contiene todos los archivos necesarios para recompilar nuevamente el archivo RPM desde las fuentes.

2.1.2. Crear una Cuenta de Usuario de Fedora

Es recomendable a este punto tener activa una cuenta de usuario en el "Fedora Accounts System (FAS)", tener una cuenta FAS nos permitira mas adelante hacer compilaciones de pruebas de nuestro paquete o ponerlo a disposición del público de formal fácil, si no tiene una cuenta FAS debera crear una desde: https://admin.fedoraproject.org/accounts

2.1.3. Crear una Cuenta de Usuario en Bugzilla

El Proyecto Fedora utiliza Bugzilla para llegar registro de bugs, solicitudes de ususarios y revisiones de nuevos paquetes a este punto tener activa una cuenta de usuario en Bugzilla, si no tiene una cuenta FAS debera crear una desde: https://bugzilla.redhat.com/