#v1.03 1998-09-20 How to install the KDE-1.0 "5rh51" rpm packages on RedHat 5.x systems: (Package names below are those for Intel-type x86 processors; for other architectures, the i386 in the rpm name will change) ------------------------------------------------------------- (1) Which release of RedHat Linux 5.x are these rpms for? These rpms will NOT work on RedHat 4.x systems. These rpms will work on RedHat 5.1, which comes with both gcc-2.7.2.3 and egcs-1.02 compilers. They will also work on a RedHat 5.0 system, provided that libstdc++-2.0.8-8.i386.rpm from the RedHat 5.1 distribution has been installed. This file is freely available at RedHat's ftp site ftp://ftp.redhat.com/pub/redhat/ in the directory redhat-5.1/i386/RedHat/RPMS/ You can also find it at mirrors, such as ftp://sunsite.unc.edu/pub/Linux/distributions/redhat/ If libg++-devel is installed on the RedHat-5.0 system, you must first uninstall it (it conflicts with libstdc++-2.0.8): rpm -e libg++-devel Note that libg++-devel is needed for compiling C++ code with the RedHat-5.0 C++ compiler, gcc-c++-2.7.2.3. Also, the "rh51" qt and KDE rpms are INCOMPATIBLE with any KDE applications compiled with the RedHat-5.0 gcc-c++; it is therefore recommended that you also uninstall gcc-c++. (Do NOT uninstall gcc or libg++). If you uninstall gcc-c++, or wish to install a C++ compiler for compiling KDE applications that are not included in the KDE-1.0 distribution, you should read gcc_to_egcs-HOWTO for instructions about installing the RedHat 5.1 egcs compiler as a replacement for gcc-c++ on your RedHat-5.0 system. The document "gcc_to_egcs-HOWTO" should be available with the "rh51" rpms; the kdebase rpm also installs it in /usr/doc/kdebase-1.0/ --------------------------------------------------------------------- (2) Which version of qt should be used? KDE-1.0 was developed with qt-1.33. Just as it was released, qt-1.40 was released. If you are concerned about stability, use qt-1.33. You can also use qt-1.40 if you need its extra features for some new KDE application not included in these rpms, but be warned that it is NOT extensively tested with KDE-1.0, but is being used for KDE-1.1 development. See README-5rh51-rpms. Suitable qt source and binary rpms compatible with the "rh51" KDE rpms are: (qt-1.33) ftp://ftp.troll.no/pub/contrib/qt-1.33-1rh51.src.rpm ftp://ftp.troll.no/pub/contrib/qt-1.33-1rh51.i386.rpm ftp://ftp.troll.no/pub/contrib/qt-devel-1.33-1rh51.i386.rpm (qt-1.40) ftp://ftp.troll.no/pub/qt/linux/redhat/qt-1.40-1rh51.src.rpm ftp://ftp.troll.no/pub/qt/linux/redhat/qt-1.40-1rh51.i386.rpm ftp://ftp.troll.no/pub/qt/linux/redhat/qt-devel-1.40-1rh51.i386.rpm (qt-1.41) This is about to be released. In principle any qt-1.41 "rh51" rpms should be compatible, but this is untested. ----------------------------------------------------------------------- (3) Notes on rebuilding the source rpms. (Optional). (Skip this section, if you are installing the binary i386.rpms) You must have egcs, egcs-c++, libstdc++ and libstdc++-devel installed. These come with the RedHat-5.1 release. See gcc_to_egcs-HOWTO if you have RedHat-5.0, and wish to rebuild the "rh51" qt or KDE rpms. If you try to rebuild the KDE binary rpms from the source rpms, you may get an error message that the "host type" of your system could not be found. In that case, create a file /opt/kde/share/config.site containing the line host=i386-pc-linux (or i586-pc-linux for a pentium, i686-pc-linux for a pentium-II) More information is in files README, INSTALL, and config.sub that are unpacked into /usr/src/redhat/BUILD/kdeXXX-1.0 during the rebuild process. You should rebuild the rpms using rpm-2.5 or greater. (Get an update from RedHat's ftp site, if necessary). Some of the 2.5.x releases of rpm have a broken /usr/lib/rpmrc configuration file where the entry gzipbin: /bin/gzip is incorrectly given as gzipbin: /usr/bin/gzip (THIS IS WRONG). This will cause the rebuild process to fail, unless you fix it either by correcting /usr/lib/rpmrc, creating or editing /etc/rpmrc to contain the correct gzipbin entry, or making /usr/bin/gzip a symbolic link to /bin/gzip ("ln -s ../../bin/gzip /usr/bin/gzip "). (N.B. if gzipbin in /usr/lib/rpmrc is incorrect, it is followed by an incorrect entry for bzip2bin, which should be "bzip2bin: /usr/bin/bzip2") If you rebuild the source rpms with qt-1.40 installed, the resulting binaries will NOT work with qt-1.33. (Binaries built with qt-1.33 WILL work with qt-1.40). The source rpms MUST be rebuilt and installed in the same order as the binary rpms. e.g., first rebuild: rpm --rebuild kdesupport-1.0-5rh51.src.rpm then install the binary rpm that gets built: rpm -Uvh /usr/src/redhat/RPMS/i386/kdesupport-1.0-5rh51.i386.rpm Rebuilding the qt source rpm creates qt and qt-devel binary rpms. kdesupport cannot be rebuilt unless both qt and qt-devel are installed. kdelibs cannot be rebuilt unless qt and qt-devel are installed. kdebase cannot be rebuilt unless qt, qt-devel and kdelibs are installed, all other kde rpms cannot be rebuilt unless qt, qt-devel, kdelibs and kdebase are installed: some also require kdesupport. (NOTE: kdesupport supplies some non-KDE libraries (e.g, giflib, jpeglib, and mimelib) that are needed by various KDE components; it is only "optional" if these are already installed on your system. If in doubt, kdesupport should be rebuilt and installed before kdelibs .) ------------------------------------------------------------------------ (4) Installing the binary rpms. All qt and kde rpms must have "rh51" in the version name. Do NOT mix with "rh50" or "rh5" rpms. If you have a KDE Beta release installed, you should probably first uninstall it, so you will have a clean installation of KDE-1.0. Installation must proceed in the correct order: (This assumes libstdc++-2.8.0-8.i386.rpm is installed; see (1) above) First install qt-1.33-1rh51.i386.rpm Next install kdesupport-1.0-5rh51.i386.rpm (optional, see note in (3) above) Next install kdelibs-1.0-5rh51.i386.rpm Next install kdebase-1.0-6rh51.i386.rpm You now have installed the base KDE-1.0 system. Either proceed to the post-installation instructions, or optionally install any of kdexxxx-1.0-5rh51.i386.rpm, where xxxx = utils, graphics, network, multimedia, admin, games. Some of these require kdesupport. If you will wish to compile any KDE applications, install qt-devel-1.33-1rh51.i386.rpm as well. ------------------------------------------------------------------- (5) Post Installation instructions for the KDE-1.0 rh51 rpms. (5.1) Each user who wishes to use KDE should copy the sample .Xclients file from /usr/doc/kdebase-1.0/ to their home directory, and make it executable: cp /usr/doc/kdebase-1.0/Xclients ~/.Xclients chmod u+x ~/.Xclients The .Xclients file contains the single line /opt/kde/bin/startkde . If the system administrator puts this file in the user's home directory, the sysadmin must use "chown" to make the user the owner of .Xclients. You may now run KDE, (but if you wish to use kdm as a replacement for the X Display Manager xdm (which provides the X Windows login screen) see (2) below for further installation steps). Starting KDE: This depends on whether X Windows is running, and whether xdm is running. First note that scripts /etc/profile.d/kde.sh and /etc/profile.d/kde.csh have been installed that will correctly set the path for kde when any new login occurs AFTER the kdebase rpm has been installed. (If you have previously added entries to /etc/profile to set $KDEDIR and the KDE path for an earlier KDE installation, you should remove them.) (a) if xdm is running, just login as a KDE user. (b) if xdm is not running, login as a KDE user, and run "startx" (If your login occurred before the kdebase rpm was installed, login again so the newly installed scripts in /etc/profile.d set the path.) (NOTE: recent RedHat security updates may mean that ordinary users can no longer run startx). or (c) if xdm is not running, the superuser can start kdm (run "kdm", or "/opt/kde/bin/kdm" if the path is not set), then login as a KDE user. When a user runs KDE for the first time, it creates Desktop and .kde subdirectories in the user's home directory. If you wish to recreate the default KDE-1.0 Desktop and .kde directories and their contents, just stop KDE, move or delete them, and restart KDE. (Note: the defaults have improved since KDE Beta releases; you may wish to do this if you are upgrading from a KDE Beta release, and already have .kde and Desktop directories). When .kde is created, a message urges the user to change the password contained in their file .kde/share/apps/kfm/magic. If you wish to do this (it is a security measure used by the File Manager kfm), edit the magic file, which contains a numerical string, to replace this by any arbitrary string of characters. (This "password" is used internally by the file manager kfm: you will never be prompted to enter it). Apparently, this magic file should also be made readable and writable only by the user ("chmod a-rw magic; chmod u+rw magic"). After this password is changed, exit the KDE session and restart it. Once KDE is running, each user can customize their own KDE settings using the KDE control center: click on the icon for this on the panel, or click on the Application Starter (the "K" button at the left of the panel) and find it (K -> "KDE Control Center"). You can also access individual settings by clicking on K -> "Settings". Also, each user should click on K -> "System" -> "Appfinder", which will run a program to search their path for various common non-kde applications that may be on the system, and put entries for them in the user's K -> "applnk" -> "Non KDE Apps" menu. Read K -> KDE Help -> "A Quick Start Guide to the Desktop" for more information on using and configuring KDE. Things to note: using the File Manager ( "Edit" -> "New" -> "Application") to create .kdelnk files, which can be used to start non-KDE applications; dragging links to these into the Autostart directory on the Desktop (e.g. to make the RedHat /usr/bin/control-panel start automatically when root is a KDE user); placing icons on the Desktop to mount/unmount floppies and cdroms, etc. (5.2) Using kdm as a replacement for xdm: kdm is KDE's "drop in" replacement for xdm, the "X Display Manager" that provides the X Windows login screen. If your system is in "runlevel 3", and xdm is not running, the superuser (root) can start kdm by running "kdm" or "/opt/kde/bin/kdm". kdm uses the same configuration files as xdm (except for PAM configuration, which uses /etc/pam.d/kde, see below). More commonly, your system will be set up to boot directly into "runlevel 5", and automatically run xdm. To change this, the superuser must edit the file /etc/inittab: the last line of this file is x:5:respawn:/usr/bin/X11/xdm -nodaemon Replace this by #x:5:respawn:/usr/bin/X11/xdm -nodaemon x:5:respawn:/opt/kde/bin/kdm -nodaemon The superuser must now shut down and restart runlevel 5 with "telinit 3 ; telinit 5". The kdm login screen should now appear,with RedHat's penguin logo as its background. The superuser can customize the login screen using the KDE Control Center, or by K -> "Settings". (Look in the "Application" -> "Desktop Manager" submenu) (5.3) (optional) kdm can be configured to replace the background of the login screen with different "wallpapers", etc. To obtain this full functionality, the superuser must edit the file /etc/X11/xdm/Xsetup_0 to add a last line /opt/kde/bin/kdmdesktop The RedHat penguin logo will then no longer remain on the login screen. Like RedHat's xdm, kdm (and the KDE screensaver lock) uses the PAM (Pluggable Authentication Module) system* for authenticating users (i.e. password checking). This will transparently handle shadow passwords, for example, and can be configured to use many different authentication schemes. KDE's PAM service (called "kde") is configured by the file /etc/pam.d/kde. The kdebase rpm installs a copy of RedHat's /etc/pam.d/xdm as this configuration file. If you wish to customize it, note that kdm (unlike RedHat's xdm) fully implements "PAM session" support. See the PAM documentation in /usr/doc/pam-* to learn what you can do with PAM. *Note: KDE's PAM support on RedHat 5.0 systems currently only works with binaries like these compiled with the egcs-c++ compiler (but not RedHat 5.0's standard gcc-c++-2.7.2.3 compiler). ---------------------------------------------------------------------- (6) If you later compile or install any extra KDE applications that are not included in the standard KDE distribution, be sure they are compiled using the egcs compiler on a RedHat 5.x (glibc2) system, or their binaries will be incompatible with these. If you are using qt-1.33, it is possible that binaries compiled with qt-1.40 will not work. Unless the binaries are compiled on RedHat 5.1 with qt-1.33, you may have to recompile them (or rebuild from the source rpm) on your own system. Because of the complicated mix of compilers in RedHat 5.1, (and in RedHat-5.0 systems after the compiler upgrade described in gcc_to_egcs-HOWTO), type export CC=egcs before compiling or rebuilding, unless you have already made CC=egcs the default. This ensures that egcs, not gcc, is used as the compiler. See the file gcc_to_egcs-HOWTO for more details. Thats all! Duncan Haldane KDE packaging group