Red Hat Training

A Red Hat training course is available for RHEL 8

4.2.5. Macros de distribución RPM

Diferentes distribuciones proporcionan diferentes conjuntos de macros RPM recomendados basados en la implementación del lenguaje del software que se está empaquetando o en las directrices específicas de la distribución.

Los conjuntos de macros RPM recomendados suelen proporcionarse como paquetes RPM, listos para ser instalados con el gestor de paquetes yum.

Una vez instalados, los archivos de macros se encuentran en el directorio /usr/lib/rpm/macros.d/.

Para mostrar las definiciones de las macros RPM en bruto, ejecute:

rpm --showrc

La salida anterior muestra las definiciones de macros RPM en bruto.

Para determinar qué hace una macro y cómo puede ser útil al empaquetar RPMs, ejecute el comando rpm --eval con el nombre de la macro utilizada como argumento:

rpm --eval %{_MACRO}

Para más información, consulte la página de manual rpm.

4.2.5.1. Creación de macros personalizadas

Puede anular las macros de distribución en el archivo ~/.rpmmacros con sus macros personalizadas. Cualquier cambio que realices afectará a todas las compilaciones de tu máquina.

Aviso

No se recomienda definir nuevas macros en el archivo ~/.rpmmacros. Dichas macros no estarían presentes en otras máquinas, donde los usuarios podrían intentar reconstruir su paquete.

Para anular una macro, ejecute :

%_topdir /opt/some/working/directory/rpmbuild

Puede crear el directorio del ejemplo anterior, incluyendo todos los subdirectorios a través de la utilidad rpmdev-setuptree. El valor de esta macro es por defecto ~/rpmbuild.

%_smp_mflags -l3

La macro anterior se utiliza a menudo para pasar a Makefile, por ejemplo make %{?_smp_mflags}, y para establecer un número de procesos concurrentes durante la fase de construcción. Por defecto, se establece en -jX, donde X es un número de núcleos. Si se altera el número de núcleos, se puede acelerar o ralentizar la construcción de paquetes.