# [TIP] DO_NOT_COMPILE avec KDE (perime)

## Trevoke

[EDIT2 : KDE a maintenant des split-ebuilds dans portage alors ca se fait a la main tout nickel maintenant..]

[EDIT: IMPORTANT: KDE, a l'heure ou j'ecris ces lignes, nous prepare des split ebuilds, donc on pourra installer, a la main, seulement ce qu'on veut installer sans passer par ce tip. Cependant, il est toujours aussi valide pour d'autre grosses ebuilds genre GNOME par exemple ....]

ICI l'original  et Marctraider pour les remerciements (il y a un autel avec du bovin fumant pour les sacrifices).

----------------------------------------------------------------------------------

Avant de lire ceci : Nous avons seulement teste cette astuce avec KDEBASE, et a l'origine c'etait pour les vieux systemes avec moins de RAM et des vieux processeurs de facon a ce que les utilisateurs puissent beneficier d'applications KDE. Maintenant j'ai reecrit cela de facon a ce que tout le monde puisse en profiter  :Smile: 

Oh, et : cette astuce peut sembler compliquee mais c'est en fait tres simple, il y a juste beaucoup a expliquer...

----------------------------------------------------------------------------------

(LISEZ LA NOTE IMPORTANTE A LA FIN DU [TIP]!)

J'aime beaucoup KDE(base) et certains trucs qui viennent avec, mais kdebase m'a vraiment l'air trop gorge d'applications qui ne sont pas franchement utiles...

On a besoin de ksplashml pour demarrer KDE? Depuis quand?

Et, euh, Konsole? hahahah! xterm ou ce que tu preferes, merci very mucho.

Et kscreensaver? c'est bien ce que je pensais...

T'as besoin de kpersonalizer? A quoi ca sert kcontrol?

Enfin, voila le topo...

J'ai trouve une bonne facon de reduire les paquets de KDE, surtout pour les systemes moins performants ou simplement si tu ne veux pas tout ce dont tu ne te sers pas, et autant s'occuper de ca une fois pour toute dans une bonne astuce.

Il y a plusieurs facons de verifier quels programmes peuvent etre exclus de certains paquets.

1) Tout d'abord regardez ici:

http://webcvs.kde.org/cgi-bin/cvsweb.cgi/

cette addresse est le repertoire CVS de KDE, la ou les developpeurs mettent toutes leurs infos. Avec un peu de recherche, on peut donc appliquer ca a tout ce qu'on veut

Comme vous pouvez voir, il y a plusieurs repertoires qui ont le meme nom que les paquets de KDE. Dans ces repertoires, il y a un 'README'.

Ouvrez-le et vous suivrez un lien, la tu as les differentes versions de README, on va supposer que vous allez choisir le plus recent, telechargez-le.

La plupart des navigateurs auront ouvert le readme... Dedans, vous devriez trouver une liste complete de 'programmes' que vous pouvez exclure du repertoire de paquets/ebuild dans lequel vous etes alle.

2) Maintenant faites l'emerge, par exemple

```
emerge kdebase
```

et attendez qu'il aie fini de faire son ./configure. Vous devriez aussi voir une liste de ce qui va etre compile, par defaut ils sont regles sur 'yes'.

Ok, maintenant faites un Ctrl+C sur l'emerge pour l'arreter, et vous saurez aussi maintenant quels programmes vous voulez/pouvez exclure.

Avant de continuer l'emerge, il faut specifier

```
DO_NOT_COMPILE="prog1 prog2 prog3"
```

 avant le 

```
emerge 'package'
```

 sur la ligne de commande.

Voici l'example, pour kdebase (le seul paquet que j'utilise pour mon KDE), j'ai utilise ceci:

```
 DO_NOT_COMPILE="debian doc drkonqi kappfinder kate kcheckpass kdebugdialog kdeprint kdesu kdm kfind khelpcenter khotkeys kicker klipper kmenuedit konsole kpager kpersonalizer krichtexteditor kscreensaver kdepasswd ksysguard ktip kxkb nsplugins kreadconfig kdialog kstart ksystraycmd l10n legacyimport ksplashml kwin pics" emerge kdebase 
```

Ca m'a donne ceci:

- kdesktop avec icones

- kcontrol (preferences for kde/qt programs)

- kioslave (on sait jamais:)

- konqueror (Beaucoup plus rapide maintenant)

- Et surement un ou deux autres trucs... Enfin.

- un kdebase qui fait moins que la moitie de la taille originale (~8Mo au lieu de ~20Mo, les deux en tbz2)

Puisque j'utilise xfwm4 (beaucoup plus rapide que kwin a mon avis) et puisque j'utilise les panneaux et barres d'outils de gnome, j'ai retire kwin et kicker  :Smile: 

Maintenant j'utilise un peu de ci et de ca pour que mon bureau soit joli, pour tout lancer je me sers de ~/.xinitrc, vous devrez peut-etre le creer :

```

gnome-panel &

kdesktop &

exec xfwm4

```

Petit mot d'avertissement tout de meme, certains programmes peuvent causer une erreur et meme arreter la compilation s'ils sont retires, mon experience m'a dicte que ces paquets en particulier ne pouvaient pas etre retires de kdebase:

- ksmserver

- konqlib (Meme si vous ne vous servez pas de konqueror et que vous ajoutez konqueror a la liste de  DO_NOT_COMPILE)

- applnk (Pour une raison ou pour une autre les icones de kde vont jouer Windaube95 si vous ne l'ajoutez pas)

- kcontrol

- kioslave (Pas sur, mais je crois que c'est requis. Si vous essayez, et que vous reussisez sans, faites-moi savoir les resultats)

Mon vieux screenshot: http://members.lycos.co.uk/TheBlackVortex/pic.jpg

Vous devriez faire des essais si vous obtenez des erreurs de compilation, comme il a ete dit plus haut vous avez probablement mis un programme dans DO_NOT_COMPILE qui est necessaire, dans ce cas-la soyez gentils et dites-le moi que je puisse editer l'astuce.

Tout ceci a ete teste sur un Toshiba Satellite Pro 480CDT avec l'exemple explique ci-dessus.

CFLAGS="-march=pentium-mmx -O2 -fomit-frame-pointer -ftracer -ffast-math -pipe"

-----------------------

NOTE IMPORTANTE

-----------------------

Nous avons decouvert que vous devez ATTENDRE pour utiliser la variable DO_NOT_COMPILE jusqu'a ce que toutes les dependances (ghostscript,openmotif,arts,qt,kdelibs) aient ete emerge avec succes.

Si vous l'utilisez (par exemple) avec kdebase et que vous n'avez jamais rien emerge de kde avant, cela s'ajouterait sur TOUTES les dependances comme kdelibs (kdelibs a des noms de paquets que kdebase a aussi).

Cela signifie aussi qu'il ne faut PAS mettre la variable DO_NOT_COMPILE dans make.conf, parce que cela aura aussi un effet sur TOUS LES PAQUETS de KDE.

La meilleure facon, c'est:

```
emerge kdebase
```

And si/quand ca finit le ./configure et que ca va commencer a compiler kdebase, paf Ctrl+C pour arreter la compilation, et MAINTENANT utilisez DO_NOT_COMPILE=prog1 prog2 prog3" pour les appliquer sur kdebase, et les paquets apres kdebase.

[Edit: C'est mechant de le dire tout a la fin, mais voici un lien vers une Gentoo Newsletter ou ils parlent de meta-ebuilds KDE qui permettront de faire ca sans se hacker tout KDE avec DO_NOT_COMPILE.]

----------

## jpwalker

Très interessant comme tip, par contre kcontrol ça peut servir quand même   :Laughing: 

[EDIT]T'as fais des tests avec kdemultimedia ?   >> là ça devient interessant, car y a vraiment n'importe quoi dans ce paquet  :Evil or Very Mad:  [/EDIT]

----------

## Trevoke

Ah non, moi la je traduis c'est tout  :Cool: 

J'ai pas encore le courage de faire trop d'essais sur ma machine, deja que j'ai des ennuis avec..  :Smile: 

----------

## Argian

 *jpwalker wrote:*   

> [EDIT]T'as fais des tests avec kdemultimedia ?   >> là ça devient interessant, car y a vraiment n'importe quoi dans ce paquet  [/EDIT]

 C'est bon pour tout kde, même kdelibs (même s'il n'y a pas grand chose à enlever), arts ou kdemultimedia, même k3b il me semble. Tout ce qu'il te faut, c'est du temps pour faire des essais parce qu'il est facile d'enlever un morceau indispensable à d'autres packages.

----------

## Beber

très très interessant tout ca  :Smile: 

:jap:

----------

## jpwalker

En installant Amarok, il demande la dépendance Kdemultimedia, vous comprendrez aisément, que toutes les applications contenues dans ce dernier ne m'intéresse pas (KAudioCreator, Kscd, Kaboodle, Noatun...). Comment puis-je connaître les fichiers nécésssaires à la dépendance afin de pouvoir les enlevés ?

----------

## Trevoke

Tu cliques sur le lien donne dans le HOWTO, et tu arrives la pour toi, quand tu trouves kdemultimedia : 

http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdemultimedia/

La dedans y a un README, tu l'ouvres.. Tu cliques sur la version la plus recente...

http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdemultimedia/README?rev=1.22;content-type=text%2Fplain

 *le readme wrote:*   

> * noatun: a multimedia player for sound and movies, very extensible due to
> 
>           it's plugin interface
> 
> * aktion: a player specialiced on movies, needs xanim
> ...

 

Tu vois?

----------

## jpwalker

 *Trevoke wrote:*   

> Tu cliques sur le lien donne dans le HOWTO, et tu arrives la pour toi, quand tu trouves kdemultimedia : 
> 
> http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdemultimedia/
> 
> La dedans y a un README, tu l'ouvres.. Tu cliques sur la version la plus recente...
> ...

 

Eh bien c'est parfait !! Je te remercie  :Very Happy: 

----------

## Trevoke

Euh, j'ai ajoute une ou deux petites phrases a la fin qui pourraient etre interessantes pour quelques personnes...  :Smile: 

----------

## boozo

@ Trevoke : Rhâââlovely   :Very Happy: 

parceque moi 3.3.1 = 9h30 de compil   :Exclamation:   :Exclamation:   :Exclamation:   pour un tas de truc que poliement je qualifierais de, de, rhââ ! les mots m'échappes !

merci encore !

----------

## zdra

KDE est maintenant splitté en plein de paquets, le HOWTO est donc périmé il me semble, surtout que le DO_NO_COMPILE était un sale hack avantageusement réglé actuellement  :Smile: 

----------

## Trevoke

Mais euh!

Ceci dit, c'est vrai. Je vais editer pour dire qu'il ne sert plus a rien, il faudrait que celui qui s'occupe de la liste des HOWTO le retire.. Et puis voila, je pense. Pas la peine de le locker, au cas ou.

----------

## Darkael

 *zdra wrote:*   

> KDE est maintenant splitté en plein de paquets, le HOWTO est donc périmé il me semble, surtout que le DO_NO_COMPILE était un sale hack avantageusement réglé actuellement 

 

Ca arrange pas les choses si tu fais monter ce thread, heureusement que Trevoke est un utilisateur actif du forum  :Wink:  Ca aurait été mieux de poster ça dans le thread des howtos. Enfin bon, c'est trop tard maintenant...

----------

## blasserre

@zdra: t'as tes règles ou c'est le grand nettoyage de printemps?

----------

