KDE5 ==== Here is KDE 5_15.09 for Slackware, consisting of the KDE Frameworks 5.13.0, Plasma 5.4.0 and Applications 15.08.0. This is an intrusive update if you currently have my KDE 5_15.07 packages installed. Consider this to be beta-quality because there may be some usability issues - and read the "BUILD NOTES" below very carefully before you decide to upgrade. I need testers to iron out some annoying regressions. KDE-5_15.09 is meant only to be installed on top of Slackware -current and it will *replace* any version of KDE 4 you might have installed! BUILD NOTES: In random order, this is what I ran into while working on this set of updates. * Qt5 fails to compile if an older version of Qt5 is already installed. * frameworks:kwallet should be built against applications:gpgmepp, therefore I adapted the build order in KDE.SlackBuild slightly. * Several Applications packages could not be configured using cmake, because of a missing line in their CMakeFiles.txt. These files needed a line "cmake_minimum_required(VERSION 2.8.9)". Instead of creating 17 patches I decided to modify cmake/applications and cake/applications5 instead, and fixed the omission with a sed substitution. * kde-runtime needs the kdelibs-4 based kdepimlibs. Since KDEPIM has now been ported to KDE Frameworks 5 (KF5) I had to add a compatibility package "kdepimlibs4" containing the relevant bits of the old kdepimlibs. * and... kdepimlibs4 needs the old akonadi-1.13 release. Therefore a "akonadi4" package was added alongside "kdepimlibs4" in the kde/kde4/ directory. * kdepimlibs4 will fail to compile in the presence of akonadi (kf5 edition), it wants only akonadi4 to be present. I hope I fixed this. * Compilation errors in okteta required a patch to qca-qt5. * I took the opportunity to rebuild some packages with library linking issues caused by recent slackware-current updates: phonon-vlc, pykde4, qtruby, korundum, smokekde, perlqt, smokeqt, baloo. * rocs will emit an internal compiler error unless you increase the RAM to well beyond 3GB (use a big swap file if needed). * Into the breeze package I have built Qt4 support in addition to the default Qt5 support. This will allow the KDE4 based applications to blend in with the Plasma 5 Breeze theme better. * I updated the SDDM login manager (sddm-qt5 package) with a git snapshot which supposedly supports the session management of ConsoleKit2. However the 'passwd' authentication backend was broken and it took a while before someone came up with a patch. * Several "deps" packages were removed: - grantlee-qt5 (nothing uses the old grantlee anymore I hope, so I just replaced it with the new grantlee-5) - pairs and kgamma (no longer part of KDE Applications) - ConsoleKit (has been replaced by ConsoleKit2 which is a fork of the no longer maintained ConsoleKit and has several fixes and enhancements) * A problematic package is baloo because its file content partially overlaps with baloo5, and I do not know what I can do about it. Nor do I know if this has any negative impact on Plasma 5 Workspace. * libkface requires opencv as a dependency. I almost wanted to add opencv to make the process of adding digikam easier (since digikam needs both libkface and opencv) but after discussing with willysr and ponce, SBo admins, I decided to skip this because the new opencv-3 has to much impact on the slackbuilds.org content. All in all I am pretty unhappy with the effort which was required to get this latest batch of updates to compile and work together. And even then, with a finished set of packages, there are a few annoying issues for which I have no explanation nor do I have a solution because I do not know whether they are caused by Plasma 5 or by the recent slackware-current updates. Annoyance #1: Logging out is delayed: * Try to open the Plasma Kicker startmenu and move your mouse over the "Leave" tab. It will then take a minute to display the tab's content, and in the meantime, the Plasma workspace is frozen. Any open application windows are still responsive and you can work with them. * Try to use the logout/shutdown widget in the system tray if you added that. Clicking the widget will also cause a one to two minute delay before the logoff dialog appears. * Try logging out from the commandline using this qdbus commmand in an X term: $ qdbus org.kde.ksmserver /KSMServer logout 0 0 0 You will notice that this command just sits there for the same one to two minutes, and then it kicks into action and you'll be logged off. Something is amiss with the communication over dbus. Ideas anyone? Annoyance #2: Whenever the power saver kicks in and I am not paying attention, the screen of my Lenovo T400 laptop (Intel graphics) turns black and will not revive. I have to Ctrl-Alt-F1 to get to my Linux console, press the backlight button until I can read again what's on screen, and then back to X using Alt-F7. Annoyance #3: In my 32-bit virtual machine I cannot even login, because there is a flood of re-spawning screensaver processes that prevent access. This can be caused by something in the virtual machine, but I did not do extensive troubleshooting. === END OF BUILD NOTES === Having said all that, it is still an impressive release with lots of changes and improvements. I hope that we get the quirks solved so we can focus on what's good. Highlights of KDE-5_15.09: - Qt5 has been updated to 5.5.0 - ConsoleKit (unmaintained) gets replaced by ConsoleKit2 (well-maintained fork) which could open up a path to a systemd-free Slackware that is compatible to a large extent with systemd requirements. - I added LoginKit also for that purpose. LoginKit in its present form does not do much (if anything at all) but I want to have it in for those who want to play test this. - Several of the other deps were added, updated, rebuilt or removed as well: LibRaw (update for the Slackware package), PyQt5 (updated), qca-qt5 (patched), grantlee (update for the Slackware package) lmdb (new) grantlee-qt5 (renamed to grantlee thereby replacing the Slackware version) - Removed deps (we can use the original Slackware packages now) are: PyQt, sip and libepoxy - Frameworks 5.13.0 is an enhancement release, lots of fixes are documented on https://www.kde.org/announcements/kde-frameworks-5.13.0.php - Plasma 5.4.0 is a feature release, you can read all the details in https://www.kde.org/announcements/plasma-5.4.0.php Important is that the krunner has a command history again, and lots of new icons were added for non-Plasma5 applications, which helps to give the Plasma 5 desktop a uniform look and feel; Not so important for Slackware is the Wayland Tech Preview and some system tool improvements using PAM (kwallet-pam) or pulseaudio (audio volume applet). - Applications 15.08.0 is bringing more KF5 ports: 107 applications in total. Most noticeable are the KF5 ports of Dolphin (the file manager), KDEPIM (the Kontact Suite as it is called now) and Ark (archive tool). I am a bit worried about the Kontact development toward the KDE Frameworks 5. Lots of struggles were discussed in the mailing lists and the resulting KF5 based Kontact Suite is still considered BETA quality. The move to KF5 exposed several older KDE4 based applications that have a dependency on the KDE4 based PIM libraries. Therefore I had to add a compatibility layer of packages containing that KDE4 code: akonadi4 and kdepimlibs4 (similar to what I had to do earlier with libkmahjongg4, libkdegames4, konsolepart4 and katepart4). Further points of interest that are unchanged since the previous releases: - kde/kde4-extragear packages should be taken from slackware-current (calligra, k3b, kaudiocreator, kplayer, kwebkitpart, oxygen-gtk2, kdevplatform, kdevelop-pg-qt, kdevelop, kdev-python, kdevelop-php, kdevelop-php-docs, skanlite, kio-mtp, libktorrent, ktorrent, partitionmanager) - I still did not compile the new Plasma Mediacenter tech-preview. - Note that I did not compile the new KDEnlive and KDE Telepathy. They need a lot of attention before I can build them and it was more important to me to have a new release of KDE 5 out as fast as possible, that works with the latest slackware-current. If you are curious and want to try yourself, start by reading: https://community.kde.org/KTp/Setting_up_KAccounts - katepart4 was added so that kdevelop works again - konsolepart4 was added to be able to use an embedded konsole in dolphin - kdeconnect4 was added; this stripped-down version of the KDE4 based kdeconnect-kde allows you to access your Android device with the (also still KDE4 based) Dolphin filemanager - sddm-theme-breeze was removed, the theme is now part of plasma-workspace - Lots of packages in the 'deps' department which are completely new to Slackware. Since KDE 5 is built on Qt5 (KDE 4 had Qt4 as its base) you'll find many Qt5 related packages. Also, in order for Qt4 and GTK based applications to dock into the Plasma 5 system tray, more dependencies were needed. So, apart from updates to regular Slackware packages, these are the new ones: OpenAL, PyQT5, cfitsio, json-glib, libappindicator, libdbusmenu-gtk, libdbusmenu-qt5, libindicator, polkit-qt5-1, qca-qt5, qt-gstreamer, qt5, sni-qt, wayland and xapian-core. - Note for users of multilib Slackware64 and also using Skype: you will have to grab the 32-bit version of sni-qt and run 'convertpkg-compat32' on it, or else Skype won't be able to dock its icon in the systray. - A bit sneakily, I built phonon-vlc for you. You will also need a VLC package to be able to use this package though. - Several source tarballs in Plasma 5.4.0 have not been compiled to Slackware packages: libbluedevil and bluedevil (they need BlueZ 5 which is not part of Slackware), muon (a debian/ubuntu package manager), libkface (needs opencv which I was not willing to add as a dependency), user-manager and kwallet-pam (need PAM), plasma-pa (needs pulseaudio). - One dependency which you'll probably find curious, is wayland. It is required in order to *compile* KWin's X11 driver, but it is apparently not needed at *runtime*. Nevertheless, I left the package in, just in case you want or need to recompile kwin (actually, it does not seem required any longer, but that issue will be revisited on next Plasma update). - Graphical login: KDM has been replaced with SDDM. Slackware-current supports it already. Select "Plasma" from the SDDM session dropdown. Alternatively, if you prefer good old runlevel 3, you can type (at your own user account's command prompt): $ xwmconfig ... and select "xinitrc.plasma" as your default window manager for X. Then run: $ startx NOTE: Also explained in more detail below, upgrading to this KDE 5 is non-trivial. You will have to remove old KDE packages manually. If you do not have KDE installed at all, you will have to *install* some of Slackware's own KDE packages manually. NOTE: If you decide to install these packages on top of a fresh installation of Slackware-current and have excluded all packages in the 'KDE' package series during installation, you will be missing several add-on packages, some of these are essential to the proper functioning of KDE! If you excluded the complete Slackware-current 'KDE' series, then you will have to install the following essential Slackware-current packages at a a minimum: * bluedevil * libktorrent And optionally install these Slackware-current packages as well: * amarok * calligra * k3b * kaudiocreator * kplayer * kwebkitpart * kaudiocreator * kdevplatform * kdevelop-pg-qt * kdevelop * kdev-python * kdevelop-php * kdevelop-php-docs * kio-mtp * ktorrent * oxygen-gtk2 * partitionmanager * skanlite ------------------------------------------------------------------------------- Building it all from source: ------------------------------------------------------------------------------- Sources and scripts are separated from the packages in my 'ktown' repository. If you want the sources for KDE 5, run the following command to download them: # rsync -av rsync://alien.slackbook.org/alien/ktown/source/5 . There are a lot of 'dependencies' for KDE 5 which you'll have to compile and install before attempting to compile KDE 5. Compiling and installing these dependencies on Slackware-current is as easy as: # cd 5/deps # ./updates.SlackBuild # cd - Be prepared to wait a *long* time since this will recompile Qt4 and compile a new Qt5 package among others. The finished package will be stored in /tmp . Then if you want to compile the KDE packages on your computer, run: # cd 5/kde # ./KDE.SlackBuild Wait a long time, and you will find the new packages in /tmp/kde-build . Note that these packages will already have been installed by KDE.SlackBuild ! But if all you want is the packages I created, then you can skip all of that. ------------------------------------------------------------------------------- Install pre-compiled packages: ------------------------------------------------------------------------------- In order to install or upgrade KDE 5, follow these steps: Make sure you are not running KDE or even X ! If you are running an X session, log out first, and if you are in runlevel 4 (graphical login) you first have to go back to runlevel 3 (console) by typing "init 3". If you still have a KDE 4 installed, it must be removed first. No clean upgrade path can be provided! Do as follows: If you have Slackware-current's default KDE 4.14.3 installed: # removepkg /var/log/packages/*-4.14.3-* # removepkg libkscreen # removepkg kscreen # removepkg kactivities # removepkg kde-workspace # removepkg libmm-qt # removepkg libnm-qt # removepkg plasma-nm # removepkg polkit-kde-agent-1 # removepkg polkit-kde-kcmodules-1 # removepkg kdeconnect-kde If you have my 'ktown' set of KDE 5_15.07 installed: - Upgrade to KDE-5_15.09 and then remove the packages that no longer exist in KDE 5_15.09: * removepkg ConsoleKit * removepkg grantlee-qt5 * removepkg kgamma * removepkg pairs If you have my 'ktown' set of KDE 5_15.06 installed: - No further actions are needed. If you have my 'ktown' set of KDE 5_15.05 installed: - Re-install the following 'ktown' packages: * kactivities-framework If you have my 'ktown' set of KDE 5_15.04 installed: - Remove packages that no longer exist in KDE 5_15.05: * removepkg qt-gstreamer0 - Re-install 'ktown' packages: * qt-gstreamer If you have my 'ktown' set of KDE 5_15.03 installed: - Remove packages that no longer exist in KDE 5_15.04: # removepkg gst1-plugins-base # removepkg gst1-plugins-good # removepkg gstreamer1 # removepkg qt-gstreamer1 # removepkg libmm-qt5 - Re-install original Slackware-current packages that were removed from "deps" in KDE 5_15.04 (this will be easiest using slackpkg): * LibRaw * akonadi * attica * cmake * eigen3 * exiv2 * grantlee * harfbuzz * libfakekey * libodfgen * librevenge * libssh * libwpd * orc * poppler * qt * shared-desktop-ontologies * soprano * strigi Then proceed with installing/upgrading KDE 5 as outlined below. To make it easy for you, here is a one-line command that downloads the whole '5' directory (excluding the sources), with 32-bit and 64-bit packages (and be careful of the 'dot' at the end of that command, it is part of the commandline !!): # rsync -av rsync://alien.slackbook.org/alien/ktown/current/5 . Or else, if you want to download packages for just one of the two supported architectures, you would run one of the following commands instead (note that there is a dot at the end of these commands!). If you want only the 64-bit packages: # rsync -av --exclude=x86 rsync://alien.slackbook.org/alien/ktown/current/5 . If you want only the 32-bit packages: # rsync -av --exclude=x86_64 rsync://alien.slackbook.org/alien/ktown/current/5 . Assuming you just downloaded the bits you want from the directory tree "5", you must now change your current directory to where you found this README (which is the directory called '5'). If you used one of the above "rsync" commands then you can simply do: # cd 5 From within this directory, you run the following commands as root (note that some of the old KDE package names are obsoleted now, they have been split up, renamed or integrated and that is the reason for the 'removepkg' lines): On Slackware 32-bit: # upgradepkg --reinstall --install-new x86/deps/*.t?z # upgradepkg --reinstall --install-new x86/kde/*/*.t?z On Slackware 64-bit: # upgradepkg --reinstall --install-new x86_64/deps/*.t?z # upgradepkg --reinstall --install-new x86_64/kde/*/*.t?z If you already have one or more non-english language packs installed: On Slackware 32-bit: # upgradepkg x86/kdei/*.t?z On Slackware 64-bit: # upgradepkg x86_64/kdei/*.t?z If you want to have a non-english language pack installed but none is currently installed, substitute your country code instead of the 'XX' in the next command: # upgradepkg --install-new x86_64/kdei/kde-l10n-XX-*.t?z Check if any ".new" configuration files have been left behind by the upgradepkg commands. Compare them to their originals and decide if you need to use them. # find /etc/ -name "*.new" A graphical (ncurses) tool for processing these "*.new" files is slackpkg: # slackpkg new-config Then reboot your system. ============================================================================== Eric Hameleers / alien at slackware dot com / 03-sep-2015