Gentoo Logo

Gentoo KDE 4.4 - 4.6 Upgrade Guide

Content:

1.  Introduction

About the upgrade

With the stable KDE upgrade from KDE SC 4.4.5 to KDE SC 4.6.2, an entire major release number is skipped. Naturally some functionality has been shifted between packages, some has been replaced or deprecated. On the whole, the upgrade should go very smooth. This page collects some tips and tricks for the rare cases when it does not...

2.  Before / while starting the upgrade

Amarok woes (bug 365719)

If you are an Amarok user, be warned, there is a bug that can effectively delete all your playlist statistics on upgrade. You can get around this only by backing up your Amarok database before the upgrade, and doing some rather nasty manual hacks. More details can be found in the bug report and in this KDE forum post.

USE flags to be set

Before you upgrade your system it is recommended that you set/unset several useflags. Part of that is done automatically if you use a desktop/kde or desktop profile. In detail you should use:

flag explanation
consolekit Enables the consolekit framework for defining and tracking users, login sessions and seats
dbus Enables use of the dbus message bus system
policykit Enables the polkit framework for controlling privileges for system-wide services
udev Enables support for udev Linux dynamic and persistent device naming
-hal DISABLES the use of sys-apps/hal for hardware access

Note that other combinations may technically be possible, but may be unsupported, untested, or lead to unexpected loss of functionality.

If you changed any global useflags, you should later include the -N flag when running the actual emerge command which updates your system, e.g.

Code Listing 2.1: Updating world after a useflag change

# emerge -uDNav world

Packages that you should deselect or unmerge before upgrade

KDE uses some packages outside kde-base for specific services. As an example, bluetooth integration was in KDE SC 4.4 provided by net-wireless/kbluetooth. KDE SC 4.6 uses the new bluetooth system provided by net-wireless/bluedevil, and kbluetooth and bluedevil cannot be installed at the same time. Normally portage should resolve this automatically. However, if you have net-wireless/kbluetooth in your world file, portage will refuse to unmerge it, blocking the entire upgrade. In this case you need to run the following command:

Code Listing 2.2: Removing (as an example) net-wireless/kbluetooth from your world file

# emerge --deselect net-wireless/kbluetooth

Afterwards portage should do a better job resolving the upgrade. A list of such packages is given below.

package used by KDE 4.4 replaced by remarks
net-wireless/kbluetooth net-wireless/bluedevil pulled in by bluetooth use flag
kde-misc/filelight kde-base/filelight now in main KDE distribution

3.  Things to do after the upgrade

Packages you should remove after the upgrade

KDE SC 4.6 does not rely on HAL anymore. As HAL is deprecated and interferes with newer mechanisms for hardware access, it should be removed after the upgrade. Stop the HAL daemon and unmerge it, as well as now-obsolete devicekit and policykit (if any of these packages is already gone, that's of course fine too):

Code Listing 3.1: Stopping and unmerging HAL et al

# /etc/init.d/hald stop
# emerge -cav hal hal-info policykit devicekit devicekit-disks devicekit-power

Note that you're removing the old policykit here; its successor is polkit. This change should usually be transparent (and the useflag is still named policykit, dont get confused by this).

If you get at this point a message that hal cannot be unmerged as it is still required by some packages, please check in the message which packages exactly still require it. That is considered a bug of these packages and should be reported and fixed, as hal will go down the drain soon. Please consider unmerging the remaining packages that require HAL, or updating them to a testing version that does not depend on hal anymore.

Finally, when hal is gone for good, you can remove its init script from the default runlevel:

Code Listing 3.2: Removing the hald init script from the runlevels

# rc-update del hald

To absolutely make sure that hal never comes back by accident, you can add an entry to the package.mask file:

Code Listing 3.3: /etc/portage/package.mask

sys-apps/hal

In addition, if you have only now added support for these, you may have to add consolekit and dbus to the default runlevel:

Code Listing 3.4: Adding the consolekit and dbus init scripts to the default runlevel

# rc-update add dbus default
# rc-update add consolekit default

If you are rolling your own kernel, you'll want to install a new one with the following options:

Code Listing 3.5: Recommended kernel settings

CONFIG_USB_SUSPEND=y
CONFIG_IDE=n
CONFIG_AUDITSYSCALL=y

CONFIG_USB_SUSPEND=y and CONFIG_IDE=n are required by sys-fs/udisks. The former enables power management for devices attached at usb ports, the latter disables the old, deprecated and unsupported ide driver. CONFIG_AUDITSYSCALL=y is required by sys-auth/consolekit for some of its features.

Now, you may want to reboot (to remove all remains of hal, get the new kernel, and start consolekit etc).

Packages that you should upgrade

Several applications developed for KDE SC 4.4 do not compile properly with KDE SC 4.6 anymore. In addition, newer application versions may require KDE SC 4.6 for its features and do not build with KDE SC 4.4 anymore... We try to stabilize newer versions together with KDE SC 4.6 so noone runs into these problems; in case of doubts, below is the relevant information for comparison.

package name maximum version for KDE 4.4 minimum version for KDE 4.6
media-gfx/digikam 1.2
media-plugins/kipi-plugins 1.2
app-office/koffice-libs 2.2.2 2.3.2

4.  Possible problems after the upgrade has completed

Get rid of the KResource Migration Tool popup

There have been reports that the KResource Migration Tool pops up on every login. There is no proper solution yet for this, but you can see a workaround in bug 353200.

Rebuilding the application database

If your KMenu lacks any application or the whole application list, you probably need to rebuild the KDE configuration cache. It is also a possible fix for any KMenu related issues, like missing icons. Run the following command with the user account having problems:

Code Listing 4.1: kbuildsycoca command

$ kbuildsycoca4 --noincremental

Double-hibernate or crashes after hibernate (bug 363363)

KDE 4.6 handles "sleep button" events on its own, and the system correctly hibernates. If you have manually set up any other programs to handle these events (e.g. acpid), please disable that, as you may otherwise get double hibernation and/or system instability.

Shutdown, reboot, logout does not work (bug 326393)

There is some strange interaction between the sound system and the logout mechanism going on. Open systemsettings, and disable the "logout sound". Afterwards, logging out will likely work.

The desktop background covers all windows (bug 365623)

In rare cases, after working with several screens the desktop settings are not cleaned up properly. The result is that the desktop background seems to cover all windows. More details plus some manual workarounds can be found in this KDE bug report.

No login possible, hangs at splash screen (bug 365637)

If you have been playing with unstable Gnome stuff (naughty!) you may encounter a so-far unexplained incompatibility. Logging in to KDE fails as soon as net-libs/glib-networking is installed. Unmerge that package and you should be fine.



Print

Page updated April 9, 2011

Summary: This page provides some hints how the smooth upgrade from KDE SC 4.4 to KDE SC 4.6 can go even smoother.

Andreas Hüttel
Author

Theo Chatzimichos
Author

Samuli Suominen
Author

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.