Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[script] purge-portpack - purge /etc/portage/package.*
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) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
earcar
Guru
Guru


Joined: 20 Sep 2004
Posts: 425
Location: Bologna, Italy

PostPosted: Sat Apr 19, 2008 2:01 pm    Post subject: [script] purge-portpack - purge /etc/portage/package.* Reply with quote

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 :D
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
View user's profile Send private message
Ashfoot
n00b
n00b


Joined: 12 Oct 2005
Posts: 13

PostPosted: Tue Apr 22, 2008 10:05 am    Post subject: Reply with quote

Mi da il seguente messaggio di errore
Code:

./purge_portpack.sh: line 12: atom: command not found
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Apr 22, 2008 1:37 pm    Post subject: Reply with quote

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 :cry: )
_________________
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
View user's profile Send private message
codadilupo
Advocate
Advocate


Joined: 05 Aug 2003
Posts: 3135

PostPosted: Wed Apr 23, 2008 10:32 am    Post subject: Reply with quote

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
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1419
Location: <ud|me|ts> - Italy

PostPosted: Wed Apr 23, 2008 11:26 am    Post subject: Reply with quote

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 :cry: )

l'unione fa la forza, ci sta un merge?
_________________
LP
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Wed Apr 23, 2008 12:32 pm    Post subject: Reply with quote

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 :cry: )

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
View user's profile Send private message
earcar
Guru
Guru


Joined: 20 Sep 2004
Posts: 425
Location: Bologna, Italy

PostPosted: Wed Apr 23, 2008 4:05 pm    Post subject: Reply with quote

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 :cry: )

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Thu Apr 24, 2008 5:37 am    Post subject: Reply with quote

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 :D
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
View user's profile Send private message
earcar
Guru
Guru


Joined: 20 Sep 2004
Posts: 425
Location: Bologna, Italy

PostPosted: Thu Apr 24, 2008 10:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1419
Location: <ud|me|ts> - Italy

PostPosted: Sat Jun 28, 2008 3:14 pm    Post subject: Reply with quote

Code:
eix-test-obsolete

è 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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Sat Jun 28, 2008 5:37 pm    Post subject: Reply with quote

lucapost wrote:
Code:
eix-test-obsolete

è 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 :wink:
_________________
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
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1419
Location: <ud|me|ts> - Italy

PostPosted: Sat Jun 28, 2008 6:36 pm    Post subject: Reply with quote

:oops:
_________________
LP
Back to top
View user's profile Send private message
102376
l33t
l33t


Joined: 19 Mar 2005
Posts: 608

PostPosted: Sun Nov 16, 2008 7:58 pm    Post subject: tool per pulire package.* Reply with quote

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
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Sun Nov 16, 2008 8:11 pm    Post subject: Reply with quote

Che "pulisca" non lo conosco; ma eix-test-obsolete li segnala.
Back to top
View user's profile Send private message
oRDeX
Veteran
Veteran


Joined: 19 Oct 2003
Posts: 1325
Location: Italy

PostPosted: Tue Nov 18, 2008 9:09 am    Post subject: Reply with quote

Che fiQuata, perche` non avevo mai scoperto la sua esistenza? :P :P
Back to top
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1419
Location: <ud|me|ts> - Italy

PostPosted: Tue Nov 18, 2008 9:44 am    Post subject: Reply with quote

se ne parla anche qui: https://forums.gentoo.org/viewtopic-t-688858-highlight-eixtestobsolete.html
_________________
LP
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Nov 18, 2008 10:34 am    Post subject: Reply with quote

Ho fatto un bel merge ...

oRDeX wrote:
Che fiQuata, perche` non avevo mai scoperto la sua esistenza? :P :P

perchè non segui adeguatamente il forum :lol:
_________________
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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) 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