# [kbd] se marche dessus avec make.conf (résolu)

## Mickael

Salut, ma mise à jour de kbd ne passe pas depuis plusieurs jours. Je ne comprenais pas pourquoi il me disait au début :  Pas de règle pour fabriquer la cible « -bash-completion ». Je vais dans mon make.conf, puis j'efface mon USE flag bash-completion et pam! une nouvelle erreur :

```
cc -c -Wall -Wmissing-prototypes -Wstrict-prototypes -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -O2 -march=prescott -pipe -fomit-frame-pointer -DDATADIR=\"/usr/share\" resizecons.c

cc -O2 -march=prescott -pipe -fomit-frame-pointer -Wall -Wmissing-prototypes -Wstrict-prototypes -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -DDATADIR=\"/usr/share\" -DMAIN -c mapscrn.c -o main_mapscrn.o

cc -O2 -march=prescott -pipe -fomit-frame-pointer -Wall -Wmissing-prototypes -Wstrict-prototypes -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -DDATADIR=\"/usr/share\" -DMAIN -c loadunimap.c -o main_loadunimap.o

make[1]: *** Pas de règle pour fabriquer la cible « -beagle », nécessaire pour « all ». Arrêt.

make[1]: *** Attente des tâches non terminées....

make[1]: quittant le répertoire « /var/tmp/portage/sys-apps/kbd-1.14.1-r1/work/kbd-1.14.1/src »

make: *** [all] Erreur 1

 * 

 * ERROR: sys-apps/kbd-1.14.1-r1 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 2083:  Called die

 * The specific snippet of code:

 *       emake || die

 *  The die message:

 *   (no error message)

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/log/portage/sys-apps:kbd-1.14.1-r1:20080422-095436.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/kbd-1.14.1-r1/temp/environment'.

 * 

 * Messages for package sys-apps/kbd-1.14.1-r1:

```

Maintenant c'est le flag -beagle qui me fait ****  :Smile:  mais que se passe t-il? entre mon make.conf et kbd ?

Make.conf :

 *Quote:*   

> 
> 
> # These settings were set by the catalyst build script that automatically built this stage
> 
> # Please consult /etc/make.conf.example for a more detailed example
> ...

 

----------

## Desintegr

Tu as une façon plutôt spéciale de gérer les USE flags. 

Je n'aime pas trop car je préfère gérer mes USE ebuild par ebuild et non de façon globale comme tu le fais. Mais bon ça reste un choix personnel.

Essaye d'utiliser une unique variable USE contenant toutes les valeurs et désactive toutes les autres.

----------

## ghoti

 *Desintegr wrote:*   

> Tu as une façon plutôt spéciale de gérer les USE flags.

 

Au contraire, cette méthode est excellente pour gérer les flags globaux : elle a l'avantage de fournir un make.conf clair et bien rangé !

Lorsque Tchak l'a proposée, elle a eu beaucoup de succès et a été adoptée par pas mal d'entre nous !  :Wink: 

@Mickael : cela dit, je ne comprends pas bien d'où peut venir ton problème, d'autant moins que kbd ne possède qu'un seul useflag (nls) !   :Confused: 

Ton sys-apps/portage est à jour ?

----------

## Mickael

 *ghoti wrote:*   

>  *Desintegr wrote:*   Tu as une façon plutôt spéciale de gérer les USE flags. 
> 
> Au contraire, cette méthode est excellente pour gérer les flags globaux : elle a l'avantage de fournir un make.conf clair et bien rangé !
> 
> Lorsque Tchak l'a proposée, elle a eu beaucoup de succès et a été adoptée par pas mal d'entre nous ! 
> ...

 

+1 les USE du make.conf sont les flags globaux et tout ce qui est propre à un ebuild est géré dans package.use

 *ghoti wrote:*   

> 
> 
> @Mickael : cela dit, je ne comprends pas bien d'où peut venir ton problème, d'autant moins que kbd ne possède qu'un seul useflag (nls) !  
> 
> Ton sys-apps/portage est à jour ?

 

Oui  : version : 2.1.5_rc6

----------

## geekounet

C'est surement que le Makefile de kbd doit utiliser la variable MISC pour ses cibles, donc tente de la nommer autrement  :Wink: 

----------

## Mickael

 *geekounet wrote:*   

> C'est surement que le Makefile de kbd doit utiliser la variable MISC pour ses cibles, donc tente de la nommer autrement 

 

J'y pensais justement. Misc TO Truc ou Bordel devrait faire l'affaire.

Ben voilà c'est fait, et c'est passé  :Smile:  Thanks

----------

## geekounet

C'est ça aussi d'y introduire des variables qui ne devraient pas y être, et donc le défaut de cette façon d'organiser le USE  :Wink: 

----------

## Desintegr

Tiens quelqu'un de mon avis  :Razz: .

----------

## xaviermiller

 *Mickael wrote:*   

>  *geekounet wrote:*   C'est surement que le Makefile de kbd doit utiliser la variable MISC pour ses cibles, donc tente de la nommer autrement  
> 
> J'y pensais justement. Misc TO Truc ou Bordel devrait faire l'affaire.
> 
> Ben voilà c'est fait, et c'est passé  Thanks

 

Préfixe simplement tes "blocs" par "USE_"  :Wink: 

----------

## xaviermiller

 *geekounet wrote:*   

> C'est ça aussi d'y introduire des variables qui ne devraient pas y être, et donc le défaut de cette façon d'organiser le USE 

 

Pas tout à fait d'accord. Une variable d'environnement "MISC" est tellement "bateau" que c'est dommage qu'un ebuild la définisse...

----------

## geekounet

 *XavierMiller wrote:*   

>  *geekounet wrote:*   C'est ça aussi d'y introduire des variables qui ne devraient pas y être, et donc le défaut de cette façon d'organiser le USE  
> 
> Pas tout à fait d'accord. Une variable d'environnement "MISC" est tellement "bateau" que c'est dommage qu'un ebuild la définisse...

 

J'ai bien plus l'habitude de voir ça dans un Makefile qu'en variable d'environnement donc bon  :Smile:  (d'ailleurs je vois mal l'intérêt de ça en variable d'environnement... en simple variable local du shell ok, mais en environnement je vois pas).

----------

## Mickael

 *XavierMiller wrote:*   

>  *Mickael wrote:*    *geekounet wrote:*   C'est surement que le Makefile de kbd doit utiliser la variable MISC pour ses cibles, donc tente de la nommer autrement  
> 
> J'y pensais justement. Misc TO Truc ou Bordel devrait faire l'affaire.
> 
> Ben voilà c'est fait, et c'est passé  Thanks 
> ...

 

Pas bête Xavier, je le fais de suite. @Geekounet, Desintegr... vous ne percevez pas encore l'étendue de cette approche  :Smile: 

----------

## geekounet

 *Mickael wrote:*   

>  *XavierMiller wrote:*    *Mickael wrote:*    *geekounet wrote:*   C'est surement que le Makefile de kbd doit utiliser la variable MISC pour ses cibles, donc tente de la nommer autrement  
> 
> J'y pensais justement. Misc TO Truc ou Bordel devrait faire l'affaire.
> 
> Ben voilà c'est fait, et c'est passé  Thanks 
> ...

 

Bah à vrai dire, je vois plus trop l'intérêt du USE global en fait, faire ça au package.use c'est bien plus souple et puissant  :Wink: 

----------

## ghoti

 *geekounet wrote:*   

> Bah à vrai dire, je vois plus trop l'intérêt du USE global en fait, faire ça au package.use c'est bien plus souple et puissant 

 

Aïe, les vieux trolls se réveillent !   :Rolling Eyes: 

Encore une fois, c'est une question de bon sens : si un flag nous déplait viscéralement, pourquoi ne pas l'indiquer globalement dans make.conf plutôt que de le répéter indéfiniment dans package.use, au risque de l'oublier pour certains packages ?

Il y a au moins 3 exemples "bateau" : arts, kde et gnome qui sont activés par défaut mais qui ne plaisent pas forcément à tout le monde  ...

Cela dit, c'est vrai que cela peut sembler un peu cornichon de renseigner globalement un flag qui n'est utilisé que par un ou deux paquets.

Pourtant, en le mettant en global, cela peut signifier qu'on le veut de manière inconditionnelle, quel que soit le paquet, présent et à venir.

Perso, je veux le support bluetooth dans tous les cas, sans devoir me poser la question à chaque fois, donc je le mets dans make.conf.

Par contre, je n'ai pas envie d'installer systématiquement la doc, donc j'utilise package.use pour la doc qui m'intéresse !

Et puis, d'un autre côté, si un ebuild entraîne l'installation de 10 dépendances ayant chacune une tripotée de flags, je n'ai pas nécessairement envie d'analyser toute cette liste pour activer mes options favorites paquet par paquet ... 

Bref, à mon avis, les deux méthodes ont leur utilité et devraient être utilisées conjointement  :Wink: 

----------

## xaviermiller

Réponse sagement féline  :Smile: 

----------

## nemo13

 *ghoti wrote:*   

> 
> 
> Encore une fois, c'est une question de bon sens : si un flag nous déplait viscéralement, pourquoi ne pas l'indiquer globalement dans make.conf 

 

taquinons le matou   :Laughing:  

```
cat /etc/make.conf

# make.conf pour le DELL

#

ACCEPT_KEYWORDS="~amd64"

USE="-*"

#
```

 redésolé pour le chat

je pars du principe qu'aucun flag ne me plait ; ceux qui ont le droit de vivre sont dans package.use

Le truc qui serait super-sympa ; quand un flag est obsolète ->> etc-update le vire tout seul dans package.use

A+

----------

