Red Hat Training
A Red Hat training course is available for RHEL 8
4.2. Más sobre las macros
Esta sección cubre algunas macros incorporadas a RPM. Para una lista exhaustiva de dichas macros, consulte la documentación de RPM.
4.2.1. Definir sus propias macros
La siguiente sección describe cómo crear una macro personalizada.
Procedimiento
Incluya la siguiente línea en el archivo RPM SPEC:
%global <name>[(opts)] <body>
Se eliminan todos los espacios en blanco que rodean a \
. El nombre puede estar compuesto por caracteres alfanuméricos y el carácter _
y debe tener una longitud mínima de 3 caracteres. La inclusión del campo (opts)
es opcional:
-
Simple
las macros no contienen el campo(opts)
. En este caso, sólo se realiza la expansión recursiva de las macros. -
las macros
Parametrized
contienen el campo(opts)
. La cadenaopts
entre paréntesis se pasa agetopt(3)
para el procesamiento deargc/argv
al principio de la invocación de una macro.
Los archivos RPM SPEC más antiguos utilizan el patrón de macros fine <name> <body>
en su lugar. Las diferencias entre las macros fine
y %global
son las siguientes:
-
fine
tiene alcance local. Se aplica a una parte específica de un archivo SPEC. El cuerpo de una macrofine
se expande cuando se utiliza. -
%global
tiene un alcance global. Se aplica a todo un archivo SPEC. El cuerpo de una macro%global
se expande en el momento de la definición.
Las macros se evalúan incluso si se comentan o el nombre de la macro se indica en la sección %changelog
del archivo SPEC. Para comentar una macro, utilice %%
. Por ejemplo: %%global
.
Recursos adicionales
Para obtener información completa sobre las capacidades de las macros, consulte la documentación de RPM.