Red Hat Training

A Red Hat training course is available for RHEL 8

4.2.5. Macros de distribuição RPM

Diferentes distribuições fornecem diferentes conjuntos de macros RPM recomendadas com base na implementação da linguagem do software a ser empacotado ou nas diretrizes específicas da distribuição.

Os conjuntos de macros RPM recomendados são freqüentemente fornecidos como pacotes RPM, prontos para serem instalados com o gerenciador de pacotes yum.

Uma vez instalados, os arquivos de macro podem ser encontrados no diretório /usr/lib/rpm/macros.d/.

Para exibir as definições de macro RPM em bruto, execute:

rpm --showrc

A saída acima mostra as definições de macro de RPM bruto.

Para determinar o que uma macro faz e como pode ser útil ao embalar RPMs, execute o comando rpm --eval com o nome da macro usada como seu argumento:

rpm --eval %{_MACRO}

Para mais informações, consulte a página de manual rpm.

4.2.5.1. Criando macros personalizadas

Você pode substituir as macros de distribuição no arquivo ~/.rpmmacros com suas macros personalizadas. Qualquer mudança que você fizer afeta cada construção em sua máquina.

Atenção

A definição de qualquer nova macros no arquivo ~/.rpmmacros não é recomendada. Tais macros não estariam presentes em outras máquinas, onde os usuários podem querer tentar reconstruir seu pacote.

Para sobrepor uma macro, execute :

%_topdir /opt/some/trabalho/diretório/rpmbuild

Você pode criar o diretório a partir do exemplo acima, incluindo todos os subdiretórios através do utilitário rpmdev-setuptree. O valor desta macro é, por padrão, ~/rpmbuild.

%_smp_mflags -l3

A macro acima é freqüentemente usada para passar para Makefile, por exemplo make %{?_smp_mflags}, e para definir uma série de processos simultâneos durante a fase de construção. Por padrão, ela é definida para -jX, onde X é um número de núcleos. Se você alterar o número de núcleos, você pode acelerar ou retardar uma construção de pacotes.