2012-12-28 13 views
5

Sto cercando di creare un pacchetto che aggiorna solo i file sul sistema, ma io continuo a ricevere errori quando rpmbuild è correre. L'errore indica che manca un file.problemi rpmbuild su CentOS - stato di uscita Bad da /home/me/rpmbuild/tmp/rpm-tmp.58942

Ho provato questo su CentOS 5 e 6 con gli stessi risultati.

Ho utilizzato rpmdev-setuptree per impostare il file system, che ha anche impostato il file ~/.rpmmacros. Ho quindi utilizzato rpmdev-newspec per inizializzare il file spec.

Sono in esecuzione come utente non root.

Ho il file spec in ~/rpmbuild/SPECS/test.spec e la mia fonte è: ~/rpmbuild/SOURCES/test-1.tar.gz. Estrarre questo file crea una directory denominata test-1 con 2 file al suo interno. Ho confermato che venga estratto ~/rpmbuild/BUILD/test-1 quando cerco di creare il pacchetto.

corro: rpmbuild -ba ~/rpmbuild/SPECS/test.spec

Allora ottengo questo errore:

  • ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info /home/me/rpmbuild/tmp/rpm-tmp.58942: line 37: ./configure: No such file or directory error: Bad exit status from /home/me/rpmbuild/tmp/rpm-tmp.58942 (%build)

RPM build errors: Bad exit status from /home/me/rpmbuild/tmp/rpm-tmp.58942 (%build)

Ecco il mio file spec:

Name:   test 
Version:  1 
Release:  1%{?dist} 
Summary:  Test 

Group:   Test 
License:  GPL 
URL:   http://example.com 
Source0:  test-1.tar.gz 
BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 

#BuildRequires: 
#Requires:  

%description 
This is a test to push files. 

%prep 
%setup -q 

%build 
#%configure 
#make %{?_smp_mflags} 

%install 
rm -rf $RPM_BUILD_ROOT 
#make install DESTDIR=$RPM_BUILD_ROOT 
install -m 0755 -d $RPM_BUILD_ROOT/opt/test 

%clean 
rm -rf $RPM_BUILD_ROOT 

%files 
%dir /opt/test 
%defattr(-,root,root,-) 
%doc 

Tutte le idee su quello che potrebbe essere sbagliato?

risposta

4

Sembra che il default di GNU "./configure" script non è lì, quindi non è possibile utilizzare la macro di default %setup nel file spec e avrà bisogno di una sezione personalizzata %prep ... (One source)(mirror)

+0

non potevo' t capire come eseguire l'override del macro per impedire che l'esecuzione di './configure', ma ho messo un file di configurazione vuoto nella radice della fonte e mi ha permesso di completare la costruzione. Grazie per avermi messo sulla strada giusta. – Coder1

+4

Scusa - avrei dovuto guardare più vicino! Una ben nota "caratteristica" PITA di RPM è che non puoi commentare una macro come hai fatto sopra. Devi mettere '# %% configure' o solo commentare la * prima riga * della macro! (Il primo ''% sfugge il secondo.) –

+1

Confermato posso costruire il numero di giri senza il file di configurazione ora con l'ulteriore ''% nel commento, oppure rimuovendo completamente quella linea. Stavo pensando che il mio commento funzionasse efficacemente. Grazie! – Coder1

Problemi correlati