Constructions de KDE
Frameworks 5 (KF5)
KDE Frameworks 5 est une collection de bibliothèques basée sur Qt5 et
dérivée de QML depuis les bibliothèques monolithiques de KDE 4. Elles
peuvent être utilisées indépendamment de l'environnement d'affichage
KDE (Plasma 5).
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-7.9.
les instructions suivantes construisent tous les paquets de KDE
Frameworks en une étape en utilisant un script bash.
Informations sur le paquet
Dépendances de KF5
Requises
Boost-1.60.0, extra-cmake-modules-5.19.0,
docbook-xml-4.5, docbook-xsl-1.79.1, giflib-5.1.2,
libepoxy-1.3.1, libgcrypt-1.6.5, libjpeg-turbo-1.4.2, libpng-1.6.21,
libxslt-1.1.28, lmdb-0.9.18, phonon-4.8.3
(construit avec qt5), shared-mime-info-1.5, URI-1.71 et Wget-1.17.1 (requis
pour télécharger les paquets)
Recommandées
Aspell-0.60.6.1 (moteur de dictionnaire pour
Sonnet), Avahi-0.6.31 (moteur DNS-SD pour KDNSSD),
libdbusmenu-qt-0.9.3+15.10.20150604
(construit avec qt5), NetworkManager-1.0.10 (needed to build
NetworkManager-Qt) et polkit-qt-0.112.0 (moteu d'authentication
pour KAuth)
Facultatives
BlueZ-5.37 (requis pour construire Bluez-Qt),
ModemManager
(requis pour construire ModemManager-Qt)
dépendance d'exécution pour FrameworkIntegration
oxygen-fonts-5.4.3 et noto-fonts
dépendances d'exécution pour kapidox
Doxygen-1.8.11, Jinja2 et
PyYAML
support des formats d'images supplémentaires dans KImageFormats
JasPer-1.900.1 et OpenEXR
dépendances facultatives pour KIO
MIT Kerberos V5-1.14
Dépendances facultatives pour ModemManager-QT
ModemManager
Dépendances facultatives pour Solid
UDisks-2.1.6, UPower-0.9.23 et
media-player-info
(exécution)
moteurs de dictionnaires facultatifs pour Sonnet
Hspell et
Hunspell
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/kf5
Téléchargement de KDE Frameworks
La façon la plus facile d'obtenir les paquets de KDE Frameworks est
d'utiliser wget pour
les récupérer tous en une fois :
url=http://download.kde.org/stable/frameworks/5.19/
wget -r -nH --cut-dirs=3 -A '*.xz' -np $url
The options used here are:
-r recurse through child directories
-nH disable generation of host-prefixed directories
--cut-dirs=3 remove three levels of directories when saving
-A '*.xz' just get the *.xz files
-np don't get parent directories
Initialisation de l'ordre des paquets
L'ordre de constructions des fichiers est importants à cause de
dépendances internes. Créez la liste des fichiers dans le bon ordre
comme suit :
cat > frameworks-5.19.0.md5 << "EOF"
3b4b45a3e250cec426890735089c7fcf attica-5.19.0.tar.xz
#c18b4e3ad6e37ce1fe372931d2b269fb extra-cmake-modules-5.19.0.tar.xz
ed50b3908baef964e14266477133e3ea kapidox-5.19.0.tar.xz
de8678f38303699cf66303f29bb06748 karchive-5.19.0.tar.xz
7569f06a767ddd08ece025fe50197eba kcodecs-5.19.0.tar.xz
79953233cd7d507f4f8394bf62e23078 kconfig-5.19.0.tar.xz
996db46c7e3b6a3b1837a0cc9373bcdd kcoreaddons-5.19.0.tar.xz
4ef9082483a46d04f531d1dce8be4232 kdbusaddons-5.19.0.tar.xz
678deda3ac690b5cc43f398504211273 kdnssd-5.19.0.tar.xz
b423159cec98dbac442bdb88e1daeda4 kguiaddons-5.19.0.tar.xz
281cfa08356179d250b67b6d19b85b46 ki18n-5.19.0.tar.xz
945cd1f8bf3b5b34c7db3d7693274314 kidletime-5.19.0.tar.xz
678b42ebec88ce18ac0c85d539fada01 kimageformats-5.19.0.tar.xz
acf477f070df240248cb7eab316ff370 kitemmodels-5.19.0.tar.xz
ab98c10a12f67c437a8918ebfcf1ac80 kitemviews-5.19.0.tar.xz
7487f642bc0c0ed9a38e68c4ef21ff2c kplotting-5.19.0.tar.xz
b1b37d5c240ad5dea9c43012282beb7e kwidgetsaddons-5.19.0.tar.xz
5e4a9cbe3d4217062c8656833db641f8 kwindowsystem-5.19.0.tar.xz
327dc9c1ec64e59357545e842d29e5da networkmanager-qt-5.19.0.tar.xz
d664fa2d968c6d6a273881e90f749c7e solid-5.19.0.tar.xz
08106da14942ebdfe0b901e649c20d7c sonnet-5.19.0.tar.xz
fb9848428899fa10c46121810cf3a022 threadweaver-5.19.0.tar.xz
ab6498a04ed69236cb582677df829c91 kauth-5.19.0.tar.xz
e0542f7b67153e79efcdbb0877979775 kcompletion-5.19.0.tar.xz
6ede0e1e87a9009d9b24b3a824543dc9 kcrash-5.19.0.tar.xz
6c05f13822f918abf26b56510861d392 kdoctools-5.19.0.tar.xz
09e682b3395c9eb5f1a63203564c7d99 kpty-5.19.0.tar.xz
989c83f68e01d4f3bdc13fbe8299816a kunitconversion-5.19.0.tar.xz
ce0c538d90c1753fea03be8beacfc648 kconfigwidgets-5.19.0.tar.xz
b1d5dc66f1ab4320b92b792203d3737a kglobalaccel-5.19.0.tar.xz
fb28532a75361e3c8b26bf4acad7b158 kpackage-5.19.0.tar.xz
ca272f22047a121d3e21f2bad845295c kservice-5.19.0.tar.xz
adcff09780e4b64d1148825f452ded1d kdesu-5.19.0.tar.xz
9126afb4d6d54090f0b72ff08f396d96 kemoticons-5.19.0.tar.xz
234f1a331fcda7425061cc0667b62fc9 kiconthemes-5.19.0.tar.xz
3b27494142b2a8eb01c85ad811f1ba02 kjobwidgets-5.19.0.tar.xz
c5efd59dd9f2687aa2efae4a5356ce9f knotifications-5.19.0.tar.xz
c4f03d70c30725e636eaf43b5dcfd893 ktextwidgets-5.19.0.tar.xz
1c6c9aac635b623ab78368dd8617ca4e kwallet-5.19.0.tar.xz
8e29c5073c871cb1a2128c717500b325 kxmlgui-5.19.0.tar.xz
95e4a58669b64aff6b4341ec3438eac4 kbookmarks-5.19.0.tar.xz
f7a87528e9f0fba984323d26773cd553 kio-5.19.0.tar.xz
045ed4200129ee96b8ca521a005ac33c kdeclarative-5.19.0.tar.xz
3b94a572bc0d4ca9acff03f6f37421d3 kcmutils-5.19.0.tar.xz
5ff469c4b86c11bae91b1ee43a8fe386 frameworkintegration-5.19.0.tar.xz
3c40a568bfe04957ad68b9fa1afe54fd kinit-5.19.0.tar.xz
d5855a91bf2579f9faafce0563fa658f knewstuff-5.19.0.tar.xz
6acd427037e73e23f3087db88ed11ecc knotifyconfig-5.19.0.tar.xz
d1472c82637f2eecd4561b815b96c5e4 kparts-5.19.0.tar.xz
b5ceb59e0b354858849c6728d7df2c3d kactivities-5.19.0.tar.xz
941612d0df418b20981dfe9430f94263 kded-5.19.0.tar.xz
a6a871e08809693934ea8f4b255f8065 kdewebkit-5.19.0.tar.xz
165cc67fc95363ffa6e247b230965b09 ktexteditor-5.19.0.tar.xz
be9704c908fe4a7d8ab04b14192f9948 kdesignerplugin-5.19.0.tar.xz
dbb2096267291d4a36482575c00a3c58 plasma-framework-5.19.0.tar.xz
#a7cdce5f943c6bf9b5190f96942d3042 modemmanager-qt-5.19.0.tar.xz
bb7bc4b9d6f1433538692d63506bac86 kpeople-5.19.0.tar.xz
590e3f07e6e47564208f1d1f94df4315 kxmlrpcclient-5.19.0.tar.xz
58377c34045907d67140df9167417919 bluez-qt-5.19.0.tar.xz
dc869a38e8dcde117d91b9de656be324 kfilemetadata-5.19.0.tar.xz
58351139c7bf473b08ab7fa3220ede8b baloo-5.19.0.tar.xz
#f5a4a9776492c8438524fad00ba606cc breeze-icons-5.19.0.tar.xz
#dc41677e256fbe7b853e4d9568b1a5c9 oxygen-icons5-5.19.0.tar.xz
c81cc309513c4c7f075e0e922a3bceff portingAids/kjs-5.19.0.tar.xz
7b6b02db93202ba8948d47a6b6b1abff portingAids/kdelibs4support-5.19.0.tar.xz
ff9f526613bec9cae31aab8856624266 portingAids/khtml-5.19.0.tar.xz
39ca8356ee4646146030a38ac831a33c portingAids/kjsembed-5.19.0.tar.xz
fb28b85be8a78b276bbcadc7c6166a69 portingAids/kmediaplayer-5.19.0.tar.xz
3ed3ca232a3b6a2859a37a7b0017ded9 portingAids/kross-5.19.0.tar.xz
c43cef2cc5b9322dd34c849ba3474c89 portingAids/krunner-5.19.0.tar.xz
EOF
Dans la liste précédente, notez que certains fichiers sont
commentés avec un caractère dièse (#). L'entrée extra-cmake-modules
est commentée car elle est construite plus tôt dans Introduction à KDE.
Les paquets d'icônes sont traités séparément dans breeze-icons-5.19.0 et oxygen-icons5-5.19.0. Le paquet
modemmanager-qt peut être construit si ses dépendances facultatives
sont installées.
Installation de KDE Frameworks
Note
Pour l'installation de paquets multiples dans un script, les
installations doivent être faites en tant qu'utilisateur root. Il
y a trois options générales qui peuvent être utilisées pour faire
cela :
-
Lancer le script entièrement en tant qu'utilisateur root
(pas recommandé).
-
Use the sudo
command from the Sudo-1.8.15
package.
-
Use su -c "command
arguments" (guillemet requis) qui demandera
le mot de passe root à chaque itération de la boucle.
Une façon de gérer cette situation est de créer une petite
fonction bash qui
sélectionne automatiquement la méthode appropriée. Une fois que
la commande est initialisée dans l'environnement, il n'est plus
nécessaire de le refaire.
as_root()
{
if [ $EUID = 0 ]; then $*
elif [ -x /usr/bin/sudo ]; then sudo $*
else su -c \\"$*\\"
fi
}
export -f as_root
Attention
Si vous installez dans /opt et qu'il existe déjà un répertoire
/opt/kf5 soit en tant que répertoire normal, soit en tant que
lien symbolique, il devrait être supprimé (en tant que
root) :
rm -rf /opt/kf5
Pour commencer, démarrez un sous-shell qui sortira en cas
d'erreur :
bash -e
Installez all of the packages en lançant les commandes
suivantes :
while read -r line; do
# Get the file name, ignoring comments and blank lines
if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
file=$(echo $line | cut -d" " -f2)
pkg=$(echo $file|sed 's|^.*/||') # Remove directory
packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory
tar -xf $file
pushd $packagedir
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
-DCMAKE_PREFIX_PATH=$QT5DIR \
-DCMAKE_BUILD_TYPE=Release \
-DLIB_INSTALL_DIR=lib \
-DBUILD_TESTING=OFF \
-Wno-dev ..
make
as_root make install
popd
rm -rf $packagedir
as_root /sbin/ldconfig
done < frameworks-5.19.0.md5
exit
Note
Tous les modules qui auront été oubliés peuvent être installés
plus tard en utilisant la même procédure : mkdir build; cd
build; cmake; make; make install.
Parfois les chemins d'installation sont codés en dur dans les
fichiers installés. Si le répertoire d'installation n'est pas /usr,
renommez le répertoire et créez un lien symbolique :
mv -v /opt/kf5 /opt/kf5-5.19.0
ln -sfvn kf5-5.19.0 /opt/kf5
Explication des commandes
-DCMAKE_PREFIX_PATH=$QT5DIR
: Ce
paramètre est utilisé pour permettre à cmake de trouver les bonnes
bibliothèques Qt.
-DCMAKE_BUILD_TYPE=Release
:
Ce paramètre est utilisé pour appliquer le plus haut niveau
d'optimisation du compilateur.
-DLIB_INSTALL_DIR=lib
: Ce
paramètre est utilisé pour installer les bibliothèques dans
$KF5_PREFIX/lib
au lieu de
$KF5_PREFIX/lib64
sur un système 64
bits.
-DBUILD_TESTING=OFF
:
Ce paramètre est utilisé pour empêcher la construction des
bibliothèques et des programmes de test qui ne sont pas utiles pour
un utilisateur final.
Contenu
Programmes installés:
Il y a 53 programmes installés dans
/opt/kf5/bin.
Bibliothèques installées:
Il y a trop de bibliothèques kf5 (79)
pour les lister séparément.
Répertoires installés:
/opt/kf5 (lien symbolique vers
/opt/kf5-5.15.0)
Descriptions courtes
checkXML5
|
est un outil pour vérifier les erreurs de syntaxe dans
les fichiers DocBook XML de KDE.
|
depdiagram-generate
|
est un outil pour générer un diagramme de dépendances.
|
depdiagram-generate-all
|
est un outil pour générer un diagramme de dépendance pour
tous les frameworks en même temps.
|
depdiagram-prepare
|
est un outil pour préparer les fichiers dot.
|
desktoptojson
|
est un outil pour convertir un fichier .desktop en
fichier .json.
|
kactivitymanagerd
|
est le gestionnaire d'activité du bureau KDE Plasma.
|
kbuildsycoca5
|
reconstruit le cache des fichiers de configuration
système de KService.
|
kcookiejar5
|
est une interface en ligne de commandes pour enregistrer
les cookies HTTP utilisés par KDE, un service D-BUS pour
enregistrer, retrouver, nettoyer les cookies.
|
kded5
|
consolide plusieurs petits services en un processus.
|
kdeinit5
|
est un lanceur de processus similaire au fameux init
utilisé pour le démarrage d'UNIX.
|
kf5-config
|
est un programme en ligne de commande utilisé pour
retrouver des informations sur l'installation de KDE ou
les chemins utilisateur.
|
kf5kross
|
éxecute des scripts kross écrit en KDE Javascript,
Python, Ruby, Java et Falcon.
|
kgenapidox
|
est un outil pour générer la documentation API dans un
style KDE.
|
kgendesignerplugin
|
génère des greffons pour Qt(TM) Designer.
|
kglobalaccel5
|
est un démon utilisé pour enregistrer les raccourcis
clavier et pour obtenir une notification quand l'action
est réalisée.
|
kjs5
|
est le moteur KDE ECMAScript/JavaScript.
|
kjscmd5
|
est un outil pour lancer les scripts KJSEmbed depuis la
ligne de commandes.
|
kjsconsole
|
est une console pour kjs5.
|
kmailservice5
|
est un service de courriel.
|
kpackagelauncherqml
|
est un outil en ligne de commande pour le lancement des
applications kpackage QML.
|
kpackagetool5
|
est un outil en ligne de commande pour kpackage.
|
kreadconfig5
|
est un outil en ligne de commande pour retrouver les
valeurs des fichiers de configuration de KDE.
|
kshell5
|
démarre des applications via kdeinit.
|
ktelnetservice5
|
est un service telnet.
|
ktrash5
|
est un programme d'aide pour gérer la poubelle de KDE.
|
kwalletd5
|
est le démon de gestion de portefeuille.
|
kwriteconfig5
|
est un outil en ligne de commande pour écrire des valeurs
dans les fichiers de configuration de KDE.
|
meinproc5
|
convertit les fichiers DocBook en HTML.
|
plasmapkg2
|
est un outil pour installer, lister, supprimer les
paquets Plasma.
|
preparetips5
|
est un script pour extraire le texte depuis un fichier
d'astuces.
|
solid-hardware5
|
est un outil en ligne de commande pour chercher les
périphériques disponibles.
|
Last updated on 2016-02-28 21:29:40 +0100