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

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

FontForge-20150824, GTK+-2.24.29, GTK+-3.18.7, KDE Frameworks-5.19.0, libpwquality-1.3.0, libxkbcommon-0.5.0, Mesa-11.1.2 construit avec Wayland-1.10.0, NetworkManager-1.0.10, PulseAudio-8.0, Python-2.7.11, qca-2.1.1 (construit avec qt5), taglib-1.10 et xcb-util-cursor-0.1.2

Recommandées

Facultatives

GLU-9.0.0, Xorg Synaptics Driver-1.8.3, ibus, libgps, libhybris, libraw1394, mockcpp, Qalculate, Qapt et SCIM

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.5.4/
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.5.4.md5 << "EOF"
3a56e727477dc28d51c10d5d2eb91dc2  kde-cli-tools-5.5.4.tar.xz
f30791e38e7eccd5b6a8643d606d4e3b  kdecoration-5.5.4.tar.xz
c0e92aa7fd9f868bb565b5d39a382d81  kwayland-5.5.4.tar.xz
bc23b108f5e5dccdc03183e4b72c354d  libkscreen-5.5.4.tar.xz
af74ab9d18f156c16c542892c9148731  libksysguard-5.5.4.tar.xz
e284a850879f33ccbfea22fae5d93a6e  breeze-5.5.4.tar.xz
d7bcd2d966533519ca7bd7c8d83f2490  breeze-gtk-5.5.4.tar.xz
5073ee898dac459f53200daba96d73ba  kscreenlocker-5.5.4.tar.xz
d79eaaf8d24918a7a3dd0e95bf4f7b95  oxygen-5.5.4.tar.xz
e47e2afb0bdef8733408467d24199694  khelpcenter-5.5.4.tar.xz
4eddff6767cf1a2d47b6ddf711a4655e  kinfocenter-5.5.4.tar.xz
36158a670305ecd8ef29415448917d5a  ksysguard-5.5.4.tar.xz
d719b7258a5fa9bf2dae770a20fa4e2d  kwin-5.5.4.tar.xz
d745f6cd41f9d248fda24db9d491d973  systemsettings-5.5.4.tar.xz
e6450622646f5361a71830912320fd64  plasma-workspace-5.5.4.tar.xz
725f2046c787929d71162dada5fd1bf3  bluedevil-5.5.4.tar.xz
6a3a8e2dc4c19205802d3cee52f21abc  kde-gtk-config-5.5.4.tar.xz
7dae9526e136fd1a842f83c33a703acb  khotkeys-5.5.4.tar.xz
6b4f74c63e78f019d9a7e219ebf2b57e  kmenuedit-5.5.4.tar.xz
6a353bae593f9519773be8f9529adb1f  kscreen-5.5.4.tar.xz
b744d8f115ef2d2764d83a9fe9071957  kwallet-pam-5.5.4.tar.xz
5a2b6d89e9ae11abe0d4b04c372fbaa8  kwayland-integration-5.5.4.tar.xz
d2eb5b40976639f3571bc5cee74854c9  kwrited-5.5.4.tar.xz
4719f8c76bc8b7bdca544fdaf5e836a9  milou-5.5.4.tar.xz
70287df57f1869801d4cab8179c20f2e  plasma-nm-5.5.4.tar.xz
bfc8507bf610b8738047bf59c4e32327  plasma-pa-5.5.4.tar.xz
996d8eb8b7a0a4ed26d13d09a0038709  plasma-workspace-wallpapers-5.5.4.tar.xz
3236cf46b260b7c3bcbc22fecfda0aca  polkit-kde-agent-1-5.5.4.tar.xz
4822113c9a2366e8ec406d6e709ed2c5  powerdevil-5.5.4.tar.xz
2ec4ddd309582c91c39f1921415cc059  plasma-desktop-5.5.4.tar.xz
1265fb2c9e28437dda3c5af00102e041  kdeplasma-addons-5.5.4.tar.xz
a6d759ea14f106701202b8c536dfb62c  kgamma5-5.5.4.tar.xz
90793d76613ed4f3a2f46c2c417527ed  ksshaskpass-5.5.4.tar.xz
4a1a4a6b6196d3f115de53a6d220f9cd  plasma-mediacenter-5.5.4.tar.xz
03ab7ffd49c9c6cd266f43b6b1b31571  plasma-sdk-5.5.4.tar.xz
0cc50236023b0baf02ccbcd4e373337a  sddm-kcm-5.5.4.tar.xz
f545a6e63b0953b777a1709f6f6f9248  user-manager-5.5.4.tar.xz
277ad0f67e0b101d109e93a03902bf49  discover-5.5.4.tar.xz
EOF

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

       OPTS=""

       case $packagedir in
         kwayland-5.5.4 )
           OPTS="-DECM_MKSPECS_INSTALL_DIR=$KF5_PREFIX/share/mkspecs/modules"
           ;;

         libksysguard-5.5.4 )
           sed -i "1 i using namespace std;" ../signalplotter/ksignalplotter.cpp
           ;;
       esac

       cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
             -DCMAKE_BUILD_TYPE=Release         \
             -DLIB_INSTALL_DIR=lib              \
             -DBUILD_TESTING=OFF                \
             $OPTS                              \
             -Wno-dev ..  &&

        make
        as_root make install
    popd

    rm -rf $packagedir
    as_root /sbin/ldconfig

done < plasma-5.5.4.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

Démarrage de Plasma5

[Attention]

Attention

Si KDE4 est installé en plus de Plasma 5, assurez-vous que la variable d'environnement PATH possède les binaire Plasma 5 avant ceux de KDE4. Vous pouvez vous en assure en lançant :

pathprepend /opt/kf5/bin

avant de lancer startx.

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.13.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 et/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