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).
This package is known to build and work properly using an LFS-7.10 platform.
The instructions below build all of the Plasma 5 packages in one step by using a bash script.
Download (HTTP): http://download.kde.org/stable/plasma/5.7.3
Download MD5 sum: See Below
Download size: 87 MB
Estimated disk space required: 905 MB (372 MB installed)
Estimated build time: 35 SBU
FontForge-20160404, GTK+-2.24.30, GTK+-3.20.9, KDE Frameworks-5.25.0, libpwquality-1.3.0, libxkbcommon-0.6.1, Mesa-12.0.1 built with Wayland-1.11.0, NetworkManager-1.4.0, PulseAudio-9.0, Python-2.7.12, qca-2.1.1 (built with qt5), taglib-1.11, and xcb-util-cursor-0.1.3
libdbusmenu-qt-0.9.3+16.04.20160218, libcanberra-0.30, libinput-1.4.1, Linux-PAM-1.3.0, lm_sensors-3.4.0, oxygen-icons5-5.25.0, and pciutils-3.5.1
GLU-9.0.0, Xorg Synaptics Driver-1.8.3, appstream-qt, ibus, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM, and socat (for pam_kwallet)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/kf5
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/5.7.3/
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
The order of building files is important due to internal dependencies. Create the list of files in the proper order as follows:
cat > plasma-5.7.3.md5 << "EOF"
bc2dd43ace2d8674f1d0468e1205474a kde-cli-tools-5.7.3.tar.xz
d72584ff8363c903ea58b2d56cab965f kdecoration-5.7.3.tar.xz
f40f3015e4c0cbadba893ea9aec37ec2 libkscreen-5.7.3.tar.xz
2c1234454ea8ca8f58de237600674959 libksysguard-5.7.3.tar.xz
1bb1a2462640daf062af923783709093 breeze-5.7.3.tar.xz
808ef73cc2c687d4d34552c5e98ec699 breeze-gtk-5.7.3.tar.xz
77df269b8566cf688b1945a9b53e3959 kscreenlocker-5.7.3.tar.xz
2842c0205ab580e4ac3dc61a8ab581be oxygen-5.7.3.tar.xz
e9d2bdeadcbd378f12a2e54c6b3b9224 kinfocenter-5.7.3.tar.xz
99d46f170a9143883c207e0a8999e268 ksysguard-5.7.3.tar.xz
e1dd04fcaf1abd31df89d037af4d2258 kwin-5.7.3.tar.xz
2b5f4dbc85193941708509e51c171f14 systemsettings-5.7.3.tar.xz
5ed64282b5aa36bb77bd3a89334b851d plasma-workspace-5.7.3.tar.xz
57c1e8aa62aa5791102e94160bb5e2b3 bluedevil-5.7.3.tar.xz
12c5bc74c567f65fbb11907909752ba2 kde-gtk-config-5.7.3.tar.xz
db39c52e7bdf1ec21888aae5f9f3113a khotkeys-5.7.3.tar.xz
fa1edaf0339a013b0884a5ec774e132d kmenuedit-5.7.3.tar.xz
369255dcf3f657595a4b2c0ec156d458 kscreen-5.7.3.tar.xz
607eb34cfafca62da92dbb596f999cae kwallet-pam-5.7.3.tar.xz
4ec2115eec3883e560415c8448f910e1 kwayland-integration-5.7.3.tar.xz
35e622ea295b35c72e266d3e10b2022b kwrited-5.7.3.tar.xz
c8c40727b9077d9692c2e67b85afaa7d milou-5.7.3.tar.xz
1956f0eb29ce1e91f5fdf3ac8b72e40e plasma-nm-5.7.3.tar.xz
2820e9cb6c54f01115013606dea7ef7b plasma-pa-5.7.3.tar.xz
98f2f023cc30116f0e677e752fb6220c plasma-workspace-wallpapers-5.7.3.tar.xz
b2fa225d57fcf8579322d58cf43a8759 polkit-kde-agent-1-5.7.3.tar.xz
4b93bfa172760c25c6a4e135b555fbe8 powerdevil-5.7.3.tar.xz
1b97771749effa32aee19ed789e67ddd plasma-desktop-5.7.3.tar.xz
3083f945aebfc156ba0e8b64db4615b0 kdeplasma-addons-5.7.3.tar.xz
9f336c20cee1f1e5db98ca95eea7ccd5 kgamma5-5.7.3.tar.xz
8048a6ec5e69327691236d980a74b2a2 ksshaskpass-5.7.3.tar.xz
a92b968f0ebd5f35cb7483679a54520b plasma-mediacenter-5.7.3.tar.xz
#e92b6d4c644591b16f700303eacd3ffe plasma-sdk-5.7.3.tar.xz
e82aed1e04ae3e39fa91b7c16e4338e2 sddm-kcm-5.7.3.tar.xz
635eef411376423f8f746ae41bb90f1b user-manager-5.7.3.tar.xz
9188f0f3a3c802ffd25f4c0dcb0abdba discover-5.7.3.tar.xz
#b4a278e5af4cc4b804258a3aeb9d7ce2 breeze-grub-5.7.3.tar.xz
#d9fc477b250f0ae855a0e9bdb193b51a breeze-plymouth-5.7.3.tar.xz
9ec5c70fd1e5fdc12bf35e1511948543 kactivitymanagerd-5.7.3.tar.xz
5f950d13d8715162ea4bdfec73e06b7d plasma-integration-5.7.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 section called “About initramfs”). The plasma-sdk package is optional and used for software development.
When installing multiple packages in a script, the installation needs to be done as the root user. There are three general options that can be used to do this:
Run the entire script as the root user (not recommended).
Use the sudo command from the Sudo-1.8.17p1 package.
Use su -c "command arguments" (quotes required) which will ask for the root password for every iteration of the loop.
One way to handle this situation is to create a short bash function that automatically selects the appropriate method. Once the command is set in the environment, it does not need to be set again.
as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f 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-5.7.3.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
ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/: Create symbolic links so qml files can find needed javascript modules.
You can start Plasma5 from runlevel 3, using xinit-1.3.4, or from runlevel 5, using a Display Manager, such as sddm-0.14.0.
To start Plasma 5 using xinit-1.3.4, run the following commands:
cat > ~/.xinitrc << "EOF"
ck-launch-session 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).
Last updated on 2015-09-24 16:44:04 -0500