# ho paura dei flag USE!!!!

## Lupccs

salve a tutti!

mi sto apprestando a installare una Gentoo GRP, e l'unico punto che mi resta da sviluppare è quello dei flag USE. se da una parte mi sono sembrati molto efficaci, dall'altra devo ammettere che sono TANTI!

e di questi tanti flag, posso dire di conoscerne 1/4, un altro 1/4 so vagamente cosa sia e il resto (ovvero la metà) non ne so un bel niente. cosa mi consigliate di fare? lasciare quelli di default (togliendo al limite quei pochi che penso proprio non mi servano, tipo gnome), o fare ricerche approfondite, sperando di riuscire a rendermi conto davvero di quello che mi serve? nel secondo caso, non è che avreste una bella tabella che mi aiuti nell'operazione?

grazie anticipatamente a tutti

Diego

----------

## morellik

Probabilmente il 1/4 che conosci ti basta e avanza.

Io di solito copio quelli da /etc/make.profile/make.defaults in /etc/make.conf e 

disabilito quello che non mi serve (p.e. kde  gnome java) e  aggiungo qualche altro flag che non c'e' (di solito gtk2 apache2 tcltk).

E quindi vai senza paura  :Very Happy: 

Ciauz

morellik

----------

## bld

 *Lupccs wrote:*   

> salve a tutti!
> 
> mi sto apprestando a installare una Gentoo GRP, e l'unico punto che mi resta da sviluppare è quello dei flag USE. se da una parte mi sono sembrati molto efficaci, dall'altra devo ammettere che sono TANTI!
> 
> e di questi tanti flag, posso dire di conoscerne 1/4, un altro 1/4 so vagamente cosa sia e il resto (ovvero la metà) non ne so un bel niente. cosa mi consigliate di fare? lasciare quelli di default (togliendo al limite quei pochi che penso proprio non mi servano, tipo gnome), o fare ricerche approfondite, sperando di riuscire a rendermi conto davvero di quello che mi serve? nel secondo caso, non è che avreste una bella tabella che mi aiuti nell'operazione?
> ...

 

Beh io ti consiglio di togliere tutte quelle che non sai cosa fanno.. perche se non le conosci al 90% non ne hai mai avuto bisogno. Poi se qualcosa non va bene magari ricompili. Utilissima l'opzione "emerge -pv <nome programma>" che ti fa vedere le cflags disponibili. Quelle in rosso sono quelle con le quali vera compilato. Se ti interessa sapere anche con qualli cflags e' stato compilato un programma in passato puoi emergere "gentoolkit" [emerge gentoolkit] ed usare l'utilita' "etcat" con l'opzione "u" [etc -u evolution i.e.]. Ultima cosa, se non vuoi nessun tipo di sopporto (capita spesso) puoi usare il comando di linea

#env USE="-*" emerge -pv pkg

#env USE="-*" emerge pkg

Buon gentoo-ing  :Wink: 

----------

## MyZelF

... e per settare USE torna utile ufed, che ti fornisce anche una descrizione sommaria di ogni keyword:

```
*  app-portage/ufed

      Latest version available: 0.34

      Latest version installed: 0.34

      Size of downloaded files: 14 kB

      Homepage:    http://www.gentoo.org

      Description: Gentoo Linux USE flags editor
```

----------

## cn73

Questa è la mia linea in make.conf:

```

USE="qt kde gtk gnome 3dnow sse avi dvd cdr"

```

se non metti ad es gtk e emergi mplayer, non ti compila gmplayer, il front-end grafico  :Wink: 

----------

## -YoShi-

 *morellik wrote:*   

> Probabilmente il 1/4 che conosci ti basta e avanza.
> 
> Io di solito copio quelli da /etc/make.profile/make.defaults in /etc/make.conf e 
> 
> disabilito quello che non mi serve (p.e. kde  gnome java) e  aggiungo qualche altro flag che non c'e' (di solito gtk2 apache2 tcltk).
> ...

 

ma quelle in /etc/make.defaults nn sono quelle che il sistema gia usa di default?

xrchè ricopiarle anche in /etc/make.conf?

Chiedo xchè dalla Use Flag guide mi pare di aver capito questo lascia quelle in .defaults e al massimo toglile o aggiungine altre in .conf

Sono un gradino sopra il livello niubbo e nn vorrei aver sbagliato qualcosa

CiapZ

----------

## codadilupo

 *-YoShi- wrote:*   

> ma quelle in /etc/make.defaults nn sono quelle che il sistema gia usa di default?
> 
> xrchè ricopiarle anche in /etc/make.conf?

 

Esatto. pero', non e' che se metti qualcosa in /etc/make.conf, queste vadano a sommarsi.

/etc/make.conf  sovrascrive /etc/make.defaults

quindi, come morellik suggeriva, per tenere buone quelle di /etc/make.defaults e poter toglierne/aggiungerne alcune (senza pero' toccare /etc/make.defaults) puoi copiarle pari pari in /etc/make.conf e poi provvedere ai cambiamenti.

Questo si fa, fondamentalmente, perché, nel caso un aggiornamento sciagurato dovesse andare a *resettare* il make,conf, avresti comunque il make.defaults salvo e integro dall'installazione in poi.

Coda

----------

## -YoShi-

Grazie   :Laughing: 

Azzarola mi hai salvato...  :Wink:  pensavo di aver fatto qualche cacchiata...

sono salvo  :Very Happy: 

TnZ CiapZ

----------

## codadilupo

Ehi, lo noto solo ora: un brianzolo gentooniano!

Bene, mi sento sempre meno solo   :Very Happy: 

Coda

----------

## -YoShi-

 :Cool:  eh gia  :Cool: 

Dalla Brianza con furore  :Very Happy: 

----------

## Lupccs

ecco, io ho paura proprio di quello che dice cn73: sapevo già che gmplayer non è gtk, ma lo sono i pannelli (l'ho letto nella documentazione), e tutto sommato se mplayer non soddisfa le mie esigenze e lo devo ricompilare poco male... ma se la stessa cosa mi succedesse un giorno con openoffice? senza contare che magari potrei scegliere di compilare solo mplayer con il flag gtk, senza mettermelo nel make.conf, però magari gtk è alla base di tante applicazioni che uso tantissimo... boh, tutta 'sta cosa mi disorienta...

cmq mi sta venendo un'idea: perchè non la prepariamo noi, una bella tabella esplicativa? dovrebbe essere una tabella che da una breve spiegazione del supporto che fornisce ogni flag, e una lista degli applicativi più comuni in cui quella flag potrebbe essere utile... secondo voi collaborando un po' non sarebbe fattibile? magari sarebbe qualcosa di utile a tutta la comunità! che ne pensate?

----------

## codadilupo

 *Lupccs wrote:*   

> ecco, io ho paura proprio di quello che dice cn73: tutto sommato se mplayer non soddisfa le mie esigenze e lo devo ricompilare poco male... ma se la stessa cosa mi succedesse un giorno con openoffice?

 

Per quello dai 

```
# emerge -pv openoffice
```

l'opzione -v ti da le flag USE che il pacchetto supporta, con anche l'indicazione + (se la flag é attiva) e - (se la flag é disattivata)

Esiste poi anche un tool, di cui non ricordo il nome, che ti spiega brevemente il significato di ogni flag.

Coda

----------

## shev

 *Lupccs wrote:*   

> ma se la stessa cosa mi succedesse un giorno con openoffice?

 

Come giustamente diceva coda, usa la flag -v di emerge quando installi qualcosa. Ti dice quali flags usa, quali sono disponibili e non usate per la compilazione del tal programma. Cmq una volta che le imposti nel tuo make.conf non è che devi modificarle tanto spesso, quindi vale la pena documentarsi per bene all'inizio e non pensarci più successivamente. Io ad oggi ho sempre cambiato mooolto poco le USE e tra quelle poche volte 

spesso era dovuto ad aggiornamenti hardware o aggiunte varie (dual monitor, etc.).

 *Quote:*   

> cmq mi sta venendo un'idea: perchè non la prepariamo noi, una bella tabella esplicativa?

 

Ma intendi una roba tipo questa e relativi link in essa contenuti, tipo questo (che tra l'atro trovi in /usr/portage/profiles/use.desc)?

----------

## so

 *Lupccs wrote:*   

> 
> 
> cmq mi sta venendo un'idea: perchè non la prepariamo noi, una bella tabella esplicativa? dovrebbe essere una tabella che da una breve spiegazione del supporto che fornisce ogni flag, e una lista degli applicativi più comuni in cui quella flag potrebbe essere utile... secondo voi collaborando un po' non sarebbe fattibile? magari sarebbe qualcosa di utile a tutta la comunità! che ne pensate?

 

non sarebbe male come cosa

io ho fatto solo una traduzione di http://www.gentoo.org/dyn/use-index.xml

 qui   :Smile: 

un saluto a tutti

----------

## morellik

 *codadilupo wrote:*   

>  *-YoShi- wrote:*   ma quelle in /etc/make.defaults nn sono quelle che il sistema gia usa di default?
> 
> xrchè ricopiarle anche in /etc/make.conf? 
> 
> Esatto. pero', non e' che se metti qualcosa in /etc/make.conf, queste vadano a sommarsi.
> ...

 

Caicchio, manco avessimo dei contatti extrasensoriali via tcp/ip,

mi hai letto letteralmente nel pensiero   :Shocked: 

Gechi: tanti in uno, uno in tanti   :Very Happy: 

Ciauz

morellik

----------

## Lupccs

 *Shev wrote:*   

> 
> 
> Ma intendi una roba tipo questa e relativi link in essa contenuti, tipo questo (che tra l'atro trovi in /usr/portage/profiles/use.desc)?

 

no, qualcosa del tipo:

mozilla - Aggiunge il supporto mozilla - Mozilla è uno dei web browser più diffusi fra gli utenti linux, ricco di... 

certo, quasi tutti sanno cos'è mozilla, ma non si può dire lo stesso di sdl, ad esempio...

----------

## shev

 *Lupccs wrote:*   

> no, qualcosa del tipo:
> 
> mozilla - Aggiunge il supporto mozilla - Mozilla è uno dei web browser più diffusi fra gli utenti linux, ricco di... 

 

Bhe, quindi una versione del link precedente con l'opzione -vvv  :Wink: 

L'idea non è malvagia, comincia pure!  :Very Happy: 

----------

## -YoShi-

Domanda:

Ma cosa succede se x esempio compilo un programma senza il supporto a determinate FLAG?

X dire ieri ho compilato evolution con le flag standard in make.default e con make.conf commentata.

Il programma sembra andare, e le eventuali dipendenze di cui ha bisogno le ha installate tutte per es. gtk l'ha messo...cosa potrebbe mancare a il mio evolution rispetto a uno compilato con le USE complete?

----------

## MyZelF

 *-YoShi- wrote:*   

> Ma cosa succede se x esempio compilo un programma senza il supporto a determinate FLAG?
> 
> 

 

Come diceva coda qualche post più in alto, con un

```
# emerge -pv evolution
```

ed un minimo di fantasia dovresti capire cosa abiliti e cosa no a seconda della tua USE.

----------

## -YoShi-

Questo l'evevo capito, quello che nn capisco è se lascio la mia USE in make.conf vuota o commentata

e faccio compilare un pacchetto che con 

```

emerge -pv pacchetto

```

mi dice che vuole 

```
 +usb -xv
```

 ( x esempio) se io nn li metto in use e do un

```

emerge pacchetto

```

il programma che avro funzionerà allo stesso modo e avrà le stesse funzioni dello stesso pacchetto compilato con 

```
 +usb -xv
```

 in make.conf?

[/code]

----------

## MyZelF

Quando utilizzi "-v" le flags contrassegnate dal "+" sono attivate, quelle con il "-" disattivate. Non ti dice quali flags "vuole", ma semplicemente quelle che utilizzerà.

Il fatto che poi queste siano definite tra quelle di default, in make.conf, o dalla riga di comando con cui dai l'emerge non fa alcuna differenza per il risultato finale.

----------

## cn73

Mi intrometto per chiedere un'informazione...perchè alcuni flag vogliono il "-" anteposto e altri no?

Es:

USE="acpi dvd gtk2 joystick music offensive -3dnow -apm -arts -gpm -kde -qt"

----------

## cn73

Scusate, ho appena letto che il "-" disabilita il flag...

Una domanda: negli ebuild ho notato essere ridefinita la variabile USE.

Se in make.conf io ho ad es USE=gtk e nell'ebuild USE=-gtk...chi ha il sopravvento?

----------

## [Dozer]

 *codadilupo wrote:*   

> Esatto. pero', non e' che se metti qualcosa in /etc/make.conf, queste vadano a sommarsi.
> 
> /etc/make.conf  sovrascrive /etc/make.defaults
> 
> 

 

Però nella guida all'installazione, paragrafo 5.d. 'Configuring the Compile Options',  leggo:

"The default USE settings are placed in /etc/make.profile/make.defaults. What you place in /etc/make.conf is calculated against these defaults settings. If you add something to the USE setting, it is added to the default list. If you remove something from the USE setting (by placing a minus sign in front of it) it is removed  from the default list (if it was in the default list at all). Never alter anything inside the /etc/make.profile directory; it gets overwritten when you update Portage!"

Sembrerebbe che invece si comporti in maniera additiva o sottrattiva piuttosto che "sovrascrittiva". Oppure ho frainteso qualcosa.

Ma io sono poco più di un niubbo e di dubbi ne ho a secchiate  :Wink: 

Un saluto a tutti i frequentatori del forum da un nuovo lurker e, quando sarà il caso, anche poster  :Very Happy: 

[D o z e r]

----------

## MyZelF

 *cn73 wrote:*   

> Mi intrometto per chiedere un'informazione...perchè alcuni flag vogliono il "-" anteposto e altri no?

 

Qui trovi tutte le risposte.

Comunque sia il "-" disabilita un determinato flag (ad esempio perchè è nelle flags di default e non lo vogliamo, oppure perchè vogliamo passare direttamente ad emerge, da linea di comando, flags diverse da quelle contenute in make.conf)

----------

## MyZelF

 *[Dozer] wrote:*   

> Sembrerebbe che invece si comporti in maniera additiva o sottrattiva piuttosto che "sovrascrittiva".

 

In effetti, è questo il comportamento di portage. Se fai qualche prova ne hai la conferma.

----------

## MyZelF

 *cn73 wrote:*   

> Una domanda: negli ebuild ho notato essere ridefinita la variabile USE.

 

Premetto che non sono un grande esperto di ebuild, anzi. Però mi sembra di ricordare che generalmente viene definita una variabile IUSE (e non ridefinita USE), che dovrebbe elencare le flags che possono essere utilizzate dal pacchetto (quelle mostrate da "emerge -vp", per intenderci).

Ti riferisci ad una ebuild in particolare?

----------

## cn73

 *MyZelF wrote:*   

>  *cn73 wrote:*   Una domanda: negli ebuild ho notato essere ridefinita la variabile USE. 
> 
> Premetto che non sono un grande esperto di ebuild, anzi. Però mi sembra di ricordare che generalmente viene definita una variabile IUSE (e non ridefinita USE), che dovrebbe elencare le flags che possono essere utilizzate dal pacchetto (quelle mostrate da "emerge -vp", per intenderci).
> 
> Ti riferisci ad una ebuild in particolare?

 

Perfetto, mi confondevo io....effettivamente è IUSE la variabile  :Wink: 

Sei stato chiarissimo...

----------

## -YoShi-

 *MyZelF wrote:*   

> Non ti dice quali flags "vuole", ma semplicemente quelle che utilizzerà.
> 
> Il fatto che poi queste siano definite tra quelle di default, in make.conf, o dalla riga di comando con cui dai l'emerge non fa alcuna differenza per il risultato finale.

 

Scusa nn mandarmi al diavolo ma sono un po duro...

Ma allora xchè metterle in make.conf se poi quando gcc quando compila se le prende direttamente dall'ebuild?

----------

## shev

 *-YoShi- wrote:*   

> Ma allora xchè metterle in make.conf se poi quando gcc quando compila se le prende direttamente dall'ebuild?

 

Guarda che il discorso è più semplice di quello che sembra. Andiamo per passi (passi logici, non so se sono esattamente quelli che fa emerge, serve solo per farti capire com'è il discorso flags):

- lancio "emerge pacchetto"

- emerge controlla quali USE flags possono influenzare la compilazione di tale pacchetto aggiungendo o togliendo funzionalità. Rispettivamente controlla:

- linea di comando: la determinata flags è stata attivata o disattivata da linea di comando? Se si uso l'impostazione passata da linea di comando e compilo, in caso negativo proseguo nel controllo

- file make.conf: la determinata flags è stata attivata o disattivata nelle USE contenute nel make.conf? Se si uso l'impostazione trovata nelle USE del make.conf e compilo, in caso negativo proseguo nel controllo

- file /etc/make.profile/make.defaults: la determinata flags è stata attivata o disattivata nelle USE contenute nel make.defaults? Se si uso l'impostazione trovata nelle USE del make.defaults e compilo, in caso negativo proseguo nel controllo

- file /etc/make.globals: la determinata flags è stata attivata o disattivata nelle USE contenute nel make.globals? Se si uso l'impostazione trovata nelle USE del make.globals e compilo, in caso negativo proseguo nel controllo

- Questo viene ripetuto per ogni USE flag che interessa il pacchetto da emergere. Quando tutte le flags sono state verificate emerge compila e installa il pacchetto servendosi delle flags indicate nei vari controlli.

Come vedi è utile impostare le USE flags: emerge controlla con cura quali flags sono state attivate o meno dall'utente, servendosi delle impostazioni di default soltanto se l'utente non ha espresso preferenze per la tale flag.

Spero di essere stato chiaro. In caso contrario leggiti la doc gentoo che ci sta scritto tutto  :Very Happy: 

----------

## -YoShi-

Sei stato chiarissimo grazie 1000   :Exclamation: 

adesso finalmente comincio a capirci qualcosa eheh

Grazie ancora  :Very Happy: 

----------

## MyZelF

 *-YoShi- wrote:*   

> Ma allora xchè metterle in make.conf se poi quando gcc quando compila se le prende direttamente dall'ebuild?

 

Non ho mai detto questo... Comunque Shev è stato chiarissimo...  :Smile: 

----------

## -YoShi-

No infatti ero io che avevo un casino in testa e nn capivo + niente   :Embarassed:   :Embarassed: 

Cmq grazie anche a te visto che mi sei stato di grande aiuto  :Very Happy: 

----------

