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.34
-
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 : 983 Mo (216 Mo
installé)
-
Estimation du temps de construction : 32 SBU
Dépendances de KF5
Requises
Boost-1.64.0, extra-cmake-modules-5.34.0,
docbook-xml-4.5, docbook-xsl-1.79.1, giflib-5.1.4,
libepoxy-1.4.3, libgcrypt-1.8.0, libjpeg-turbo-1.5.2, libpng-1.6.31,
libxslt-1.1.29, lmdb-0.9.21, OpenSSL-1.0.2l Libraries, QtWebkit-5.9.0,
phonon-4.9.1, shared-mime-info-1.8, URI-1.72 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.7 (moteur DNS-SD pour KDNSSD), libdbusmenu-qt-0.9.3+16.04.20160218
(construit avec qt5), NetworkManager-1.8.0 (needed to build
NetworkManager-Qt) et polkit-qt-0.112.0 (moteu d'authentication
pour KAuth)
Facultatives
BlueZ-5.46 (requis pour construire Bluez-Qt),
ModemManager-1.6.8 (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-2.9.6 et PyYAML-3.12
Support des formats d'images supplémentaires dans KImageFormats
JasPer-2.0.12 et OpenEXR
Dépendances facultatives de KIO
MIT Kerberos V5-1.15.1
Dépendances facultatives pour Solid
UDisks-2.7.2, UPower-0.99.5 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.34/
wget -r -nH -nd -A '*.xz' -np $url
The options used here are:
-r recurse through child directories
-nH disable generation of host-prefixed directories
-nd do not create a hierarchy of directories
-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.34.0.md5 << "EOF"
64f668aeb0ae98d7a956a3d77ff6b7f5 attica-5.34.0.tar.xz
#fdbf1beac421ef98c41a3a1a3703fbb4 extra-cmake-modules-5.34.0.tar.xz
1ed1b8b3928d4cae92e7783be780e2a9 kapidox-5.34.0.tar.xz
0c7b013cd3f176f25038c002bc706979 karchive-5.34.0.tar.xz
35a5fa5606b22eda5a885dc479e48e53 kcodecs-5.34.0.tar.xz
51788f84902358d7840c1d4ed111a80d kconfig-5.34.0.tar.xz
5b8ee514c5ecbe6febe28af2686566ad kcoreaddons-5.34.0.tar.xz
5dc198d8d1f6896451b1eaf15a28308f kdbusaddons-5.34.0.tar.xz
34556a2f5c33bb101c665243a6618f84 kdnssd-5.34.0.tar.xz
05a622fc98d4f748d5f50d15a579b34d kguiaddons-5.34.0.tar.xz
314ae60902e4870ae4df51decf4cedf3 ki18n-5.34.0.tar.xz
3702887f8dd903ee62d51d26da2fbd21 kidletime-5.34.0.tar.xz
5de2f07b336858195eaa138d2811e8b2 kimageformats-5.34.0.tar.xz
d5133f83bc354eab9e42fcf588cddbd2 kitemmodels-5.34.0.tar.xz
0e7b69f9803d63ff5900bea0f101d363 kitemviews-5.34.0.tar.xz
697f307e0266a54382a5057babda53d6 kplotting-5.34.0.tar.xz
c38d08ca16a49f43a6be2fd416652277 kwidgetsaddons-5.34.0.tar.xz
aca305a63b8ae3244d92c394d9d3840e kwindowsystem-5.34.0.tar.xz
66ed35d3a44b3ae7c04bc740cd553f01 networkmanager-qt-5.34.0.tar.xz
43050a891de0be5d79ac488e56012398 solid-5.34.0.tar.xz
320d964229aa783ac1a30670e6a930fe sonnet-5.34.0.tar.xz
034848d665785ae552a8d9c8acd59725 threadweaver-5.34.0.tar.xz
80e2d4a4d1657d70ddceb5f354074eb7 kauth-5.34.0.tar.xz
34b9b0cc3d61210683a872976d27b9c9 kcompletion-5.34.0.tar.xz
28a6ddd2560e283694ca6e0b97a432fc kcrash-5.34.0.tar.xz
52df5dd9721be1d372b7a2ce3bd29efc kdoctools-5.34.0.tar.xz
d921308e25f7a79a88f9bb8fffed8453 kpty-5.34.0.tar.xz
47cc7f51a7cfa0ef3c193ccbcc045f96 kunitconversion-5.34.0.tar.xz
7647c86266b61075542b4112e5f21a72 kconfigwidgets-5.34.0.tar.xz
ab7745b32c5cac8e928c9dc0ad0dde41 kservice-5.34.0.tar.xz
14ddf20e92da05618d48262b2cfbe6ef kglobalaccel-5.34.0.tar.xz
06e87a370ff4f231644fcae65a15203e kpackage-5.34.0.tar.xz
ff57dbae99d31603c36f9b59a2f88780 kdesu-5.34.0.tar.xz
eb2381de7b6905e7968859258c7d4731 kemoticons-5.34.0.tar.xz
6fc0cd71f1c331aae78b0c03114958dd kiconthemes-5.34.0.tar.xz
1c65bee5dfc02d7671228dd90c59e19b kjobwidgets-5.34.0.tar.xz
75eb11cdce6b623301dc670c3ee31525 knotifications-5.34.0.tar.xz
7cf308f1e3738ebed99c2ad08245ed6e ktextwidgets-5.34.0.tar.xz
b05b69a31251aa76c35581475c939cc0 kxmlgui-5.34.0.tar.xz
1f745c77a2a7285962801a1260f22720 kbookmarks-5.34.0.tar.xz
8385f1b57b7014be23511383c233da5d kwallet-5.34.0.tar.xz
49c9c0a0f94cfb301ef92578d888eedd kio-5.34.0.tar.xz
5b787db5a2ad709fca9ad23319aa3073 kdeclarative-5.34.0.tar.xz
c1afcc332098a7c0f104629d1f67e4ad kcmutils-5.34.0.tar.xz
560d1d39a62a016b92554e75c8cf25bf knewstuff-5.34.0.tar.xz
197162d3e09c27e286ba5ff0cf14a49b frameworkintegration-5.34.0.tar.xz
02b40f5ac18ebed7afd35e71bd621345 kinit-5.34.0.tar.xz
a89c130ec60f90d26b44c5c41d8c1e37 knotifyconfig-5.34.0.tar.xz
84cf7f77790cd8f2de85726fb16a3b73 kparts-5.34.0.tar.xz
67cc9be7978878d578295a885b9d6737 kactivities-5.34.0.tar.xz
e2ac1c22569e8f09e7716c92119a6f96 kded-5.34.0.tar.xz
9eb10b68624a858c0c217364e03a935e kdewebkit-5.34.0.tar.xz
ab44df7bdffa30c211568bf677456b8e syntax-highlighting-5.34.0.tar.xz
da4b300b11c309f72484235313a27351 ktexteditor-5.34.0.tar.xz
760797a5697383a23dc28c043776f6b7 kdesignerplugin-5.34.0.tar.xz
3e70566a1e059a7885270074e46b35f0 kwayland-5.34.0.tar.xz
848bae2f46d63821c4fbf846bdd83b0e plasma-framework-5.34.0.tar.xz
#7a1f0c8875efbbaedfaffe4d6f011524 modemmanager-qt-5.34.0.tar.xz
b03e735f9113b177a9a840c8910c8e02 kpeople-5.34.0.tar.xz
354e45b75119676fb673bce110f040cd kxmlrpcclient-5.34.0.tar.xz
479152445f04a630a23003c736f54914 bluez-qt-5.34.0.tar.xz
a7341eb3e20f180066470ba38533447c kfilemetadata-5.34.0.tar.xz
2545137d47bf0545f0b99d73520e65e5 baloo-5.34.0.tar.xz
#9d13ea7dcd31efb400e2f5a64db48179 breeze-icons-5.34.0.tar.xz
#0353fbb43ad0892e6f16cca840523493 oxygen-icons5-5.34.0.tar.xz
8209b9213c04802a99c6e70dbec61054 kactivities-stats-5.34.0.tar.xz
7c6f7f251f56b74619cf7cb2cfea857d krunner-5.34.0.tar.xz
#c9bd6c1897c8632b7241293ea1bbb4ab prison-5.34.0.tar.xz
fae3d8d37d54013e413c9df92df8848f kjs-5.34.0.tar.xz
ae382b0889fd76f0c28ebed4de08f816 kdelibs4support-5.34.0.tar.xz
9c698d6d09b31a537ac6cdf31aa90de7 khtml-5.34.0.tar.xz
b7da8abba8b5e9c9e359d40e73ba3c6f kjsembed-5.34.0.tar.xz
3d3ff38e82c4ade51ac7045b4bed1196 kmediaplayer-5.34.0.tar.xz
c211cb58f6c4a6082cb431fa536229dd kross-5.34.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.34.0 et oxygen-icons5-5.34.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.20p2 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 :
export CXXFLAGS='-isystem /usr/include/openssl-1.0'
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 \
-DBUILD_TESTING=OFF \
-Wno-dev ..
make
as_root make install
popd
as_root rm -rf $packagedir
as_root /sbin/ldconfig
done < frameworks-5.34.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.34.0
ln -sfvn kf5-5.34.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.
-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 48 programmes installés dans
/opt/kf5/bin.
Bibliothèques installées:
Il y a trop de bibliothèques kf5 (191)
pour les lister séparément.
Répertoires installés:
/opt/kf5 (lien symbolique vers
/opt/kf5-5.34.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-06-18 21:35:49 +0200