View previous topic :: View next topic |
Author |
Message |
cotlod Tux's lil' helper
Joined: 08 Aug 2005 Posts: 111
|
Posted: Wed Aug 10, 2005 1:03 pm Post subject: [make.conf] struttura flag USE |
|
|
Ciao a tutti, il mio problema è il seguente:
è corretto se imposto nel file make.conf la variabile USE come segue?:
USE="
flag1 <tab> #Definizione flag1
-flag2 <tab> #Definizione flag2
...
"
strutturando USE in questo modo ci possono essere errori nella lettura della suddetta variabile da parte del sistema?
Faccio questa domanda giusto per agevolarmi il lavoro di settaggio di 'use' ke si prospetta moooolto lungo visto ke per scelta personale intendo impostare flag x flag.
Grazie |
|
Back to top |
|
|
cotlod Tux's lil' helper
Joined: 08 Aug 2005 Posts: 111
|
Posted: Wed Aug 10, 2005 1:06 pm Post subject: dimenticavo... |
|
|
c'è un modo per verificare la correttezza del file make.conf, cioè se contiene errori di sorta? |
|
Back to top |
|
|
Scen Retired Dev
Joined: 29 Jul 2003 Posts: 2470 Location: Padova, Italy
|
Posted: Wed Aug 10, 2005 1:18 pm Post subject: |
|
|
No, così facendo potrebbero esserci errori di parsing di make.conf.
Curiosità: perchè vuoi aggiungere un commento ad ogni flag USE che imposti?
P.S. cotlod= Curse Of The Legion Of Dead? _________________ I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny |
|
Back to top |
|
|
cotlod Tux's lil' helper
Joined: 08 Aug 2005 Posts: 111
|
Posted: Wed Aug 10, 2005 1:26 pm Post subject: peccato |
|
|
era giusto x comodità, così potevo avere tutto sott'okkio in un'unico file e ben ordinato, ma fa nulla!
grazie
PS
c'hai proprio visto bene! sai?, sei uno dei poki ke l'hai capito al volo!!! |
|
Back to top |
|
|
bender86 Guru
Joined: 18 Mar 2005 Posts: 484
|
Posted: Wed Aug 10, 2005 1:38 pm Post subject: |
|
|
Code: | USE="X" #Supporto per xorg
USE="${USE} gnome" #Supporto per Gnome
USE="${USE} 3dnowext" #Set istruzioni 3DNowExt |
Magari puoi dividerle in gruppi
Code: | USE="X qt kde -gtk -gtk2 -gnome" #Ambiente grafico
USE="${USE} x86 mmx mmxext 3dnow 3dnowext nvidia opengl" #Hardware
USE="${USE} xml xml2 libwww apache2 php mysql" #Webserver
USE="${USE} fbcon xmms xine" #Varie ed eventuali |
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Aug 10, 2005 3:21 pm Post subject: |
|
|
Non hai letto la mia mail o non ti fidi ???
in ogni caso se vuoi spezzettare su più righe basta fare così
Code: |
USE="kde \ #aggiunge kde
qt -gnome \ #aggiungo qt e tolgo gnome
-doc odbc \ #dolgo doc e aggiungo odbc
-gtk" #bla bla bla bla
|
questo è il metodo di bash per spezzare su più righe e visto che make.conf deve essere un file bash valido basta usare la sintassi bash
A parte la ripetizione del termine "bash" il concetto dovrebbe essere chiaro. _________________ 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 |
|
|
cotlod Tux's lil' helper
Joined: 08 Aug 2005 Posts: 111
|
Posted: Wed Aug 10, 2005 3:41 pm Post subject: ok accio capito tutto |
|
|
Scusa Kernel78 ma al momento della mia risposta precedente non mi era ancora arrivata la tua risposta via mail....
dunque mi son smazzato tutte le 'use' scoprendo ora ke potevo risparmiare metà del lavoro....
non importa, cmq grazie a tutti e a te per il chiarimento. |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Wed Aug 10, 2005 5:37 pm Post subject: |
|
|
Kernel78 wrote: |
in ogni caso se vuoi spezzettare su più righe basta fare così
Code: |
USE="kde \ #aggiunge kde
qt -gnome \ #aggiungo qt e tolgo gnome
-doc odbc \ #dolgo doc e aggiungo odbc
-gtk" #bla bla bla bla
|
|
Non sono molto sicuro che ciò sia perfettamente compatibile con la sintassi di bash (se hai un link dove approfondire la cosa te ne sarei grato ).
Io tempo fa ho avuto un problema simile e ho risolto con un piccolo hack che nel tuo(@cotlod) caso porterebbe a scrivere il make.conf nel seguente modo:
Code: |
USE="kde `: #aggiunge kde ` \
qt -gnome `: #aggiungo qt e tolgo gnome` \
-doc odbc `: #dolgo doc e aggiungo odbc` \
-gtk" `: #bla bla bla bla`
|
ovvero usare il comano nop che in bash si traduce nel ":". _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Aug 10, 2005 6:38 pm Post subject: |
|
|
gutter wrote: | Non sono molto sicuro che ciò sia perfettamente compatibile con la sintassi di bash |
Infatti hai ragione tu, avevo dato per scontato che bastasse il \ per spezzare la linea invece serve per fare ignorare il newline e ovviamente se al posto del newline c'è uno spazio e un commento non funziona più ... _________________ 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 |
|
|
fabius Guru
Joined: 29 Nov 2004 Posts: 525
|
Posted: Wed Aug 10, 2005 7:49 pm Post subject: |
|
|
Kernel78 wrote: | make.conf deve essere un file bash valido basta usare la sintassi bash |
Ma non abbiamo discusso in un mio post di qualche giorno fa che make.conf non è un file bash? |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Aug 10, 2005 8:19 pm Post subject: |
|
|
fabius wrote: | Kernel78 wrote: | make.conf deve essere un file bash valido basta usare la sintassi bash |
Ma non abbiamo discusso in un mio post di qualche giorno fa che make.conf non è un file bash? |
Anche euse quando aggiunge o toglie delle USE da make.conf spezza la riga con \ _________________ 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 |
|
|
fabius Guru
Joined: 29 Nov 2004 Posts: 525
|
Posted: Wed Aug 10, 2005 8:31 pm Post subject: |
|
|
Kernel78 wrote: | Anche euse quando aggiunge o toglie delle USE da make.conf spezza la riga con \ |
Condizione necessaria ma non sufficiente
A parte gli scherzi, la variabile USE viene usata solo da emerge e quindi non ci sono problemi. Non c'è però un supporto completo a questa caratteristica per tutte le variabili, ad esempio può dar problemi una CFLAGS spezzata su più righe (vedi il posto #6 su https://bugs.gentoo.org/show_bug.cgi?id=101486) |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Aug 10, 2005 8:43 pm Post subject: |
|
|
fabius wrote: | Kernel78 wrote: | Anche euse quando aggiunge o toglie delle USE da make.conf spezza la riga con \ |
Condizione necessaria ma non sufficiente
A parte gli scherzi, la variabile USE viene usata solo da emerge e quindi non ci sono problemi. Non c'è però un supporto completo a questa caratteristica per tutte le variabili, ad esempio può dar problemi una CFLAGS spezzata su più righe (vedi il posto #6 su https://bugs.gentoo.org/show_bug.cgi?id=101486) |
Se vogliamo stare a spaccare il capello in 4 in quello stesso "bug report" al punto #2 Quote: | I read in the handbook this note about the format of make.conf:
<< As you probably noticed, the make.conf.example file is structured in a
generic way: commented lines start with "#", other lines define variables using
the VARIABLE="content" syntax. The make.conf file uses the same syntax. >>
The reader can think that variable definitions are like those ones of a bash file |
Io ritengo corretta la documentazione e buggata l'implementazione di alcuni sw che vanno a gestire le variabile da make.conf
Mi sembra infatti assurdo che si vogliano inventare uno standard per la gestione di un singolo file che sia molto simile a quella di bash ma che non sia 100% compatibile, servirebbe solo a confondere le idee, ritengo quindi che quello debba essere un file bash.
Anche se capisco le tue ragioni non posso condividerle. _________________ 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 |
|
|
fabius Guru
Joined: 29 Nov 2004 Posts: 525
|
Posted: Wed Aug 10, 2005 8:59 pm Post subject: |
|
|
Kernel78 wrote: | [Io ritengo corretta la documentazione e buggata l'implementazione di alcuni sw che vanno a gestire le variabile da make.conf
Mi sembra infatti assurdo che si vogliano inventare uno standard per la gestione di un singolo file che sia molto simile a quella di bash ma che non sia 100% compatibile, servirebbe solo a confondere le idee, ritengo quindi che quello debba essere un file bash. |
La documentazione dice che le variabili vanno definite su una riga sola e questo basta a dire che il file make.conf non è 100% compatibile con un file bash: questo in teoria, poi nella pratica sono accettate le estensioni citate prima. La maggior parte dei post in quel bug ed in quelli citati sono gentoo developer (e non la pensano tutti allo stesso modo). Sembra inoltre ci sia qualche cambiamento su questo argomento per il portage 2.1
Kernel78 wrote: | Anche se capisco le tue ragioni non posso condividerle. | Infatti discutiamo della divergenza di opinioni |
|
Back to top |
|
|
|