Red Hat Training

A Red Hat training course is available for RHEL 8

3.3.2. Creación de RPM binarios

Los siguientes métodos están disponibles para construir RPMs binarios:

  • Reconstrucción de un RPM binario a partir de un RPM fuente
  • Construir un RPM binario a partir del archivo SPEC
  • Construir un RPM binario a partir de un RPM fuente

3.3.2.1. Reconstrucción de un RPM binario a partir de un RPM fuente

El siguiente procedimiento muestra cómo reconstruir un RPM binario a partir de un RPM fuente (SRPM).

Procedimiento

  • Para reconstruir bello, pello, y cello desde sus SRPMs, ejecute:

    $ rpmbuild --rebuild ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
    [output truncated]
    
    $ rpmbuild --rebuild ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
    [output truncated]
    
    $ rpmbuild --rebuild ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
    [output truncated]
Nota

Invocar rpmbuild --rebuild implica:

  • Instalar el contenido del SRPM -el archivo SPEC y el código fuente- en el directorio ~/rpmbuild/.
  • Construir utilizando los contenidos instalados.
  • Eliminación del archivo SPEC y del código fuente.

Para conservar el archivo SPEC y el código fuente después de la construcción, puede:

  • Al construir, utilice el comando rpmbuild con la opción --recompile en lugar de la opción --rebuild.
  • Instale los SRPMs utilizando estos comandos:

    $ rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
    Updating / installing…​
       1:bello-0.1-1.el8               [100%]
    
    $ rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
    Updating / installing…​
    …​1:pello-0.1.2-1.el8              [100%]
    
    $ rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
    Updating / installing…​
    …​1:cello-1.0-1.el8            [100%]

La salida generada al crear un RPM binario es verbosa, lo cual es útil para la depuración. La salida varía para diferentes ejemplos y corresponde a sus archivos SPEC.

Los RPM binarios resultantes se encuentran en el directorio ~/rpmbuild/RPMS/YOURARCH donde YOURARCH es su arquitectura o en el directorio ~/rpmbuild/RPMS/noarch/, si el paquete no es específico de la arquitectura.