%general-entities; ]> $LastChangedBy: bdubbs $ $Date: 2015-09-24 16:44:04 -0500 (Thu, 24 Sep 2015) $ Building Plasma 5 KDE Plasma 5 KDE Plasma 5 is a collection of packages based on top of KDE Frameworks 5 and QML. They implement the KDE Display Environment (Plasma 5). &lfs90_checked; The instructions below build all of the Plasma 5 packages in one step by using a bash script. Package Information Download (HTTP): Download (FTP): Download MD5 sum: &plasma5-md5sum; Download size: &plasma5-size; Estimated disk space required: &plasma5-buildsize; Estimated build time: &plasma5-time; Plasma 5 Dependencies Required , , , , , , built with , , , , , , , and Recommended , , , , , , , , and Optional , , , appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM, and socat (for pam_kwallet) User Notes: Downloading KDE Plasma5 The easiest way to get the KDE Plasma5 packages is to use a single wget to fetch them all at once: url=http://download.kde.org/stable/plasma/&plasma5-version;/ 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 Setting Package Order The order of building files is important due to internal dependencies. Create the list of files in the proper order as follows: cat > plasma-&plasma5-version;.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 The breeze-grub, breeze-plymouth, and plymouth-kcm packages above are all for customized support of Plymouth which is designed to be run within an initial ram disk during boot (see ). The plasma-sdk package is optional and used for software development. Installation of Plasma5 &as_root; First, start a subshell that will exit on error: bash -e Install all of the packages by running the following commands: 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-&plasma5-version;.md5 exit If you did not set $KF5_PREFIX to /usr, create symlinks to allow display managers to find 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 Configuring Plasma Linux PAM Configuration If you built Plasma with the recommended Linux PAM support, create necessary configuration files by running the following commands as the root user: 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 Starting Plasma5 You can start Plasma5 from runlevel 3, using , or from runlevel 5, using a Display Manager, such as . You can start Plasma5 from a TTY, using . To start Plasma 5 using , run the following commands: cat > ~/.xinitrc << "EOF" dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde EOF startx The X session starts on the first unused virtual terminal, normally vt7. You can switch to another vtn simultaneously pressing the keys Ctrl-Alt-Fn (n=1, 2, ...). To switch back to the X session, normally started at vt7, use Ctrl-Alt-F7. The vt where the command startx was executed will display many messages, including X starting messages, applications automatically started with the session, and eventually, some warning and error messages. You may prefer to redirect those messages to a log file, which not only will keep the initial vt uncluttered, but can also be used for debugging purposes. This can be done starting X with: startx &> ~/x-session-errors When shutting down or rebooting, the shutdown messages appear on the vt where X was running. If you wish to see those messages, simultaneously press keys Alt-F7 (assuming that X was running on vt7). If you intend to start Plasma using a display manager such as , there will be two entries for Plasma, one for use with Xorg, and another for Wayland. Modify the Xorg entry with the following command, as the root user, so that you can differentiate between the two: sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop Contents Installed Programs Installed Libraries Installed Directories There are too many plasma programs (50 in /opt/kf5/bin) to list separately here. There are too many plasma libraries (39 in /opt/kf5/lib) to list separately here. There are too many plasma directories (over 1000 in /opt/kf5) to list separately here.