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

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.24.10, KDE Frameworks-5.61.0, libpwquality-1.4.0, libxkbcommon-0.8.4, Mesa-19.1.4 construit avec Wayland-1.17.0, NetworkManager-1.20.0, pipewire-0.2.6, PulseAudio-12.2, qca-2.2.1, sassc-3.6.1, taglib-1.11.1 et xcb-util-cursor-0.1.3

Recommandées

Facultatives

GLU-9.0.1, ibus-1.5.20, Xorg Synaptics Driver-1.9.1, 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.16.4/
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.16.4.md5 << "EOF"
5e44ce8c340a2776d0c26c01e052de98  kdecoration-5.16.4.tar.xz
e9a04fac01548ed807f1e74afa6cecbc  libkscreen-5.16.4.tar.xz
54f83ba22b7bffb8b29ecb4304eba290  libksysguard-5.16.4.tar.xz
b9669c56c282a3a99ad8b5c8ab9e28e7  breeze-5.16.4.tar.xz
6800789a7165d7d0ea5cab3f37a412d8  breeze-gtk-5.16.4.tar.xz
68d3ce5b520f3295cdf449d129163f31  kscreenlocker-5.16.4.tar.xz
37b8aa51e815547a0ca7891f6f28bfd1  oxygen-5.16.4.tar.xz
f0aca5810cbf7d6fe9b234dd188bf866  kinfocenter-5.16.4.tar.xz
42ad987f068e263e2c04bd46203748aa  ksysguard-5.16.4.tar.xz
03e03a0d82a2c7a44357a0b70a818364  kwin-5.16.4.tar.xz
28ecbe477db45e0ec87d04d89cd00a5e  plasma-workspace-5.16.4.tar.xz
2f5c188ec483ba13a141d01f914fbdca  bluedevil-5.16.4.tar.xz
d57f164978aa8ddaa2029834197cd79c  kde-gtk-config-5.16.4.tar.xz
d665005eee4c4f286d02352f3ed1cca8  khotkeys-5.16.4.tar.xz
8411a6adb83f6d07ce57d68518524a60  kmenuedit-5.16.4.tar.xz
3e8620ef18c1a077da5b94d2d8da221f  kscreen-5.16.4.tar.xz
578af3befcb637107e38ef68904549b1  kwallet-pam-5.16.4.tar.xz
95e8f7c97d92ce842f4cd88e4244164f  kwayland-integration-5.16.4.tar.xz
0193b8e80dcdff29b9bde53bfcbe57e7  kwrited-5.16.4.tar.xz
40f100f10fc791b636c90a890d6a72d0  milou-5.16.4.tar.xz
fdfc54509ba708cc341a0e0b5925c04c  plasma-nm-5.16.4.tar.xz
243d1a5f17ea39cae8df5051a4d57a74  plasma-pa-5.16.4.tar.xz
1c6dcff4dd988d57e8666d29436cd770  plasma-workspace-wallpapers-5.16.4.tar.xz
251a7f86e34c718c76b5463ff923f1f4  polkit-kde-agent-1-5.16.4.tar.xz
d7d1e680ebb4bd522e09cd3d7c485809  powerdevil-5.16.4.tar.xz
9f6022331ff678064507f8c1936db3b6  plasma-desktop-5.16.4.tar.xz
66cf356c39e8e5a361fa5bdbac07ea0e  kdeplasma-addons-5.16.4.tar.xz
a4bbf8ecc177bb640a21e0b699f41717  kgamma5-5.16.4.tar.xz
f4cdc68f40a0d9de75080473c5653aeb  ksshaskpass-5.16.4.tar.xz
#98189f9c245ee94c36b52c0b4899fd6a  plasma-sdk-5.16.4.tar.xz
0614d7063840aa22c5f273aa94eb59b5  sddm-kcm-5.16.4.tar.xz
87770cae80be1d91f5a69e6964b35d90  user-manager-5.16.4.tar.xz
31de7a8ab5233c568331c415a9932afb  discover-5.16.4.tar.xz
#9cd0a7f9624a2f2b4b0fa56913644431  breeze-grub-5.16.4.tar.xz
#973aad521ffcd3f4713984ed7c30ffe2  breeze-plymouth-5.16.4.tar.xz
4fde8ca5608fd6af1612695b7d1574bc  kactivitymanagerd-5.16.4.tar.xz
31b52d29b0aa1c6be4d90844217c7e63  plasma-integration-5.16.4.tar.xz
d66af09fc97717ca4da55e37646708c5  plasma-tests-5.16.4.tar.xz
3544c8e414e44c1a4622fa706dc09e93  plymouth-kcm-5.16.4.tar.xz
3877c03570407e2382899b76e36e71cf  xdg-desktop-portal-kde-5.16.4.tar.xz
8a5a274541943f365aa971318b52dc33  drkonqi-5.16.4.tar.xz
2c323e7f60b6042d0b8c66f0726e7499  plasma-vault-5.16.4.tar.xz
b48e4ea395f4ca9a98aecb4cb9616186  plasma-browser-integration-5.16.4.tar.xz
5c1a41d205f55cc7828c485d08a366f3  kde-cli-tools-5.16.4.tar.xz
39f47836ddf69aed04a26e26899a208a  systemsettings-5.16.4.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.27 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 tous les paquets 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

       # Fix some build issues when generating some configuration files
       case $name in
         plasma-workspace)
           sed -i '/set.HAVE_X11/a set(X11_FOUND 1)' CMakeLists.txt
         ;;
      
         khotkeys)
           sed -i '/X11Extras/a set(X11_FOUND 1)' CMakeLists.txt
         ;;
      
         plasma-desktop)
           sed -i '/X11.h)/i set(X11_FOUND 1)' CMakeLists.txt
         ;;
       esac

       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.16.4.md5

exit

Si vous n'avez pas configuré $KF5_PREFIX à /usr, créez des liens symboliques pour permettre aux gestionnaires d'affichage de trouver Plasma :

as_root install -dvm 755 /usr/share/xsessions              &&
cd /usr/share/xsessions/                                   &&
[ -e plasma.desktop ]                                      ||
as_root ln -sfv $KF5_PREFIX/share/xsessions/plasma.desktop &&
as_root install -dvm 755 /usr/share/wayland-sessions       &&
cd /usr/share/wayland-sessions/                            &&
[ -e plasma.desktop ]                                      ||
as_root ln -sfv $KF5_PREFIX/share/wayland-sessions/plasma.desktop

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

Pour démarrer Plasma5 en utilisant xinit-1.4.1, 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.30.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