Construction de Plasma 5

KDE Plasma 5 est une collection de paquets basés sur KDE Frameworks 5 et QML. Il est dérivé du bureau monolithique KDE 4. Ils implémentent l'environnement d'affichage KDE (Plasma 5).

Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.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

GTK+-2.24.31, GTK+-3.22.8, KDE Frameworks-5.31.0, libpwquality-1.3.0, libxkbcommon-0.7.1, Mesa-13.0.4 construit avec Wayland-1.12.0, NetworkManager-1.6.2, PulseAudio-10.0, Python-2.7.13, qca-2.1.1 (construit avec qt5), taglib-1.11.1 et xcb-util-cursor-0.1.3

Recommandées

Facultatives

GLU-9.0.0, Xorg Synaptics Driver-1.9.0, appstream-qt, ibus, 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.9.2/
wget -r -nH --cut-dirs=3 -A '*.xz' -np $url

Les options utilisées sont :
  -r            traverser récursivement les répertoires enfants
  -nH           désactiver la génération de répertoires préfixés par l'hôte
  --cut-dirs=3  supprimer trois niveaux de répertoires lors de la sauvegarde
  -A '*.xz'     ne récupérer que les fichiers *.xz
  -np           ne pas récupérer les répertoires parents

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.9.2.md5 << "EOF"
73bc77af6f711c06d6d3f1ef45f10160  kde-cli-tools-5.9.2.tar.xz
626a33ac01151206d3253e8c29d435ad  kdecoration-5.9.2.tar.xz
c9b35833c8d7c393d1bbb3dabc70f0d5  libkscreen-5.9.2.tar.xz
78dc80f2ea85bc819a232a8aa8179c69  libksysguard-5.9.2.tar.xz
5c276dcbe1d9ed7884246a34f6a3707a  breeze-5.9.2.tar.xz
f31d99fffcf1d8b339ae4a9cfec67856  breeze-gtk-5.9.2.tar.xz
153146a388091bf167ada1f436394d11  kscreenlocker-5.9.2.tar.xz
54e1676160447f7c8bc56b62242809d2  oxygen-5.9.2.tar.xz
09c1336a19629f9f2b64885b4104d23e  kinfocenter-5.9.2.tar.xz
abc2bb29f5e72c04840f24085b84a48c  ksysguard-5.9.2.tar.xz
35a815b1de64c4feb1670d21b85484e3  kwin-5.9.2.tar.xz
d711cf51ca3b21f1bed3ec367d6fbea8  systemsettings-5.9.2.tar.xz
0ab5467630ac11bcfe9d134449811641  plasma-workspace-5.9.2.tar.xz
9b5ea9445306520190a54e1e72b25d81  bluedevil-5.9.2.tar.xz
f5a8d06f99eacb828d5476001f21481c  kde-gtk-config-5.9.2.tar.xz
f9949eee01af23cf7e5c940ae24e815a  khotkeys-5.9.2.tar.xz
0183785beb44a066907c4d7a0025ba00  kmenuedit-5.9.2.tar.xz
8c4d6b9c36d8943a4c6d29313285d5d6  kscreen-5.9.2.tar.xz
77c383d9f4f38d962b0bfaf97740fc00  kwallet-pam-5.9.2.tar.xz
bd8b2ccb3feef5556e54134c48dcb4cd  kwayland-integration-5.9.2.tar.xz
1eb7128d2133ba378e2d816a75241f40  kwrited-5.9.2.tar.xz
f060f64201f77190902ceb0b2970a854  milou-5.9.2.tar.xz
fe07081e243c21a881e74811e21e5699  plasma-nm-5.9.2.tar.xz
843b66f9c01373a5f9e706bb0ed6857f  plasma-pa-5.9.2.tar.xz
96b3bce05e95880f2d971f0e50ddc997  plasma-workspace-wallpapers-5.9.2.tar.xz
3b83e658f8a3d8ca163f7f386204f7c8  polkit-kde-agent-1-5.9.2.tar.xz
0fbed265a6e2ddc201951d686c60a6c9  powerdevil-5.9.2.tar.xz
189bca8e52a9aa49e07979a73c2027ea  plasma-desktop-5.9.2.tar.xz
7d5bcc25bb81464e4d0a48cfcd88e4d0  kdeplasma-addons-5.9.2.tar.xz
0bd92b511f5cf038e3d2cdb3603079e1  kgamma5-5.9.2.tar.xz
6f7b588292a1a9b8dcf9b71bb14d7db2  ksshaskpass-5.9.2.tar.xz
#db4a5d3fba916641d011fce81cd62491  plasma-sdk-5.9.2.tar.xz
e9b418da105db2afd0174d4c0055e82b  sddm-kcm-5.9.2.tar.xz
54aa86277d27b2a7d10945375f46e781  user-manager-5.9.2.tar.xz
fc31095f62beb97e5794190f37f9723d  discover-5.9.2.tar.xz
#4eff8049e19ca87cab6c94d208089f62  breeze-grub-5.9.2.tar.xz
#6ff3b8b9d178c17f7b760d5da34b4eb7  breeze-plymouth-5.9.2.tar.xz
e64bd0bc6d95847e24b37335c4071483  kactivitymanagerd-5.9.2.tar.xz
777a8590c34777d0e9f5c40a6226b91a  plasma-integration-5.9.2.tar.xz
9bcb2aa6e73acc860389c0dfac76c242  plasma-tests-5.9.2.tar.xz
EOF
[Note]

Note

Les paquets breeze-grub et breeze-plymouth 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 du 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.19p2 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         \
             -DLIB_INSTALL_DIR=lib              \
             -DBUILD_TESTING=OFF                \
             -Wno-dev ..  &&

        make
        as_root make install
    popd


    as_root rm -rf $packagedir
    as_root /sbin/ldconfig

done < plasma-5.9.2.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 le niveau d'exécution 3, en utilisant xinit-1.3.4, ou depuis le niveau d'exécution 5, en utilisant un gestionnaire d'affichage, comme sddm-0.14.0.

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

cat > ~/.xinitrc << "EOF"
ck-launch-session 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
[Note]

Note

Vous pouvez souhaiter éviter consolekit ou dbus-launch, par exemple, en utilisant juste startkde dans ~/.xinitrc. Cependant quelques fonctionnalités comme le montage ou le démontage des systèmes de fichiers depuis un gestionnaire de fichiers ne seront pas possibles, ou l'option de redémarrage peut être absente ou inopérant, en plus d'autres problèmes.

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

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