path: root/README.5_15.09
blob: ed3f499132c8145253db23232a85fe0f60e3d407 (plain) (tree)

































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!


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 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.


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
- Plasma 5.4.0 is a feature release, you can read all the details in
  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:
- 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

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.

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:// .

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:// .

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

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