TIP Utiliser DO NOT COMPILE
Un article de Gentoo Linux Wiki.
|
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 :
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é :
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 :
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
