Fedora 9 is the first version of Fedora which includes KDE 4, instead of KDE 3. The net is full of discussions about the maturity, stability and quality of KDE 4. I'm not interested in blaming the KDE developers or the distribution packagers for having pushed the new KDE towards users. But, having been a KDE user since version 1.0 on RedHat 5.1 (manual installation!), I really want to use KDE and mantain my daily productivity.
I wanted to upgrade from Fedora 8 to Fedora 9, but, as I found that KDE 4 was still not ready enough for me,
I decided to experiment with a distribution upgrade excluding the KDE packages. The idea was to use
something like yum upgrade --excludepackages=kde\*
.
After a few hours of fighting with the package dependencies and the creation of compatibility packages, the upgrade succeeded. Everything was running perfectly (including my KDE 3.5 from F8).
When planning to upgrade from Fedora 9 to Fedora 10, I reconsidered the possibility to migrate to KDE 4. Unfortunately, I was still unconvinced about using KDE 4 for everyday use. Additional packages were necessary to upgrade to F10 while retaining KDE 3 from F8, so I built them.
I described my method on the fedora mailing lists, see Successfully upgraded to F9 while keeping KDE 3 and HOWTO: Use KDE 3 from F8 on F10 and there were other people interested in attempting what I had done. I finally managed to collect all the pieces and write this HOWTO.
KDE 4.2 is out and it is certainly much better than 4.0 or 4.1. I will always keep on eye on KDE 4 and I'm really looking forward to not extending this method to Fedora 11.
My procedure was an update from F8 to F9 to F10 and it was only done on one machine. So you should not expect a simple recipe to do the same thing to your machines, expecially if you are trying something different, such as a scratch installation.
Nonetheless, it is likely that the info in this page can be useful.
I created a local repository with all the Fedora 9 packages: I downloaded the entire
Everything rpm subtree, used createrepo
to build the metadata files and created a repository file
in /etc/yum.repos.d
. This is not strictly necessary, but I didn't want to download
stuff during the upgrade.
I tried the command yum upgrade --disablerepo=\* --enablerepo=local_fedora9\*
--exclude=kde\* --exclude=extragear-plasma
and observed the dependency errors.
I'm not sure if I'm forgetting additional --exclude
options; the idea is that
you have to exclude everything that drags the kde4 stuff in. For some problematic
packages, I just removed them and took note to re-add them at the end of the process; I did that in the past
even for normal upgrades and it often involves 3rd party packages such as mplayer, vlc, pdftk, compiz;
maybe having F9 repositories enabled could have involved these packages in the upgrade at the same time,
but I didn't want to complicate things beyond necessity.
The result was the identification of a few substantial dependency problems.
These are things that the old KDE rpms need, but the new distro is not using anymore; in particular the biggest
issue regarded the libssl.so.6
and libcrypto.so.6
libs, needed for KDE 3, but replaced
on F9 by newer versions upon which all the F10 rpms depend. A few compatibility packages were needed.
I have a little experience in patching and rebuilding srpms, and tried to create them. All the rpms, srpms,
specs and specs diff are downloadable from this page.
My new rpms were added in an additional local repository (again createrepo
and adding the new repo to yum,...)
and the yum command was tried again to see if something was still wrong. After a few rounds, all the
dependencies were satisfied and a long upgrade process finally started.
It took some time, as you can easily imagine:
Transaction Summary ============================================================================= Install 124 Package(s) Update 1793 Package(s) Remove 2 Package(s)
I finally checked that the grub config was fine and pointing to the new kernel, changed my runlevel from 5 to 3 in inittab (as the nvidia driver was not upgraded) and rebooted the machine. It came out pretty well in console mode, I fixed the nvidia crap (thanks rpmfusion repo) and run my desktop: my beautiful KDE 3.5 session came out perfectly. Everything was working well. I enabled the 3rd party repos and reinstalled the stuff I had to remove.
After a few months, Fedora 10 was released.
I had to build a few additional rpms: this time they were taken from Fedora 9.
The command I used to upgrade was this time something like:
yum upgrade --disablerepo=\* --enablerepo=local_fedora10\* -x kde\* -x amarok
-x ktorrent -x kover -x kdepim -x kipi-plugins -x digikam -x gnokii -x kplayer -x kmod\*
.
After a successful upgrade, you have to be careful when installing updates, as the entire
KDE4 will try to replace the KDE3. I personally use yum list updates
and then
select packages manually with yum update this_one that_one that_one_too
.
rpm -Fhv *rpm
.--force
rpm option, we never create symlinks, we never install stuff from source in out of standard paths.
My method is really clean.Finally, here is the stuff I had to build, including a description of the changes. If you want to use wget or just don't like HTML links, you can enter this directory.
Taken from Fedora 8, modified and recompiled on Fedora 8.
Needed by kdepim-libs.
spec (ORIGINAL) | 8 KiB | orig/libopensync.spec |
src.rpm (ORIGINAL) | 489 KiB | orig/libopensync-0.22-4.fc8.src.rpm |
spec diff | 4 KiB | libopensync022.spec.patch |
spec (modified) | 8 KiB | libopensync022.spec |
src.rpm (modified) | 489 KiB | libopensync022-0.22-4.fc8.src.rpm |
rpm (modified) | 260 KiB | libopensync022-0.22-4.fc8.i386.rpm |
rpm (modified) | 553 KiB | libopensync022-debuginfo-0.22-4.fc8.i386.rpm |
rpm (modified) | 20 KiB | libopensync022-devel-0.22-4.fc8.i386.rpm |
Taken from Fedora 8, modified and recompiled on Fedora 8.
Needed by alsaplayer.
spec (ORIGINAL) | 12 KiB | orig/mikmod.spec |
src.rpm (ORIGINAL) | 909 KiB | orig/mikmod-3.2.2-6.fc8.src.rpm |
spec diff | 4 KiB | mikmod322.spec.patch |
spec (modified) | 12 KiB | mikmod322.spec |
src.rpm (modified) | 909 KiB | mikmod322-3.2.2-6.fc8.src.rpm |
rpm (modified) | 168 KiB | mikmod322-3.2.2-6.fc8.i386.rpm |
rpm (modified) | 324 KiB | mikmod322-debuginfo-3.2.2-6.fc8.i386.rpm |
rpm (modified) | 204 KiB | mikmod322-devel-3.2.2-6.fc8.i386.rpm |
Taken from Fedora 8, modified and recompiled on Fedora 8.
An updated to 2.3.39-4 exists too.
Needed by kdebase.
spec (ORIGINAL) | 60 KiB | orig/openldap.spec |
src.rpm (ORIGINAL) | 14362 KiB | orig/openldap-2.3.39-3.fc8.src.rpm |
spec diff | 4 KiB | openldap2339.spec.patch |
spec (modified) | 60 KiB | openldap2339.spec |
src.rpm (modified) | 14362 KiB | openldap2339-2.3.39-3.fc8.src.rpm |
rpm (modified) | 288 KiB | openldap2339-2.3.39-3.fc8.i386.rpm |
rpm (modified) | 216 KiB | openldap2339-clients-2.3.39-3.fc8.i386.rpm |
rpm (modified) | 9617 KiB | openldap2339-debuginfo-2.3.39-3.fc8.i386.rpm |
rpm (modified) | 1594 KiB | openldap2339-devel-2.3.39-3.fc8.i386.rpm |
rpm (modified) | 1982 KiB | openldap2339-servers-2.3.39-3.fc8.i386.rpm |
rpm (modified) | 124 KiB | openldap2339-servers-sql-2.3.39-3.fc8.i386.rpm |
Taken from bugzilla.redhat.com #440560 as candidate compat package, recompiled on Fedora 8.
Needed by kdebase, kdenetwork, openldap2339, kphone.
spec (ORIGINAL) | 40 KiB | orig/openssl098b.spec |
src.rpm (ORIGINAL) | 2835 KiB | orig/openssl098b-0.9.8b-1.fc9.src.rpm |
spec diff | 0 KiB | openssl098b.spec.patch |
spec (modified) | 40 KiB | openssl098b.spec |
src.rpm (modified) | 2835 KiB | openssl098b-0.9.8b-1.fc8.src.rpm |
rpm (modified) | 917 KiB | openssl098b-0.9.8b-1.fc8.i386.rpm |
rpm (modified) | 2422 KiB | openssl098b-debuginfo-0.9.8b-1.fc8.i386.rpm |
Taken from Fedora 9 updates, modified and recompiled on Fedora 9.
Needed by gnokii.
spec (ORIGINAL) | 8 KiB | orig/bluez-libs.spec |
src.rpm (ORIGINAL) | 316 KiB | orig/bluez-libs-3.36-1.fc9.src.rpm |
spec diff | 4 KiB | bluez-libs.spec.patch |
spec (modified) | 8 KiB | bluez-libs.spec |
src.rpm (modified) | 316 KiB | bluez-libs-compat336-3.36-1.fc9.src.rpm |
rpm (modified) | 48 KiB | bluez-libs-compat336-3.36-1.fc9.i386.rpm |
rpm (modified) | 128 KiB | bluez-libs-compat336-debuginfo-3.36-1.fc9.i386.rpm |
rpm (modified) | 76 KiB | bluez-libs-compat336-devel-3.36-1.fc9.i386.rpm |
Taken from Fedora 9, modified and recompiled on Fedora 9.
Needed by libkexiv2 (needed by kipi-plugins, digikam).
spec (ORIGINAL) | 8 KiB | orig/exiv2.spec |
src.rpm (ORIGINAL) | 1566 KiB | orig/exiv2-0.16-2.fc9.src.rpm |
spec diff | 4 KiB | exiv2.spec.patch |
spec (modified) | 8 KiB | exiv2.spec |
src.rpm (modified) | 1566 KiB | exiv2-compat0162-0.16-2.fc9.src.rpm |
rpm (modified) | 88 KiB | exiv2-compat0162-0.16-2.fc9.i386.rpm |
rpm (modified) | 2655 KiB | exiv2-compat0162-debuginfo-0.16-2.fc9.i386.rpm |
rpm (modified) | 272 KiB | exiv2-compat0162-devel-0.16-2.fc9.i386.rpm |
rpm (modified) | 533 KiB | exiv2-compat0162-libs-0.16-2.fc9.i386.rpm |
Taken from Fedora 9, modified and recompiled on Fedora 9.
Needed by amarok.
spec (ORIGINAL) | 8 KiB | orig/libmtp.spec |
src.rpm (ORIGINAL) | 529 KiB | orig/libmtp-0.2.6.1-1.fc9.src.rpm |
spec diff | 4 KiB | libmtp.spec.patch |
spec (modified) | 8 KiB | libmtp.spec |
src.rpm (modified) | 529 KiB | libmtp-compat0261-0.2.6.1-1.fc9.src.rpm |
rpm (modified) | 76 KiB | libmtp-compat0261-0.2.6.1-1.fc9.i386.rpm |
rpm (modified) | 308 KiB | libmtp-compat0261-debuginfo-0.2.6.1-1.fc9.i386.rpm |
rpm (modified) | 60 KiB | libmtp-compat0261-devel-0.2.6.1-1.fc9.i386.rpm |
rpm (modified) | 40 KiB | libmtp-compat0261-examples-0.2.6.1-1.fc9.i386.rpm |
I can't promise to be able to help you in trying this kind of upgrade. In any case, you could try
to send a mail to mail@zzzrobertoragusazzz.zzzitzzz
(it could be a good idea to remove
all the 'z' from the address).
© Copyright 2009 Roberto Ragusa, www.robertoragusa.it