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.2.
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.43
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement : Voir ci-dessous
-
Taille du téléchargement : 260 Mo
-
Estimation de l'espace disque requis : 998 Mo (214 Mo
installé)
-
Estimation du temps de construction : 14 SBU (avec
parallélisme = 4)
Dépendances de KF5
Requises
Boost-1.66.0, extra-cmake-modules-5.43.0,
docbook-xml-4.5, docbook-xsl-1.79.2, giflib-5.1.4,
libepoxy-1.4.3, libgcrypt-1.8.2, libjpeg-turbo-1.5.3, libpng-1.6.34,
libxslt-1.1.32, lmdb-0.9.21, OpenSSL-1.0.2n Libraries, QtWebkit-5.9.0,
phonon-4.10.0, shared-mime-info-1.9, URI-1.73 et Wget-1.19.4 (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.10.4 (needed to build
NetworkManager-Qt) et polkit-qt-0.112.0 (moteu d'authentication
pour KAuth)
Facultatives
BlueZ-5.48 (requis pour construire Bluez-Qt),
ModemManager-1.6.12 (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.14, Jinja2 et
PyYAML
Support des formats d'images supplémentaires dans KImageFormats
JasPer-2.0.14 et OpenEXR
Dépendances facultatives de KIO
MIT Kerberos V5-1.16
Dépendances facultatives pour Solid
UDisks-2.7.6, UPower-0.99.7 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.43/
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.43.0.md5 << "EOF"
bb18451b29c20fc43899003e1b5d88bf attica-5.43.0.tar.xz
#b93c69609dbd2f16f9ee6302020ff5e6 extra-cmake-modules-5.43.0.tar.xz
8f6b6f4c6f11d09692620531baac3cbd kapidox-5.43.0.tar.xz
5d28038e34f01ec59968b3a4732128d5 karchive-5.43.0.tar.xz
b6f2fa4dc1cb75887a401183c6981d26 kcodecs-5.43.0.tar.xz
12298fe985a25fac4ef2fe23cda6f7d8 kconfig-5.43.0.tar.xz
8a7082f64f2f5536b92c9b702e0e6f1b kcoreaddons-5.43.0.tar.xz
9bd2f0271f0d9cf422ab3add939780f6 kdbusaddons-5.43.0.tar.xz
b2257e6bf91f3116839e8c363068c044 kdnssd-5.43.0.tar.xz
29a133ec1b1edf43fdcb64cdc0b3484a kguiaddons-5.43.0.tar.xz
5f67b6d48344d347ca187a038ada4c96 ki18n-5.43.0.tar.xz
6aded894f5a984512e846bf949c6cc56 kidletime-5.43.0.tar.xz
ea24738d89ad19f34df3cea8aebdbcfb kimageformats-5.43.0.tar.xz
4b7ab34387c480efea88daffd6461243 kitemmodels-5.43.0.tar.xz
0212ea41c19ecaf3d8796186a5d7a3d4 kitemviews-5.43.0.tar.xz
a78c532acdb8dbfb6fb07e78fd55bfd0 kplotting-5.43.0.tar.xz
f3d9f489d55e54c5c4047abea6f4477d kwidgetsaddons-5.43.0.tar.xz
ca000f985de0be2bb3c602697d1bb923 kwindowsystem-5.43.0.tar.xz
44a5a63752381bb64876109a421f319a networkmanager-qt-5.43.0.tar.xz
272d83ae231c5e1b5bb2851b730d1a3d solid-5.43.0.tar.xz
366495c4aab66b740a25363c53fde6c2 sonnet-5.43.0.tar.xz
d02fe5fac35d600af14e7cdf5aef04dd threadweaver-5.43.0.tar.xz
8df3fbc742e0914d4f7d3132a34c4017 kauth-5.43.0.tar.xz
a03088f8e53b46169f959c7ff9df1bcf kcompletion-5.43.0.tar.xz
8985aaa68a6e29561423c09df77a3afc kcrash-5.43.0.tar.xz
aec9d49e1bef4aa20151ec06c2fcffe5 kdoctools-5.43.0.tar.xz
5995656593e5f72b591ceb56f5339d24 kpty-5.43.0.tar.xz
5146a71a41c76385cf34544c67005d84 kunitconversion-5.43.0.tar.xz
b3092aca3e241329310ca2c57087a6c6 kconfigwidgets-5.43.0.tar.xz
6ca34186c9f3ffb3e964740ff6ecac55 kservice-5.43.0.tar.xz
4e23296878a567417863a3c88ccf051f kglobalaccel-5.43.0.tar.xz
b7d41f77d01102fef52fab13c25038cb kpackage-5.43.0.tar.xz
9ad92bfb68e7646bc7e4dea2140b348c kdesu-5.43.0.tar.xz
1b860bc5eb70c5c2ee292fb0dc79725d kemoticons-5.43.0.tar.xz
846d45c77c66faeb09769d79665353d4 kiconthemes-5.43.0.tar.xz
81d0d0108fbed55099227c616d88aa1b kjobwidgets-5.43.0.tar.xz
497d0f2f81be5185e4179922ff53b9b7 knotifications-5.43.0.tar.xz
a27bdd565993a82476393a7d840bb851 ktextwidgets-5.43.0.tar.xz
3ea0e4d347105399e7107c2ec644d19d kxmlgui-5.43.0.tar.xz
21de30d3ae86397ae92f94c7c160fb1e kbookmarks-5.43.0.tar.xz
43173ebb19608ca56e3b1a1c737b3716 kwallet-5.43.0.tar.xz
b8888829cf7064c756331c2e8347fd09 kio-5.43.0.tar.xz
235fdc815c6ba94e173cf66a07b1076f kdeclarative-5.43.0.tar.xz
7af955e653262eac715df202e8418d90 kcmutils-5.43.0.tar.xz
cb2fadba7600b65ecb8244959b5ba102 kirigami2-5.43.0.tar.xz
c47fc6ac7cd13b38cce0ba6675bdb967 knewstuff-5.43.0.tar.xz
e00d64384ffc2e28acd273b30e135a74 frameworkintegration-5.43.0.tar.xz
48f5100e0a11f24e9321fd2359408b1e kinit-5.43.0.tar.xz
8f69fc2f40676b75d1a6b64e3e0371bd knotifyconfig-5.43.0.tar.xz
3dbd8d893655c4d6682a3c2c44a59520 kparts-5.43.0.tar.xz
a443aaa90ddd41b11e4fa43b35a3f5dd kactivities-5.43.0.tar.xz
97cac58acb119a33a8c2a283daa82982 kded-5.43.0.tar.xz
c30a2a178179b024f5ebc188e9939b80 kdewebkit-5.43.0.tar.xz
995b7d7e3b5ec614870e6fc60f060a11 syntax-highlighting-5.43.0.tar.xz
3ea63f69a4ed61c57b0578bc12c25606 ktexteditor-5.43.0.tar.xz
5dd311e62bbebe45e5f816f8b18461b4 kdesignerplugin-5.43.0.tar.xz
b03e7c6c53b0919fc09059a1614b2aa2 kwayland-5.43.0.tar.xz
62454f341fbcadc0c25d1a18ef8e7014 plasma-framework-5.43.0.tar.xz
dfdfcb07d45d168a19c19cad86ca2cc7 modemmanager-qt-5.43.0.tar.xz
36b0d67bbe91455b9b4b1cbef0a31c14 kpeople-5.43.0.tar.xz
1c769bc468e07d91ae21ae7ddff7fd09 kxmlrpcclient-5.43.0.tar.xz
5fb2427ffd7214859f5e07fc265a7d53 bluez-qt-5.43.0.tar.xz
d3d04affad8ee9d001911e010e2ca7f2 kfilemetadata-5.43.0.tar.xz
ef7918c5ff090508ae79908706d1ca58 baloo-5.43.0.tar.xz
#e717dcb76e5dd8d7b7145d76db4f2b30 breeze-icons-5.43.0.tar.xz
#61ceb7583096c6ab70690a1e941dac8f oxygen-icons5-5.43.0.tar.xz
24de0d2d517279712e41533198d93ec6 kactivities-stats-5.43.0.tar.xz
d283025c9a8288d2a2fd52d0864323ed krunner-5.43.0.tar.xz
#73fe712d4c110cbd2c5117d3b7a8c213 prison-5.43.0.tar.xz
83b257a99b7f5144495c9ccd881ecd3b qqc2-desktop-style-5.43.0.tar.xz
7d81c30b200b0c70af66be9e63a9ad41 kjs-5.43.0.tar.xz
984f3900ca5fb33c57d5f0021b4e3fb8 kdelibs4support-5.43.0.tar.xz
9f2dcb4ed09d923c1f2727bb8b8cb5fa khtml-5.43.0.tar.xz
8dbb6955e804e71c0ee4ba1311107c5f kjsembed-5.43.0.tar.xz
55cc2b85fb8bdfe80b53e85d8d4f4610 kmediaplayer-5.43.0.tar.xz
94ad9a522521bbbb5a4de0c8a04946aa kross-5.43.0.tar.xz
9c5202b7ad2d6093df2b410866933b4c kholidays-5.43.0.tar.xz
2d05ea6fe77402fa059ba9e435e1c460 purpose-5.43.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.43.0 et oxygen-icons5-5.43.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.22
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.43.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.43.0
ln -sfvn kf5-5.43.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.43.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 2018-02-25 05:27:10 +0100