[LWN Logo]

Date: Mon, 24 May 1999 13:24:36 -0500
From: Benjamin Sher <sher07@bellsouth.net>
To: redhat-list@redhat.com
Subject: Beta KDE-Pre2 > Final KDE 1.1.1 -- Full Instructions

Dear friends:

Most unfortunately, many of us who prefer KDE as our desktop have
discovered that the one that comes with RH 6.0 is an unstable,
unreliable Beta that freezes or crashes all too often. In my case, it
froze inexplicably at least once a day. Nothing in the world would
unfreeze it. Everything would freeze up: keyboard, mouse, etc. The only
option, a horrible one, was to power off and power back on.  

A number of solutions have been offered. I would like to offer an
excellent solution courtesy of Jose M. Sanchez, one of the gurus on our
list. 

This solution has worked very well, so far. Jose has asked me to submit
the solution to the list precisely because I am a newbie. If I could
follow his instructions, which, by the way, are very lucid indeed, so
could anyone else.

So here goes:

OBJECTIVE: Deleting Beta KDE 1.1.1-Pre2 and replacing it with the stable
KDE 1.1.1final available on the Mandrake site.

METHOD: 

1) Recompiling the KDE 1.1.1final source files (src.rpms) and generating
the KDE RPMS (.rpms)
2) Then, simply install the new RPMS as you would any RPMS on your
system. 

PLACE: Preferably on the console. Remember that you will be completely
deleting your current KDE, so you obviously could not do this in KDE and
perhaps not in any other XWindows xterm.

TIME: First, you must download the new source files. That depends on
your speed. If you have ADSL or Cable high speed, this takes only about
15 minutes. The recompilation takes a minimum of 6 hours, though most of
it is done automatically, that is, unattended.

ADVANTAGES: Because these new KDE RPMs are generated from the original
1.1.1.final source files and because they are rebuilt using your own
system, the KDE thus produced should be stable and reliable. Finally,
once these RPMS are generated, you can save them and will never have to
recompile them again. If you reinstall your RH 6.0 and have the RPMs
stored away safely, replacing the Beta KDE with the stabel KDE will take
only minutes.

PROOF: The new KDE has not frozen up once since I installed it about 5
days ago and neither has Jose's.
I would have liked to wait a little longer before passing on Jose's
solution. However, due to the immediate need as expressed on our list
for a reliable KDE, I have decided to go out on a limb. 
Please follow the step-by-step instructions precisely.

PREREQUISITES: A place to store your new KDE RPMS once they have been
generated. If you have a slow connection and actually decide to download
all the source files, you should store not only your new RPMS but also
your src.rpms source files, just in case. 

WARNING: If you have selected the "Workstation" installation option and
decided to reinstall your RH 6.0, ALL of your partitions and files will
be wiped out, including your new KDE RPMs. The new KDE RPMs must be
stored safely nn a separate partition on your one hard drive, on a
separate disk of a two-disk system or on your Zip drive. At the end of
the KDE instructions you will find a brief note about saving your RPMs
to the Zip drive.

OK, enough already. Here we go:

All operations below are to be done as ROOT.

STEP 1: Make a directory and call it KDE-SRC.

STEP 2: Go to the Mandrake ftp site to get your source files ("src.rpm",
NOT ".rpm"):

ftp.rpmfind.net/linux/3/Mandrake/6.0/SRPMS

If you wish to download the files by using Netscape instead of an FTP
client, type in Netscape:

ftp://ftp.rpmfind.net/linux/3/Mandrake/6.0/SRPMS

The SRPMS stands, obviously, for Source RPMS, the original source files
which you will rebuild on your computer to produce the 1.1.1final RPMs
and then install them. Be sure to download them into a SINGLE directory
WITHOUT any subdirectories. See below:

Here is my KDE-SRC directory:

aktion-0.3.3-2mdk.src.rpm              kimon-1.0-3mdk.src.rpm
kaffe-1.0.b4-3mdk.src.rpm              kjumpingcube-0.7-1mdk.src.rpm
kbdconfig-1.9.1-2mdk.src.rpm           klyx-0.9.9-fl4mdk.src.rpm
kdeadmin-1.1.1final-5mdk.src.rpm       kmpg-0.5-1mdk.src.rpm
kdebase-1.1.1final-10mdk.src.rpm       knfsd-1.2-9mdk.src.rpm
kdegames-1.1.1final-5mdk.src.rpm       korganizer-1.1-1.src.rpm
kdegraphics-1.1.1final-4mdk.src.rpm    kpackage-1.3-1mdk.src.rpm
kdelibs-1.1.1final-8mdk.src.rpm        kpilot-3.1b8_pgb-2mdk.src.rpm
kdemultimedia-1.1.1final-6mdk.src.rpm  kpppload-1.04-4mdk.src.rpm
kdenetwork-1.1.1final-3mdk.src.rpm     krubik-1.04-2mdk.src.rpm
kdesu-0.4-1mdk.src.rpm                 ksendfax-0.3-3mdk.src.rpm
kdesupport-1.1.1final-9mdk.src.rpm     ktelnet-0.61-2mdk.src.rpm
kdetoys-1.1.1-2mdk.src.rpm             kterm-6.2.0-9mdk.src.rpm
kdeutils-1.1.1pre1-6mdk.src.rpm        kthememgr-0.8-6mdk.src.rpm
kdf-0.5.1-1mdk.src.rpm                 ktop-0.9.9p1-1mdk.src.rpm
kdpms-0.2-6mdk.src.rpm                 kvirc-0.9.0-3mdk.src.rpm
kfortune-1.11-3mdk.src.rpm             kvoice-0.3-3mdk.src.rpm
killustrator-0.6-5mdk.src.rpm                                  


Note 1 -- All of the files above begin with the letter k except for
"aktion", which is a great multimedia program that is part of the KDE
package and should be selected for downloading. It is not the first file
you'll see. Look down about ten files where the real alphabetical
listing begins. Get it!

Note 2 -- There are a number of other self-explanatory files that begin
with the letter k (such as kcmlaptop).

Note 3: Do NOT download the two kernel files: "kernel.src.rpm" and
kernelcfg.src.rpm"!

Note 4: "korganizer.src.rpm" is not available from the Mandrake site as
yet. If you want it, you can get it from:

http://www.redhat.com/~pbrown/korganizer/korganizer-1.1-1.src.r

Or, if you have a problem, try the first part of the address:

http://www.redhat.com/~pbrown/korganizer

Then, look down the page till you see the src. rpm link.

To save the src.rpm file, be sure to press the SHIFT key on Netscape
while clicking on the SAVE AS (under File) option with your mouse. You
will see "korganizer....src.rpm" clearly in your Netscape save box).

The korganizer scr.rpm comes from Red Hat. If necessary, you can rebuild
the korganizer RPM separately later in KDE itself and install it. That's
what I did.

STEP 3: In the console delete your old, Beta KDE as follows:

rpm -e `rpm -qa | grep kde`

Note the case, please: all lower-case.

This command will wipe out your entire old KDE program in one move.

EXTREMELY IMPORTANT: The symbol that you see before "rpm" and after
"kde" above is NOT, I repeat, not an apostrophe. It is the first
character on the extreme top left row of the keyboard. Using SHIFT with
this key will produce a tilde ~. The symbol is right beneath that ~ on
the same key. ` (without SHIFT) ~ (with SHIFT).

This command will remove KDE files and only KDE files. It will take a
while: a few minutes.

STEP 4: Now go into your KDE-SRC directory and type as root and from
that directory:

[root@KDE-SRC]#find *.src.rpm -exec rpm --rebuild {} \;

1) Note the lower-case again. 

2) Note the spaces between each item.

3) Note the single hyphen before 'exec" (-exec) but the two hyphens
before "rebuild"(--rebuild).

4) Note the special brackets that follow. These are the brackets above
the normal brackets. [] WITHOUT shift. {} WITH the Shift key. You want
the second pair {}. Please note that there is NO space between the
brackets.

5) Note the space between {} and the last item. To make this critical
command VISUALLY clear, here is the command with TWO spaces between each
element:

find  *.src.rpm  -exec  rpm  --rebuild  {}  \;

Please remember that there should actually be only ONE space between
these elements.

6) Note the backward slash and a semi-colon at the end. There should NO
space between the slash and the semicolon.

Jose's original instructions also called for adding --target to the
command as follows:

find *.src.rpm -exec rpm --rebuild --target i586 {} \;

However, specifying the target directory (i586) did NOT work. On the
other
hand, if you have a Pentium II, you could specify --target 686 (though, 
Jose assures me, it would not harm a thing even if you didn't have a 
Pentium II). At any rate, the recompilation produced NO RPMS. So, 
I would advise, with Jose's blessing, to drop this part and just type:

[root@KDE-SRC]#find *.src.rpm -exec rpm --rebuild {} \;

This command will recompile the libraries and support modules
(kdelibrsxxx.src.rpm and kdesupportxxx.src.rpm), which are needed for
the rest of the files. It may also recompile many of the other source
files. In my case, on my second try, it recompiled everything. It built
the RPMS out of the src.rpm files and installed them in
/usr/src/redhat/RPMS/i386. It created its own directory, namely i386,
but on your system it may create a different subdirectory such as i586
or i686. 

This operation is entirely automatic. If you have typed the right
command, it should work. When it starts working, you will see KDE
literally being reborn (recompiled) right before your eyes out of the
thousands of lines of alphanumeric characters and squiggles that make up
the KDE code. Quite a sight. Do NOT interrupt the machine! You will know
it's over when it ends and returns you to your KDE-SRC directory as
root. 

If it doesn't recompile everything at once, no need to worry. 

STEP 5:

After this first (or last stage) is finished, go to:

/usr/src/redhat/RPMS/i386

(or whatever directory your new RPMS are in) 

and install the new RPMs by using the upgrade option:

rpm -Uvh --force --nodeps k*.rpm

Note the asterisk after k.

This, as Jose points out, gets the libraries and support modules
installed, which are needed by the other "builds".

STEP 6: Now recompile the rest of the src.rpm files. Return to your
KDE-SRC directory and type again:

[root@KDE-SRC]#find *.src.rpm -exec rpm --rebuild {} \;

This will now rebuild ALL of the KDE rpms. This will take a good 6 hours
or so. I left after 4 hours and went for a walk in the part with my
wife. When we came back 4 hours later, it was over. Again, do NOT touch
the keyboard or interrupt the operation in any way. Sometimes it may
seem to be over but it isn't over until it's over. You will know it's
over when you are returned to your KDE-SCR directory.

STEP 7: Now return one last time to:

/usr/src/redhat/RPMS/i386

(or wherever your RPMS are)

You will now see all of your rpms. Type:

rpm -Uvh --nodeps --force k*.rpm

This part takes only a few minutes. You will see each RPM installed
visually as you watch the 50 hash marks roll past you on the screen.

Do not forget the k* (k plus asterisk) before the rpm.

Now you should have a brand-new, solid and reliable KDE 1.1.1final.

STEP 8: A note about storing your new KDE rpms.

I would recommend creating another directory called KDE-RPMS and
copying (NOT moving) the new KDE RPMs to it:

#cp /usr/src/redhat/RPMS/i386 *.* /KDE-RPM

Here, for instance, is my KDE-RPM directory:

[sher@adsl-77-234-94 KDE-RPM]$ ls
aktion-0.3.3-2mdk.i386.rpm              kimon-1.0-1mdk.i386.rpm
kaffe-1.0.b4-3mdk.i386.rpm              kjumpingcube-0.7-1mdk.i386.rpm
kbdconfig-1.9.1-2mdk.i386.rpm           klyx-0.9.9-fl4mdk.i386.rpm
kdeadmin-1.1.1final-5mdk.i386.rpm       kmpg-0.5-1mdk.i386.rpm
kdebase-1.1.1final-7mdk.i386.rpm        knfsd-1.2-9mdk.i386.rpm
kdegames-1.1.1final-5mdk.i386.rpm       knfsd-clients-1.2-9mdk.i386.rpm
kdegraphics-1.1.1final-4mdk.i386.rpm    korganizer-1.1-1.i386.rpm
kdelibs-1.1.1final-6mdk.i386.rpm        kpackage-1.3-1mdk.i386.rpm
kdemultimedia-1.1.1final-6mdk.i386.rpm  kpilot-3.1b8_pgb-2mdk.i386.rpm
kdenetwork-1.1.1final-1mdk.i386.rpm     kpppload-1.04-4mdk.i386.rpm
kdesu-0.4-1mdk.i386.rpm                 krubik-1.04-2mdk.i386.rpm
kdesupport-1.1.1final-9mdk.i386.rpm     ksendfax-0.3-2mdk.i386.rpm
kdetoys-1.1.1-2mdk.i386.rpm             ktelnet-0.61-2mdk.i386.rpm
kdeutils-1.1.1pre1-6mdk.i386.rpm        kterm-6.2.0-9mdk.i386.rpm
kdf-0.5.1-1mdk.i386.rpm                 kthememgr-0.8-1mdk.i386.rpm
kdpms-0.2-6mdk.i386.rpm                 ktop-0.9.9p1-1mdk.i386.rpm
kfortune-1.11-3mdk.i386.rpm             kvirc-0.9.0-3mdk.i386.rpm
killustrator-0.6-5mdk.i386.rpm          kvoice-0.3-3mdk.i386.rpm
[sher@adsl-77-234-94 KDE-RPM]$         

This new directory should be in a protected place, so that if you have
to reinstall Linux, you can have immediate access to them. If you use
your Zip drive, I would suggest storing both the KDE-SRC and KDE-RPM
files, especially, of course, the latter. To be sure that you Zip
copying was successful, that your Zip drive was really mounted when you
copied them, type as
root:

#mount

This command will list ALL currently mounted file-systems. for instance:

[root@adsl-77-234-94 /]# mount
/dev/hda1 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hdb1 on /bs type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)
adsl-77-234-94:(pid421) on /net type nfs
(intr,rw,port=1023,timeo=8,retrans=110,indirect,map=/etc/amd.conf,dev=00000003)
/dev/sda on /mnt/zip type ext2 (rw)
[root@adsl-77-234-94 /]#

Please note the /dev/sda in the last line: that's proof that your Zip
drive was mounted properly.
Finally, in the example below you will see that after unmounting (umount
/mnt/zip with a "u" in "umount") and removing the Zip module (rmmod
ppa), the Zip drive is no longer mounted:


[root@adsl-77-234-94 /]# umount /mnt/zip
[root@adsl-77-234-94 /]# rmmod ppa
[root@adsl-77-234-94 /]# mount
/dev/hda1 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hdb1 on /bs type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)
adsl-77-234-94:(pid421) on /net type nfs
(intr,rw,port=1023,timeo=8,retrans=110,indirect,map=/etc/amd.conf,dev=00000003)
[root@adsl-77-234-94 /]#                  

If it does not contain your Zip drive, you have copied your KDE-RPM
files to the
hard disk's own /mnt/zip subdirectory )under the / super directory.
Thus, if will reinstall Linux, all of your KDE-RPMS will be wiped out.
So, if after or, preferably, before, copying your KDE
RPMS, you type #mount and do not see your Zip drive listed, you had
better figure out what's wrong. Otherwise, all your hard work will be
wasted if you have to reinstall your RH 6.0.

If you failed to recompile the src.rpm files all at once (or in two
stages), you can try to do them individually, as follows:

STEP ONE:

Go to KDE-SRC and as root:

Recompile support and library files:

[root@KDE-SRC]#rpm --rebuild kdesupportxxxx.src.rpm
[root@KDE-SRC]#rpm --rebuild kdelibsxxxx.src.rpm

STEP TWO:

Install these support and libraries files by first finding them (look
for them in /usr/src/redhat/RPMS/i386 or i586, etc.) and then typing:

#rpm -Uvh /usr/src/redhat/RPMS/i386/kdesupportxxx.i586
#rpm -Uvh /usr/src/redhat/RPMS/i386/kdelibsxxxx.i386.rpm

STEP THREE:

Now go back to KDe-SRC and type 

rpm --rebuild kdebasexxxx.src.rpm

etc.

STEP FOUR:

Now go back to /usr/src/redhat/RPMS/i386 and install the remaining rpms:

#rpm -Uvh /usr/src/redhat/RPMS/i386/kdemultimediatxxx.i586

etc, etc.

The result, we all hope, should be a fine, stable and reliable KDE
custom-built for your by your own machine out of the original KDE
1.1.1final source files.

My thanks again to Jose M. Sanchez for his help. 

Yours,

Benjamin

Benjamin Sher
sher07@bellsouth.net
Sher's Russian Web
http://www.websher.net


-- 
  PLEASE read the Red Hat FAQ, Tips, Errata and the MAILING LIST ARCHIVES!
		http://www.redhat.com http://archive.redhat.com
         To unsubscribe: mail redhat-list-request@redhat.com with 
                       "unsubscribe" as the Subject.