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 Copiar enlaceEnlace copiado en el portapapeles!
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:
-
Simplelas macros no contienen el campo(opts). En este caso, sólo se realiza la expansión recursiva de las macros. -
las macros
Parametrizedcontienen el campo(opts). La cadenaoptsentre paréntesis se pasa agetopt(3)para el procesamiento deargc/argval 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:
-
finetiene alcance local. Se aplica a una parte específica de un archivo SPEC. El cuerpo de una macrofinese expande cuando se utiliza. -
%globaltiene un alcance global. Se aplica a todo un archivo SPEC. El cuerpo de una macro%globalse 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.