%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. It has been derived from the monolithic KDE 4 desktop. They implement the KDE Display Environment (Plasma 5). &lfs7a_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 , , , , (built with qt5), , and Recommended , , , , , , and Optional , , appstream-qt, ibus, 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 --cut-dirs=3 -A '*.xz' -np $url The options used here are: -r recurse through child directories -nH disable generation of host-prefixed directories --cut-dirs=3 remove three levels of directories when saving -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" 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 The breeze-grub and breeze-plymouth packages above are both 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 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-&plasma5-version;.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 Command Explanations ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/: Create symbolic links so qml files can find needed javascript modules. 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" ck-launch-session dbus-launch --exit-with-session $KF5_PREFIX/bin/startkde EOF startx 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 You may wish to drop consolekit and/or dbus-launch, e.g., just using startkde in ~/.xinitrc. However some capabilities such as mounting or umounting file systems from a file manager will not be possible, or the reboot option may be absent or inoperative, among other problems. 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). 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.