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.1.
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.37
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement : Voir ci-dessous
-
Taille du téléchargement : 273 Mo
-
Estimation de l'espace disque requis : 981 Mo (187 Mo
installé)
-
Estimation du temps de construction : 13 SBU (avec
parallélisme = 4)
Dépendances de KF5
Requises
Boost-1.64.0, extra-cmake-modules-5.37.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.2 (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 et
PyYAML
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.37/
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.37.0.md5 << "EOF"
b6c54ce0f87384c070e3dfb5488380c5 attica-5.37.0.tar.xz
#29883c1580c5b9e4c736a138fc832e1a extra-cmake-modules-5.37.0.tar.xz
d359828a8c026643374782268e099372 kapidox-5.37.0.tar.xz
141bf68d72d41056b1d1485da8a47a9e karchive-5.37.0.tar.xz
8d85c7e7e8fcafd111ee4926160c60e4 kcodecs-5.37.0.tar.xz
b25eebcac5447af9435f2effc2f566ce kconfig-5.37.0.tar.xz
76bf9525d2eebf95fbc4dde189b7dc74 kcoreaddons-5.37.0.tar.xz
2697c6440c566da94341f4bc3bf3164c kdbusaddons-5.37.0.tar.xz
e12d09fb176c0533d2a4eed6b43cbfc3 kdnssd-5.37.0.tar.xz
a395b2479d99128cba078c3a1299a566 kguiaddons-5.37.0.tar.xz
97bdebb717431b400add03d60484db72 ki18n-5.37.0.tar.xz
e070c69d7785532d0671a077e3cc370f kidletime-5.37.0.tar.xz
127c01934d68a3b3b88231e9602831e5 kimageformats-5.37.0.tar.xz
db88454a0c4335432055ac074104dc43 kitemmodels-5.37.0.tar.xz
062bfca05e8bb81fa8eb360c6944d75f kitemviews-5.37.0.tar.xz
12f507e62783ce6a17e61328b3a85b07 kplotting-5.37.0.tar.xz
70161280f8e10ac69fc7d334a8531fdd kwidgetsaddons-5.37.0.tar.xz
05864840b694d3a587590c38e2170df0 kwindowsystem-5.37.0.tar.xz
80523443bbb0a0882631f22793e7ff9c networkmanager-qt-5.37.0.tar.xz
edf069c6ea563318ae710a36d55af35a solid-5.37.0.tar.xz
3e2a53802d204bc73d975fd769cbdae2 sonnet-5.37.0.tar.xz
bd38a5cc79c9f2dc8e7f0fcf7df482c9 threadweaver-5.37.0.tar.xz
ed6136acf490dcdaa145e09f2f517338 kauth-5.37.0.tar.xz
b0efe7abac21241f3b5933c5b1ddb8ef kcompletion-5.37.0.tar.xz
34d013abaaae22b45a46956997b0b82c kcrash-5.37.0.tar.xz
fe3f523474c3e65a86884b3e88a18d2a kdoctools-5.37.0.tar.xz
c5732adada0f8ab44eaefbfd458351c4 kpty-5.37.0.tar.xz
6260f91d8340ab7505dbefd58cc7d3bf kunitconversion-5.37.0.tar.xz
e13440e05800f7187c7e98eb6babfa96 kconfigwidgets-5.37.0.tar.xz
d2d343de16c69c7b5d8c492fefa3115f kservice-5.37.0.tar.xz
36bf35d34827bb6b78c7b4cb8be3c554 kglobalaccel-5.37.0.tar.xz
b594e9d93bcfac2f6b2aa98f2642f9ca kpackage-5.37.0.tar.xz
d717f6061cac42035e133618bf043965 kdesu-5.37.0.tar.xz
cc5ff7c6f686c1278d56fcec5df38222 kemoticons-5.37.0.tar.xz
47babcad619664866c880623fd86ff2f kiconthemes-5.37.0.tar.xz
8c5f7d0160aadeb1392e44315bd3c706 kjobwidgets-5.37.0.tar.xz
b8fe7fc1e9180d7a2519d8401b42cd65 knotifications-5.37.0.tar.xz
deda1b1ac51fe9e4859bafb7c0144133 ktextwidgets-5.37.0.tar.xz
ef28a72da7beffaef6dfcaebcb509d30 kxmlgui-5.37.0.tar.xz
da82f6881e3b1de522b0ca6ce80c7634 kbookmarks-5.37.0.tar.xz
e5900cdfe4a4958965e25002b9f1cab8 kwallet-5.37.0.tar.xz
6d46bb8e26222e3c68a60611c62cd298 kio-5.37.0.tar.xz
6313ca5c3501ce1f4d00ceef3a441ced kdeclarative-5.37.0.tar.xz
d3a81d2cf8d4bcdcb8f1b4a018107e99 kcmutils-5.37.0.tar.xz
0b620a47aca20b155ae461e12a437ae5 knewstuff-5.37.0.tar.xz
5cb0433c25ace0fad2b49cf3b8459704 frameworkintegration-5.37.0.tar.xz
a931963d19b927560b5d81f4fb8bec12 kinit-5.37.0.tar.xz
10db039a62f903c42ddbe762fcef13b1 knotifyconfig-5.37.0.tar.xz
1fde7d6c99345e29d7c0a900a8c67659 kparts-5.37.0.tar.xz
53162e9c01be1e793e6407d2d3cde628 kactivities-5.37.0.tar.xz
ecff152277532d352cb2957a81c44300 kded-5.37.0.tar.xz
f24c53f5b36d23d24ca0b96f027051e0 kdewebkit-5.37.0.tar.xz
a6033d9a6240b133938602a4b7cb98d6 syntax-highlighting-5.37.0.tar.xz
b33dcff501812990fd3065a42264aca2 ktexteditor-5.37.0.tar.xz
2790a476fd712e9c9686a6ff151267dc kdesignerplugin-5.37.0.tar.xz
a1ebab3f95697555278c3bef60647647 kwayland-5.37.0.tar.xz
e73d212673dd92bfc4b943f9d1a21be4 plasma-framework-5.37.0.tar.xz
#b814194b5e8e03c04736567e178d1932 modemmanager-qt-5.37.0.tar.xz
06fbfd8fa30aace3d75fc156de5417d3 kpeople-5.37.0.tar.xz
8372393ce57eb14fb85e54602e24ae47 kxmlrpcclient-5.37.0.tar.xz
4eed8acd2acb2633cba4dd7f8a248b49 bluez-qt-5.37.0.tar.xz
438fe87d54d35f99a71a61cf3b8a9944 kfilemetadata-5.37.0.tar.xz
f317f652591702315c7a9f0d8f95031a baloo-5.37.0.tar.xz
#bf3a1386e6b3daf7b6ee27d59bd55a91 breeze-icons-5.37.0.tar.xz
#3f7cdadd2adc1b82b5600fbea90d0888 oxygen-icons5-5.37.0.tar.xz
18dcba6b6021a6ec21617816113b62fa kactivities-stats-5.37.0.tar.xz
ebac192db60aac4edf29da8cf09b6bd9 krunner-5.37.0.tar.xz
#f4e54c14d94e70c154ebc4d57d868b2f prison-5.37.0.tar.xz
#74de56d367913ec08c547e916bfe3b24 kirigami2-5.37.0.tar.xz
4ef52deab5f709ddf0d3e99bf7747077 kjs-5.37.0.tar.xz
7584d933213c7a3f56c55f1eede7b717 kdelibs4support-5.37.0.tar.xz
691bc2e2a5b763e21333fbac28d039b3 khtml-5.37.0.tar.xz
d21ea2f8177d503b826809b614e37471 kjsembed-5.37.0.tar.xz
73d2101fb4aa04df9918b46e1e91bf7a kmediaplayer-5.37.0.tar.xz
cd2f2748eed19cfe8552b6444c27a021 kross-5.37.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.37.0 et oxygen-icons5-5.37.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. Le paquet kirigami2 est un ensemble de bibliothèques
pour android (voir https://techbase.kde.org/Kirigami
pour plus d'information).
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
case $packagedir in
syntax-highlighting* )
sed -i.orig 's|w-|w\\-|' data/syntax/rest.xml
;;
kdelibs4support*)
sed -i.orig \
'/OPENSSL_FOUND/i set(OPENSSL_INCLUDE_DIR "/usr/include/openssl-1.0")' \
src/CMakeLists.txt
;;
esac
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.37.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.37.0
ln -sfvn kf5-5.37.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.37.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-08-27 06:18:25 +0200