Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Mantenere ordinati /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
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Thu Mar 22, 2007 4:02 pm    Post subject: [TIP] Mantenere ordinati /etc/portage/package.* Reply with quote

Premessa: questa guida è rivolta solo a coloro che non usano macchine completamente in ~

Sia che si usino i package.* come singoli file o come directory sarebbe meglio sfruttarli per lavorare su singole versioni.
Per esempio se volessi avere una certa versione mascherata di un pacchetto (dopo aver controllato che non mi dia problemi) sarebbe preferibile limitarsi a smascherare solo la versione del pacchetto e non tutto il pacchetto, altrimenti rischio che in futuro una versione ~ possa portare scompiglio nel mio sistema.

Questo si può ottenere con un semplice
Code:
=<categoria>/<pacchetto>-<versione> ~<architettura>
questo comporta però che quando la versione che abbiamo smascherato viene resa stabile avremo una riga inutile nella nostra configurazione.

Qui vengono in aiuto le mie nevrosi (dovreste vedere le mie postazioni a casa e in ufficio per rendervi conto che l'ordine lo impongo solo DENTRO i pc) che mi hanno spinto a scrivere questo piccolo script.
Code:
for anomaly in $(eix -tTc | grep -E '^\[[A-Z]\]' | cut -f 2 -d " ")
do
  file_name=$(grep -lR $anomaly /etc/portage/package.*)
  clear
  echo "edito *** $file_name ***"
  echo "    per anomalia su $anomaly"
  echo "    premere <invio> per procedere"
  read
  $EDITOR $file_name
done

Mi sembra abbastanza autoesplicativo, io lo lancio dopo ogni aggiornamento per aver sempre il minimo indispensabile nei vari package.* (che poi per me sono package.*/*).

Magari è solo una cavolata ma a me sembra comodo e utile.

EDIT: applicata una patch per la gestione degli overlay fornita da earcar
_________________
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
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Mon Feb 23, 2009 8:56 am    Post subject: Reply with quote

L'uso continuato del mio script mi ha spinto a migliorarlo per venire incontro alle mie esigenze e spero anche alle vostre :wink:

Visto che voglio avere la certezza di avere sempre l'ultima versione (anche ~) di firefox-bin me lo tengo sempre presente senza una versione specificata nel mio file /etc/portage/package.keywords/www-client

Questo comportava che appena risultava presente una versione ~ questa veniva installata ma appena veniva dichiarata stabile il mio script iniziava a segnalarla come anomalia ma io non volevo rimuoverla.

Ho quindi ideato un file per le eccezioni /etc/portage/package.ignore in cui inserisco gli atom dei pacchetti per i quali non voglio che venga fatto alcun controllo (nel mio caso www-client/mozilla-firefox-bin) e ho modificato lo script in questo modo

Code:
for anomaly in $(eix -tTc | grep -E '^\[' | cut -f 2 -d " ")
do
  grep -q $anomaly /etc/portage/package.ignore ||
    (file_name=$(grep -lR $anomaly /etc/portage/package.*)
    clear
    echo "edito *** $file_name ***"
    echo "    per anomalia su $anomaly"
    echo "    premere <invio> per procedere"
    read
    $EDITOR $file_name)
done


Fatemi sapere se può venirvi utile :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
publiosulpicio
Apprentice
Apprentice


Joined: 31 Aug 2008
Posts: 150

PostPosted: Mon Feb 23, 2009 5:11 pm    Post subject: Reply with quote

Non sono un esperto, ma fa qualcosa di diverso da eix-test-obsolete?
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Mon Feb 23, 2009 6:10 pm    Post subject: Reply with quote

publiosulpicio wrote:
Non sono un esperto, ma fa qualcosa di diverso da eix-test-obsolete?

beh, eix-test-obsolete fornisce lo stesso output (un po' riorganizzato) di eix -tTc (che è uno dei comandi che uso io) ...

quello fornisce indicazioni, il mio script le elabora e ti apre direttamente i file contenenti le anomalie riportate da eix escludendo i pacchetti definiti nel file /etc/portage/package.ignore
_________________
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
table
Apprentice
Apprentice


Joined: 17 Feb 2007
Posts: 279
Location: Gazzaniga (BG) Italy

PostPosted: Sun Mar 01, 2009 12:56 am    Post subject: Reply with quote

Veramente ottimo! :wink:
_________________
Pulisci l'html con:
Code:
sed 's/<[Bb][Rr][ \t]*\/*>/\n/g;s/<\/*[^>]\+\/*>//g'

skype: matteopinguino
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Sun Mar 01, 2009 7:41 am    Post subject: Reply with quote

table wrote:
Veramente ottimo! :wink:

Grazie, complimenti, suggerimenti o richieste sono sempre ben accetti :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: Sun Mar 01, 2009 10:06 am    Post subject: Reply with quote

Kernel78 wrote:
Grazie, complimenti, suggerimenti o richieste sono sempre ben accetti :wink:

Tempo fa avevo trovato uno script che organizzava sia la lista dei pacchetti che le use in ordine alfabetico, ho provato a cercarlo ma non lo trovo più.
Probabilmente questo esula un pò dal fine originale dello script, però sono funzioni abbastanza utili...
_________________
LP
Back to top
View user's profile Send private message
bi-andrea
Apprentice
Apprentice


Joined: 09 Mar 2010
Posts: 171
Location: cesenatico

PostPosted: Wed Dec 29, 2010 10:23 pm    Post subject: Reply with quote

dunque lo provorei, ma come devo battezzarlo e avviarlo insieme al sistema?
Deve partire al boot?
Io per esempio uso molto proprio questi file, dove con emrege --pretend <pacchetto> mi dice cosa gli serve senza toccare make.conf
_________________
Quando arrivi a Linux è un trauma, abituati a Windows, quando arrivi a Gentoo è uno spavento col brivido , però quando lo capisci sei uscito dall'università "GNU/Linux" ;)
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Thu Dec 30, 2010 6:08 am    Post subject: Reply with quote

bi-andrea wrote:
dunque lo provorei, ma come devo battezzarlo e avviarlo insieme al sistema?

in linux, il nome di un programma è pressoché arbitrario.
inventane uno che non sia già presente nel sistema, poi mettilo nella cartella /usr/local/sbin e marcalo eseguibile con chmod.
trattandosi di uno script bash, potresti premettere la seguente riga di codice:
Code:

#!/bin/bash

io non lo avvierei al boot, perché è un programma interattivo che include un'istruzione read. quindi andrebbe lanciato a mano, quando ne senti necessità.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Jan 04, 2011 2:53 pm    Post subject: Reply with quote

io in genere lo lancio dopo emerge belli corposi ...
_________________
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