Page 1 of 1

[USE] Due domande...

Posted: Sat Jun 19, 2004 9:33 pm
by Keter
Ciao a tutti
Avrei due domande sulle variabili USE, una generale e una particolare:

1) Domanda generale: mi sembra di aver capito il loro effetto, solo che non capisco come funzionino.
Spiego meglio il mio dubbio, che probabilmente deriva dalla mia scarsa esperienza nella programmazione in ambiente Linux: se io faccio un programma che utilizza le librerie Qt, nessuno riesce ad usarlo se non ha anche le suddette librerie, giusto?
Quindi già al momento dell'"emersione" si cercano le dipendenze e magari, vedendo che quel programma utilizza liberie non possedute, non lo si installa. Ma come funziona invece quando, con le variabili USE, si "toglie ad un programma il supporto per Qt" ? Insomma, come si fa a scrivere un programma che utilizza Gtk o Qt, o entrambi,a seconda della disponibilità dell'utente ? Ho lavorato con le Gtk e da quel che ne so le Qt sono tutta un'altra cosa!! come si fa a supportarle entrambe ? ed é comune nei programmi GUI avere questa possibilità ?

2) Domanda particolare: (questa penso che vi basti una riga per rispondere) ho il lettore DVD ma mi sono scordato :? di inserire la variabile USE dvd. Me ne sono accorto oggi, dopo aver compilato tutto quanto, KDE compreso. Devo ricompilare tutto per poter leggere i DVD ? e se un domani aggiungessi un masterizzatore DVD, dovrei di nuovo ricompilare tutto con l'opzione dvdr? non mi sembra un metodo molto efficace, ma forse é proprio perché non ho capito...


Grazie (della comprensione)
ciao!!

Posted: Sat Jun 19, 2004 9:46 pm
by silian87
1) Ci sono pochi programmi che possono usare sia le gtk che le qt. Probabilmente hanno fatto del codice per la GUI e dell'altro separato per le azioni.

2)Basta che ricompili quelle parti di kde che leggono dvd e fanno cose del genere, credo basti kde-multimedia.

Posted: Sat Jun 19, 2004 9:52 pm
by fedeliallalinea
1) Ti consiglio di leggere qui che e' spiegato molto bene

Posted: Sat Jun 19, 2004 10:52 pm
by fedeliallalinea
Per la domanda 2 ti rispondo cosi'

Code: Select all

#!/bin/sh

# crea la lista dei pacchetti che contengono
# la use e la mette in /tmp
emerge -epv world | grep $1 > /tmp/list

# estrae la lista dei pacchetti da 
# riemergiare
list=`awk '/\// {print $4}' /tmp/list`

# setta la nuova use nel make.conf
euse -E $1

# riemergia i pacchetti in questione
for i in $list
do
  emerge =$i
done

#rimuove la lista dei pacchetti
rm /tmp/list
Non mi assumo nessuna responsabilita' se lo script fa casini. Magari per provarlo cambiate la linea

Code: Select all

emerge =$i
con

Code: Select all

emerge -p =$i
PS: richiede gentoolkit installato

Posted: Sun Jun 20, 2004 11:25 am
by fedeliallalinea
Dimenticavo di dire che lo script si lancia con

Code: Select all

# ./nome_script nome_use_da_aggiungere

Posted: Sun Jun 20, 2004 11:44 am
by Cazzantonio
A parte il fatto che fedeliallalinea, oltre ad ascoltare buona musica, posta anche script molto ultli :D , in generale secondo me ti conviene dare sempre un'occhio alle use settabili per ogni pacchetto aggiungendo un -v dopo il comando emerge. In queto modo ti dice le use che vorrebbe usare per compilare il dato pacchetto: le use abilitate sono segnate in rosso, quelle che invece sarebbero disabilitate sono in blu; se vedi che una delle use disabilitate ti è invece utile in quel frangemte puoi dare davanti ad emerge un USE="xxx" volante o aggiungerlo stabilmente in make.conf, secondo il tuo gusto
In questo modo sei sempre certo di non esserti dimenticato qualche use per strada e pian piano capisci quali sono le use utili da mettere nel make.conf
Almeno io faccio così...

Re: [USE] Due domande...

Posted: Sun Jun 20, 2004 4:29 pm
by federico
Ma come funziona invece quando, con le variabili USE, si "toglie ad un programma il supporto per Qt" ? Insomma, come si fa a scrivere un programma che utilizza Gtk o Qt, o entrambi,a seconda della disponibilità dell'utente ? Ho lavorato con le Gtk e da quel che ne so le Qt sono tutta un'altra cosa!! come si fa a supportarle entrambe ? ed é comune nei programmi GUI avere questa possibilità ?
Questa cosa con le use flag centra poco. Se vuoi scrivere un software che giri sia in gtk sia in qt devi scrivere una applicazione shell o delle librerie di chiamate e poi scrivere DUE frontend, uno in gtk e uno in qt (e per me il "tutta un'altra cosa" delle qt e' in peggio...)