Sim, você pode fazer isso. Não liste nenhum Source
s. Na seção %prep
, não use a macro %setup
(que desativa a origem); em vez disso, basta verificar a fonte.
Note que você não poderá construir SRPMs se fizer isso.
Na minha organização, implantamos todo o nosso software em nossas máquinas de produção usando o RPM. Nosso processo de compilação (que é automatizado) envolve a verificação da origem do controle de versão, o tarring desse diretório de origem e a execução do rpmbuild usando esse tarball de origem. O rpmbuild usa apenas esse tarball para descompactar as fontes para trabalhar nelas. Assim, parece que todo o negócio de tarar e desarmar é apenas um passo extra desnecessário no processo de construção. Existe uma maneira de especificar apenas o diretório de origem no arquivo de especificação, evitando essas etapas extras?
Esta questão é um pouco antiga, mas no caso de outras pessoas a encontrarem 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 configuração , você em vez disso, basta digitar o que você deseja fazer, ou seja, copiar o diretório de origem de SOURCES para BUILD, em vez de descompactar um archive. Descobri que você também precisa adicionar um cd em seu diretório de origem nas seções de criação e instalação.
Exemplo de snippet
%prep
# Don't use the setup macro anymore, replace it with typed-out commands
#%setup -q -n myapp-%{version}
cd %{_topdir}/BUILD
rm -rf myapp-%{version}
cp -rf %{_topdir}/SOURCES/myapp-%{version} .
cd myapp-%{version}
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
%patch1 -p1 -b .cert-config
%patch2
%build
cd myapp-%{version}
%install
cd myapp-%{version}
Tags rpm