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-8.0.
Les instructions suivantes construisent tous les paquets de KDE
Frameworks en une étape en utilisant un script bash.
Informations sur le paquet
-
Téléchargement (HTTP) : http://download.kde.org/stable/frameworks/5.31
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement : Voir ci-dessous
-
Taille du téléchargement : 259 Mo
-
Estimation de l'espace disque requis : 1.0 Go (210 Mo
installé)
-
Estimation du temps de construction : 38 SBU
Dépendances de KF5
Requises
Boost-1.63.0, extra-cmake-modules-5.31.0,
docbook-xml-4.5, docbook-xsl-1.79.1, giflib-5.1.4,
libepoxy-1.4.0, libgcrypt-1.7.6, libjpeg-turbo-1.5.1, libpng-1.6.28,
libxslt-1.1.29, lmdb-0.9.19, QtWebkit-5.8.0, phonon-4.9.1, shared-mime-info-1.8, URI-1.71 et Wget-1.19.1 (requis
pour télécharger les paquets)
Recommandées
Aspell-0.60.6.1 (moteur de dictionnaire pour
Sonnet), Avahi-0.6.32 (moteur DNS-SD pour KDNSSD),
libdbusmenu-qt-0.9.3+16.04.20160218
(construit avec qt5), NetworkManager-1.6.2 (needed to build
NetworkManager-Qt) et polkit-qt-0.112.0 (moteu d'authentication
pour KAuth)
Facultatives
BlueZ-5.43 (requis pour construire Bluez-Qt),
ModemManager-1.6.4 (requis pour construire
ModemManager-Qt)
Dépendance à l'exécution de FrameworkIntegration
Oxygen fonts et Noto
fonts
Dépendances à l'exécution de kapidox
Doxygen-1.8.13, Jinja2 et
PyYAML
Support des formats d'images supplémentaires dans KImageFormats
JasPer-2.0.10 et OpenEXR
Dépendances facultatives de KIO
MIT Kerberos V5-1.15
Dépendances facultatives pour Solid
UDisks-2.1.8, UPower-0.99.4 et
media-player-info
(exécution)
Dépendance facultative pour KWallet
gpgmepp
Moteurs de dictionnaires facultatifs pour Sonnet
Hspell et
Hunspell
Dépendances à l'exécution de Prison
Datamatrix et QRencode
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.31/
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.31.0.md5 << "EOF"
2243e955a41b8a5036fb8d0e497342f5 attica-5.31.0.tar.xz
#74d7c29138168f9a62fe475705c0b351 extra-cmake-modules-5.31.0.tar.xz
b846e442fd48b8387f93aa37295e9f7c kapidox-5.31.0.tar.xz
de591b1902b1721b74762d712f13a265 karchive-5.31.0.tar.xz
8e0c15990e84dfcfc5c85a88e2e0319b kcodecs-5.31.0.tar.xz
f044848c2406fa1452b11780af2e1fea kconfig-5.31.0.tar.xz
95935748baf5465f150f4e1a94af1923 kcoreaddons-5.31.0.tar.xz
c6c8f751eff1f03406f63bcfb1f4ffe0 kdbusaddons-5.31.0.tar.xz
5ee257c5ff53d5551b9df1b640cfabf6 kdnssd-5.31.0.tar.xz
ecb1a10910116e9fd3265f2f1908c6a1 kguiaddons-5.31.0.tar.xz
62457f60936bb8dc6649ed362e7ab80a ki18n-5.31.0.tar.xz
c45511be577726afd5c7d88c7f13f274 kidletime-5.31.0.tar.xz
99cbfa14df2fb11930090122b461bc6a kimageformats-5.31.0.tar.xz
91916337e5a8edf9fca9de3bdd1ad8fa kitemmodels-5.31.0.tar.xz
71251518337febe21cd0af8e7db66fae kitemviews-5.31.0.tar.xz
e36ccf164785957e07d03cddef152136 kplotting-5.31.0.tar.xz
3ff1ee177df63262636954cb7e0460dc kwidgetsaddons-5.31.0.tar.xz
cd402e03c023354e9ee37b7d0d5de621 kwindowsystem-5.31.0.tar.xz
8c4d807e867f11f5a55604fa59cce85d networkmanager-qt-5.31.0.tar.xz
2946f8c7780e2f3de5384717a8a34cdc solid-5.31.0.tar.xz
11cef5b5016def5298b64e2ce561a8b5 sonnet-5.31.0.tar.xz
f1dbc18f38a9582cd1d4f94bc9f0f132 threadweaver-5.31.0.tar.xz
ec49b90d1566a37e91b9710557e102f2 kauth-5.31.0.tar.xz
81234f797d4da26106a91bdcc34440df kcompletion-5.31.0.tar.xz
a0cffc08aa51c61d48d9e25778a61e62 kcrash-5.31.0.tar.xz
fc1b4de766d04ac3abc87050588d083d kdoctools-5.31.0.tar.xz
8f5efa781672c67f01195ee3dc823c6b kpty-5.31.0.tar.xz
0f7be81fe9c68044f20d6c297a624558 kunitconversion-5.31.0.tar.xz
4deb8a01f99cb16bbcf80f1e11d90824 kconfigwidgets-5.31.0.tar.xz
b46d2550b689fc818064f69cb1db29a7 kservice-5.31.0.tar.xz
d56e35255d2697cc3a89a1a99d1821fe kglobalaccel-5.31.0.tar.xz
9d66b0fe531892180006f0deb77aa4b2 kpackage-5.31.0.tar.xz
9a593607c47472dd6ce0d546b2f2a736 kdesu-5.31.0.tar.xz
4c8d3ab1e358efd89acd7ab95025dd37 kemoticons-5.31.0.tar.xz
fa2e0994412b83dbb0e54aa277f4bff3 kiconthemes-5.31.0.tar.xz
cc2f41fd5b8ba6ad795a7835a68d4e8c kjobwidgets-5.31.0.tar.xz
b8483a6872720152acfb22dae0db417e knotifications-5.31.0.tar.xz
a3240501f842655be3b354d98da95939 ktextwidgets-5.31.0.tar.xz
de28f21c121dc24f31d35ab622304e7e kxmlgui-5.31.0.tar.xz
8c1d5970b25f877567494486638d6082 kbookmarks-5.31.0.tar.xz
3372c17e1a0020616fea29ec9097e0cc kwallet-5.31.0.tar.xz
62f31e7a9cd0b875fce5b552ec9be3c7 kio-5.31.0.tar.xz
8b76f1704314258a944eb57a466d338d kdeclarative-5.31.0.tar.xz
eccc7474f7442b656d26211050f3b2c3 kcmutils-5.31.0.tar.xz
2df293c8e3cedd3a7b71af69045dc5a0 knewstuff-5.31.0.tar.xz
128fa26a3e7928ae74db95ee774fcf48 frameworkintegration-5.31.0.tar.xz
8cf1b185c3d5b74a168995f8e0747931 kinit-5.31.0.tar.xz
a8fdfb88286f73485734ad2feecb7e16 knotifyconfig-5.31.0.tar.xz
21849d002c27964c0d264aa9b5a7c67d kparts-5.31.0.tar.xz
31f9bd0f380f60b0ab2e9b8f56b1662a kactivities-5.31.0.tar.xz
569c52fc5424b1c58fc0476ffa02b58b kded-5.31.0.tar.xz
d063b3b7827eaaa8e345ebaf6c1500f9 kdewebkit-5.31.0.tar.xz
302e06bd05b8632fe60702c82218d1eb syntax-highlighting-5.31.0.tar.xz
315aae6b286757696513ecc7ca69e68e ktexteditor-5.31.0.tar.xz
89a054526209180e02b87b30b8766f5f kdesignerplugin-5.31.0.tar.xz
3ba021780eb40fadd3472630be680571 kwayland-5.31.0.tar.xz
cbef982888a30ca96b4c1f52d502551c plasma-framework-5.31.0.tar.xz
#ac454faa59de5fb2c5f995acd71fd769 modemmanager-qt-5.31.0.tar.xz
6eaf7bd9165a7042221926064c01cce9 kpeople-5.31.0.tar.xz
c1cd0538b4f7e56653a4d6d4f2c994a2 kxmlrpcclient-5.31.0.tar.xz
2e2dfc3e49d878044c4848d147918d1b bluez-qt-5.31.0.tar.xz
b0553bbd667d7d209735d2123f33af46 kfilemetadata-5.31.0.tar.xz
831874cc5f6bf3aab76ca196d30995b3 baloo-5.31.0.tar.xz
#f16a9b1a901700ecd0790e3d80ae32d4 breeze-icons-5.31.0.tar.xz
#385ddb6e36639dfffb0bf30b75b049e0 oxygen-icons5-5.31.0.tar.xz
cd4290e76d0c07a3612b82257119a4df kactivities-stats-5.31.0.tar.xz
6105cf1f51b69cd9232aa662f8d2511a krunner-5.31.0.tar.xz
#95cb43eb20e081db51709b0ab6bcfa96 prison-5.31.0.tar.xz
71ec95ef3c79e2a86de4872bb97daa0e portingAids/kjs-5.31.0.tar.xz
aa244aa083a03be78a976a8a8cd6ed8c portingAids/kdelibs4support-5.31.0.tar.xz
21a3859d1358a330fbdb83f3c184dd71 portingAids/khtml-5.31.0.tar.xz
49f65f405b4e3d49adf81247efce963f portingAids/kjsembed-5.31.0.tar.xz
f287ac1073cae07f51178ad78f30cf4b portingAids/kmediaplayer-5.31.0.tar.xz
743b48d58b23d386e4417081a4d456cb portingAids/kross-5.31.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.31.0 et oxygen-icons5-5.31.0. Le paquet
modemmanager-qt peut être construit si ses dépendances facultatives
sont installées. Le paquet prison (lecteur de codes barres) peut
être construit si les bibliothèques externes requises 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.19p2 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) :
mv -v /opt/kf5 /opt/kf5.old &&
install -v -dm755 $KF5_PREFIX/{etc,share} &&
ln -sfv /etc/dbus-1 $KF5_PREFIX/etc &&
ln -sfv /usr/share/dbus-1 $KF5_PREFIX/share
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
as_root rm -rf $packagedir
as_root /sbin/ldconfig
done < frameworks-5.31.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.31.0
ln -sfvn kf5-5.31.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 des utilisateurs.
|
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 et 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 2017-02-20 21:59:39 +0100