Construction de Plasma 5

KDE Plasma 5 est une collection de paquets basés sur KDE Frameworks 5 et QML. Ils implémentent 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 Plasma 5 en une étape en utilisant un script bash.

Informations sur le paquet

Dépendances de Plasma 5

Requises

GConf-3.2.6, GTK+-2.24.32, GTK+-3.22.28, KDE Frameworks-5.43.0, libpwquality-1.4.0, libxkbcommon-0.8.0, Mesa-17.3.4 construit avec Wayland-1.14.0, NetworkManager-1.10.4, PulseAudio-11.1, Python-2.7.14, qca-2.1.3, taglib-1.11.1 et xcb-util-cursor-0.1.3

Recommandées

Facultatives

GLU-9.0.0, IBus-1.5.17, Xorg Synaptics Driver-1.9.0, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM, et socat (pour pam_kwallet)

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/kf5

Téléchargement de KDE Plasma5

La meilleure façon d'avoir les paquets de KDE Plasma5 est d'utiliser un seul wget pour les avoir tous en même temps :

url=http://download.kde.org/stable/plasma/5.12.1/
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 construction des fichiers est important à cause des dépendances internes. Créez la liste des fichiers dans le bon ordre comme suit :

cat > plasma-5.12.1.md5 << "EOF"
a1abf188ffb59a4b6e23d058aa45f0d1  kde-cli-tools-5.12.1.tar.xz
2eae0ba02fe25a10f43de9366c1aea00  kdecoration-5.12.1.tar.xz
cee80062a266ff50b120c3fccc2da4af  libkscreen-5.12.1.tar.xz
72ab3939b76c432b977c31df305304f2  libksysguard-5.12.1.tar.xz
2d265b041feb7f94fdc80cc40cca7fa8  breeze-5.12.1.tar.xz
99aebe5eae6e42ee6eb0a61cf8f04284  breeze-gtk-5.12.1.tar.xz
e8e5600b985e0305bcb1240da214395b  kscreenlocker-5.12.1.tar.xz
402dfcdfc23cb1c2b4a7f3347dfac5c2  oxygen-5.12.1.tar.xz
1cb5e69233857722ee27e1fe35a550c9  kinfocenter-5.12.1.tar.xz
7dc785af0e5b034197775470785b61b9  ksysguard-5.12.1.tar.xz
5983d1f2b35d66252fc9b2c47c7d2ddb  kwin-5.12.1.tar.xz
c175ab510f420b7293792c14edf98ce6  systemsettings-5.12.1.tar.xz
8d97e635b03bd046e2dda4c96317fea5  plasma-workspace-5.12.1.tar.xz
6d717f754da760ab33a8c12ac1c37112  bluedevil-5.12.1.tar.xz
dd0e8721048cd88b55f8dd45a5a72198  kde-gtk-config-5.12.1.tar.xz
e6241737195d592ee4c2087ad4a4147f  khotkeys-5.12.1.tar.xz
c416fd50038aa35043560213b9920156  kmenuedit-5.12.1.tar.xz
742a0c2a5067f92a3a5f2a8299680972  kscreen-5.12.1.tar.xz
cfa6fa62948d37fc3fe9351084c0bb6a  kwallet-pam-5.12.1.tar.xz
3c8d15dfa606ec65d347bc59ead1c9ad  kwayland-integration-5.12.1.tar.xz
7ab4c14801ea6b85b454361f1ac864f3  kwrited-5.12.1.tar.xz
11b5a0cf1c1997fd4b29af4f54d3723c  milou-5.12.1.tar.xz
0d63f11eae7adc6b5e7c32baa6ec4293  plasma-nm-5.12.1.tar.xz
518ddf777698a65b3b10f246060aea9a  plasma-pa-5.12.1.tar.xz
20eaf7b6afbf93aa878d37816dd31676  plasma-workspace-wallpapers-5.12.1.tar.xz
1b315a99664053b850d1ecda6da3ab63  polkit-kde-agent-1-5.12.1.tar.xz
36e62e1a2fc85c22916de3a9d8eb8a89  powerdevil-5.12.1.tar.xz
f8dd9aabaac4e80bae15d4580fe689ff  plasma-desktop-5.12.1.tar.xz
4f0179f85332dd001a860cb0da9aeb72  kdeplasma-addons-5.12.1.tar.xz
1faca1598163b827c700489cad58a7f9  kgamma5-5.12.1.tar.xz
28a187eb76929858e2f4c41a6540ea78  ksshaskpass-5.12.1.tar.xz
#7943b64ceee1573343e89717ce22366b  plasma-sdk-5.12.1.tar.xz
28a1ad02d32a6c0fbdfc9dc1822d5ded  sddm-kcm-5.12.1.tar.xz
276bc0870e905dc1458664584eedb55d  user-manager-5.12.1.tar.xz
21046d3e4a2a877ef3bdcf46feacc425  discover-5.12.1.tar.xz
#d354ce8e994921a2357db05b60d7911b  breeze-grub-5.12.1.tar.xz
#1ed17b5866e148568d5057b1b2a28566  breeze-plymouth-5.12.1.tar.xz
08a7ebca2a8a4f5191f0aed74675d9f6  kactivitymanagerd-5.12.1.tar.xz
f3a688a841d27ab2707bd479dbdfa93c  plasma-integration-5.12.1.tar.xz
e43d587afe912e3f29a708dd91dd940f  plasma-tests-5.12.1.tar.xz
466e30427fa30adba80847ca422223f2  plymouth-kcm-5.12.1.tar.xz
6d60b5684501b81777563f7f1fc7e0f4  xdg-desktop-portal-kde-5.12.1.tar.xz
8f784bb3f4140e0cc044d9fbecd72aac  drkonqi-5.12.1.tar.xz
170eb8041db38303c0daaf1399cf0153  plasma-vault-5.12.1.tar.xz
EOF
[Note]

Note

Les paquets breeze-grub, breeze-plymouth et plymouth-kcm ci-dessus servent à supporter la personnalisation de Plymouth qui est prévu pour fonctionner dans un disque de ram initial pendant le démarrage (voir la section intitulée « À propos de initramfs »). Le paquet plasma-sdk est facultatif et utilisé pour le développement logiciel.

Installation de Plasma5

[Note]

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 :

  1. Lancer le script entièrement en tant qu'utilisateur root (pas recommandé).

  2. Use the sudo command from the Sudo-1.8.22 package.

  3. 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

Commencez par démarrer un sous-shell qui sortira s'il y a une 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_BUILD_TYPE=Release         \
             -DBUILD_TESTING=OFF                \
             -Wno-dev ..  &&

        make
        as_root make install
    popd


    as_root rm -rf $packagedir
    as_root /sbin/ldconfig

done < plasma-5.12.1.md5

exit

cd $KF5_PREFIX/share/plasma/plasmoids

for j in $(find -name \*.js); do
  as_root ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/
done

Explication des commandes

ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/ : Crée des liens symboliques pour que les fichiers QML puissent trouver les modules javascript nécessaire

Configuration de Plasma

Configuration de Linux PAM

Si vous avez construit Plasma avec le support recommandé de Linux PAM, créez les fichiers de configuration nécessaires en lançant les commandes suivantes en tant qu'utilisateur root :

cat >> /etc/pam.d/kde << "EOF" 
# Begin /etc/pam.d/kde

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     include        system-auth

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde
EOF

cat > /etc/pam.d/kde-np << "EOF" 
# Begin /etc/pam.d/kde-np

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid >= 1000 quiet
auth     required       pam_permit.so

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde-np
EOF

cat > /etc/pam.d/kscreensaver << "EOF"
# Begin /etc/pam.d/kscreensaver

auth    include system-auth
account include system-account

# End /etc/pam.d/kscreensaver
EOF

Démarrage de Plasma5

Vous pouvez démarrer Plasma5 depuis un TTY avec xinit-1.3.4.

Pour démarrer Plasma5 en utilisant xinit-1.3.4, lancez les commandes suivantes :

cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde
EOF

startx

La session X démarre dans le premier terminal virtuel inutilisé, normalement vt7. Vous pouvez passer à un autre vtn en appuyant simultanément sur les touches Ctrl-Alt-Fn (n=1, 2, ...). Pour aller sur la session X, normalement démarrée sur vt7, utilisez Ctrl-Alt-F7. Le vt où la commande startx est exécuté affichera beaucoup de messages, incluant les messages de démarrage de X, les applications automatiquement démarrées avec la session, et éventuellement, quelques avertissements et messages d'erreur. Vous pouvez préférer rediriger ces messages dans un fichier de log, qui non seulement laissera le vt initial propre, mais pourra aussi être utilisé pour des questions de débogage. Cela peut être fait en démarrant X avec :

startx &> ~/x-session-errors

Au redémarrage ou à l'arrêt, les messages d'arrêt apparaissent sur le vt où X était lancé. Si vous voulez voir ces messages, appuyez simultanément sur Alt-F7 (en considérant que X était lancé sur vt7).

Si vous prévoyez de démarrer Plasma en utilisant un gestionnaire d'affichage comme lightdm-1.24.0, il y aura deux entrées pour Plasma, une pour l'utilisation de Xorg, et une autre pour Wayland. Modifiez l'entrée Xorgavec la commande suivante, en tant qu'utilisateur root afin que vous puissiez faire la différence entre les deux :

sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop

Contenu

Programmes installés: Il y a trop de programmes plasma (50 dans /opt/kf5/bin) pour les lister séparément ici.
Bibliothèques installées: Il y a trop de bibliothèques plasma (39 dans /opt/kf5/lib) pour les lister séparément ici
Répertoires installés: Il y a trop de répertoires plasma (plus de 1000 dans /opt/kf5) pour les lister séparément ici

Last updated on 2015-09-24 16:44:04 -0500