2010-05-06 9 views
10

ho notato rpmbuild (-bb e opzioni --buildroot) crea il .rpm in luoghi diversi a seconda di quale sistema operativo si sta utilizzando:Come impostare la cartella di destinazione rpmbuild

  • GNU/Linux Ubuntu < = 9.04 :/usr/src/rpm/...
  • GNU/Linux Ubuntu> = 9.10:/home/rpmbuild/...
  • GNU/Linux Fedora:/usr/src/redhat/...

Quindi, come posso impostare manualmente la cartella di destinazione per tutti i sistemi operativi?

+0

anche in relazione https://stackoverflow.com/questions/6285792/ how-do-si-fanno-TOPDIR-rispetto-to-the-location-of-the-spec-file-quando-building/8.243.413 8.243.413 # –

risposta

13

Rispondendo me stesso, aggiungendo:

%define _rpmdir /outputdir 

a .spec file.

1

È possibile utilizzare l'argomento comando --define: ad esempio, questo invierà i file rpm nella directory corrente.

rpmbuild anything.spec --bb --define "_rpmdir $(pwd)" 

Questo invierà l'uscita dir rpmsto

rpmbuild anything.spec --bb --define "_rpmdir /outputdir" 

O forse qualcosa di più complicato, come Custom gradle task for rpmbuild.

0

Solo una piccola commento .. aggiungendo "% definire _rpmdir/OutputDir" a spec di file anche il supporto per rpmbuild nel sistema operativo AIX

Problemi correlati