KDE5 ==== --- NOTE -------------------------------------------------------------------- The 'latest' repository: Plasma5 release without PAM support. The 'testing' repository: Plasma5 release with PAM support from Slackware's /testing area. I.e. the regular 'latest' ktown repository is still meant to be used with the regular non-pam Slackware! ----------------------------------------------------------------------------- I keep announcing that I will stop providing monthly updates, but Slackware seems stuck in its Qt4 based past, so here is one more attempt in order to give you the new Application Releases 20.04: KDE 5_20.04 for Slackware, consisting of KDE Frameworks 5.69.0, Plasma 5.18.4 and Applications 20.04.0 on top of Slackware's Qt 5.13.2. Upgrading from the previous 5_20.03 is relatively straight-forward. KDE-5_20.04 is meant to be installed on top of Slackware -current. It will *replace* any version of KDE 4 you might have installed! The Plasma 5 Desktop has gotten rid of its Qt4 legacy. Since the release of Applications 17.12 there's nothing left which is based on kdelibs4. Slackware-current has begun its slow adoptation of the Plasma5 dependencies. Most importantly, QT5 and its dependencies are already part of Slackware. What is the NEWS in this batch of updates: - The Plasma5 in my 'testing' repository has again been compiled against the PAM packages in Slackware-current's aptly called '/testing' area. The following packages will pick up PAM support: plasma:kscreenlocker,plasma-workspace,kwallet-pam plasma-extra:sddm-qt5 - In 'deps' I added the package kdsoap as a new dependency for kio-extras, and upgraded accountsservice. grantlee and mlt. Also I re-added PyQt5 since the version which is now in Slackware is lacking python2 support and several Plasma5 packages refused to compile with error 'ImportError: No module named PyQt5.Qt'. - Frameworks 5.69.0 is an incremental stability release, see also: https://www.kde.org/announcements/kde-frameworks-5.69.0.php - Plasma 5.18.4 is the fifth release of the 5.18 Long Term Support cycle. See https://www.kde.org/announcements/plasma-5.18.4.php - In plasma-extra I updated latte-dock. I also removed kdeconnect-framework, because the package is now part of Applications (and called kdeconnect-kde). - Applications 20.04.0 is the start of the next quarterly development cycle; 20.04 highlights can be found on the announcement page for KDE Application Releases https://kde.org/announcements/releases/20.04.0/ As said earlier. there's one new package in here: kdeconnect-kde. - In applications-extra I updated kdiagram, krita, kpmcore and partitionmanager. Further points of interest: - If you have a KDE4-based application that needs library support on this Plasma 5 desktop, let me know which of the removed packages needs to return in 'kde/kde4'! - There are a couple of *runtime* dependencies that I did not add to the ktown repository, but you may want to consider installing them yourself: * vlc - will give phonon another backend to select from. * freerdp: access RDP servers through krdc. * openconnect: support for Cisco's SSL VPN. All of these can be found in my regular package repository. - There's no more need to install any KDE4 package from Slackware. - Lots of packages in the "deps" department are completely new to Slackware. Since KDE 5 aka Plasma 5 is built on Qt5 (KDE 4 uses 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. Apart from updates to regular Slackware packages the new ones are: PyQt5, QScintilla, accountsservice, cfitsio, cryptopp, cryfs, ddcutil, dotconf, drumstick, dvdauthor, espeak-ng, flite, freecell-solver, frei0r-plugins, grantlee-qt4, hack-font-ttf, id3lib, lensfun, libappindicator, libburn, libdbusmenu-gtk, libdbusmenu-qt5, libdmtx, libindicator, libpwquality, libsass, md4c, mlt, noto-font-ttf, noto-cjk-font-ttf, opencv, pcaudiolib, perl-path-tiny, perl-template-toolkit, polkit-qt5-1, python-enum34, python3-random2, quazip, qca-qt5, qrencode, qtav, rttr, sassc, sni-qt, speech-dispatcher, and vid.stab The phonon and poppler packages were extended so that they now support Qt5 as well as Qt4. The gpgme package picked up Qt5 support. Note that the SBo version of 'frei0r-plugins' package is called 'frei0r'. If you have that SBo package installed, remove it. - KDEI is gone. The localizations are now embedded in each package and no longer available as separate 'kdei' packages. This is a by design. You will get all languages installed by default. NOTE: Also explained in more detail below, upgrading to this KDE 5 is non-trivial. You will have to remove old KDE 4 packages manually. NOTE: If you had installed KDE 4 as your default desktop previously, the removal of KDE 4 packages will break the symbolic link '/etc/X11/xinit/xinitrc'. An attempt to run 'startx' in a console will fail with a black screen. After installing Plasma 5 for the first time, you need to run 'xwmconfig' and select 'xinitrc.plasma' as your desktop session. NOTE: If you install a 32bit program on a 64bit Slackware computer with multilib and that program needs legacy system tray support (think of Steam for instance), you will have to grab the 32-bit version of Slackware's 'libdbusmenu-qt' and my ktown-deps package 'sni-qt', and run the 'convertpkg-compat32 -i' command on them to create 'compat32' versions of these packages. Then install both 'libdbusmenu-qt-compat32' and 'sni-qt-compat32'. Those two are mandatory addons for displaying system tray icons of 32bit binaries in 64bit multilib Plasma5. ------------------------------------------------------------------------------- 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 to return to the console. If your computer boots to runlevel 4 (graphical login) you first have to go back to runlevel 3 (console) after logging out. Press to switch to a console, logon there, and execute the command "init 3" to switch from runlevel 4 to 3, thereby effectively stopping X. 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 14.2 or -current's default KDE 4.14.3 installed: # removepkg /var/log/packages/*-4.14.3-* # removepkg amarok # removepkg kscreen # removepkg kactivities # removepkg kde-workspace # removepkg kdeconnect-kde # removepkg kdepim # removepkg kdepimlibs # removepkg kdev-python # removepkg kdevelop-php # removepkg kdevelop-php-docs # removepkg libkscreen # removepkg libmm-qt # removepkg libnm-qt # removepkg plasma-nm # removepkg polkit-kde-agent-1 # removepkg polkit-kde-kcmodules-1 # removepkg wicd-kde ... or instead of the above, simply run 'slackpkg remove kde'. Alternatively, in case you are already using an older release of my KDE 5 packages, you need to look up that particular release in the list right below (for instance: KDE 5_19.11) and then apply the actions shown for that KDE 5 release *and* all more recent releases, i.e. work your way back up to this paragraph. Note that some of the old KDE package names were obsoleted along the way, they were split up, renamed or integrated and that is the reason for some of the 'removepkg' lines you'll see below. Here we go: If you have my 'ktown' set of KDE 5_20.03 installed: - Upgrade to KDE 5_20.04 Remove the packages that no longer exist in KDE 5_20.04: # removepkg kdeconnect-framework If you have my 'ktown' set of KDE 5_20.02 installed: - Upgrade to KDE 5_20.03 Remove the packages that no longer exist in KDE 5_20.03: # removepkg OpenAL # removepkg SDL_sound If you have my 'ktown' set of KDE 5_20.01 installed: - Upgrade to KDE 5_20.02 Remove the packages that no longer exist in KDE 5_20.02: # removepkg polkit-kde-kcmodules-framework If you have my 'ktown' set of KDE 5_19.12 installed: - No further actions are needed. If you have my 'ktown' set of KDE 5_19.11 installed: - Upgrade to KDE 5_19.12 Remove the packages that no longer exist in KDE 5_19.12: # removepkg qt-gstreamer If you have my 'ktown' set of KDE 5_19.10 installed: - Upgrade to KDE 5_19.11 Remove the packages that no longer exist in KDE 5_19.11: # removepkg qt5-speech If you have my 'ktown' set of KDE 5_19.09 installed: - Upgrade to KDE 5_19.10 Remove the packages that no longer exist in KDE 5_19.10: # removepkg kcalcore # removepkg farstream \ libaccounts-glib \ libaccounts-qt5 \ libnice \ libotr \ libsignon-glib \ signon \ signon-plugin-oauth2 \ signon-ui \ telegram-qt \ telepathy-accounts-signon \ telepathy-farstream \ telepathy-gabble \ telepathy-glib \ telepathy-haze \ telepathy-logger \ telepathy-logger-qt5 \ telepathy-mission-control \ telepathy-morse \ telepathy-qt5 # removepkg kaccounts-integration \ kaccounts-providers \ ktp-accounts-kcm \ ktp-approver \ ktp-auth-handler \ ktp-call-ui \ ktp-common-internals \ ktp-contact-list \ ktp-contact-runner \ ktp-desktop-applets \ ktp-filetransfer-handler \ ktp-kded-module \ ktp-send-file \ ktp-text-ui \ signon-kwallet-extension If you have my 'ktown' set of KDE 5_19.07 installed: - No further actions are needed. If you have my 'ktown' set of KDE 5_19.06 installed: - No further actions are needed. If you have my 'ktown' set of KDE 5_19.05 installed: - No further actions are needed. If you have my 'ktown' set of KDE 5_19.02 installed: - No further actions are needed. If you have my 'ktown' set of KDE 5_19.01 installed: - No further actions are needed. If you have my 'ktown' set of KDE 5_18.12 installed: - Really? Then proceed with installing/upgrading KDE 5 as outlined below. NOTE: The example commands below are for Slackware -current but you can use these commands for Slackware 14.2 as well; by replacing the /current/ string with /14.2/ (provided there is a suitable 'ktown' release available for Slackware 14.2 of course). NOTE: Instead of using the mirror host http://slackware.nl/alien-kde/ (its rsync URI is rsync://slackware.nl/mirrors/alien-kde/), you could choose the alternative mirror http://slackware.uk/people/alien-kde/ (its rsync URI is rsync://slackware.uk/people/alien-kde/) NOTE: If you use 'slackpkg' to automate your upgrades, be sure to blacklist my custom packages or else slackpkg will always try to replace my packages with the stock Slackware versions if the package names are identical. As an example, you can add the following lines to the file "/etc/slackpkg/blacklist" to prevent this unintentional downgrading to KDE4: # These three lines will blacklist all SBo, alien and multilib packages: [0-9]+_SBo [0-9]+alien [0-9]+compat32 If on the other hand you are using the 'slackpkg+' extension for slackpkg then your "/etc/slackpkg/blacklist" file should *not* contain the above lines! The slackpkg+ extension enables the use of 3rd-party repositories with slackpkg and then Plasma5 package upgrades will be handled properly. 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. # rsync -Hav rsync://slackware.nl/mirrors/alien-kde/current/latest/ latest/ 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. If you want only the 64-bit packages: # rsync -Hav --exclude=x86 rsync://slackware.nl/mirrors/alien-kde/current/latest/ latest/ If you want only the 32-bit packages: # rsync -Hav --exclude=x86_64 rsync://slackware.nl/mirrors/alien-kde/current/latest/ latest/ Assuming you just downloaded the bits you want from the directory tree "latest" you must now change your current directory to where you found this README (which is the directory called 'latest'). If you used one of the above "rsync" commands then you can simply do: # cd latest From within this directory, you run the following commands as root: 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 NOTE: If you installed the slackpkg+ extension and configured a 'ktown' repository with the label 'ktown' then the commands to upgrade would become: # slackpkg update # slackpkg install ktown # slackpkg upgrade-all The first command fetches the repository metadata from the remote server(s); The second command installs any new package that was added to the repository; And the third command will upgrade all installed packages, including the 'ktown' packages, to their latest versions in the repositories. Finally: 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. IF this is the first time you run Plasma5, be aware that Baloo will tax your CPU fairly heavily for a while as it indexes the content of the files on your hard disk. After this initial indexing operation finishes, Ballo will get out of your way and stay there. If all you want is to install the packages I created, then you can skip the remainder of the README which details how to (re)compile the packages from their sources; it is not required reading material. ------------------------------------------------------------------------------- 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 (downloading from a mirror will usually be much faster): # rsync -Hav rsync://slackware.nl/mirrors/alien-kde/source/latest/ latest/ 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 hopefully (have not tested the scripts 'updates.SlackBuild' and 'alldeps.SlackBuild' in a long time) as easy as this: # cd latest/deps # ./updates.SlackBuild # cd - Be prepared to wait a *long* time since this will compile a new Qt5 package among others. The finished packages will be stored in /tmp and will already have been installed/upgraded automatically. Then if you want to compile the KDE packages on your computer, run: # cd latest/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 ! Reboot your computer and login to a Plasma session. ============================================================================== Eric Hameleers / alien at slackware dot com / 23-apr-2020