Sites


KDE guide de développement

Scripted KDE builds (kdesrc-build)

Constructions de KDE scriptées (kdesrc-build)

La façon la plus simple de construire la KDE SC (Software Compilation) ex nihilo consiste à exécuter un script nommé « kdesrc-build » (anciennement « kdesvn-build »), écrit par Michael Pyne. Cette approche est fortement recommandée pour les novices en matière de construction de la KDE SC parce qu'il s'occupe de presque tout le processus à votre place. Les constructions restant compatibles avec les méthodes manuelles de construction de la KDE SC, vous pourrez changer plus tard si vous le souhaitez les modules que vous installez.

kdesrc-build automatise les tâches suivantes et bien plus :

  • Effectuer l'extraction initiale
  • Gérer les mises à jour des modules déjà extraits
  • Configurer le système de construction du module
  • Effectuer la construction et l'installation
  • Spécifier vos options CMake ou configurer des drapeaux (donc vous n'aurez pas à vous en souvenir à chaque fois)
  • Journaliser les erreurs de construction, ainsi vous pouvez les réviser plus facilement pour vous dépanner

Ce n'est pas de la panacée pour régler tous vos problèmes lors de la construction de la KDE SC. Un dépannage peut encore être requis. Nombre d'erreurs qui surviennent en utilisant d'autres méthodes se produiront ici aussi : vous devrez lire les fichiers journaux qui sont mémorisés à votre intention.

Liens utiles pour chercher des modules

Lorsque vous utilisez kdesrc-build, il se peut que vous trouviez utile de chercher des modules dans le dépôt source. Les sources incluent ce qui suit :

Configuration

Ces sous-sections couvrent tout ce dont vous avez besoin pour obtenir et installer kdesrc-build lui-même. 

Pré-requis

kdesrc-build est vraiment facile à installer et à configurer, mais il faut que vous ayez les logiciels appropriés installés pour construire la KDE SC. Les pré-requis pour construire la KDE SC sont disponibles sur :

http://techbase.kde.org/Getting_Started/Build/Requirements

kdesrc-build requiert « Perl 5.8 » ou supérieur, installé par défaut avec la plupart des distributions et inclus dans le lien précédent. Vérifiez votre version de Perl avec :

perl -v

Vous avez également besoin de « libwww », une collection de modules liés à Internet, disponibles sur https://github.com/gisle/libwww-perl.

Télécharger et installer « kdesrc-build »

Une fois que votre système est configuré et en mesure de compiler la KDE SC, vous pouvez télécharger kdesrc-build sur son site web, http://kdesrc-build.kde.org. Le fichier que vous téléchargez contiendra (au moins) le script kdesrc-build et un fichier échantillon de configuration. Installer kdesrc-build est aussi simple qu'enregistrer le fichier et le rendre exécutable. Si vous le souhaitez, vous pouvez le déplacer dans un dossier dans votre « PATH ». Cependant pour cet exemple, nous le placerons dans le dossier source de la KDE SC que nous utilisons (~/kdesrc).

mkdir -p ~/kdesrc &&
cd ~/kdesrc &&
tar xjvf ~/path/to/kdesrc-build-1.12.tar.bz2 &&
cp kdesrc-build-1.12/kdesrc-build .

Sinon, il est possible de rapatrier directement le script kdesrc-build le plus récent (ainsi que le fichier échantillon de configuration) à l'aide de « git » :

git clone git://anongit.kde.org/kdesrc-build.git ~/kdesrc

Mise en place de la configuration

Les options de configuration de kdesrc-build sont tirées d'un fichier nommé ~/.kdesrc-buildrc. Les directives pour le modifier se trouvent sur :

http://techbase.kde.org/Getting_Started/Build/kdesrc-buildrc

Pour la majeure partie, les réglages par défaut dans le fichier « kdesrc-buildrc-sample » inclus devraient être suffisants. Vous pouvez le copier dans votre dossier personnel comme suit :

cp ~/kdesrc/kdesrc-build-1.12/kdesrc-buildrc-sample ~/.kdesrc-buildrc
# Maintenant modifiez le ~/.kdesrc-buildrc

Notez que le nom du fichier de configuration commence par un point placé en son début (.), ce qui en fait un fichier caché. Si vous utilisez Dolphin ou Konqueror depuis le bureau, vous risquez de devoir afficher les fichiers cachés afin de trouver le fichier de configuration et le modifier. Autrement, vous pouvez modifier le fichier échantillon avant de le copier dans ~/.kdesrc-buildrc.

De plus, veillez à ce que les modules que vous voulez construire sont inclus. Vous aurez besoin au moins de ceux-ci :

  • qt-copy
  • kdesupport
  • kdelibs
  • kdepimlibs
  • kdebase

Les modules étant construits dans l'ordre où ils apparaissent dans votre fichier ~/.kdesrc-buildrc, le premier module devra être « qt-copy ». Le module « kdesupport » devra se trouver avant « kdelibs », lequel devrait se trouver avant n'importe quel autre module de la KDE SC, et ainsi de suite.

Le fichier échantillon de configuration n'inclut pas ces modules par défaut. Ainsi, vous n'aurez pas besoin d'effectuer beaucoup de changements, à moins que vous ne souhaitiez ajouter certains modules à la construction en les décommentant.

Si un module que vous souhaiteriez construire n'est pas déjà présent, ajoutez simplement les lignes suivantes à la fin du ~/.kdesrc-buildrc :

module nom-module
end module
« nom-module » représente n'importe quel nom du module dans le dépôt de logiciels (par exemple, kdemultimedia).

Vous pouvez être amené à cocher l'option « make-install-prefix » si vous installez la KDE SC ou Qt dans un dossier ne se trouvant pas dans votre dossier personnel. Grâce à « make-install-prefix », comme vous pouvez exécuter su ou sudo pendant le processus « make install », vous pouvez installer des fichiers en tant que superutilisateur (root) ou définir certains programmes à exécuter avec des droits d'accès plus importants (requis pour certains programmes à lancer correctement).

module kdelibs
  make-install-prefix sudo -S # sudo sans stdin
end module

module kdebase
  make-install-prefix sudo -S
end module

Modules reposant sur « Git »

La plupart des modules de la KDE SC se trouve dans « git », bien que quelques-uns d'entre eux doivent encore être portés de « svn » vers « git ». Finalement, tous les modules de la KDE SC et les projets seront contenus dans « git ».

Pour construire ces modules dans kdesrc-build, il suffit d'ajouter quelques lignes à la configuration du module. Par exemple, konversation est développé dans le dépôt « Git » sur :

https://projects.kde.org/projects/extragear/network/konversation/repository

Ainsi, pour ajouter ce module, écrivez ce qui suit à la fin de ~/.kdesrc-buildrc :

module konversation
    repository git://anongit.kde.org/konversation
    branch master
end module

Dans ce cas, j'ai sélectionné la branche maîtresse (« master ») car il s'agit de la branche « git » par défaut.

Maintenant, à chaque fois que vous construirez « konversation », kdesrc-build utilisera « git » au lieu de Subversion.

Commandes de « kdesrc-build » utiles

kdesrc-build étant piloté depuis la ligne de commande, voici un guide pour certaines des options en ligne de commande les plus utiles :

Option Effet
--pretend (-p) Cette option est comme un coup d'essai. kdesrc-build traitera les options et sa  configuration normalement et s'exécutera via la construction comme d'habitude, mais au lieu de télécharger ou d'exécuter la construction, elle se contentera d'afficher les messages sur ce qu'elle aurait fait. Vous devriez toujours exécuter avec « -p » avant de lancer le script en réel, pour être sûr qu'elle effectue ce que vous attendez.
--nosvn (--no-src) Cette option ignore l'étape de mise à jour du code source. Elle est utile si vous exécutez kdesrc-build à nouveau peu de temps après une précédente mise à jour et ne voulez pas attendre juste pour découvrir qu'il n'existe pas de changements.
--refresh-build

Cette option amène kdesrc-build à supprimer les informations de construction actuelles pour les modules indiqués sur la ligne de commande et les construire à nouveau à partir de rien. Cette option ajoute beaucoup de temps mais offre la meilleure chance d'une construction réussie.

Tous arguments autres qu'une option sur la ligne de commande sont supposés être des modules à construire (et sont construits dans l'ordre prévu sur la ligne de commande). Si aucun module n'est spécifié, la totalité des modules listés dans le ~/.kdesrc-buildrc sont construits dans l'ordre répertorié dans le fichier.

Construire la KDE SC

Nous y sommes presque. Si vous êtes satisfait de vos paramètres, il est temps de tester kdesrc-build. En théorie, les choses sont aussi simples qu'exécuter kdesrc-build et y revenir ultérieurement.

cd ~/kdesrc
./kdesrc-build

Vous pouvez être amené à le tester en construisant simplement « qt-copy » d'abord, cependant.

cd ~/kdesrc
./kdesrc-build qt-copy

Si la construction a échoué (kdesrc-build sortira une erreur avec un message d'erreur surligné en rouge), il existe plusieurs éléments à vérifier :

  1. Il se peut qu'il vous manque un logiciel essentiel requis (tel qu'une bibliothèque de développement)
  2. Le code de la KDE SC en cours de compilation risque d'être cassé d'une certaine façon, donc il ne fonctionnera pas. Ce problème est couramment dû à du code récemment validé qui fonctionnait sur la machine du développeur ou occasionnellement, parce qu'on est lundi (lorsque des changements incompatibles sont permis dans « kdelibs »).
  3. Il est possible que ~/.kdesrc-buildrc ne soit pas configuré correctement, que vous tentiez d'installer dans un dossier dans lequel vous n'avez pas l'autorisation d'accéder, par exemple, ou vous avez peut-être spécifié un système « qtdir » qui n'existe pas.
  4. Le module dépend peut-être d'une version plus récente de « qt-copy » ou « kdelibs » (ou d'un autre module). Dans ce cas, vous devrez exécuter kdesrc-build pour mettre à jour le module obsolète d'abord.
Comment découvrez-vous de quelle erreur il s'agissait ? La sortie de la commande défaillante sera dans le dossier des journaux. Par défaut, toute la sortie du journal se trouve dans le sous-dossier log du dossier source de la KDE SC journal. Le dossier des journaux se présente comme suit : log/date-run/module/output-file.log. Pour simplifier la recherche du fichier approprié, deux liens symboliques sont créés : 

log/latest

Contient la sortie de débogage depuis la dernière exécution de kdesrc-build (« --pretend » ne l'affecte pas).

log/latest/module/error.log

Contient la sortie de débogage concernant la commande qui a causé l'échec de la construction du module spécifié.

Par exemple, si la construction de « qt-copy » a simplement échoué, vous pourriez lire la la sortie de la manière suivante :

cd ~/kdesrc
kwrite log/latest/qt-copy/error.log

Remplacez kwrite par votre éditeur préféré. Avec un peu de chance, la sortie peut vous guider dans la résolution du problème. Par exemple, si l'échec est la sortie de CMake indiquant qu'il vous manque une bibliothèque, installez cette bibliothèque et essayez à nouveau. Pour les erreurs de liens, vous pouvez essayer d'exécuter avec l'option « --refresh-build » sur le module (ou, si cela ne fonctionne pas, sur les bibliothèques requises comme « qt-copy » et « kdelibs »).

Si vous êtes déconcerté par l'erreur, il peut être bon d'attendre une journée, essayer de mettre à jour à nouveau et espérer que la raison de l'erreur a été corrigée. Vous pouvez également essayer d'envoyer un message à la liste de diffusion « kde-devel » pour savoir si d'autres personnes connaissent ou non le problème ou ont eu des difficultés similaires.

Lancer votre nouvelle installation KDE

En supposant que vous ayez obtenu assez de modules à construire et à installer pour disposer d'une installation KDE SC opérationnelle, il vous reste encore à configurer votre environnement correctement pour l'exécuter. kdesrc-build ne vous aidera pas ici (encore), donc vous devez suivre les instructions sur :

http://techbase.kde.org/Getting_Started/Using_an_IDE_with_KDE4 

Veillez à utiliser les mêmes emplacements que ceux que vous avez définis dans ~/.kdesrc-buildrc. Pour les variables KDEDIRS et KDEDIR, faites appel au paramètre de l'option « prefix » (dans la section globale). Pour la variable QTDIR, utilisez le réglage de l'option « qtdir ».

 

Maintenir votre installation KDE à  jour

Maintenir votre installation KDE à jour est aussi simple que d'exécuter kdesrc-build à nouveau. Chaque construction comporte ces phases :

  1. Mettre à jour le code source pour tous les modules en cours de construction.
  2. Construire et ensuite installer tous les modules.

Comme les anciens dossiers de construction ne sont pas supprimés par défaut, la construction après une petite mise à jour ne prendra normalement pas autant de temps que la construction initiale d'un module. Cette opération est appelée « make incrémental ». Cependant, il peut s'avérer nécessaire de temps en temps de procéder à une reconstruction complète, en raison d'incohérences entre la configuration du dossier de construction et les changements apportés au dossier source. Vous pouvez utiliser l'option « --refresh-build » pour forcer une reconstruction complète.

Pour plus d'informations sur la manière de tirer profit de kdesrc-build, consultez la documentation sur : http:/kdesrc-build.kde.org/documentation/

Le site décrit l'intégralité des options des modules et des options en ligne de commande disponibles pour kdesrc-build et indique des astuces sur la façon d'effectuer diverses tâches utiles.

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.