Qual opção especificou a localização do RPM gerado?

0

Tenho notado que, ao criar arquivos rpm, a maioria acaba em /usr/src/redhat/RPMS/i386 (32 bits de construção). Alguns, porém, incluindo um que fazemos internamente, gravam os arquivos rpm em ./i386 .... então o arquivo acaba em /usr/src/redhat/i386 . Eu comparei o arquivo de especificação padrão (é o openssl que está me dando o problema) para o nosso e não consigo ver o que poderia estar causando o problema.

Tarball não preenchido copiado para /usr/src/redhat/SOURCES .

Criando com cd /usr/src/redhat; rpmbuild -bb ./SPECS/openssl.spec

Aqui está o meu arquivo de especificações (retirado da construção chata e dos bits relacionados à instalação):

%define debug_package %{nil}
%define libmaj 1
%define libmin 0
%define librel 1
%define librev l
Release: 1

Summary: Secure Sockets Layer and cryptography libraries and tools
Name: openssl
Version: %{libmaj}.%{libmin}.%{librel}%{librev}
License: Freely distributable
Group: System Environment/Libraries
Source: %{name}-%{version}.tar.gz
URL: http://www.openssl.org/
Packager: Damien Miller <[email protected]>
BuildRoot: /var/tmp/%{name}-%{version}-root
AutoReqProv: yes
Provides: libcrypto.so.6 libssl.so.6

%description
blah blah

%prep

%setup

%build

./Configure --prefix=/usr threads shared linux-elf
LD_LIBRARY_PATH='pwd' make depend
LD_LIBRARY_PATH='pwd' make

%install
rm -rf $RPM_BUILD_ROOT
...    

%clean
rm -rf $RPM_BUILD_ROOT

%files 
%defattr(-, root, root)
...

%pre

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

E o arquivo de especificações de estoque pode ser encontrado aqui .

    
por Jon 22.01.2015 / 17:13

1 resposta

1

Há uma variável RPM que você pode definir _topdir para mover a pasta de saída padrão das pastas BUILD , RPMS , SOURCES , SPECS e SRPMS .

Existem duas maneiras de definir isso:

  1. Crie .rpmmacros na sua pasta e adicione %_topdir /path

  2. Quando você chama rpmbuild add --define :

    • rpmbuild --define "_topdir /path" -bb $specfile
por 22.01.2015 / 18:15