View previous topic :: View next topic |
Author |
Message |
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Thu Jan 11, 2007 10:23 pm Post subject: [TIP] Identificare le USE inutili |
|
|
Per chi, come me, ha un sacco di USE in make.conf può tornare utile questo piccolo script che ho appena provato: Code: | source /etc/make.conf
for i in $USE
do if [ `equery hasuse $i 2>/dev/null | wc -l` -eq 0 ]
then echo -e "\nLa use $i non e' usata\n"
elif [ `equery hasuse $i 2>/dev/null | wc -l` -eq 1 ]
then echo "Il pacchetto `equery hasuse $i | cut -f4` e' l'unico ad utilizzare la USE $i"
fi
done | Non fa miracoli, ci mancherebbe, ma senza andare a verificare le use inutili manualmente ora sono in grado di rimuovere 5 use, e valuterò quali altre spostare in package.use.
E' poco efficiente in quanto chiama almeno due volte equery per ogni pacchetto, ma utilizzando variabili temporanee saltano i controlli, se avete miglioramenti, accomodatevi.
Last edited by riverdragon on Mon May 07, 2007 5:09 pm; edited 1 time in total |
|
Back to top |
|
|
bandreabis Advocate
Joined: 18 Feb 2005 Posts: 2495 Location: イタリアのロディで
|
Posted: Thu Jan 11, 2007 10:40 pm Post subject: |
|
|
Io 9 USE inutili (sono su AMD64 ma erori rimasugli di tentativi a 32bit ):
Quote: | $ ./uses
La use gstreamer non e' usata
La use dvd non e' usata
La use musepack non e' usata
La use dvdr non e' usata
La use svga non e' usata
La use yahoo non e' usata
La use win32codecs non e' usata
La use real non e' usata
La use offensive non e' usata
|
Bel TIP.
PS: io voglio usare "offensive"...
PPS: di certo non sono io la persona adatta a migliorare uno script, è già tanto che son riuscito ad avviarlo... _________________ Il numero di post non fa di me un esperto! Anzi! |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Fri Jan 12, 2007 8:45 am Post subject: |
|
|
Carino, complimenti.
Unica commento: io non uso la USE globale bluetooth, ma è preventiva, se un giorno qualche pacchetto la vorrà, eccola lì ad aspettare.
Se la tolgo, saranno guai.
Inoltre, magari vado a togliere flag che non uso ma che comportano l'installazione di pacchetti e allora...
Insomma, complimenti ma come sempre: occhio a ciò che togliete!!
Ps: Scusa se te lo dico, ma mi da come non usata la USE javascript che invece è usata da links...
Pps: Stessa cosa per bluetooth, dga, symlink, xpm, foomaticdb, lm_sensors, ieee1394...
Insomma, tutte quelle che mi dava per inutili in realtà le uso. Forse ha bisogno di una revisione, questo script!
Spero che il mio bug-report ti sia d'aiuto...
Buon lavoro! |
|
Back to top |
|
|
crisandbea Veteran
Joined: 03 Jul 2005 Posts: 1778 Location: BOSCO (SA) ... ma domiciliato a Bologna....
|
Posted: Fri Jan 12, 2007 9:14 am Post subject: |
|
|
forse usando euse al posto di equery, apportando qualche piccola modifica allo script sarebbe ottimo..
cmq bravo, idea utile.
ciauz |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Jan 12, 2007 9:43 am Post subject: |
|
|
Dalla versione 0.7.9 eix riporta anche le USE con cui un pacchetto è installato, penso che con grep dovrebbe dare ottimi risultati _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
drizztbsd Retired Dev
Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
Posted: Fri Jan 12, 2007 9:54 am Post subject: |
|
|
Code: | #!/bin/sh
USE=$(. /etc/make.conf ; echo $USE)
CR="
"
for i in $USE; do
[ -z "${i%-*}" ] && continue
pkg=$(egrep -lr "(^|[^a-z])$i(\$|[^a-z])" --include IUSE /var/db/pkg | sed -e 's:^/var/db/pkg/::' -e 's:/IUSE$::' )
if [ -z "$pkg" ]; then
echo "La use $i non e' usata"
elif [ "${pkg}" = "${pkg%$CR*}" ]; then
echo "Il pacchetto $pkg e' l'unico ad utilizzare la USE $i"
fi
done
|
Una roba del genere dovrebbe essere MOLTO più veloce (e soprattutto non dipende da gentoolkit)
p.s. entrambi non supportano package.use _________________ Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor |
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Fri Jan 12, 2007 11:43 am Post subject: |
|
|
non ho ben afferrato a cosa serve questo script.
Io posso avere anche delle use che non usa nessun pacchetto, ok, ma il vero problema, secondo me, è avere una use in /etc/make.conf che è anche specificata in packages.use... non sarebbe piu' utile scovare questo tipo di ridondanza ?
Coda |
|
Back to top |
|
|
crisandbea Veteran
Joined: 03 Jul 2005 Posts: 1778 Location: BOSCO (SA) ... ma domiciliato a Bologna....
|
Posted: Fri Jan 12, 2007 11:54 am Post subject: |
|
|
codadilupo wrote: | non ho ben afferrato a cosa serve questo script.
Io posso avere anche delle use che non usa nessun pacchetto, ok, ma il vero problema, secondo me, è avere una use in /etc/make.conf che è anche specificata in packages.use... non sarebbe piu' utile scovare questo tipo di ridondanza ?
Coda |
io personalmente uso la seguente politica:
per verificare se è una flag locale o globlale, se è locale e non la usano più di 4-5 pacchetti la inserisco per ogni pacchetto in /etc/portage/package.use, se invece è globale la inserisco direttamente in /etc/make.conf;
ciauz |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Jan 12, 2007 12:31 pm Post subject: |
|
|
crisandbea wrote: | io personalmente uso la seguente politica:
per verificare se è una flag locale o globlale, se è locale e non la usano più di 4-5 pacchetti la inserisco per ogni pacchetto in /etc/portage/package.use, se invece è globale la inserisco direttamente in /etc/make.conf;
ciauz |
è lo stesso discorso che ho avuto recentemente con chrome e anche a lui ho fatto notare che un approccio del genere è limitante ...
Io per esempio ho abilitato la USE globale hardened solo per il pacchetto syslog-ng nel package.use, se l'avessi specificata in make.conf avrei tutto un sistema hardened e non è quello che voglio.
Difficilmente saremo tutti concordi sulla definizione di USE inutili, alcuni ritengono inutili delle USE che non sono usate da nessun pacchetto installato mentre per altri è utile averle già pronte nell'eventualità di installare qualche pacchetto che le possa sfruttare (d'altronde gli stessi profili definiscono delle USE che al termine dell'installazione sono inutilizzate), altri ritengono inutile avere USE definite sia in make.conf che in package.use mentre per alcuni potrebbe essere comodo nel caso in cui si decida di rimuovere una USE da make.conf ma per qualche ragione serve per qualche specifico pacchetto e via dicendo ...
Il bello di Gentoo è la libertà di scelta e ognuno ha i suoi criteri soggettivi. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Fri Jan 12, 2007 2:18 pm Post subject: |
|
|
Un plauso a kernel... Hai elegantemente riassunto il litigio dell'altro thread!! |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Fri Jan 12, 2007 2:23 pm Post subject: |
|
|
Non ho capito cosa faccia, ma lo script di Drizzt Do` Urden funziona molto meglio.
Non è che spiegheresti cosa fa? |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Jan 12, 2007 2:39 pm Post subject: |
|
|
riverdragon wrote: | Non ho capito cosa faccia, ma lo script di Drizzt Do` Urden funziona molto meglio.
Non è che spiegheresti cosa fa? |
Se provi i comandi uno per uno te ne renderesti conto velocemente ...
Estrae le USE da make.conf, se le scorre e cerca tra i pacchetti installati quali hanno quella USE attiva ... _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
drizztbsd Retired Dev
Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
Posted: Fri Jan 12, 2007 2:44 pm Post subject: |
|
|
riverdragon wrote: | Non ho capito cosa faccia, ma lo script di Drizzt Do` Urden funziona molto meglio.
Non è che spiegheresti cosa fa? |
Eccome no
Code: | #!/bin/sh
#Qui potrei usare source /etc/make.conf ma così è più portabile
USE=$(. /etc/make.conf ; echo $USE)
#Un normalissimo \n
CR="
"
for i in $USE; do
#Se la use è di tipo negativo (esempio -gdb) ignorala
[ -z "${i%-*}" ] && continue
#Vado a cercare direttamente nel database dei pacchetti (/var/db/pkg) la use (per le opzioni man grep)
#È molto più veloce di equery perché non usa python o altre porcate simili
pkg=$(egrep -lr "(^|[^a-z])$i(\$|[^a-z])" --include IUSE /var/db/pkg | sed -e 's:^/var/db/pkg/::' -e 's:/IUSE$::' )
if [ -z "$pkg" ]; then
echo "La use $i non e' usata"
#se pkg è uguale a package fino al primo \n vuol dire che cen'è solo uno
#qui andrebbe anche bene il wc -l, solo che forkerebbe per ogni ciclo. così invece no
elif [ "${pkg}" = "${pkg%$CR*}" ]; then
echo "Il pacchetto $pkg e' l'unico ad utilizzare la USE $i"
fi
done
|
_________________ Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor |
|
Back to top |
|
|
bandreabis Advocate
Joined: 18 Feb 2005 Posts: 2495 Location: イタリアのロディで
|
Posted: Sat Oct 16, 2021 10:03 pm Post subject: |
|
|
Quindi cambio /etc/make.conf con /etc/portage/make.conf e posso usare ancora questo script? _________________ Il numero di post non fa di me un esperto! Anzi! |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31255 Location: here
|
Posted: Sun Oct 17, 2021 8:13 am Post subject: |
|
|
bandreabis wrote: | Quindi cambio /etc/make.conf con /etc/portage/make.conf e posso usare ancora questo script? |
Mi sembra che dovrebbe funzionare con questa modifica ma non so quanto possa essere utile se fai uso principalmente di /etc/portage/package.use.
Infatti in make.conf io metto solo lo stretto necessario e per il resto uso /etc/portage/package.use che abilito use flag solo ai pacchetto voluti.
Potresti anche smettere di usare make.conf e utilizzare solo package.use usando la sintassi */* use1 use2 -use3. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Sun Oct 17, 2021 4:07 pm Post subject: |
|
|
Ricevere una notifica su un thread a cui ho partecipato 14 anni fa è strano ma interessante ... complimenti per aver fatto una ricerca prima di aver postato _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31255 Location: here
|
Posted: Sun Oct 17, 2021 4:17 pm Post subject: |
|
|
Kernel78 wrote: | Ricevere una notifica su un thread a cui ho partecipato 14 anni fa è strano ma interessante ... complimenti per aver fatto una ricerca prima di aver postato |
Oh guarda un po' chi si vede . _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Sun Oct 17, 2021 4:21 pm Post subject: |
|
|
fedeliallalinea wrote: | Kernel78 wrote: | Ricevere una notifica su un thread a cui ho partecipato 14 anni fa è strano ma interessante ... complimenti per aver fatto una ricerca prima di aver postato |
Oh guarda un po' chi si vede . |
Ogni tanto penso di tornare su gentoo ma già fatico a trovare del tempo libero per altri progetti ... avere due figlie è più impegnativo che ricompilare il kernel
La cosa che mi stupisce di più è di essere ancora moderatore ...
Mi sono perso qualcosa in questi 14 anni? _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31255 Location: here
|
Posted: Sun Oct 17, 2021 4:26 pm Post subject: |
|
|
Kernel78 wrote: | Ogni tanto penso di tornare su gentoo ma già fatico a trovare del tempo libero per altri progetti ... avere due figlie è più impegnativo che ricompilare il kernel |
Devo dire che se stai su un sistema stable il lavoro una volta installato non è poi così tanto.
Kernel78 wrote: | La cosa che mi stupisce di più è di essere ancora moderatore ... |
Un moderatore è per sempre (o erano i diamanti?)
Kernel78 wrote: | Mi sono perso qualcosa in questi 14 anni? |
A parte che gentoo non è più così popolare come un tempo... solite cose . _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
bandreabis Advocate
Joined: 18 Feb 2005 Posts: 2495 Location: イタリアのロディで
|
Posted: Sun Oct 17, 2021 5:47 pm Post subject: |
|
|
Kernel78 wrote: | Ricevere una notifica su un thread a cui ho partecipato 14 anni fa è strano ma interessante ... complimenti per aver fatto una ricerca prima di aver postato |
È bello risentirvi! _________________ Il numero di post non fa di me un esperto! Anzi! |
|
Back to top |
|
|
antonellocaroli Guru
Joined: 11 Aug 2016 Posts: 510
|
Posted: Mon Nov 22, 2021 6:48 pm Post subject: |
|
|
fedeliallalinea wrote: |
A parte che gentoo non è più così popolare come un tempo... |
beh, questo é un peccato....meriterebbe piú popolarità. |
|
Back to top |
|
|
|