I decided to upgrade to the latest version of KDE for some development reasons. I figured with access to a KDE-Redhat9-APT repository (thanks to kde.org) and a working version of Synaptic this would be no sweat. To make a long story short, if you attempt to do this, here is what you need to know:
- Use the right APT repositories - there are four of them.
Go to http://kde-redhat.sourceforge.net/ and find the list of repositories. Place them in your /etc/apt/sources.list.d as the directions specify. Be sure the repositories are something like ftp://apt.kde-redhat.org/apt/kde-redhat/9/stable/RPMS/ not ftp://apt.kde-redhat.org/apt/kde-redhat/9/RPMS.stable/. I don't understand the difference, except that one is RPM hell and the other is mostly functional.
- Upgrade the redhat-artwork package first.
The redhat-artwork v0.73-1 and the GTK+ packages conflict because they both contain the ".gtkrc" config file. The file simply points to what set of icons you want to use. APT/RPM is so picky, it will refuse to install GTK+ because the configuration file in GTK+ conflicts with the one in the redhat-artwork package. There is a newer version of redhat-artwork (v0.96) that doesn't conflict with GTK+ anymore, so upgrade to that first.
It's silly for packages to argue over such an insignificant config file, but the system is doing its job properly. Unfortunately, there is no way for APT to know this, because it wouldn't make sense for GTK+ to depend on redhat-artwork unless you are on a RedHat system! It also couldn't conflict with the old redhat-artwork, because then APT would simply uninstall redhat-artwork, which is no good either. This is a case where conditional dependencies or "weak" file contents (that don't overwrite, or don't care if they get overwritten) might help.
- Upgrade the GTK/GTK+ libraries before installing kde.
kdebase & kdelibs conflict with older versions of GTK2/GTK+. However, even if there is a newer version available, it looks like APT isn't smart enough to get them. Instead, it decides to uninstall GTK2/GTK+, which thus uninstalls 75% of your system. This is bad. I am guessing this is a bug/limitation of APT - it only upgrades a dependency if the dependency is stated as requiring a package newer a certain version, but not if it conflicts with an older version.
- Now you can upgrade KDE.
It was a good long journey to figure this out. Now that I know why, the steps are simple and the cause is clear. I'm learning that RPM hell exists even on a decently configured system with good RPMs. Perhaps the problem is the dependency system in APT needs to be a bit smarter.
After upgrading KDE, I also updated from xine 0.92 to 0.99, and from Samba 2 to Samba 3. Both the xine and gxine front-ends crash if I use full-screen for a minute or two, but work fine in windowed mode. (grrrrr!) Samba works, but if I try to use the KDE ioslave (by going to lan://someserver/someshare) on any share that requires a password, I get a mysterious error:
"The process for the smb://someserver protocol died unexpectedly."
Someone please let me know if you find out what that is. Oh, and Konquerer complains that it is associated with HTML files, but it does not know how to open them. It's a friggin web browser fro goodness sake! It looks like the separated KHTML out into a separate program.