Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[DEV] Quali ebuilds effettuano l'override delle CFLAGS?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
neon
l33t
l33t


Joined: 04 Aug 2003
Posts: 759
Location: Catania, Italy, Europe

PostPosted: Fri Jul 29, 2005 1:04 pm    Post subject: [DEV] Quali ebuilds effettuano l'override delle CFLAGS? Reply with quote

Premetto che ho inviato una mail alla lista gentoo-portage-dev, chiedo comunque in forum perche' so che in molti smanettano con il portage e creano script (xchris ne sforna quasi uno al giorno ;) ).
Sto riscrivendo completamente il Gufo ed ho necessariamente bisogno di sapere quali pacchetti effettuano l'ovveride delle CFLAGS in modo da filtrarli per evitare inutili ricompilazioni. Sono arrivato alla conclusione di filtrare gli ebuilds che contencono inherit flag-o-matic.
flag-o-matic e' una eclass che serve a modificare le flag dei pacchetti, solo che non sono sicuro che tutti i pacchetti che la contengono freghino le CFLAGS.

Altra cosa: gcc non ha la suddetta flag nell'ebuild (ma in /var/db/pkg/.../.../INHERITED si).

Qualche idea?

Il nuovo gufo e' quasi pronto, manca solo questa cosa. La 0.3 non utilizzera' piu' dialog (quindi niente bug che lo blocca durante la selezione), controlla solo le versioni installate dei pacchetti (quello vecchio ricompilava anche pacchetti vecchissimi), cerca di utilizzare le portage API (quelle che conosco ;))
_________________
Io credo che le tecnologie siano moralmente neutrali fino a quando non le utilizziamo - William Gibson

LINEE GUIDA DEL FORUM
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Fri Jul 29, 2005 3:19 pm    Post subject: Reply with quote

ho idea che filtrare su quelli che hanno flag-omatic non sia una buona idea...

controllando con auntmary(azz e' gia' comoda :) ) vedo che molti che utilizzano flag-omatic non mi hanno variato affato CFLAGS..

Il file INHERITED viene creato cmq ...mi pare.
(a parte che viene scritto in modo osceno.... 20k duplicati...)

Eventualmente se ti puo' tornare comoda la zia per queste esplorazioni di /var/db/pkg te la passo anche se e' completamente sbrindellata :D

ciao

EDIT:c'e' da dire che io sono -i686 -O2 -pipe che e' la scelta spesso operata per cambiare CFLAGS... quindi potrei aver detto una strunzt
EDIT:

questo ci prende abbastanza... basta intercettare le funzioni giuste :)
Code:

for x in `find /var/db/pkg/ -iname *.ebuild`; do INSPECT=`grep -e "-flags" $x`; [ "$INSPECT" ] &&  echo $x && echo $INSPECT;done

_________________
while True:Gentoo()
Back to top
View user's profile Send private message
neon
l33t
l33t


Joined: 04 Aug 2003
Posts: 759
Location: Catania, Italy, Europe

PostPosted: Fri Jul 29, 2005 6:32 pm    Post subject: Reply with quote

xchris wrote:
controllando con auntmary(azz e' gia' comoda :) ) vedo che molti che utilizzano flag-omatic non mi hanno variato affato CFLAGS..

Si, notavo anche alcuni dei miei pacchetti...
a quanto mi hanno risposto in mailinglist flag-o-matic fornisce le funzioni per filtrare, sostituire, aggiungere CFLAGS, quindi se non vado errato a volte capita che non viene trovato il settaggio "vietato" e quindi non vengono modificate le cflags.

xchris wrote:
Il file INHERITED viene creato cmq ...mi pare.
(a parte che viene scritto in modo osceno.... 20k duplicati...)

INHERITED viene creato ma resta vuoto per quelli che non usano flag-o-matic & co mentre e' pieno per quelli che li usano, che intendi per duplicati? le voci all'interno del file sono specificate piu' volte?

xchris wrote:
Eventualmente se ti puo' tornare comoda la zia per queste esplorazioni di /var/db/pkg te la passo anche se e' completamente sbrindellata :D

Ma la zia non lavora di dipendennze? Se pensi che possa essermi utile sparamela, la mia mail dovrebbe essere nel profilo ;)

xchris wrote:
questo ci prende abbastanza... basta intercettare le funzioni giuste :)
Code:

for x in `find /var/db/pkg/ -iname *.ebuild`; do INSPECT=`grep -e "-flags" $x`; [ "$INSPECT" ] &&  echo $x && echo $INSPECT;done

Grazie, utile (io non basho bene ;) )

sto provando a filtrare solo gli ebuild che contengono replace-flags e filter-flags sembra un compromesso buono.

Inizio a sospettare che l'unico modo sia applicare i gli stessi filtri deglli ebuilds alle CFLAGS correnti e poi confrontarle, se sono uguali non ricompilo altrimenti si, ma per fare questo dovrei spulciarmi bene portage o reinventare l'acqua calda... (spero di essermi espresso in maniera comprensibile)

Grazie xchris ;)


EDIT: dimenticavo sys-devel/gcc non ha flag-o-matic eppure modifica le CFLAGS e' magia???
_________________
Io credo che le tecnologie siano moralmente neutrali fino a quando non le utilizziamo - William Gibson

LINEE GUIDA DEL FORUM
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Fri Jul 29, 2005 8:31 pm    Post subject: Re: xmms e i casini con le use Reply with quote

neon wrote:
INHERITED viene creato ma resta vuoto per quelli che non usano flag-o-matic & co mentre e' pieno per quelli che li usano, che intendi per duplicati? le voci all'interno del file sono specificate piu' volte?


si gcc... ad esempio ha almeno 5 duplicati per ogni voce...anomalo!
ho controllato su una gentoo fresh ed e' a posto. boh
sistemero :)

neon wrote:
Ma la zia non lavora di dipendennze? Se pensi che possa essermi utile sparamela, la mia mail dovrebbe essere nel profilo ;)


si lo scopo della zia e' quella delle dipendenze ma da i dettagli di ogni pacchetto installato.
Quindi al volo vedi CFLAGS (o quello che vuoi facendo piccole modifiche al codice) e i file che ti interessano in /var/db/pkg

questo e' un pezzettino di codice che scrive nella finestra dei dettagli
Code:

self.__printaux(t,item,"LICENSE")
self.__printaux(t,item,"SLOT")
self.__printaux(t,item,'CHOST')
self.__printaux(t,item,"CFLAGS")
self.__printaux(t,item,"CXXFLAGS")
self.__printaux(t,item,"LDFLAGS")


Direi che e' semplice mettere quello che ti serve :)
se ti fa comodo domani te lo mando. (ora sono su altro pc sbragato e dovrei fare un paio di modifiche per renderlo funzionante anche sul tuo pc)

neon wrote:

Inizio a sospettare che l'unico modo sia applicare i gli stessi filtri deglli ebuilds alle CFLAGS correnti e poi confrontarle, se sono uguali non ricompilo altrimenti si, ma per fare questo dovrei spulciarmi bene portage o reinventare l'acqua calda... (spero di essermi espresso in maniera comprensibile)

ho idea che sia l'approccio + corretto...
neon wrote:

EDIT: dimenticavo sys-devel/gcc non ha flag-o-matic eppure modifica le CFLAGS e' magia???


boh :) magari ci guardo :)
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum