Questo articolo è il seguito del mio  precedente  tentativo di mettere insieme una tecnica per incoraggiare Sabayon ad abbandonare l'uso di pacchetti mascherati per il test e ad utilizzare invece pacchetti stabili. Ho pubblicato un collegamento all'originale su http://www.sabayonlinux.org forum e  voxiac ha sottolineato l'ovvio : se vuoi arrivare a un ambiente stabile, l'obiettivo dovrebbe essere quello di cambiare le ACCEPT_KEYWORDS dall'accettare tutti i test mascherati pacchetti per l'utilizzo di stalle. Il resto può seguire da lì. Quindi questo è come farlo.

Nota: tutti i riferimenti a ~ amd64 dovrebbero essere modificati per riflettere la tua architettura, probabilmente x86 se non amd64

Per prima cosa, modifica  /etc/make.conf  e commenta, rimuovi o modifica la riga ACCEPT_KEYWORDS in:

ACCEPT_KEYWORDS=amd64

Se lo fai,  devi  fare il resto, altrimenti potresti essere nei guai la prossima volta che riesci a emergere qualcosa. Questa riga dice a  emerge  che tutti i pacchetti devono essere stabili a meno che non sia esplicitamente dichiarato in /etc/portage/package.keywords

Successivamente, dobbiamo ottenere l'elenco dei pacchetti che sono attualmente mascherati come pacchetti di prova e creare un file che possiamo usare per aggiungere a  package.keywords  per far  sapere a emerge  che possono rimanere come pacchetti di prova.

Usiamo tre comandi convogliati insieme per farlo. Puoi provarli fase per fase in modo da poter vedere esattamente cosa sta succedendo. La prima parte è:

equery -i -N list

Questo mostra un elenco di pacchetti installati, come ad esempio:

[I--] [ ~] x11-wm/twm-1.0.3 (0)

La seconda colonna conterrà una tilde "~" se il pacchetto è mascherato. Questi sono i pacchetti di cui abbiamo bisogno, quindi reindirizzeremo l'output in grep per estrarre solo quelle righe che contengono una tilde:

equery -i -N list | grep \~

L'output ora conterrà solo i pacchetti mascherati. Dobbiamo manipolare un po 'ogni riga per estrarre solo il nome del pacchetto, quindi aggiungere il prefisso e il suffisso di cui abbiamo bisogno per il  package.keywords file:

equery -i -N list | grep \~ | sed 's/.* \(.*\) (.*/=\1 ~amd64/'

Questo trasforma la riga sopra:

[I--] [ ~] x11-wm/twm-1.0.3 (0)

in:

=x11-wm/twm-1.0.3 ~amd64

Questo significa “permit use of a masked package for x11-wm/twm, for version 1.0.3 only.”

Dobbiamo solo esportare i risultati di ciò in un file e aggiungerlo a /etc/portage/package.keywords

Output in un file:

equery -i -N list | grep \~ | sed 's/.* \(.*\) (.*/<=\1 ~amd64/' > testpackages

Aggiungi alla fine di  /etc/portage/package.keywords  (fai prima un backup):

cp /etc/portage/package.keywords /etc/portage/package.keywords.backcat testpackages >> /etc/portage/package.keywords

Quest'ultimo comando dovrà essere eseguito con i privilegi di root. Se hai seguito l'approccio dell'articolo precedente, avrai un mucchio di vecchie voci dal metodo precedente. Questi dovranno essere rimossi prima.

Dopo averlo fatto, puoi lasciarlo in pace. Man mano che nuovi pacchetti vengono rilasciati nell'albero stabile, sostituiranno quelli installati e le  package.keywords voci verranno ignorate. voxiac ha suggerito un lavoro CRON che avrebbe ripulito il  package.keywords file nel tempo. Proverò a mettere insieme qualcosa lungo la linea, a seconda del livello di difficoltà della pulizia.

A proposito, questo comando ti darà un conteggio dei pacchetti di test correnti che hai installato:

equery -i -N list | grep \~ | wc -l

Rispetto al totale installato:

equery -i -N list | grep \/ | wc -l

Il mio conteggio è:

Totale: 1347, di cui instabili: 852.

Un bel modo per andare….



Giovedì, Febbraio 7, 2008

« Indietro