Rpmbuild muda o diretório atual

1

Tendo falhas na construção do RPM usando algum arquivo de especificação que funciona muito bem para outros usuários, descobri que, por algum motivo, o diretório atual é alterado para rpmbuild / BUILD:

+ umask 022
+ cd /home/dev1/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY

Para outros usuários exatamente na mesma máquina, ele permanece no diretório em que foi iniciado e é capaz de localizar os arquivos necessários, portanto funciona bem.

Eu verifiquei novamente o meu .rpmmacros, e a única entrada é o topdir apontando para o diretório rpmbuild.

O arquivo SPEC é:

Summary: core package
Name: core
Version: 2
Release: 1
Group: Applications
License: Commercial
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%description
Core package

%prep

%build

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/Core
mkdir -p $RPM_BUILD_ROOT/Core/etc
install -m 755 dist/Core.jar $RPM_BUILD_ROOT/Core/
install -m 755 dist/launch.sh    $RPM_BUILD_ROOT/Core/
install -m 755 dist/etc/configuration.conf $RPM_BUILD_ROOT/Core/etc/

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
/Core/Core.jar
/Core/launch.sh
%config(noreplace) /Core/etc/configuration.conf

%preun
mv /Core/etc/configuration.conf /Core/etc/configuration.conf.bak

%postun
rm -f /Core/Core.jar
rm -f /Core/launch.sh

Alguma idéia, o que pode estar causando o rpmbuild para mudar o diretório atual?

Obrigado!

    
por SyRenity 17.12.2010 / 04:55

1 resposta

1

topdir em .rpmmacros indica onde seu software deve ser construído, o rpmbuild recomenda construir seus programas em um diretório separado para evitar o cruzamento de streams com arquivos ao vivo, o que normalmente é um bom comportamento.

Se você quiser remover esse comportamento, apenas remova o topdir de .rpmmacros , embora eu não recomende isso.

Poderia ser facilmente que o arquivo SPEC dependa de alguma variável de ambiente que não esteja definida em seu usuário, mas definida nos outros, você deve comparar e ver se esse é o caso, se é assim, adicione essa variável env ao arquivo SPEC .

Então, em uma palavra, acho que a SPEC é a culpada por perder isso de alguma forma, se você colar a SPEC por aqui, posso dar uma olhada e tentar encontrar o problema para você

    
por 30.01.2011 / 12:25

Tags