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.18, KDE Frameworks-5.34.0, libpwquality-1.4.0, libxkbcommon-0.7.2, Mesa-17.1.6 construit avec Wayland-1.14.0, NetworkManager-1.8.0, 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, IBus-1.5.16, 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.10.0/
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.10.0.md5 << "EOF"
385dedd91c52692248582590afb1fada kde-cli-tools-5.10.0.tar.xz
97251f0737fedeb8e718da52fb2e3c4f kdecoration-5.10.0.tar.xz
93cf21d6485c2207b01a36493687021a libkscreen-5.10.0.tar.xz
4dc7f5d5fd0fb1c78ba0d7442c643439 libksysguard-5.10.0.tar.xz
c3ee9712d1b5e76c60e520369d8d0203 breeze-5.10.0.tar.xz
e3abfe588d5d606c1bd9feb57296f2df breeze-gtk-5.10.0.tar.xz
3234d0bbfbf2ca277e835c25b8c8e347 kscreenlocker-5.10.0.tar.xz
76ac64277d4e0329baa4b119dbe1d872 oxygen-5.10.0.tar.xz
f4fdc03dded336fb79dcb1d41198f12b kinfocenter-5.10.0.tar.xz
eeb495ac4971114e4c378f749b307d5a ksysguard-5.10.0.tar.xz
ca95a965a3a165c1fdaa6db8b33efa8d kwin-5.10.0.tar.xz
15a6eb395aae2b2c12eed4ebb0806853 systemsettings-5.10.0.tar.xz
b58e8037c09011abf1e868df1d5bc401 plasma-workspace-5.10.0.tar.xz
c0cd10543a62358d73060747e950c19b bluedevil-5.10.0.tar.xz
d65869affd1204d8056efca6a20fd37b kde-gtk-config-5.10.0.tar.xz
53ff209275740023066ddcf3f930ddce khotkeys-5.10.0.tar.xz
cf6a4611f2c35a32e2571dc13ea0a348 kmenuedit-5.10.0.tar.xz
b34337a7849c39b5b9710ce4ec06ecd7 kscreen-5.10.0.tar.xz
82847e071a55f526150f3b945d9cd13e kwallet-pam-5.10.0.tar.xz
50a1816d7d70246a9c7bcc08cfe6a014 kwayland-integration-5.10.0.tar.xz
83a93dbc26f874e8da5b5b5f61a53450 kwrited-5.10.0.tar.xz
2a49140e706662d4543d2ab43ed833f0 milou-5.10.0.tar.xz
976e21025c3a18331ba450f304c68720 plasma-nm-5.10.0.tar.xz
7c6186fb1356fe457f4c8ab9e68ee343 plasma-pa-5.10.0.tar.xz
d7cc2d1c45442672bb528cbcfb3e7b0c plasma-workspace-wallpapers-5.10.0.tar.xz
3a2ba731b5668c806ab40e2efe285ef2 polkit-kde-agent-1-5.10.0.tar.xz
7acf9ead83f2ed6f676115351a41742a powerdevil-5.10.0.tar.xz
d1edc632e923a66c578b0b301221efb1 plasma-desktop-5.10.0.tar.xz
93fd41d84118483582bf2d2cfe39d8d4 kdeplasma-addons-5.10.0.tar.xz
e6658da2bb79caedeba733c0c1fcfc95 kgamma5-5.10.0.tar.xz
f90500aaf1f2ee90cd2d248d646bf44f ksshaskpass-5.10.0.tar.xz
#bc5650a67220f5ec2c7556635a4e15b7 plasma-sdk-5.10.0.tar.xz
00e5f4bec1a304d756e87e9c52269306 sddm-kcm-5.10.0.tar.xz
814f9ecc0299de76d722de7020c19bd5 user-manager-5.10.0.tar.xz
1070622fea6faa5952b724028c14bc7d discover-5.10.0.tar.xz
#330e2a7c084a432aed63d0a31c54df1e breeze-grub-5.10.0.tar.xz
#0059b846bb6236adad2e5b5d0df3c2d6 breeze-plymouth-5.10.0.tar.xz
a35ae2e6c7ef48234841b416769a17ac kactivitymanagerd-5.10.0.tar.xz
24c9a41664ffa89768df14005335e7bc plasma-integration-5.10.0.tar.xz
182f5a883551ab5a789cf8afd3212d64 plasma-tests-5.10.0.tar.xz
#480568df95a0d73829e9b3478c130917 plymouth-kcm-5.10.0.tar.xz
6e3f734d83271fa7a28176faf9649688 xdg-desktop-portal-kde-5.10.0.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.20p2 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.10.0.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).

if vous prévoyez de démarrer Plasma en utilisant un gestionnaire d'affichage comme sddm-0.14.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