# [Portage] [Idee] Grouper les variables USE par thème

## gbetous

Bonjour,

Une idée comme ça...

Je me demande pourquoi il n'existerait pas, en plus des variables USE actuelles, des groupes de variables. Je m'explique. L'exemple typique est la gestion des codecs. Celui qui veut avoir qques outils manipulant les codecs audio/video doit se palucher une tartine de USE, presque au hasard.

On pourrait imaginer un USE "all_codecs" qui suffirait à remplacer "mp3 vorbis a52 aac dts dvd v4l vidix mad quicktime win32codecs encode flac ogg ffmpeg gif png jpeg mpeg mjpeg xvid dvdread x264 real live srt libcaca".

Si cette gestion pourrait compliquer les choses (peut-etre faudrait-il modifier tous les ebuild pour ça ?) une simple "USE_ALL_CODECS=mp3 vorbis a52..." déclaré qque part permettrait de rajouter simplement dans le make.conf "USE=${USE} ${USE_ALL_CODECS}".

Sur ce modèle, on peut imaginer des variables a propos des processeurs, des cd/dvd rw, de KDE, de GNOME etc...

En tous cas, je fais (presque) comme ça chez moi. Pour m'y retrouver, j'ai plusieurs de lignes "USE = ${USE} xxx yyy zzz", afin de séparer mes différentes variables, pour m'y retrouver... Et chaque ligne est sur un thème.

Et puis pour celui qui veut presque tout, je pense (je n'ai pas vérifié en fait) qu'un "USE=${USE} ${USE_ALL_CODECS} -mp3" permettrait d'avoir tout sauf le mp3.

Z'en pensez quoi ?

----------

## d2_racing

Je sais déjà que quelques utilisateurs utilisent des variables dans leur /etc/make.conf pour regrouper les uses, par contre qu'est-ce qu'une personne fait si le use n'existe pas pour son architecture par exemple...

Je pense que c'est pour ça que les développeurs utilisent une série de Use Flags au lieu de variable généraliser.

Par contre, pour contrer ce problème, il faudrait une variable dans le /etc/make.conf pour identifier le processeur et le profile, et je pense que ce problème pourrait disparaître  :Smile: 

----------

## gbetous

 *d2_racing wrote:*   

> Je sais déjà que quelques utilisateurs utilisent des variables dans leur /etc/make.conf pour regrouper les uses, par contre qu'est-ce qu'une personne fait si le use n'existe pas pour son architecture par exemple...

 

Je pense pas que ce soit genant. Aucun ebuild ne l'utilisera, c'est tout !

----------

## ghoti

Une méthode semblable à la tienne a en effet été proposée il y a pas mal de temps : tchak's make.conf

Perso, je ne suis pas certain qu'il serait bénéfique d'aller plus loin et qu'il faut laisser le soin à chacun d'organiser sa popotte : une gestion "officielle" complète de ces "superUSE" risquerait AMHA d'accroître la confusion plutôt que de clarifier les choses.

Revenons à ton exemple "all_codecs" :

En supposant - exemple au hasard - que tu veuilles "mp3 vorbis a52 aac dts dvd v4l vidix mad quicktime win32codecs" mais pas les autres, il y aura au moins deux écritures possibles :

ou bien  USE="mp3 vorbis a52 aac dts dvd v4l vidix mad quicktime win32codecs"

ou bien  USE="all_codecs -encode -flac -ogg -ffmpeg -gif -png -jpeg -mpeg -mjpeg -xvid -dvdread -x264 -real -live -srt -libcaca"

La seconde écriture est loin d'être avantageuse ...

Sans parler, pour l'expression qui précède, de l'ordre dans lequel sont inscrits les USE : si les "-use" se trouvent avant "all_codecs", ils seront en principe écrasés.

Cela dit, il n'est peut-être pas inutile de creuser : la discussion pourrait permettre de produire des arguments décisifs ...

----------

## gbetous

 *ghoti wrote:*   

> Revenons à ton exemple "all_codecs" :
> 
> En supposant - exemple au hasard - que tu veuilles "mp3 vorbis a52 aac dts dvd v4l vidix mad quicktime win32codecs" mais pas les autres, il y aura au moins deux écritures possibles :
> 
> ou bien  USE="mp3 vorbis a52 aac dts dvd v4l vidix mad quicktime win32codecs"
> ...

 

Bien sur ! Mais si tu veux ça, c'est que tu as un besoin bien précis, avec surement des contraintes. Donc sans pb la capacité de choisir tes codecs, et donc de choisir la solution qui les liste tous. C'est de toutes façons ce qu'on fait aujourd'hui.

Mais pour celui qui (majoritaire à mon avis) dit "je veux faire de la video", bin c'est rudement plus facile.

EDIT : 

 *ghoti wrote:*   

> Une méthode semblable à la tienne a en effet été proposée il y a pas mal de temps : tchak's make.conf

 

il est vraiment super classe ce make.conf !!!

----------

## d2_racing

En effet, sauf qu'il fait faire attention au choix des variables qu'on déclare, car j'ai été vu un bug de compilation, car le make.conf avait écrasé la valeur d'une variable que le programme utilisait pour compiler.

Si tu utilise cette méthode, fait des variables du genre : Use_hwd_Ordi, Use_Video_Ordi etc...

----------

## Enlight

 *ghoti wrote:*   

> Une méthode semblable à la tienne a en effet été proposée il y a pas mal de temps : tchak's make.conf
> 
> 

 

T'es un salaud gothi T_T

----------

## ghoti

 *Enlight wrote:*   

> T'es un salaud gothi T_T

 

Bah, ton post était surtout axé sur les flags alors je ne suis pas sûr qu'on aurait saisi tout de suite   :Confused: 

Bon, allez, d'accord, le Grand Inventeur c'est toi et tchak l'a d'ailleurs reconnu humblement.

N'empêche qu'il a quand même appliqué _ta merveilleuse_ méthode de manière magistrale !  :Wink: 

----------

## Enlight

Merci   :Very Happy: 

qui m'a traité de gamin???!!!

----------

## titoucha

Ben je vais faire le rabat joie de service mais je préfère la méthode de classement par ordre alphabétique, ensuite je préfère un petit nombre de flags dans USE et le reste dans portage.use.

----------

## d2_racing

Ouais, ça aussi c'est bon a mon avis...c'est assez difficile de choisir une méthode,car il y a des avantages et des inconvénients de chaque côté  :Smile: 

----------

## Oupsman

Et quand, comme moi, on utilise peu la variable USE dans le /etc/make.conf mais beaucoup le fichier /etc/portage/package.use, on fait comment si on utilise votre suggestion ?

----------

## gbetous

Bin 2 solutions :

- On l'utilise pas : Elle reste 100% compatible avec le système actuel, ce n'est donc pas une modif, mais un ajout. Libre à chacun d'en faire ce qu'il veut.

- On l'utilise dans le package.use : Mettre un seul "mot" sur la ligne de xine, de avidemux, de transcode etc... restera toujours plus simple.

Si un jour un nouveau codec débarque, les mainteneurs le rajouteraient dans cette super variable et cela éviterait donc de rajouter ce codec sur de multiples lignes.

----------

## bibi.skuk

tu peux toujours, si ça t'amuse, te creer tes variables "SuperUSE" et pour les ajouter dans ton make.conf, et tu les balade ensuite d'une machine à une autre, si tu trouve ça plus simple,

mais en soit, je ne suis vraiment pas sur que cela facilite vraiment les choses.

En fait, je ne voit pas d'autres applications réélement pratiques que pour les codecs videos et audio...

Bonjour à tous, ça faisait un certain temps...

----------

## Magic Banana

Moi j'aime bien l'idée... mais bon, je ne suis plus sous Gentoo alors...  :Embarassed: 

----------

## dapsaille

Heuu sur le fond je suis pas trop d'accord on risquerais de se trouver avec 2 use généraux =

xp32bits

xp64bits

 .. plom plom plom ....   :Wink: 

----------

## kwenspc

 *Magic Banana wrote:*   

> Moi j'aime bien l'idée... mais bon, je ne suis plus sous Gentoo alors... 

 

Oh c'est vrai? J'ai pas tout suivis, t'es sur quoi désormais?  (pas ubuntargl quand même?) 

----------

## Magic Banana

 *kwenspc wrote:*   

> Oh c'est vrai? J'ai pas tout suivis, t'es sur quoi désormais?  (pas ubuntargl quand même?) 

 

Je suis sur BLAG GNU+Linux (en version Alpha sinon je m'ennuie). Mais je papillonne. J'ai essayé Fedora 7 (très bien) et Ututo 2007.1 (un dérivé de Gentoo tout bogué). Quant à Ubuntu, je le conseille toujours comme premier (vrai) système d'exploitation. Maintenant la tournure "on met des pilotes propriétaires" ne me plaît pas. J'attends avec impatience Gobuntu. Je crois que ça me plaira.

----------

## kwenspc

 *Magic Banana wrote:*   

>  Quant à Ubuntu, je le conseille toujours comme premier (vrai) système d'exploitation. Maintenant la tournure "on met des pilotes propriétaires" ne me plaît pas. J'attends avec impatience Gobuntu. Je crois que ça me plaira.

 

Autant mettre Debian Etch dans ce cas. (c'est tout aussi simple à installer et ça tourne tout aussi directement). Fin bon je vais pas troller plus longuement.

----------

## Temet

Perso j'ai commencé un peu à loucher sur la doc de Arch   :Embarassed: 

----------

## CryoGen

Bande de lacheur !

(comment ca je peux rien dire je louche sur les docs/faq de freebsd  ?  :Laughing:  )

----------

## kwenspc

ouais on va finir tout seul si ça continue :'( 

(bon moi je passe le laptop de ma cop' sur sabayonlinux...ah ouais mais c'est toujours gentoo en fait ^^. Par contre mon laptop à moi va sans doute passer à freebsd. Pour le reste, desktop et serveur: gentoo.)

----------

## d2_racing

 *Temet wrote:*   

> Perso j'ai commencé un peu à loucher sur la doc de Arch  

 

Moi j'utilise Gentoo sur mon Thinkpad T60P,car j'ai un T7200 CORE 2 Duo...alors je m'en fou qu'il compile...je compile KDE en 2h45...au lieu de 6h30 sur mon desktop...

Sur mon desktop, j'utilise Arch depuis environ 2-3 mois.Ça roule #1 et c'est tout ce que je peux dire.

C'est une des seules distributions binaire qui est assez uptodate côté version de logiciel.Ça me convient parfaitement.

----------

## titoucha

Allez tout le monde l'herbe n'est pas toujours plus verte ailleur.

----------

