%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" 1df33b64a8a70f8aa16cb6e2ebe50b77 kde-cli-tools-5.8.3.tar.xz a999aba2817d036b49d04b7c930bb628 kdecoration-5.8.3.tar.xz e067b3647ae57f578cbeb22a5f1bac24 libkscreen-5.8.3.tar.xz b1e35247a644aed86fcae2c2366464cd libksysguard-5.8.3.tar.xz 82b92462f6af2d26aa06c1b3024c537b breeze-5.8.3.tar.xz 37fa7923853f82cbb5f0afc45756095e breeze-gtk-5.8.3.tar.xz ebe4c3590a1980fb6dd8d5dd921c0bfc kscreenlocker-5.8.3.tar.xz 742d43c831643e59941c948ee2a5f6fe oxygen-5.8.3.tar.xz f8dfa625a3465fbfd199e89fbd6c2464 kinfocenter-5.8.3.tar.xz fab59cb7f271d1e6c4786c3c944b6494 ksysguard-5.8.3.tar.xz 4ca4c034bdc8b061224fba1dc5cbebb8 kwin-5.8.3.tar.xz e619e8d09b34e3414943f663e7cf27ce systemsettings-5.8.3.tar.xz b1dfb4e3dcbc4d5abc292c13c1f56c98 plasma-workspace-5.8.3.tar.xz d43ed6a106a57e1ac6b2c8fd30526ccd bluedevil-5.8.3.tar.xz 27124671877ab154355d9debdb1a21cc kde-gtk-config-5.8.3.tar.xz 6a1699844f054cb0b1a528f46ab28646 khotkeys-5.8.3.tar.xz 2f61495615cf1f4d91d08e6275c851d2 kmenuedit-5.8.3.tar.xz 326efe93eb24f777b819a23793c1df62 kscreen-5.8.3.tar.xz 4f8edf1f153885619449fcf3598bc035 kwallet-pam-5.8.3.tar.xz 1d77da3f9b701d7c1f344c56caedffed kwayland-integration-5.8.3.tar.xz 3b31b450fcb78e699e1c1858635b8a5a kwrited-5.8.3.tar.xz ad7e7252704da330d0c18facdcd5fcb5 milou-5.8.3.tar.xz e395c0f574c2da9ca582229ba9b34bbb plasma-nm-5.8.3.tar.xz 0a8f6f88cc44b143606b5813d321f7cb plasma-pa-5.8.3.tar.xz 61e414c11737a7d68508e7ca2bf23961 plasma-workspace-wallpapers-5.8.3.tar.xz 4f2c534cc9be408b0e5212e215fd09ec polkit-kde-agent-1-5.8.3.tar.xz 7c8d1daedd56316f6d31447c16e6a418 powerdevil-5.8.3.tar.xz aa5da5228844438e5e006d33ce420247 plasma-desktop-5.8.3.tar.xz 10e79c1d2ff4c0eac46afa3d1d45e40d kdeplasma-addons-5.8.3.tar.xz 96783ce869720db10d31cc2012e979b8 kgamma5-5.8.3.tar.xz 527fedb60d86c190afd82c9e9bde7280 ksshaskpass-5.8.3.tar.xz #33136122f59bff2fb3852c9b69315e89 plasma-sdk-5.8.3.tar.xz bc2d2bf98617cbb8225aa1e3414b7348 sddm-kcm-5.8.3.tar.xz a32eebfc3fe7a09d8073bf0d9af82f70 user-manager-5.8.3.tar.xz 555043b0cdeb1cfdb00ee45ec5dec7c6 discover-5.8.3.tar.xz #7198c250a28af27bc0e7c3c9a72e3c5b breeze-grub-5.8.3.tar.xz #da694db9f5ce172724a968922c3a9cda breeze-plymouth-5.8.3.tar.xz 04326ce336dd6f3b8feaca32e9aba536 kactivitymanagerd-5.8.3.tar.xz e28dff65bbde4ed297154934c671ac19 plasma-integration-5.8.3.tar.xz 6ce815e02a34caa745121dcf0159baac plasma-tests-5.8.3.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 # Correct the name of the extracted directory case $packagedir in plasma-workspace-5.6.5.1 ) packagedir=plasma-workspace-5.6.5 ;; esac 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.