View previous topic :: View next topic |
Author |
Message |
earcar Guru
Joined: 20 Sep 2004 Posts: 425 Location: Bologna, Italy
|
Posted: Sat Apr 19, 2008 2:01 pm Post subject: [script] purge-portpack - purge /etc/portage/package.* |
|
|
Io odio udept¹.
Ma la sua funzione di pulire i file /etc/portage/package.* la trovavo indispensabile.
L'unica quindi era scriversi uno scriptino e allora eccolo qui:
purge-portpack
Cerca nei file e nelle directory /etc/portage/package.* eventuali entry che non servono più e li segnala all'utente.
Per ora le trova ridondanti solo se il pacchetto non è più installato, ma tempo permettendo vorrei implementare qualcosa di più sofisticato.
Eccovelo qui:
http://cpaolino.web.cs.unibo.it/purge_portpack.sh
Ah dimenticavo, prima vi servono app-portage/eix e app-portage/portage-utils!
Naturalmente patch e commenti sono bene accetti
Bye bye
¹ Si, so benissimo che udept non da nessuna garanzia e che si usa a proprio rischio e pericolo, ma dopo avermi sputtanato tutti i file /etc/portage/package.* ... (omissis) _________________ Bip... bip... bip... -- Sputnik 1 |
|
Back to top |
|
|
Ashfoot n00b
Joined: 12 Oct 2005 Posts: 13
|
Posted: Tue Apr 22, 2008 10:05 am Post subject: |
|
|
Mi da il seguente messaggio di errore
Code: |
./purge_portpack.sh: line 12: atom: command not found
|
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Apr 22, 2008 1:37 pm Post subject: |
|
|
più di un anno fa io avevo postato questo "script" (definirlo script mi pare eccessivo) che mi serviva proprio a questo scopo (il post ha avuto 700 consultazioni e nemmeno un commento ) _________________ 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 |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Wed Apr 23, 2008 10:32 am Post subject: |
|
|
Domandona:
perchè non aggiungere anche un bel
Code: | sed -i "s:"$i":#"$i":" $1 |
almeno poi non te li devi rispulciare a mano
EDIT: mi son permesso una piccola modifica:
Code: | 18c18,23
< eerror "Redundant entry \"$i\""
---
> if [ "$DOIT" == "1" ] ; then
> sed -i "s:"$i":#"$i":" $1
> einfo "entry \"$i\" is now inoffensive ;-)"
> else
> eerror "Redundant entry \"$i\""
> fi
29a35
> -m Files are purged in the real life: use with caution!
43c49
< while getopts "vh" flag; do
---
> while getopts "vhm" flag; do
46a53
> m) DOIT=1;;
|
Coda |
|
Back to top |
|
|
lucapost Veteran
Joined: 24 Nov 2005 Posts: 1419 Location: <ud|me|ts> - Italy
|
Posted: Wed Apr 23, 2008 11:26 am Post subject: |
|
|
Kernel78 wrote: | più di un anno fa io avevo postato questo "script" (definirlo script mi pare eccessivo) che mi serviva proprio a questo scopo (il post ha avuto 700 consultazioni e nemmeno un commento ) |
l'unione fa la forza, ci sta un merge? _________________ LP |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Apr 23, 2008 12:32 pm Post subject: |
|
|
lucapost wrote: | Kernel78 wrote: | più di un anno fa io avevo postato questo "script" (definirlo script mi pare eccessivo) che mi serviva proprio a questo scopo (il post ha avuto 700 consultazioni e nemmeno un commento ) |
l'unione fa la forza, ci sta un merge? |
Non saprei, dovrei scaricarmi il file e guardarlo (Non si potrebbe metterlo nel post invece del link ?) per capire esattamente cosa fa ... alla fine il mio erano 10 righe di cui una è un clear e 3 sono echo ... _________________ 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 |
|
|
earcar Guru
Joined: 20 Sep 2004 Posts: 425 Location: Bologna, Italy
|
Posted: Wed Apr 23, 2008 4:05 pm Post subject: |
|
|
codadilupo wrote: | .. [diff] ... |
Aggiornato! Grazie codadilupo
Kernel78 wrote: | più di un anno fa io avevo postato questo "script" (definirlo script mi pare eccessivo) che mi serviva proprio a questo scopo (il post ha avuto 700 consultazioni e nemmeno un commento ) |
Ho letto solo ora il tuo script¹ e ho scoperto eix -tT e il suo parente eix-test-obsolete.
Questi fanno tutto ciò che fa il mio script, e testano anche se la keyword non serve più perché il pacchetto è stato smascherato upstream.
Hanno 3 problemi però:
1. Non dicono in che file si trova la ridondanza
2. Non c'è modo di dir loro di editare i file al posto mio (come la patch di coda fa )
3. Non testano se ci sono USE o CFLAGS inutili nel package.use/* o package.cflags/*
A questo punto noi potremmo continuare a scrivere script su script per fargli fare quello che vogliamo (ad esempio i tre punti sopra), correggere ogni volta i bug e continuare ad aggiornarli ad ogni release di eix, oppure aiutare lo sviluppo di eix. Personalmente scelgo la seconda e spero di dare un contributo...
Ciao!
¹ Piccolo bug: se uno tra i risultati di eix -tT è in un overlay esce questa brutta cosa:
Code: | edito *** ***
per anomalia su /usr/local/portage
premere <invio> per procedere
|
potresti risolvere così:
Code: | 1c1
< for anomaly in $(eix -tTc | grep -E '^\[[A-Z]\]' | cut -f 2 -d " ")
---
> for anomaly in $(eix -tTc | grep -E '^\[' | cut -f 2 -d " ")
|
_________________ Bip... bip... bip... -- Sputnik 1 |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Thu Apr 24, 2008 5:37 am Post subject: |
|
|
earcar wrote: |
Hanno 3 problemi però:
1. Non dicono in che file si trova la ridondanza
2. Non c'è modo di dir loro di editare i file al posto mio (come la patch di coda fa )
3. Non testano se ci sono USE o CFLAGS inutili nel package.use/* o package.cflags/*
|
1) per risolvere la cosa basta Code: | file_name=$(grep -lR $anomaly /etc/portage/package.*) | che restituisce i nomi di tutti i file in cui è presente l'anomalia
2) quella è una scelta precisa del mio script, se usassi sed potrei farlo in maniera non interattiva (il mio problema è che mi segnala anche mozilla/firefox-bin) che io tengo sempre in keywords per avere l'ultima versione anche quando si trova in testing ma ovviamente quando la versione diventa stabile quell'atom per il sistema on ha più motivo di stare li ... [potrei implementare una lista di atom da ignorare ...]
3) cosa intendi esattamente per "inutili" ? [ma packages.cflags è ufficiale ? in man portage non lo trovo]
Quote: |
A questo punto noi potremmo continuare a scrivere script su script per fargli fare quello che vogliamo (ad esempio i tre punti sopra), correggere ogni volta i bug e continuare ad aggiornarli ad ogni release di eix, oppure aiutare lo sviluppo di eix. Personalmente scelgo la seconda e spero di dare un contributo...
|
secondo me eix va bene così e le altre funzionalità è giusto che siano esterne ... ovviamente IMHO
Quote: |
¹ Piccolo bug: se uno tra i risultati di eix -tT è in un overlay esce questa brutta cosa:
Code: | edito *** ***
per anomalia su /usr/local/portage
premere <invio> per procedere
|
potresti risolvere così:
Code: | 1c1
< for anomaly in $(eix -tTc | grep -E '^\[[A-Z]\]' | cut -f 2 -d " ")
---
> for anomaly in $(eix -tTc | grep -E '^\[' | cut -f 2 -d " ")
|
|
Cavoli, grazie mille
non avendo overlay non mi ero nemmeno mai accorto di questa cosa ... applico subito la patch. _________________ 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 |
|
|
earcar Guru
Joined: 20 Sep 2004 Posts: 425 Location: Bologna, Italy
|
Posted: Thu Apr 24, 2008 10:11 pm Post subject: |
|
|
Kernel78 wrote: |
1) per risolvere la cosa basta Code: | file_name=$(grep -lR $anomaly /etc/portage/package.*) | che restituisce i nomi di tutti i file in cui è presente l'anomalia
[cut]
secondo me eix va bene così e le altre funzionalità è giusto che siano esterne ... ovviamente IMHO
|
Beh eix implementa un sistema per scoprire atom ridondanti nei file package.*, quello che propongo io è migliorare una funzione che già c'è.
Kernel78 wrote: |
2) quella è una scelta precisa del mio script, se usassi sed potrei farlo in maniera non interattiva (il mio problema è che mi segnala anche mozilla/firefox-bin) che io tengo sempre in keywords per avere l'ultima versione anche quando si trova in testing ma ovviamente quando la versione diventa stabile quell'atom per il sistema on ha più motivo di stare li ... [potrei implementare una lista di atom da ignorare ...]
|
Io invece scelsi di notificare e basta, ma visto che ci piace di più l'automazione, ben venga!
Per quanto riguarda gli atom da ignorare, l'idea mi piace.. si potrebbe aggiungere un tag nel package.* (tipo "categoria/pacchetto #@IGNORE"), che te ne pare?
Kernel78 wrote: |
3) cosa intendi esattamente per "inutili" ? [ma packages.cflags è ufficiale ? in man portage non lo trovo]
|
Intendo quelle flag che sono già state attivate/disattivate da un'altra parte e che quindi sono ridondanti. Per le USE ci sono vari posti dove controllare (make.conf, make.profile, flag attivate da altri pacchetti...), ma non credo sia difficile implementare delle funzioni per far questo. E ad eix non farebbe che bene: pensa alla riga di USE in blu che esce quando cerchi un pacchetto.. non sarebbe figo se eix calcolasse già le USE attive per quel pacchetto?
Ciao _________________ Bip... bip... bip... -- Sputnik 1 |
|
Back to top |
|
|
lucapost Veteran
Joined: 24 Nov 2005 Posts: 1419 Location: <ud|me|ts> - Italy
|
Posted: Sat Jun 28, 2008 3:14 pm Post subject: |
|
|
è un tool che segnala quello che c'è di superfluo o ridonadante nei file e directory in /etc/portage/packages*.
Poi comunque le cose bisogna sistemarsele a manina. _________________ LP |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Sat Jun 28, 2008 5:37 pm Post subject: |
|
|
lucapost wrote: |
è un tool che segnala quello che c'è di superfluo o ridonadante nei file e directory in /etc/portage/packages*.
Poi comunque le cose bisogna sistemarsele a manina. |
Scusa ma sembra che tu non abbia letto tutta la discussione prima di postare ...
Io avevo già segnalato il mio "script" e earcar mi aveva risposto "Ho letto solo ora il tuo script¹ e ho scoperto eix -tT e il suo parente eix-test-obsolete."
Inoltre discutevamo anche sulla automatizzazione delle modifiche da aprte dei nostri script _________________ 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 |
|
|
lucapost Veteran
Joined: 24 Nov 2005 Posts: 1419 Location: <ud|me|ts> - Italy
|
Posted: Sat Jun 28, 2008 6:36 pm Post subject: |
|
|
_________________ LP |
|
Back to top |
|
|
102376 l33t
Joined: 19 Mar 2005 Posts: 608
|
Posted: Sun Nov 16, 2008 7:58 pm Post subject: tool per pulire package.* |
|
|
tempo fa mi ero imbattuto in uno scriptino che puliva i file package.* da programmi che non erano più utlizzati o erano diventati stabilil
sapete come si chiamava? perchè ho cercato ma non ho trovato nulla |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Sun Nov 16, 2008 8:11 pm Post subject: |
|
|
Che "pulisca" non lo conosco; ma eix-test-obsolete li segnala. |
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Tue Nov 18, 2008 9:09 am Post subject: |
|
|
Che fiQuata, perche` non avevo mai scoperto la sua esistenza? |
|
Back to top |
|
|
lucapost Veteran
Joined: 24 Nov 2005 Posts: 1419 Location: <ud|me|ts> - Italy
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Nov 18, 2008 10:34 am Post subject: |
|
|
Ho fatto un bel merge ...
oRDeX wrote: | Che fiQuata, perche` non avevo mai scoperto la sua esistenza? |
perchè non segui adeguatamente il forum _________________ 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 |
|
|
|