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.4.
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.55
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement : Voir ci-dessous
-
Taille du téléchargement : 264 Mo
-
Estimation de l'espace disque requis : 1.0 Go (224 Mo
installés)
-
Estimation du temps de construction : 15 SBU (avec
parallélisme = 4)
Dépendances de KF5
Requises
Boost-1.69.0, extra-cmake-modules-5.55.0,
docbook-xml-4.5, docbook-xsl-1.79.2, giflib-5.1.6,
libepoxy-1.5.3, libgcrypt-1.8.4, libjpeg-turbo-2.0.2, libpng-1.6.36,
libxslt-1.1.33, lmdb-0.9.23, phonon-4.10.2,
shared-mime-info-1.10, URI-1.76 et Wget-1.20.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.14.6 (needed to build
NetworkManager-Qt) et polkit-qt-0.112.0 (moteu d'authentication
pour KAuth)
Facultatives
BlueZ-5.50 (requis pour construire Bluez-Qt),
ModemManager-1.10.0 (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.15, 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.17
Dépendances facultatives pour Solid
UDisks-2.8.1, UPower-0.99.9 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.55/
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.55.0.md5 << "EOF"
c6ea8536f0886a83c89036c26c141cfe attica-5.55.0.tar.xz
#f8efb80c1c3c4bfe3ada218fa1eb6daa extra-cmake-modules-5.55.0.tar.xz
1d51d64bfaa08b852f93b70be6bb0f8b kapidox-5.55.0.tar.xz
9feb5965a5438ea7900b10b6734b6b5d karchive-5.55.0.tar.xz
9cf8636f8ecd5699dc4cff2cd003bdaa kcodecs-5.55.0.tar.xz
83c4f3c39797bb014ae3d8addda3ee84 kconfig-5.55.0.tar.xz
b84b0d269fbbf63dba84ba7b345ab77f kcoreaddons-5.55.0.tar.xz
fbcc4a6e4daaf8dbbb623c8e58f48748 kdbusaddons-5.55.0.tar.xz
305545c320e2bd3901ca42a5d2a390fe kdnssd-5.55.0.tar.xz
86cdc362ac9b086762725ce50ad02254 kguiaddons-5.55.0.tar.xz
e22ba2c4be9a642d52202941f311092f ki18n-5.55.0.tar.xz
b1be65f6c85633f98e13555fdf185ec7 kidletime-5.55.0.tar.xz
6d89478ffa273724e47d937cf88715ef kimageformats-5.55.0.tar.xz
045f5c3b771e03c4d7d3ed8a61cce555 kitemmodels-5.55.0.tar.xz
57f6924d2811f47b7805529f66a74f8b kitemviews-5.55.0.tar.xz
0f6c2f958cf17b8f3d1f1ae41511e4f1 kplotting-5.55.0.tar.xz
cec11096084112885bb70c8af54b6c18 kwidgetsaddons-5.55.0.tar.xz
47b9fdf114802c1618be3a808d3fb5f9 kwindowsystem-5.55.0.tar.xz
cbc3ebe49b84228d4bea3b9f7dcb9638 networkmanager-qt-5.55.0.tar.xz
d9d13af96a11f19b68a8787b07a9a8c4 solid-5.55.0.tar.xz
9c2820d220904d527568ac3fd0ef901a sonnet-5.55.0.tar.xz
c78281f2572886467e906c7441673930 threadweaver-5.55.0.tar.xz
9caa8c9db684df909a404c987b20bcd2 kauth-5.55.0.tar.xz
51cfb4f5aafea5e85fb962da96e7eac3 kcompletion-5.55.0.tar.xz
44f4b49602863fcfbaa2b142d913ebe2 kcrash-5.55.0.tar.xz
bab2d57e0f7d0654e1c551c2c4e27a12 kdoctools-5.55.0.tar.xz
e6095ee56197b9d67c1393ba53c7d3d0 kpty-5.55.0.tar.xz
4476d603af984cb6322a9f831a906c41 kunitconversion-5.55.0.tar.xz
5f36ce8b06f046d14309afba6307531d kconfigwidgets-5.55.0.tar.xz
2b7a006d241718cb3c411a42c67c84b4 kservice-5.55.0.tar.xz
b7efe78d929ce60c2f6d6f91ffb99da5 kglobalaccel-5.55.0.tar.xz
d49e0c95cc12e210705f843b8c8ae624 kpackage-5.55.0.tar.xz
3b9f611ebb82225cd9021f3d8ba65d4e kdesu-5.55.0.tar.xz
a088d5a2316ce177c17823a7383216e3 kemoticons-5.55.0.tar.xz
fcabfaf2a08be0bee4317dd7b48a46ac kiconthemes-5.55.0.tar.xz
550af897cf2b536c0b3370c414f2e607 kjobwidgets-5.55.0.tar.xz
c6f26a73d4ea4835afbc07dd30f24f1b knotifications-5.55.0.tar.xz
104ea71b7a1495649a6c2b10ec76d49a ktextwidgets-5.55.0.tar.xz
ee8eb1f361e86568f8d63e3eef52c3d9 kxmlgui-5.55.0.tar.xz
2c6edfead8cbea6eb513b69bd81f352f kbookmarks-5.55.0.tar.xz
e9aea329a955d888363452ef57dd351b kwallet-5.55.0.tar.xz
5ea8d5b98580eea963e20466fd0949cd kio-5.55.0.tar.xz
df0b9df0c1241debaeae2acc634ce917 kdeclarative-5.55.0.tar.xz
b6903266cb40093a903e3f745c0b45dc kcmutils-5.55.0.tar.xz
bf939786cff333aa2d4c25502e4b2d08 kirigami2-5.55.0.tar.xz
b79143c6c4aa5f5e207c4513bcce0eb8 knewstuff-5.55.0.tar.xz
56cadbbd46a2b489fe43f063090fc1ce frameworkintegration-5.55.0.tar.xz
398d370cfc7060dbd8a2fa31d36a73f7 kinit-5.55.0.tar.xz
fb2aa145caf992e812de648d77dc3d6d knotifyconfig-5.55.0.tar.xz
2be64b9dab33e65523b0a113f95f5fdd kparts-5.55.0.tar.xz
e643d57385e5bddb12cba895af11f93e kactivities-5.55.0.tar.xz
a53b413d3bd78f90af64da9c6433ffdb kded-5.55.0.tar.xz
#9e573a2efc794c7b2056a09ac21113f4 kdewebkit-5.55.0.tar.xz
40c0bfab00d45324d232d94001903126 syntax-highlighting-5.55.0.tar.xz
188a9f7d092c93bf06259baf0e83f7d7 ktexteditor-5.55.0.tar.xz
15ec5f8445a23415a1f51980d1dd40c8 kdesignerplugin-5.55.0.tar.xz
3238b6fe1c25908de1b38452f206b0a8 kwayland-5.55.0.tar.xz
2afbba41e0f841b1775b0f002dbf2eca plasma-framework-5.55.0.tar.xz
#e605734af73a902175fcafd3de312ec8 modemmanager-qt-5.55.0.tar.xz
b0dbb756aff5bc0c811411573d43dc5c kpeople-5.55.0.tar.xz
22e294d6a362245a0b9a9da19eb84262 kxmlrpcclient-5.55.0.tar.xz
3242b966706240f90da8c22b0a7e007c bluez-qt-5.55.0.tar.xz
1d3f694c8a8a3a71a51ddb7f9172794a kfilemetadata-5.55.0.tar.xz
dbcac71cf905d6e282d04964ddd93e9f baloo-5.55.0.tar.xz
#6830eded1a3222a3dd91ba16d9fd8f60 breeze-icons-5.55.0.tar.xz
#a8a6e3889a0b1507bbb16d1c62619438 oxygen-icons5-5.55.0.tar.xz
5c6c869f871520f53eaf043415b39765 kactivities-stats-5.55.0.tar.xz
32c65a65016c944a02060f75d65dbf3b krunner-5.55.0.tar.xz
#c09b474c3f96c20504834b5df84c54f1 prison-5.55.0.tar.xz
46ff1ecbdcd631b1a88bc8789b362c1b qqc2-desktop-style-5.55.0.tar.xz
bdcbb64afef6a317eadfbfe3e8f08036 kjs-5.55.0.tar.xz
8f936d42df6edc311758a2be928b3f32 kdelibs4support-5.55.0.tar.xz
a91b430e12c09d01ec2a67d711737609 khtml-5.55.0.tar.xz
f5b31ebf9337ee041f2fd9ef05df1494 kjsembed-5.55.0.tar.xz
f3bad578dc409b557d63cf7f058bd5c9 kmediaplayer-5.55.0.tar.xz
652b408be88fc8dde4dd6c2cf053588d kross-5.55.0.tar.xz
a28376dc7e56982df710307bef1a63e8 kholidays-5.55.0.tar.xz
bfd74337cb26fe7f011de0eca4f08ffe purpose-5.55.0.tar.xz
450567c456f2215cc02ec70c941d5744 syndication-5.55.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.55.0 et oxygen-icons5-5.55.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. Kdewebkit peut être construit si le paquet externe
QtWebkit
a été construit.
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.27
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 \
-DBUILD_TESTING=OFF \
-Wno-dev ..
make
as_root make install
popd
as_root rm -rf $packagedir
as_root /sbin/ldconfig
done < frameworks-5.55.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.55.0
ln -sfvn kf5-5.55.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.55.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 2019-02-18 21:50:23 +0000