2011-09-22 17 views

risposta

18

Sicuro supporta i collegamenti simbolici. Ma in realtà devi impacchettare symlink e non copiare i contenuti in buildroot. Esempio spec imballaggio un link simbolico alla directory/bin chiamata/newbin

Name:   test 
Version:  1.0 
Release:  1%{?dist} 
Summary:  nothing 
License:  GPLv2 
Source0:  nothing 

%description 

%install 
rm -rf %{buildroot} 
mkdir %{buildroot} 
ln -sf /bin %{buildroot}/newbin 

%files 
/newbin 

Avrete anche bisogno nothing file nella directory dei sorgenti per costruire con successo giri al minuto fuori da questo. Testato con rpm 4.9.1.2

+0

Vorrei apportare una modifica a ciò che Stan ha detto sopra, poiché -f è nel collegamento di creazione, la rimozione non dovrebbe essere necessaria. – Jane

+0

@Jane - Non sono d'accordo. Di solito è una buona idea ripulire il buildroot per rimuovere cruft all'inizio di '% install'. Ad esempio, supponiamo che una versione precedente del pacchetto abbia installato un secondo file, "% {buildroot}/newlib'", ma la versione corrente non installa quel file. La versione corrente del pacchetto non sarà a conoscenza di quel file e quindi non verrà rimosso dal buildroot (seguendo il tuo suggerimento). In generale, l'istanza di rpmbuild corrente non è a conoscenza di alcun vecchio cruft che potrebbe trovarsi nella root di compilazione. Meglio solo armare l'intero buildroot prima della fase di installazione. – jayhendren

-1

Non penso. Ho usato lo script di post-installazione per configurare i collegamenti simbolici nei miei pacchetti.

Problemi correlati