Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TOOL]Usare ebuild "missing keyword"
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: Tue Oct 24, 2006 8:33 am    Post subject: [TOOL]Usare ebuild "missing keyword" Reply with quote

L'altro giorno stavo imprecando di fronte alla noia di dovermi modificare gli ebuild di alcuni pacchetti stabili su x86 ma "missing keyword" su amd64. Mi toccava farmi un overlay con l'ebuild modificato ma non mi sembrava una soluzione elegante.

Spulciando qua e la ho scoperto ekeyword (contenuto nel pacchetto app-portage/gentoolkit-dev) che consente di aggiungere/togliere keyword ad uno specifico ebuild
Code:
ekeyword ~amd64 /path/to/ebuild
cosa bellissima se non fosse per due piccolissimi inconveniente:
1) si deve rifare il digest di quell'ebuild (ebuild /path/to/ebuild digest)
2) la modifica dura solo fino al prossimo sync

Per ovviare a questo ho partorito un paio di linee di codice ... io lo chiamo overkey.sh
Code:
#!/bin/bash

overk="/etc/portage/package.overkey"
keyw="~amd64"

for eb in $(cat $overk)
do
  ekeyword $keyw $eb
  ebuild $eb digest
done

Come si può intuire facilmente va a lavorare su un file (che dobbiamo mantenere noi) dal nome package.overkey, per adesso il mio è così (ho iniziato ieri)
/etc/portage/package.overkey wrote:
/usr/portage/media-video/dvbcut/dvbcut-0.5.3.ebuild


Lo script va lanciato dopo ogni sync quindi io mi sono fatto un alias eix-sync="eix-sync;overkey.sh" in questo modo automaticamente dopo ogni sync mi vengono rimessi in ~amd64 gli ebuild che voglio.

Non ho idea se possa funzionare per tutti i pacchetti ma io l'ho provato per una mezza dozzina e non ho avuto problemi, ho preferito impostare una keyword di test per comodità mia ma si può ovviamente modificare (se si lascia quella test e si usa un sistema stabile bisogna cmq aggiornare anche package.keywords).

Cosa ve ne pare ? può essere utile, è un enorme cavola, esiste già qualcosa di ufficiale o fatto meglio che serva allo scopo ? varie ed eventuali ?

Come al solito grazie a tutti per il tempo dedicato a leggere il mio ennesimo post delirante :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
cloc3
Advocate
Advocate


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

PostPosted: Tue Oct 24, 2006 8:43 am    Post subject: Re: [TOOL]Usare ebuild "missing keyword" Reply with quote

Kernel78 wrote:

Come al solito grazie a tutti per il tempo dedicato a leggere il mio ennesimo post delirante :wink:

invece il post mi sembra carino.
personalmente, ritengo che l'idea di mantenere un ennesimo overlay possa diventare un appesantimento, ma la strada indicata è corretta.

va detto però che, quando un ebuild possiede la keyword x86 e nessuna keyword amd64, si può risolvere banalmente dichiarando il pacchetto ~x86 (o x86) in /etc/portage .
_________________
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 Oct 24, 2006 8:50 am    Post subject: Re: [TOOL]Usare ebuild "missing keyword" Reply with quote

cloc3 wrote:
va detto però che, quando un ebuild possiede la keyword x86 e nessuna keyword amd64, si può risolvere banalmente dichiarando il pacchetto ~x86 (o x86) in /etc/portage .

Si, avevo provato anche quella strada ma per principio non mi piace avere x86 nel mio bellissimo amd64 :lol:
Ricordo cmq a tutti quelli che usano amd64 (o altre architetture minori) e installano con successo pacchetti "missing keyword" di segnalarlo su bugs.gentoo.org in modo che i devel aggiungano ufficialmente la keyword al pacchetto e tutta la comunità ne possa beneficiare :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
GiRa
l33t
l33t


Joined: 07 Apr 2005
Posts: 717

PostPosted: Tue Oct 24, 2006 9:24 am    Post subject: Reply with quote

Aggiungerei un controllo della necessità di applicare la keyword all'ebuild. Del tipo:
Code:
grep $ARCH_KWD $ACTUAL_EBUILD
if [ `echo $?` != 0 ]
   then #azioni da fare visto che si può togliere $ACTUAL_EBUILD dalla lista
fi
Back to top
View user's profile Send private message
Luca89
Advocate
Advocate


Joined: 27 Apr 2005
Posts: 2107
Location: Agrigento (Italy)

PostPosted: Tue Oct 24, 2006 9:28 am    Post subject: Reply with quote

La versione 1.1 di forcekeymask permette di aggiungere automaticamente in package.keywords la prima keyword che trova nell'ebuild, per esempio l'ebuild dichiara:

Code:
KEYWORDS="x86 ~ppc"


e tu sei su amd64, allora forcekeymask aggiunge in package.keywords:

Code:
categoria/pacchetto x86


Questo modo lo ritengo più pulito perché non va a modificare l'ebuild e rimane attivo dopo qualsiasi sync senza problemi. Oppure sempre forcekeymask, permette di spostare l'ebuild in overlay (lo aveva implementato codadilupo) che non mi piace molto come modalità.

Quote:
Si, avevo provato anche quella strada ma per principio non mi piace avere x86 nel mio bellissimo amd64


e perchè? non cambia assolutamente nulla se usi una keyword o l'altra nella compilazione del pacchetto.
_________________
Running Fast!
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Oct 24, 2006 9:37 am    Post subject: Reply with quote

GiRa wrote:
Aggiungerei un controllo della necessità di applicare la keyword all'ebuild. Del tipo:
Code:
grep $ARCH_KWD $ACTUAL_EBUILD
if [ `echo $?` != 0 ]
   then #azioni da fare visto che si può togliere $ACTUAL_EBUILD dalla lista
fi

Non servirebbe, se si prova a lanciare ekeyword <keyword> <ebuild> con una keyword già presente questa non viene considerata.

Grazie cmq per il commento :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
GiRa
l33t
l33t


Joined: 07 Apr 2005
Posts: 717

PostPosted: Tue Oct 24, 2006 10:01 am    Post subject: Reply with quote

Prego, io son uno stabiloso e quindi ignorante in questo campo :D
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