O RPM nunca deve ser usado para instalar software no diretório /home
. Esta é apenas uma má ideia. O RPM deve ser usado apenas para diretórios gerenciados pelo sistema ( /bin
, /usr/bin
, etc.).
Em vez disso, este software deve ser instalado em um desses diretórios e:
- Links simbólicos podem ser feitos para eles ou
- As ferramentas, uma vez instaladas, digamos
/usr/bin
, seriam disponibilizadas por meio do$PATH
do sistema.
Sempre que você está tentando fazer algo no Linux / Unix e descobre que está tendo dificuldades para fazê-lo, você deve dar um passo para trás. Esta é a arquitetura / sistema que lhe diz algo. Você provavelmente está fazendo algo que não deveria estar fazendo e está trabalhando contra como ele foi projetado para ser usado.
arquivo de especificações
A macro %install
não faz sentido para mim na sua forma atual.
%install
mkdir -p %buildroot/%name
tar -xvf /home/vagrant/rpm/SOURCE/supportScripts-1.tar
mkdir /home/support/exporttool
mkdir /home/support/bin
mkdir /home/support/jlog
Por que você está mkdir
'inserindo esses diretórios depois de descompactar o tarball? Por que você está mesmo fazendo? Se eles estão incluídos no tarball, isso é desnecessário. Se esses diretórios não estiverem incluídos no tarball, eles estarão vazios e o erro que você está recebendo está lhe dizendo isso.
File not found: /root/rpmbuild/BUILDROOT/supportScripts-0.1-1.x86_64/home/support/exporttool/cmd2
Não há nenhum arquivo cmd2
incluído, pois não estava no tarball ou foi produzido durante o %install
.
Você pode confirmar isso verificando o inventário do tarball:
$ tar tvf /home/vagrant/rpm/SOURCE/supportScripts-1.tar | \
grep -E 'support/{exporttool,bin,jlog}'