Na minha organização, implantamos todo o nosso software em nossas máquinas de produção usando RPM. Nosso processo de compilação (que é automatizado) envolve verificar a fonte do controle de versão, tarar esse diretório de origem e executar o rpmbuild usando o tarball de origem. O rpmbuild usa apenas esse tarball para desarmar as fontes e trabalhar nelas. Portanto, parece que todo o negócio de tarar e desarmar é apenas uma etapa extra desnecessária no processo de compilação. Existe uma maneira de apenas especificar o diretório de origem no arquivo de especificações, evitando essas etapas extras?
13
Essa pergunta é um pouco antiga, mas, caso outras pessoas a encontrem na pesquisa, existe uma maneira mais correta de fazer isso que também permite a criação de um SRPM.
Na seção de preparação, em vez de usar a macro de configuração , você deve digitar o que deseja fazer, ou seja, copiar o diretório de origem de SOURCES para BUILD, em vez de descompactar um arquivo morto. Descobri que você também precisa adicionar um CD ao seu diretório de origem nas seções de compilação e instalação.
Fragmento de exemplo
fonte
%{_topdir}/SOURCES
ser%{_sourcedir}
? E%{_topdir}/BUILD
poderia ser%{buildroot}
? (À parte, para situações semelhantes, mas diferentes, nas quais você está tentando adicionar arquivos extras para substituir os extraídos%setup
, os documentos do Fedora recomendam o uso de%{SOURCE2}
etc - fedoraproject.org/wiki/Packaging:RPM_Source_Dir )