TIP Utiliser DO NOT COMPILE

Un article de Gentoo Linux Wiki.

Cet article fait partie des Trucs et Astuces.

Terminaux / Shells CD Live X Portage Système Systèmes de fichier Autres


Sommaire

[modifier] Introduction

Nous prendrons ici l'exemple de KDE, qui avant la version 3.4, ne disposait que d'ebuilds monolithiques. Ce document peut être adapté en théorie à n'importe quel ebuild.
Avant de lire ceci : Nous avons seulement testé cette astuce avec KDEBASE, et à l'origine c'etait pour les vieux systèmes avec moins de mémoire RAM et des vieux processeurs de façon à ce que les utilisateurs puissent bénéficier d'applications KDE. Maintenant j'ai réécrit cela de façon à ce que tout le monde puisse en profiter.
Cette astuce peut sembler compliquée mais c'est en fait très simple, il y a juste beaucoup à expliquer...




LISEZ LA NOTE IMPORTANTE A LA FIN DU [TIP] ET LA CONCLUSION !

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


  • On a besoin de ksplashml pour démarrer KDE ? Depuis quand ?
  • Et, euh, Konsole ? xterm ou ce que tu préfères, merci bien.
  • Et kscreensaver ? c'est bien ce que je pensais...
  • Tu as besoin de kpersonalizer? À quoi sert kcontrol ?

Enfin, voilà le topo, de nombreuses applications souvent inutiles...

J'ai trouvé une bonne façon de réduire les paquets de KDE, surtout pour les systèmes moins performants ou simplement si tu ne veux pas tout ce dont tu ne te sers pas, et autant s'occuper de ça une fois pour toute dans une bonne astuce.

[modifier] Exclure quelles applications ?

Il y a plusieurs façons de vérifier quels programmes peuvent être exclus de certains paquets.

Tout d'abord regardez sur le web cvs de KDE. cette adresse est le répertoire CVS de KDE, là ou les développeurs mettent toutes leurs informations. Avec un peu de recherche, on peut donc appliquer ça à tout ce qu'on veut

Comme vous pouvez voir, il y a plusieurs répertoires qui ont le même nom que les paquets de KDE. Dans ces répertoires, il y a un README.
Ouvrez-le et vous suivrez un lien, là vous aurez les différentes versions de README, on va supposer que vous allez choisir le plus récent, téléchargez-le. La plupart des navigateurs auront ouvert le README... Dedans, vous devriez trouver une liste complète de programmes que vous pouvez exclure du répertoire de paquets/ebuild dans lequel vous êtes allé.


[modifier] Comment les exclure ?

Maintenant faites l'installation, par exemple :

Code : Installation de kdebase
emerge kdebase

et attendez qu'il ait fini de faire son ./configure. Vous devriez aussi voir une liste de ce qui va être compile, par défaut ils sont réglés sur yes.


Faites un Ctrl+C lors de l'installation pour l'arrêter, et vous saurez aussi maintenant quels programmes vous voulez/pouvez exclure.


Avant de continuer l'installation, il faut spécifier DO_NOT_COMPILE="prog1 prog2 prog3" avant l'installation du paquet avec emerge.

Par exemple, pour kdebase, voici ce que j'ai utilisé :

Code : Installation de kdebase (bis)

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

Cela nous donne ceci :

  • kdesktop avec icônes.
  • kcontrol (préférences pour les programmes kde/qt).
  • kioslave (on ne sait jamais).
  • konqueror (Beaucoup plus rapide maintenant).
  • Et sûrement un ou deux autres éléments supplémentaires... Et enfin :
  • un kdebase qui fait moins que la moitié de la taille originale (~8Mo au lieu de ~20Mo, les deux en archive tbz2).

Puisque j'utilise xfwm4 (beaucoup plus rapide que kwin à mon avis) et puisque j'utilise les panneaux et barres d'outils de gnome, j'ai retiré kwin et kicker.

Maintenant je configure les éléments pour que mon bureau soit joli, pour tout lancer je me sers de ~/.xinitrc, vous devrez peut-être le créer :

Fichier : ~/.xinitrc
gnome-panel &
kdesktop &
exec xfwm4


[modifier] Enfin !

Petit mot d'avertissement tout de même, certains programmes peuvent causer une erreur et même arrêter la compilation s'ils sont retirés, mon expérience m'a dictée que ces paquets en particulier ne pouvaient pas être retirés de kdebase :

  • ksmserver ;
  • konqlib (Même si vous ne vous servez pas de konqueror et que vous ajoutez konqueror à la liste de DO_NOT_COMPILE) ;
  • applnk (Pour une raison ou pour une autre les icônes de kde vont poser problèmes si vous ne l'ajoutez pas) ;
  • kcontrol ;
  • kioslave (Pas sûr, mais je crois que c'est requis. Si vous essayez, et que vous reussisez sans, faites-moi savoir les résultats).

Un imprime écran pour vous donner une idée du résultat : http://members.lycos.co.uk/TheBlackVortex/pic.jpg

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

Tout ceci a été testé sur un Toshiba Satellite Pro 480CDT avec l'exemple expliqué ci-dessus. Les paramètres CFLAGS sont :

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


[modifier] NOTE IMPORTANTE

Nous avons découvert que vous devez ATTENDRE pour utiliser la variable DO_NOT_COMPILE jusqu'à ce que toutes les dépendances (ghostscript,openmotif,arts,qt,kdelibs) aient été installées avec succès...

Si vous l'utilisez (par exemple) avec kdebase et que vous n'avez jamais rien installé de KDE avant, cela s'ajouterait sur TOUTES les dépendances 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 méthode reste :

Code : Installation de kdebase (ter)
emerge kdebase


Et lorsque le ./configure finit et que la compilation de kdebase commence, faire un Ctrl+C pour arrêter la compilation, et MAINTENANT utilisez DO_NOT_COMPILE=prog1 prog2 prog3" pour les appliquer sur kdebase, et les paquets après kdebase.


[modifier] Conclusion

Tout cela a mené le projet Gentoo à se poser des questions, et la Gentoo Newsletter parle d'un meta-ebuild pour KDE, qui permettrait de s'affranchir de cette astuce utilisant DO_NOT_COMPILE, et d'obtenir un résultat équivalent.

Note : avec l'arrivée des ebuilds séparés de KDE, cette astuce n'est plus d'actualité.


Document sous licence GNU FDL
Auteur original : MarcTraider
Traducteur initial : Trevoke
Original : http://forums.gentoo.org/viewtopic.php?t=184235
Traduction : http://forums.gentoo.org/viewtopic.php?t=229990