2011-01-24 6 views
5

Nel mio file spec per il confezionamento di un numero di giri pitone, io voglio rimuovere alcuni tipi di file in alcune directory:escluso tipo di file da imballaggio un numero di giri

ad esempio, voglio escludere fonte file * .py in queste directory:

lib/*.py 

comm/*.py 

Penso che dovrei farlo nella sezione% file della mia specifica. Eventuali suggerimenti?

risposta

5

A un certo punto nel passato remoto, l'hai fatto semplicemente non includendo i file che non volevi nella sezione %file, e quindi non sarebbero stati impacchettati. Questo potrebbe essere risultato troppo incline agli errori, e così alcune implementazioni RPM hanno iniziato a lamentarsi dei file non compressi. Poiché lo sviluppo di RPM è sempre stato un po 'frammentato e sottodimensionato, non mi è chiaro quale sia la soluzione canonica, ma propongo che il modo più sicuro sia quello di rimuovere i file alla fine della routine di installazione. Questo approccio sarà anche facilmente trasferibile ad altri sistemi di confezionamento come dpkg.

19

È necessario utilizzare% escludere macro, vale a dire

%files 
%exclude /lib/*.py 
%exclude /comm/*.py 
3

O semplicemente rimuoverli dal buildroot:

%install 
... 
find %{buildroot} -name ".py" -delete