path: root/README.5_20.05
blob: f572d8e52cca4e3a6380d71bf6791965e9ad83f6 (plain) (tree)






















































Here is KDE 5_20.05 for Slackware, consisting of KDE Frameworks 5.70.0,
Plasma 5.18.5 and Applications 20.04.1 on top of Slackware's Qt 5.13.2.

Upgrading from the previous 5_20.04 is relatively straight-forward.

KDE-5_20.05 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:
- This is the first formal release with PAM support, now that PAM is
  an integral part of Slackware.
- In 'deps' I added the package libqalculate which enables interactive
  graph plotting capability in krunner, and recompiled speech-dispatcher
  to properly install the info files.
- Frameworks 5.70.0 is an incremental stability release, see also:
- Plasma 5.18.5 is the final incremental release of the 5.18 Long Term Support
  cycle before we move on to 5.19.
- In plasma-extra I rebuilt sddm-qt5 to give it some updated PAM configs.
  Now, root can login too, yay!
- Applications 20.04.1 is an incremental bug fix release, see also
- For applications-extra, I rebuilt krita against the newer boost lbraries,
  and updated calligra, kdevelop, kdev-php, kdev-python, kstars and okteta.
  I also added a new package, kid3, which is an audio file tagger.

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:
  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, libsass, md4c, mlt, noto-font-ttf,
  noto-cjk-font-ttf, opencv, pcaudiolib, perl-path-tiny, perl-template-toolkit,
  polkit-qt5-1, 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.
  Several 'deps' packages which used to be listed here, have already been
  absorbed into Slackware. Let's hope the rest takes the same road soon.
- 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.

Also explained in more detail below, upgrading to this KDE 5 is non-trivial.
You will have to remove old KDE 4 packages manually.

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.

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 <Ctrl><Alt><F1> 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.04 installed:
- Upgrade to KDE 5_20.05
  Remove the packages that no longer exist in KDE 5_20.05:
  # removepkg python-enum34

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 \
  # 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 \

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.

Instead of using the mirror host (its rsync URI
is rsync://, you could choose the alternative
mirror (its rsync URI is
rsync:// which is faster for some people.

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:
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:// 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:// latest/
If you want only the 32-bit packages:
  # rsync -Hav --exclude=x86_64 rsync:// 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

  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.

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,
(could take several hours) Baloo 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:// sources/

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 sources/deps
  # ./updates.SlackBuild
  # cd -

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 sources/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 / 25-may-2020