# [ TOOL ] usetool - controlliamo le useflag nel sistema

## xchris

[VECCHIA SINTASSI!!!]

Prima di iniziare lo spiegone vorrei dire che "^zanDarK" aveva fatto qc di simile ma non credo l'abbia mai postato. (non l'ho trovato)

In realta' questo tool nasce da un esigenza un po' diversa da quella che sembra.Alla fine spiego per quale motivo e' nato.

Comincio.

usetool serve per fare delle ricerche sui pacchetti installati per determinate useflag.

utilizzi tipici:

- cerchiamo tutti i pkt (attualmente installati) che possono essere compilati con use flag "mmx"

```

./usetool -a mmx 

```

-cerchiamo i pkt che possono essere compilati con use flag "mmx" ma che allo stato attuale non lo sono

```

./usetool -nu mmx

```

-cerchiamo i pkt che sono stati compilati con use flag "mmx"

```

./usetool -u mmx

```

per questi possono essere specificate + use e le trattera' come un OR. (elenca tutti i pkt delle use corrispondenti)

- vogliamo ora per la singola use "mmx" un report

```

./usetool -s mmx

```

in verde elenchera' i pkt che sono stati compilati con "mmx" e in rossi quelli che non lo sono. (tra i pkt che suportano mmx use)

-voglio ora con un comando solo vedere lo stato del sistema e vedere quali pacchetti utilizzano delle USE non "corrispondenti" a quelle generali

```

./usetool -d -v

```

per questa pasto un output

sys-devel/gcc-3.3.3-r6:gcj

dev-lang/swig-1.3.21:guile

net-misc/wget-1.9-r2:ipv6

net-mail/cyrus-imapd-2.1.15::snmp

net-mail/cyrus-imap-admin-2.1.14:snmp

media-libs/openal-20040303:esd

media-libs/libsdl-1.2.7-r1:aalib directfb esd  X xv

media-libs/libao-0.8.5:esd

media-libs/xine-lib-1_rc4-r1:aalib directfb esd

x11-libs/qt-3.3.2:postgres

media-sound/mpg123-0.59s-r3:oss  mmx

media-sound/madplay-0.15.2b:esd

net-www/squid-2.5.5-r2:snmp

kde-base/arts-1.2.3:esd

kde-base/arts-1.1.5: alsa

kde-base/kdeaddons-3.2.2:esd xmms

media-gfx/gimp-2.0.0:aalib gtkhtml

media-video/avifile-0.7.38.20030710-r1:esd

net-analyzer/ethereal-0.10.5:snmp

net-dialup/ppp-2.4.1-r14: ipv6

media-tv/xawtv-3.86-r1::aalib  alsa

Referring to your USE setting

Found packages with these extra   use: aalib directfb esd gcj gtkhtml guile oss postgres snmp xmms

Found packages with these missing use: alsa ipv6 mmx X xv

EDIT

a questo punto facendo

```

./usetool -nu alsa ipv6 mmx X xv

```

otteniamo l'elenco degli ebuild da emerge per avere le funzionalita' extra date dalle use mancanti nei precedenti build

/EDIT

in questo caso ho aggiunto "-v" per avere anche le versioni.

in realta' tutto era partito per avere la riga:

 *io wrote:*   

> 
> 
> Found packages with these extra use: aalib directfb esd gcj gtkhtml guile oss postgres snmp xmms
> 
> 

 

mi serviva per fare pulizia nel sistema in modo "safe"

Eventualmente se interessa a qualcuno ed e' disposto a fare un po' da cavia (dopo di me) posso postare un howto su come pulire e mantenere gentoo snella.

Ultima note:

supporta anche l'opzione "-nc" per non avere un ouput colorato (per poter essere digerito da altri script)

Non tutte le combinazioni sono disponibili per ovvi motivi (-d,-s offrono un output che senza colore non ha molto senso)

Dovesse interessare posso fare qualche modifica ad hoc.

Lo script va lanciato la prima volta con 

```

usetool -dbs

```

che serve per creare un minidatabase su cui fare ricerche + velocemente.

Va lanciato ogni qual volta fate un emerge che modifichi il sistema (non emerge -s per intenderci)

le opzioni sono disponibili con

```

usetool -h

```

Non e' stato testato molto... se qc trovasse bug..  :Smile:  (probabile)

Il file e' qui:

http://www.xchris.net/download.php?file=files/usetool.tar.gz

ciao

UPDATE - 27/7/04

l'output delle opzioni -u,-a,-nu ha in + un "=" preposto.

Cosi facendo e' possibile lanciare il seguente comando

```

emerge -a `./usetool -nu esd -nc`

```

e partire direttamente con emerge..

UPDATE - 28/7/04

aggiunta opzione -ud --use-description

UPDATE - 02/09/04

in fase di test disponibile per il download la versione python

http://www.xchris.net/download.php?file=files/usetool.tar.gz

----------

## fedeliallalinea

Aggiunto ai post utilissimi

----------

## xchris

WOW  :Smile: 

provalo pero' prima  :Smile: 

ciao

----------

## fedeliallalinea

 *xchris wrote:*   

> provalo pero' prima 

 

Lo faro' appene ho un attimo di tempo.

----------

## xchris

 *fedeliallalinea wrote:*   

> 
> 
> Lo faro' appene ho un attimo di tempo.

 

certo. Ci mancherebbe.

E' che la menzione nei post utilissimi non vorrei mai non fosse meritata  :Very Happy: 

ciao

----------

## fedeliallalinea

 *xchris wrote:*   

> E' che la menzione nei post utilissimi non vorrei mai non fosse meritata 

 

Beh io lo trovo molto utile... io ho scritto un tools che quando aggiungeva una use controllava se c'erano pacchetti su cui influiva e li ricompilava... questo fa molto di piu'   :Very Happy: 

----------

## mfkr79

Che figata !

Lo sto provando, sembra funzioni bene, grazie xchris   :Very Happy: 

----------

## xchris

 :Smile: 

ho uploadato una versione che differisce nel 'output delle opzioni (-u,-nu,-a) in modo tale da poter lanciare comandi tipo:

```

emerge -a `./usetool -nu esd -nc`

```

eventuali suggerimenti sono ben accetti!

ciao

----------

## randomaze

Sembra funzioni bene  :Smile: 

 *xchris wrote:*   

> eventuali suggerimenti sono ben accetti!

 

La possibilitá di avere la descrizione della use sarebbe interessante

----------

## xchris

 *randomaze wrote:*   

> Sembra funzioni bene 
> 
> La possibilitá di avere la descrizione della use sarebbe interessante

 

--> TODOLIST

ma a che livello?

magari per usetool -s mmx (che accetta una sola useflag)?

che intendi?

10x

ciao

----------

## randomaze

 *xchris wrote:*   

> che intendi?

 

La domanda si é posta dopo che ho provato l'opzione -d... valori di risposta, elenco USE e io che mi chiedevo "cosa diavolo fa quella"???

Si potrebbe mettere un parametro per visualizzare la descrizione delle use in gioco oppure (molto piú semplice) un parametro che fa la query veloce della descrizione della USE senza fare altre operazioni...

----------

## xchris

il fatto e' che mettere un opzione per la singola use e' un po' un doppione (si puo' usare sempre euse)

mettere le descrizioni di tutte le use tirate in ballo non vorrei pasticciasse troppo l'output. (e' vero anche che potrebbe essere una extra opzione di visualizzazione)

magari optiamo per la seconda.

10x

ciao

----------

## FonderiaDigitale

eccomi puntualmente a rompere i c***ni.

allora:

1. forse sarebbe meglio fare un output (anche i colori) piu vicino a emerge, con flag + - blu/rosse ecc.

2. puoi inserire le ricerche negative? EDIT: mi spiego meglio: non -u o -nu ma +flag -flag. lo puoi fare con un check in fondo alle opzioni. 

3. il link e' sbagliato. trailing slash http://xchris.altervista.org/GECHI >> http://xchris.altervista.org/GECHI/

non ho ancora guardato il codice per cui aspettati ulteriori rotture di bbolle  :Smile: 

----------

## FonderiaDigitale

dimenticavo.. inserirsci la procedura 'utonto', ovvero se uno si scorda la prima volta di creare il db, fai un 

```
[[ ! -f dbfile ]] && usetool -dbs
```

EDIT: ho visto che fai sourcing di /sbin/functions.sh.

ma solo per i colori?

non ti converrebbe copiare solo le 5 definizioni dei colori nello script e basta?

EDIT: mi sono scordato di dire che e' notevole    :Cool: 

----------

## xchris

sapevo che saresti arrivato   :Laughing: 

per i colori ti riferisci a quelli di etcat?

per le ricerche negative..si puo' fare

a questo punto pero' avrebbero + senso con logica AND (e non OR come funziona adesso e che risulta comoda per alcuni utilizzi tipici)

oppure si potrebbe anche implementare non a breve una minima logica dei predicati (minima)

il codice deve essere ancora sistemato.Ci sono piccoli bug (che non pregiudicano l'output) e migliorie da fare.

Per l'utonto gia' avvisa di lanciare usetool -dbs

Ho preferito non automatizzare perche' e' bene che almeno una volta lo faccia in manuale. (magari si ricordera' che il DB e' da aggiornare  :Smile:  )

che sei un rompiballe e' vero pero' ammetto che sono sempre critiche ben fondate.  :Wink: 

10x 

ciao

----------

## FonderiaDigitale

ecchecevoifa'   :Cool: 

cosa sarebbero i  programmi senza i bachi?

sarebbero come fedeliallalinea con il 56k (speriamo non legga)   :Cool: 

----------

## xchris

 *FonderiaDigitale wrote:*   

> 
> 
> EDIT: ho visto che fai sourcing di /sbin/functions.sh.
> 
> ma solo per i colori?
> ...

 

si e' vero.

In realta' e' stato partorito in poco tempo e non ottimizzato.

Mi serviva per altro,poi ho usato solo i colori. 

 *FonderiaDigitale wrote:*   

> 
> 
> EDIT: mi sono scordato di dire che e' notevole   

 

grassie  :Smile: 

ciao

----------

## fedeliallalinea

 *FonderiaDigitale wrote:*   

> sarebbero come fedeliallalinea con il 56k (speriamo non legga)  

 

Illuso  :Very Happy:  . Neanche un po' di rispetto per chi non si puo' permettere di piu  :Laughing: 

----------

## FonderiaDigitale

argh. mi ha letto.   :Rolling Eyes: 

----------

## xchris

ho uploadato la versione 0.1b

modifiche:

-sistemati un po' i colori

-aggiunta opzione -ud --use-description

-migliorie generali al codice (ma c'e' ancora da fare)

se qc ha tempo di provare e dirmi cosa ne pensa..

A proposito di condizioni sulle USE:

secondo voi qual'e' la migliore logica da adottare?

magari ipotizzate un utilizzo tipico in modo da focalizzare per bene.

Sono ben accetti altri consigli sul funzionamento.

ciao

----------

## kartone

Perche' quando lancio 

```
usetool -dbs
```

 sia da utente che da root mi visualizza l'help?  :Confused: 

la versione e' la 0.1b.

Per sempre utonto...  :Very Happy: Last edited by kartone on Wed Jul 28, 2004 12:03 pm; edited 1 time in total

----------

## xchris

evidente bug!  :Smile: 

per ogni correzione si mettono 2 bug nuovi.... ARGG

sorry

se aspetti 10 minuti metto online la versione corretta con un notevole incremento di velocita' nelle ricerche.

10x

ciao

----------

## xchris

le versioni incalzano (spero non i bug!)

l'ultima versione credo abbia un look carino e soprattutto comodo per la consultazione.

se avete la pazienza di copiare il link (direttamente non va) ecco uno screenshot

http://xchris.altervista.org/GECHI/usetool-0.1d.jpg

ciao

EDIT:Il link funziona... io un po' meno..

----------

## shev

 *xchris wrote:*   

> 
> 
> l'ultima versione credo abbia un look carino e soprattutto comodo per la consultazione.

 

Complimenti vivissimi, comodo e funzionale  :Smile: 

 *Quote:*   

> se avete la pazienza di copiare il link (direttamente non va) ecco uno screenshot

 

Ma sono l'unico a cui funzionano direttamente questi link? Uso firefox e non ho problemi ad aprirli direttamente.

----------

## xchris

 *Shev wrote:*   

> 
> 
> Complimenti vivissimi, comodo e funzionale 
> 
> 

 

grazie mille  :Smile: 

 *Shev wrote:*   

> 
> 
> Ma sono l'unico a cui funzionano direttamente questi link? Uso firefox e non ho problemi ad aprirli direttamente.

 

sono stordito io!

se sono img non ci sono problemi.

Se sono altri tipi di file...allora si.

(dovrebbe essere cosi')

P.S.:c'e' ancora qc bugghetto da sistemare.Aspetto cmq a fare una nuova ver perche' non e' vitale.

ciao

----------

## kartone

Complimentissimi! Ottimo programma...

----------

## FonderiaDigitale

stavolta non ho commenti da fare   :Shocked: 

il che vuol dire bene  :Smile: 

manca solo un ebuild.

----------

## xchris

io lo roderei ancora un po'.

la versione disponibile per il DL ha un piccolo baco (magari domani testo ancora un po' e faccio l'upload di questa finale- provvisoria)

Poi magari studio per avere una ricerca un po' + avanzata.

 *FonderiaDigitale wrote:*   

> 
> 
> stavolta non ho commenti da fare 
> 
> 

 

e' impossibile! pensaci bene   :Laughing: 

grazie cmq per i suggerimenti a te e a randomaze.

Ora e' meglio.

ciauz

----------

## FonderiaDigitale

non complicare le cose col rischio di renderlo piu pesante se non serve  :Smile: 

una cosa che dovresti modificare imho e' il giallo dell'avviso con -s. il colore di notifica di emerge e' il ciano per avvisi vari

----------

## xchris

 *FonderiaDigitale wrote:*   

> non complicare le cose col rischio di renderlo piu pesante se non serve 
> 
> 

 

vediamo un po' cosa mi frulla in testa in questi giorni

+ che altro servirebbe una  cosa diversa...

che qc mi suggerisse un utilizzo pratico per le use negate che non si possa fare magari con un paio di passaggi con la versione attuale.

 *FonderiaDigitale wrote:*   

> 
> 
> una cosa che dovresti modificare imho e' il giallo dell'avviso con -s. il colore di notifica di emerge e' il ciano per avvisi vari

 

vedi che avevo ragione   :Laughing: 

domani lo cianizzo e vedo come butta.

10x

ciao

----------

## xchris

-ho aggiunto GPL section

-Ho sistemato alcuni piccoli bug.

-Ho aggiunto la possibilita' di usare -nc con tutte le opzioni di ricerca (-u,-nu,-a,-s,-d) in modo da usare senza problemi l'output per altri script. (output non stupendo..ma sempre funzionale)

-Ho messo il cyano e ora sembra quasi uno strumento di portage  :Laughing: 

-Ho messo di default --use-description per l'opzione di ricerca -s (mi sembra che abbia un certo senso... )

Pensavo di lasciare la limitazione alla singola use per l'opzione --summary

Eventualmente per l'opzione --difference potrei implementare anche il passaggio delle USE.

se non passo nulla funziona nel solito modo,se ne passo n, filtra solo i pkt con quelle USE.

che ne dite?

----------

## randomaze

 *xchris wrote:*   

> -Ho messo il cyano e ora sembra quasi uno strumento di portage 

 

Se lo ritieni sufficientemente in inglese e aggiungi un piccolo README potresti postarlo in questo forum  :Wink: 

----------

## xchris

 *randomaze wrote:*   

> 
> 
> Se lo ritieni sufficientemente in inglese e aggiungi un piccolo README potresti postarlo in questo forum 

 

si, pensavo di farlo appena mi sembra a posto.

sto facendo delle prove con l'opzione -d e + USE (con una non ha molto senso..ma lo lascio)

ti pasto un output.Dimmi che ne pensi... se puo' essere utile:

```

root@lyra usetool # ./usetool -d mmx gnome kde alsa -ud

media-sound/mpg123: oss  esd mmx

media-gfx/gimp: aalib gtkhtml

media-video/mplayer:  esd

media-libs/xine-lib: aalib directfb

media-libs/gst-plugins:  esd

media-libs/libsdl:  esd

media-libs/xine-lib: aalib directfb

kde-base/arts:  alsa

media-video/mplayer:  esd

media-tv/xawtv: aalib  alsa

Referring to your USE setting

Found packages with these extra   use: aalib directfb gtkhtml oss

Found packages with these missing use: alsa esd mmx

aalib:       Adds support for media-libs/aalib (ASCII-Graphics Library)

directfb:    Adds support for DirectFB layer (library for FB devices)

gtkhtml:     Adds support for gnome-extra/gtkhtml

oss:         Adds support for OSS (Open Sound System)

alsa:        Adds support for media-libs/alsa-lib (Advanced Linux Sound Architecture)

esd:         Adds support for media-sound/esound (Enlightened Sound Daemon)

mmx:         Adds support for optimizations for Pentium MMX and Athlon class processors

```

in questo modo considera solo i pkt influenzati dalle use flag passate.

Se non si passa nulla funziona come al solito e analizza tutto il sistema.

ti pasto anche la versione con -nc (che qui ha + senso)

```
root@lyra usetool # ./usetool -d mmx gnome kde alsa -ud -nc

media-sound/mpg123: oss ( esd mmx )

media-gfx/gimp: aalib gtkhtml

media-video/mplayer: ( esd )

media-libs/xine-lib: aalib directfb

media-libs/gst-plugins: ( esd )

media-libs/libsdl: ( esd )

media-libs/xine-lib: aalib directfb

kde-base/arts: ( alsa )

media-video/mplayer: ( esd )

media-tv/xawtv: aalib ( alsa )

Referring to your USE setting

Found packages with these extra   use: aalib directfb gtkhtml oss

Found packages with these missing use:( alsa esd mmx )

aalib:       Adds support for media-libs/aalib (ASCII-Graphics Library)

directfb:    Adds support for DirectFB layer (library for FB devices)

gtkhtml:     Adds support for gnome-extra/gtkhtml

oss:         Adds support for OSS (Open Sound System)

alsa:        Adds support for media-libs/alsa-lib (Advanced Linux Sound Architecture)

esd:         Adds support for media-sound/esound (Enlightened Sound Daemon)

mmx:         Adds support for optimizations for Pentium MMX and Athlon class processors

```

grazie ancora

ciao

----------

## FonderiaDigitale

oggi offline do un occhio piu attento al codice se vuoi magari da spremerlo ancora di piu

----------

## xchris

magari aspetta a guardarlo appena uploado la 0.2_pre..

ci sono parecchie migliorie a mio avviso.

Inizierei anche a postarlo come suggerito da randomaze sul forum TIPS&

Per le ottimizzazioni c'e' sempre tempo.

(non sono un maco di bash.. se lo riscrivi per intero non ci capisco + un H)

ciao e GRAZIE

----------

## FonderiaDigitale

ma dai.. esagerato   :Cool: 

una cosa che potresti fare e' sostituire grep cut e amici con espressioni regolari e parsing interno con variabili.

se posti la versione prima delle 14 riesco a prenderla per portamela via al lavoro (magari mandamela in mail+pgp  :Very Happy: ) cosi oggi ho anche qualcosa da fare di costruttivo  :Razz: 

----------

## xchris

ok!

messa online la 0.2_pre1

so che non e' il max con cut/paste/tr ma a volte a mio avviso e' + conveniente (per la leggibilita') anche se magari un po' meno prestante e elegante.

in bocca al lupo con le ottimizzazioni  :Smile: 

inizio cmq a postare la ver sul forum TIP& visto che "sembra" stabile anche se magari potrebbe completata (come msg di avviso) ulteriormente.

ciao e grazie ancora

----------

## kartone

Non so se e' un bug...ma e' successo questo:

ho lanciato 

```
usetool -d -v
```

 mi sono usciti dei pacchetti che potevano essere compilati con la use tcltk, allora ho dato (come da guida) 

```
emerge -a `usetool -nu tcltk -nc`
```

ho rilanciato 

```
usetool -d -v
```

 e mi da quest'output:

```
 usetool -d -v

 

cat: /tmp/usetool.extra.use: No such file or directory

cat: /tmp/usetool.extra.notuse: No such file or directory

 

 

Referring to your USE setting

Found packages with these extra   use:

Found packages with these missing use:

```

la versione e' ancora 0.1d perche' solo adesso apprendo della nuova release!  :Very Happy: 

Ancora complimenti!

----------

## xchris

e abbastanza normale per la 0.1d

gli mancava un controllo.

e avendo tu emergiato quelli senza useflag..

al secondo giro non ha trovato nulla.

cmq con la 0.2pre_1 non dovresti + avere l'errore.

fammi sapere

ciao

----------

## neon

 *randomaze wrote:*   

> Se lo ritieni sufficientemente in inglese e aggiungi un piccolo README potresti postarlo in questo forum 

 

O forse ancora meglio su questo thread: Portage utilities not in portage

@xchris: Saresti interessato ad unire il tool con il gufo in modo da creare un unico script per USE e CFLAGS?

----------

## randomaze

Direi che l'output che mi hai fatto vedere va bene... purtroppo non riesco a giocarci per adesso (pessima giornata) vedo stasera o domattina!

( anche se dubito di essere più pignolo di FonderiaDigitale  :Razz:  )

 *xchris wrote:*   

> inizio cmq a postare la ver sul forum TIP& visto che "sembra" stabile anche se magari potrebbe completata (come msg di avviso) ulteriormente.

 

Non hai messo il link  :Exclamation:   :Exclamation:   :Exclamation: 

----------

## xchris

no comment!!!

stavo scappando a magnare  :Very Happy:  (non ci vedevo proprio +)

ciao e grazie

----------

## xchris

 *neon_it wrote:*   

>  Saresti interessato ad unire il tool con il gufo in modo da creare un unico script per USE e CFLAGS?

 

piccolo problema..

i don't speak python!

Se hai la pazienza di tradurlo e integrarlo in python io ti posso dare qualunque delucidazione sullo script.

Unico dubbio e' che magari per l'utilizzo polivalente si devono integrare troppi switch e alla fine risulta un po' incasinato.

Magari sbaglio ed e' solo una mia impressione.. 

ciao

----------

## codadilupo

ragazzi, ma quand'e' che vedremo un bel gechitoolkit che riassuma tutto quello che avete prodotto ?

P.S.: tra l'altro, onde evitare il classico problema: "ma se io voglio solo uno o solo alcuni dei programmi ?" propongo fin da ora che, nell'eventualità di un ebuild solo per tutti i pacchetti, si creino delle USE apposite per ogni pacchetto installato, del tipo

 *Quote:*   

> # emerge -pv gechitoolkit
> 
> [ebuild  N    ] app-portage/gechitoolkit-2.0.0 +gufo +usetool -depcleaner 1,378 kB 

 

scarica i pacchetti con USE + e lascia perdere quelli con USE - *

* ovviamente la scelta dei pacchetti +/- é casuale... é solo un esempio  :Wink: 

P.S.: magari il gechi toolkit potrebbe essere una mera interfaccia a scelta multipla, per lanciare uno dei pacchetti alla volta: cosi' si potrebbe evitare persino di integrare fra loro i programmi, con il rischio paventato da xchris...

CodaLast edited by codadilupo on Thu Jul 29, 2004 12:17 pm; edited 1 time in total

----------

## randomaze

 *neon_it wrote:*   

>  Saresti interessato ad unire il tool con il gufo in modo da creare un unico script per USE e CFLAGS?

 

My 2c:

potreste tenerli separati come eseguibile (anche per i linguaggi... e per non incasinare le opzioni dei due programmi) ma farne un unico pacchetto .tgz con relativo ebuild.

Edit: coda la tua soluzione per le USE mi sembra impraticabile, peraltro non la fanno per kde e tu la metteresti per evitare di avere uno script di 5Kb???

----------

## codadilupo

 *randomaze wrote:*   

> Edit: coda la tua soluzione per le USE mi sembra impraticabile, peraltro non la fanno per kde e tu la metteresti per evitare di avere uno script di 5Kb???

 

perché impraticabile ? Capisco per kde, che contiene 6745 pacchetti ( :Wink: ), ma per una decina al massimo penso che si possa pure fare... no ?

Coda

----------

## xchris

 *codadilupo wrote:*   

> ragazzi, ma quand'e' che vedremo un bel gechitoolkit che riassuma tutto quello che avete prodotto ?
> 
> 

 

sapevo che FonderiaDigitale pensava ad una eclass per i progetti dei gechi.

 *randomaze wrote:*   

> 
> 
> potreste tenerli separati come eseguibile (anche per i linguaggi... e per non incasinare le opzioni dei due programmi) ma farne un unico pacchetto .tgz con relativo ebuild.
> 
> 

 

forse e' la strada + praticabile.

A meno che tu non voglia riscriverlo in python  :Very Happy: 

ciao

----------

## xchris

 *codadilupo wrote:*   

> 
> 
> perché impraticabile ? Capisco per kde, che contiene 6745 pacchetti (), ma per una decina al massimo penso che si possa pure fare... no ?
> 
> Coda

 

direi che per lanciare un 

```

emerge gekit -usetool +depclean

```

devo proprio starti sulle balle per pochi kb!  :Smile: 

ciao

----------

## randomaze

 *codadilupo wrote:*   

> perché impraticabile ? Capisco per kde, che contiene 6745 pacchetti (), ma per una decina al massimo

 

Perché se ogni programma aggiunge delle USE selettive il file /usr/portage/profiles/use.desc diventa enorme... oltre al dover chiedere ai manutentori di portage di aggiungere le use in questione.

Al limite quel discorso sarebbe gestibile con delle variabili d'ambiente

----------

## codadilupo

 *xchris wrote:*   

>  *codadilupo wrote:*   
> 
> perché impraticabile ? Capisco per kde, che contiene 6745 pacchetti (), ma per una decina al massimo penso che si possa pure fare... no ?
> 
> Coda 
> ...

 

Ma va la', era per riunire due dicotomiche filosofie di vita:

tutto insieme Vs. tutto separato

perché anche a me piace l'idea minimalista del "solo quello che dico e quando lo dico io" .... ma resta il fatto che io ho quel tipo di memoria che tutti definiscono "una spugna"... piena di buchi ! e quindi non mi ricordo mai dove sta il tal pacchetto, come si chiama etc..  :Wink: 

Coda

----------

## xchris

 *codadilupo wrote:*   

> 
> 
> Ma va la', era per riunire due dicotomiche filosofie di vita:
> 
> tutto insieme Vs. tutto separato
> ...

 

per la memoria ti capisco molto bene  :Very Happy: 

direi che si potrebbe fare ma il fatto e' che poi usare una useflag per ogni app mi sembra troppo.(senza contare che la maggior parte degli user non le setterebbe e che alla fine scaricherebbero tutto per niente  :Very Happy: )

----------

## FonderiaDigitale

 *xchris wrote:*   

>  *codadilupo wrote:*   ragazzi, ma quand'e' che vedremo un bel gechitoolkit che riassuma tutto quello che avete prodotto ?
> 
>  
> 
> sapevo che FonderiaDigitale pensava ad una eclass per i progetti dei gechi.
> ...

 

e infatti sta ancora li, ma come vedi siamo ancora in fase vulcanica e o ci diamo delle linee-guida o resta difficile organizzare il tutto.

 *randomaze wrote:*   

> 
> 
> potreste tenerli separati come eseguibile (anche per i linguaggi... e per non incasinare le opzioni dei due programmi) ma farne un unico pacchetto .tgz con relativo ebuild.
> 
> 

 

io non sono molto per creare un unico tool.

cio implicherebbe riscrivere tutte o quasi le funzioni, con l'inevitabile effetto di ricreare nuovi bug, e per esperienza (di tutti credo) gentoolkit ha avuto successo proprio xche erano tanti piccoli programmini che facevano cose diverse ma con obiettivi precisi.

installare geckit con use flag? lo vedo un inceppo di troppo, considerando che saranno si e no 10 programmini di poche righe di codice, che non prendono piu di 10k l'uno a dir tanto. e poi non so quanto sia proponibile usare USE personalizzate che non sono spiegate nei tool ufficiali tipo ufed.

molto meglio se ogni autore comincia a pensare a una guida (man) dei propri programmi.

all'ebuild generale ci posso pensare io.

direi di staccare questi post del gekit in un thread separato (fedeli ci pensi te? grazie.)

----------

## FonderiaDigitale

xchris: farti trovare su icq ogni tanto non sarebbe male  :Smile: 

come avevo promesso ho cominciato a lavorare sulle ottimizzazioni, e come presumevi tu, ho stravolto tutto  :Sad: 

lo script non usa piu file esterno, c'e' un unico db che viene letto one-time, tutto il resto delle funzioni e del parsing viene fatto all'interno di array evitando di accedere al disco fisso.

appena e' guardabile (e usaBBBile), lo riposto.

se pensi di aggiungere cose o ribaltare il codice prossimamente, dimmelo prima che altrimenti ho fatto un lavoro per niente  :Smile: 

pensavo addirittura di riscriverlo in c. tu come stai messo?

ciao

----------

## shev

 *FonderiaDigitale wrote:*   

> direi di staccare questi post del gekit in un thread separato (fedeli ci pensi te? grazie.)

 

Ci stavo pensando io, ma ci sono diversi post che contengono riferimenti sia a questo topic che all'eventuale split su gekit, quindi dividendoli si rischia di non capire più il topic.

Per questo più che splittare questo, conviene aprire un nuovo topic dedicato, meno casino e si mantiene tutto più leggibile. Quindi da questo momento, chi vuole dire la sua sul gekit lo faccia nel nuovo topic aperto a riguardo.

Questo topic resta solo per parlare dello usetool di xchris.

----------

## neon

 *xchris wrote:*   

> piccolo problema..
> 
> i don't speak python!

 

Arghh!!! ed io non conosco bash  :Wink: 

Scherzi a parte ho scelto python perchè è la lingua che parlano emerge e tutti i tool di portage. Senza contare che ultimamente cercavo di capire come funzionano le librerie di portage per poterle includere nello script e renderlo 100% portage integrated. Credo che in questo modo sia + semplice proporlo ai dev di gentoo  :Very Happy: 

 *xchris wrote:*   

> Unico dubbio e' che magari per l'utilizzo polivalente si devono integrare troppi switch e alla fine risulta un po' incasinato.

 

Credo basti aggiungerne uno: use o cflags. Gli altri (ad es la ricerca inversa) rimangono uguali.

 *randomaze wrote:*   

> potreste tenerli separati come eseguibile (anche per i linguaggi... e per non incasinare le opzioni dei due programmi) ma farne un unico pacchetto .tgz con relativo ebuild.

 

Ottima idea... VOGLIAMO IL GEKIT!!!  :Very Happy:   :Very Happy:   :Very Happy: 

----------

## FonderiaDigitale

discussione sul gekit spostata qui  :Smile: 

----------

## xchris

 *FonderiaDigitale wrote:*   

> xchris: farti trovare su icq ogni tanto non sarebbe male 

 

ahem...sorry 

 *FonderiaDigitale wrote:*   

> 
> 
> come avevo promesso ho cominciato a lavorare sulle ottimizzazioni, e come presumevi tu, ho stravolto tutto 
> 
> 

 

supponevo  :Laughing: 

e' normale direi.

 *FonderiaDigitale wrote:*   

> 
> 
> lo script non usa piu file esterno, c'e' un unico db che viene letto one-time, tutto il resto delle funzioni e del parsing viene fatto all'interno di array evitando di accedere al disco fisso.
> 
> appena e' guardabile (e usaBBBile), lo riposto.
> ...

 

ottimo! e' quello che mancava  :Smile: 

 *FonderiDigitale wrote:*   

> 
> 
> se pensi di aggiungere cose o ribaltare il codice prossimamente, dimmelo prima che altrimenti ho fatto un lavoro per niente 
> 
> pensavo addirittura di riscriverlo in c. tu come stai messo?
> ...

 

nessuna modifica!

Sabato parto e saro' via per molto tempo.

Controllero' sporadicamente il forum.

A "c" sto messo che ogni volta che lo devo usare devo fare un corso di ripasso.Avevo fatto anni fa un  programma da migliaia di righe di codice (non che sia per forza una bella cosa) ma l'ho usato poi sporadicamente.

Secondo me andrebbe fatto in python.

Sarebbe un ottima scusa per studiarmelo  :Smile: 

Cmq rivoluziona tutto quello che vuoi,ottimizzalo,riscrivilo se vuoi. 

L'importante e' avere un buon tool.

ciao

----------

## randomaze

Avete visto qui  :Question: 

 *Gentoo Linux Newsletter wrote:*   

> 
> 
> Italian Forum user xchris has written a handy bash script that analyzes which packages have been compiled with or without a supported USE flag, available for download at his own website. 
> 
> ...
> ...

 

Complimentoni  :Very Happy: 

----------

## ElDios

COMPLIMENTIIIIIIIIIIIISIMISISMISMISMISMISMSIMSIMSSIMSI  XChris!!! Magnifico tool e magnifico anche il riconoscimento!!!   :Shocked:   :Shocked:   :Shocked: 

INCREDIBILE!!

 :Laughing:   :Laughing:   :Laughing: 

Ancora Bravissimo!!!

----------

## egolf

 *randomaze wrote:*   

> Avete visto qui

 

complimenti per il grandioso tool  :Smile: 

----------

## xchris

 :Shocked:  e chi se lo aspettava?

a dire il vero mi spiace che sia disponibile una versione non proprio "elegante" come stesura di codice....

cmq posso solo essere contento.  :Very Happy: 

per la cronaca stavo ravanando su python e mi sono accorto di quanto bello e'!

Le funzioni principali di usetool sono state replicate e la velocita' e' notevolemente salita!

Vediamo Fonderia che risultati ottiene n bash sistemandolo.(se ha tempo,chiaramente) 

Grazie per i complimente e chiaramente grazie a chi mi ha dato consigli per migliorarlo!

ciauz

----------

## egolf

non so se è una buona idea ma la butto li:

un piccolo controllo delle use specificate in /etc/portage/package.use secondo me non sarebbe male.   :Question: 

----------

## xchris

e' previsto nella prossima release!  :Smile: 

mi era gia' arrivata una mail con questa richiesta.

Grazie cmq per il suggerimento.

ciao

----------

## xchris

piccola nota...

stavo riscrivendo usetool in python tanto per fare pratica con python ed ecco i risultati:

versione bash

```

time usetool -dbs -d

real    0m16.662s

user    0m9.222s

sys     0m22.536s

```

versione python

```

time use2.py

real    0m0.428s

user    0m0.349s

sys     0m0.077s

```

pur aggiungendo 1-2 secondi per emege info che manca nella versione python direi che i vantaggi sono notevoli!

e' anche vero che in bash non sono un mago e non e' ottimizzato. (ma anche in python sono una mezza ----)

se fonderia ottimizzera' lo script sara' interessante fare qc confronto.

a domani la versione bash con uso di package.use

ciao

----------

## FonderiaDigitale

per il momento io sono bloccato causa impegni personali/lavorativi, appena posso riprendo a metterci le mani.

----------

## xchris

usetool-0.2_pre2 disponibile

aggiunto controllo di package.use

ciao

----------

## xchris

se qc fosse interessato a provare (testare) usetool in python mi mandi un  pm con la mail.(mi sarebbe d'aiuto avere qc tester.... con situazioni diverse i bug vengono fuori + facilmente)

ciao

----------

## FonderiaDigitale

visto che in questi giorni non ho testa/tempo/voglia di scrivere codice, te lo testo volentieri. se vuoi mandamelo  :Smile: 

----------

## xchris

dopo i test di fonderiadigitale e' stato migliorato ma non si puo' certo definirlo perfetto.

Ci sono migliorie da fare ma non voglio aspettare il 2005 a rilasciarlo  :Smile: 

Se foste cosi' gentili da testarlo mi fareste un gran favore  :Smile: 

guardate l'help per la nuova sintassi.

http://xchris.altervista.org/GECHI/usetool/

grazie mille  :Smile: 

P.S: il primo dabase sync potra' essere lento! Le volte successive (di db sync) sara' molto + veloce.

----------

## masterbrian

Comodissimo! Aggiunta la tua pagina di download al bookmark   :Cool: 

Prevedi di integrarlo con qmerge?   :Rolling Eyes: 

----------

## xchris

se devo dirla tutta qmerge lo riscriverei completamente (ma non so quando)

Vorrei fare una gui ben fatta per chi e' pigro  :Smile: 

Tutto in python ovviamente  :Smile: 

onorato di essere in bookmaks  :Wink: 

fammi sapere se rilevi qc di anomalo.

ciao

----------

## FonderiaDigitale

IMHO per il momento e' meglio lasciare tanti piccoli tool che fanno un lavoro specifico che un grosso tool superintegrato .. prima di tutto per noi, visto che un po tutto il codice lavora ma non e' per niente ottimizzato e sarebbe da riguardare, e altrimenti poi diventa un bordello da mantenere.

non so come la pensi christian ma penso siamo sulla stessa linea su questo..   :Question: 

----------

## xchris

si concordo.

come se ne era gia' parlato per gufo-usetool

un tool unico diventa incasinato da gestire e da usare!

ciao

----------

## masterbrian

 *xchris wrote:*   

> 
> 
> fammi sapere se rilevi qc di anomalo.
> 
> ciao

 

Per ora va benissimo e' anche molto veloce. Sto provando la ultima, la 0.3.15, personalmente la trovo molto utile.

----------

## masterbrian

 *xchris wrote:*   

> si concordo.
> 
> come se ne era gia' parlato per gufo-usetool
> 
> un tool unico diventa incasinato da gestire e da usare!
> ...

 

Peccato  :Sad: 

----------

## xchris

cmq se faro' questa gui integrera' molte funzioni...

invece e' bene che gli script rimangano separati.

ciao

----------

## xchris

oggi ho uploadato la nuova versione di usetool. (0.3.16)

Ha poche cose in +. Le routine principali non sono cambiate quindi valutate se fare il download.

Changes:

1 -un warning se nel vostro package.use ci sono pacchetti con la sintassi >=cat/app-ver (non e' banale gestire le versioni)

 Spero presto di sistemare questa cosa visto che mi servira' per altri script in cantiere.

2 -aggiunto l'opzione --color se volete forzare i colori quando si fa un pipe verso altri comandi.

 Ad es

```

usetool -d -c | less

```

A parte questa mancanza di check sulla sintassi mi sembra a buon buon punto e sufficientemente stabile.A pochi giorni posto anche sul forum internazionale e riscrivo il README con le istruzioni e gli utilizzi tipici.

Grazie mille  :Smile: 

ciao

----------

## xchris

nuova versione 0.3.19

correzione di un bug (segnalato da fonderia) che ne pregiudicava l'output su useflag contenenti "-"

dovrebbe essere introdotto nel gekit a breve.

altrimenti nel solito posto:

http://xchris.altervista.org/GECHI/usetool/

ciao

----------

## xchris

versione 0.3.20

corretto bug. Crashava se in package.use c'era una linea vuota :S

ciao

----------

