Publicado na lista de discussão do Fedora proposta para padronizar macros em arquivos de especificação RPM, permitindo adicionar aos pacotes RPM a capacidade de selecionar sinalizadores de compilação e dependências adicionais no estágio de construção.
Exemplo de uso:
%se %{usar SSL}
BuildRequires: openssl-devel
%fim se
% prep
%configure %{use_enable ssl openssl}
% Verifica
faça teste %{?_use_ssl:-DSSL}
Neste exemplo, ao especificar a macro USE ssl no arquivo spec, uma dependência adicional no pacote openssl-devel será adicionada, uma etapa de configuração será executada com a opção --enable-openssl habilitada e os testes correspondentes serão executado durante a construção.
Presume-se que a opção de construção será especificada pela macro binária %_use_ com wrappers adicionais como:
- %{usar } – assume valores 0 ou 1,
- %{use_enable [ [ ]]} – expande para —disable- ou --enable- .
Adicionar opções deste tipo aos arquivos de especificação permitirá compilar diferentes versões da distribuição a partir das mesmas fontes.
Por exemplo, para minimizar a árvore de dependência de construção, você pode usar o parâmetro global %{use docs}, que desativa a construção de documentação.
É possível definir o conjunto apropriado de opções configurando o ambiente de construção. Além disso, as opções podem ser definidas globalmente e redefinidas separadamente para cada pacote.
A proposta ainda não foi aceita e está em discussão.
Fonte: linux.org.ru