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 macrosParametrized contienen el campo (opts). La cadena opts entre paréntesis se pasa a getopt(3) para el procesamiento de argc/argv al principio de la invocación de una macro.
Nota

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 macro fine 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.
Importante

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.