%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). &lfs81_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, 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" 61b926818863e0ff1e87b9a7f4bc1371 kde-cli-tools-5.10.5.tar.xz 133cfcf1c2f3f98f60036a0fb4cd2c84 kdecoration-5.10.5.tar.xz 93465b802514e1a3d90ae3b79f7a7f85 libkscreen-5.10.5.tar.xz 8352206006bd8df100ccf4457330c91f libksysguard-5.10.5.tar.xz f78318b14525ed3a56e33f4f24e5cd04 breeze-5.10.5.tar.xz 02be5bb69c94ac18097375ae66384092 breeze-gtk-5.10.5.tar.xz 90c04db347b282202a06a41e33f28083 kscreenlocker-5.10.5.tar.xz 9874a761b9e92a88e6b4abba571c9f61 oxygen-5.10.5.tar.xz 60e424cdcc01adc499902229c3a8ee80 kinfocenter-5.10.5.tar.xz 3e531a86dbc0f517e79bbba83c8bba5b ksysguard-5.10.5.tar.xz 5e8ad3d570909cd2910fbb1fe50650db kwin-5.10.5.tar.xz 91d3559768edb8d805897f09bb9ca0ed systemsettings-5.10.5.tar.xz 7332e40293623cc59a5d296afb0cac50 plasma-workspace-5.10.5.tar.xz 9d55bed36f274f1b79427e0e515441b1 bluedevil-5.10.5.tar.xz f4f21444ee52f793c43bd1245880c408 kde-gtk-config-5.10.5.tar.xz b96fa0308bf5242924e608181b48d777 khotkeys-5.10.5.tar.xz c2259c358887d8e21b497e90a8dcef50 kmenuedit-5.10.5.tar.xz 29a7eac44b1239a371d2f8337285cfa9 kscreen-5.10.5.tar.xz 4117c95c592c7f51c6f1e54b9eb9a015 kwallet-pam-5.10.5.tar.xz 37720b8eaf3e6271dc21b8cd7fda14d2 kwayland-integration-5.10.5.tar.xz 0377a56033de0415174400dfe8e7516a kwrited-5.10.5.tar.xz b925292bb0300bea67e60e39bbffddf5 milou-5.10.5.tar.xz 4ab4a1840448808ec998cbcfefdf6ac0 plasma-nm-5.10.5.tar.xz cf32842a5a80fcf875231548db222c73 plasma-pa-5.10.5.tar.xz e477f6554f7a266e52521ff98cc7b798 plasma-workspace-wallpapers-5.10.5.tar.xz eb76e3c900a3288792eb36524394ace8 polkit-kde-agent-1-5.10.5.tar.xz cf9600ad417ac19a2905f313d2a4b63c powerdevil-5.10.5.tar.xz 07df99ee595a53c6d9f50c17ddb7bcb4 plasma-desktop-5.10.5.tar.xz 5f69006dbd233aefa54b1f2f474ba0ec kdeplasma-addons-5.10.5.tar.xz 73bf718d8625bcd7990200854846f330 kgamma5-5.10.5.tar.xz 3013943358a15d878ffcd6cc0529ee8c ksshaskpass-5.10.5.tar.xz #2108f6f1856edbb845303faffa0663ec plasma-sdk-5.10.5.tar.xz 99243c64866c23c03251fbe179ac4f4b sddm-kcm-5.10.5.tar.xz e05c789e6f6e21d642c4194480ca1b8c user-manager-5.10.5.tar.xz da06f5c055b78c773b8acd813cb22682 discover-5.10.5.tar.xz #c3463607251ff3fdcd73cc5eb0ab203c breeze-grub-5.10.5.tar.xz #f2e14a9075792c3e3a6df512490429b4 breeze-plymouth-5.10.5.tar.xz ac13d5b70b28c77d3a37d22cd4b949d5 kactivitymanagerd-5.10.5.tar.xz 74e1cf72ec6c4ad920447b4cc7635c08 plasma-integration-5.10.5.tar.xz c03584b89c09b0d154bdb93290c11b81 plasma-tests-5.10.5.tar.xz #479e80625971fedb4bef3101060c91cf plymouth-kcm-5.10.5.tar.xz 3ec1936fa9def125630493418455b6d8 xdg-desktop-portal-kde-5.10.5.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 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 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). 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.