Macros USE en paquetes rpm

En el boletín de Fedora se publicó una propuesta una propuesta para la estandarización de macros en archivos de especificación RPM, que permite agregar a los paquetes RPM la opción de seleccionar banderas de compilación y dependencias adicionales en la etapa de construcción.

Ejemplo de uso:

%if %{use ssl}
BuildRequires: openssl-devel
%endif

%prep
%configure %{use_enable ssl openssl}

%check
make test %{?_use_ssl:-DSSL}

En este ejemplo, al establecer el macro USE ssl en el archivo de especificación, se añadirá una dependencia adicional en el paquete openssl-devel, se realizará el paso de configuración con la opción habilitada —enable-openssl, y también se ejecutarán las pruebas correspondientes durante la construcción.

Se supone que la opción de construcción se establecerá mediante el macro binario %_use_ con envolturas adicionales del tipo:

  • %{use } – acepta valores 0 o 1,
  • %{use_enable [ []]} – se expande en —disable- o —enable-.

La adición de opciones de este tipo en los archivos de especificación permitirá construir diferentes variantes de la distribución a partir de las mismas fuentes.

Por ejemplo, para minimizar el árbol de dependencias de construcción, se podrá utilizar el parámetro global %{use docs} que desactiva la compilación de documentación.

Se podrá proporcionar un conjunto adecuado de opciones configurando el entorno de construcción. Además, las opciones se podrán establecer tanto a nivel global como redefinirlas individualmente para cada paquete.

La propuesta aún no ha sido aceptada y se encuentra en discusión.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster