Upgrading SusE 8.1 to 8.2 with apt

Indications from http://linux01.gwdg.de/apt4rpm/ on the upgrade 8.1->8.2,, which also refers to the upgrade 8.0->8.1, helped me getting started. However, I don't like using --force-rpm-install option, all the more there are a lot of packages that are indicated to be removed. So I played with apt-get, apt-cache and apt-rpm to find the way to check for dependencies manually and simulate installs without forcing them, for as long as possible. Below is how I did it.

Small downgrade of some SuSE 8.1 KDE 3.1 packages

I had to do this, because I did the full upgrade of SuSE 8.1, i.e., I had the latest of KDE 3.1 for SuSE 8.1, and there are versioning inconsistencies between some KDE packages for SuSE 8.1 and SuSE 8.2. At the time you read this, it might have been fixed. You can check "manually" (going to the ftp sites from your /etc/apt/sources.list file), what versions for the below conflicting packages are available for SuSE 8.1 and SuSE 8.2:

First, there are some packages with exactly the same name and version, but with different content: I found 4 of them (kdebase3-3.1.3-28, kdebase3-extra-3.1.3-28, sax2-4.7-440, saxtools-2.2-987), because they caused conflicts when trying to install SuSE 8.2 - I swear, it took quite some time to identify them. With the full upgrade, SuSE 8.1 versions are installed, and the-same-name-but-different-dependencies versions of SuSE 8.2 can't be installed with apt. I know that they exist thanks to 'apt-cache show <pkg>' which shows the content of both.

Second, some SuSE 8.1 packages have higher version number than the their SuSE 8.2 counterparts. I sent the feedback to SuSE on Aug 13.

Still with SuSE 8.1 in sources.list file, I do the update, check all available versions, check currently installed versions, then downgrade the four with the same name in SuSE 8.2, and check that they are really downgraded:

root # apt-get update
root # apt-cache show kdebase3 | grep Version
Version: 3.1.3-28       <--
Version: 3.1.3-23       <--
Version: 3.0.4-53
Version: 3.0.4-42
Version: 3.0.3-114
root # apt-cache show kdebase3-extra | grep Version
Version: 3.1.3-28       <--
Version: 3.1.3-23       <--
Version: 3.0.4-42
Version: 3.0.3-114
root # apt-cache show sax2 | grep Version
Version: 4.7-440        <--
Version: 4.7-171
root # apt-cache show saxtools | grep Version
Version: 2.2-987        <--
Version: 2.2-698
root # apt-cache show kdelibs3 | grep Version
Version: 3.1.3-22
Version: 3.1.1-28.pm.0
Version: 3.0.5-12
Version: 3.0.5-5
Version: 3.0.3-94
root # apt-cache show kdebase3-SuSE | grep Version
Version: 8.1-60
Version: 8.1-56
root # rpm -q kdebase3 kdebase3-extra sax2 saxtools kdelibs3 kdebase3-SuSE
kdebase3-3.1.3-28       <--
kdebase3-extra-3.1.3-28 <--
sax2-4.7-440            <--
saxtools-2.2-987        <--
kdelibs3-3.1.3-22
kdebase3-SuSE-8.1-60

root # apt-rpm install kdebase3=3.1.3-23 kdebase3-extra=3.1.3-23 sax2=4.7-171 saxtools=2.2-698
The following packages will be DOWNGRADED
  kdebase3 kdebase3-extra sax2 saxtools
0 packages upgraded, 0 newly installed, 4 downgraded, 0 removed and 4 not upgraded.

root # SuSEconfig
......
Finished.

root # rpm -q kdebase3 kdebase3-extra sax2 saxtools kdelibs3 kdebase3-SuSE
kdebase3-3.1.3-23       x--
kdebase3-extra-3.1.3-23 x--
sax2-4.7-171            x--
saxtools-2.2-698        x--
kdelibs3-3.1.3-22
kdebase3-SuSE-8.1-60
root #

From Why do I get the error msg: Unable to fetch file, server said....? I conclude that I can freely remove or add an rpm to /var/cache/apt/archives, without disturbing the apt cache binary files. Therefore, I remove the four rpms which are with the same name as for SuSE 8.2, but downloaded for SuSE 8.1, and which I just downgraded (kdebase3-3.1.3-28, kdebase3-extra-3.1.3-28, sax2-4.7-440, saxtools-2.2-987) - the apt-rpm should then download correct ones for SuSE 8.2.

Preparation

  1. In the file /etc/apt/sources.list just replace everywhere "8.1" with "8.2", and exclude gnome2 and wine directories (note the comment sign '#' just before gnome2). Here my sources.list file for SuSE 8.2:
    root # cat /etc/apt/sources.list
    # Uncomment if you want to use SuSE's patch rpms.
    # rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/8.2-i386 update-prpm security-prpm
    
    # Uncomment if you want to install/download srpms
    # rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/8.2-i386 update-prpm update kde
    kde3-stable suse-people security-prpm security base xfree86 mozilla extra usr-local-bin
    suser-kpietrz suser-tcousin funktronics packman packman-i686 mantel-kernel #gnome2 wine
    
    # Uncomment if you want to install (probably) highly experimental stuff
    # rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/8.2-i386 suse-people mantel-kernel
    
    # A very basic sources.list line.
    rpm ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt SuSE/8.2-i386 security update
    rpm ftp://ftp.uni-erlangen.de/pub/Linux/MIRROR.suse/apt SuSE/8.2-i386 security updates
    rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/8.2-i386 security update
    
    # The list can be found at: http://linix01.gwdg.de/apt4rpm
    rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/8.2-i386 base kde kde3-stable xfree86
    mozilla extra usr-local-bin suser-kpietrz suser-tcousin funktronics packman packman-i686 #gnome2 wine
    
    root #
    

    Note 1: I had tried with modifying /etc/apt/sources.list file to search only security, base and update directories, but it gave only 6 packages less to update compared to the full search. The reason is that I already did all the upgrades for SuSE 8.1, so I keep all the directories for search.

    Note 2: Be sure that apt does NOT search for patch rpms (commented out).

  2. In the file /etc/apt/apt.conf, I don't want any package to be on hold, so I comment out the current Hold list and make it empty. Here the concerned part of the file:
    root # cat /etc/apt/apt.conf
    .....
    RPM
    {
       // Hold (do not update) a list with pkgs:
       // Hold { "k_deflt"; "sane"; };
       // Leave list empty to disable
       //   Hold {"k_deflt"; };
          Hold { };
          .....
    root #
    
  3. I didn't create the file /etc/apt/preferences (as suggested in the upgrade howto), but will downgrade "manually", i.e., specifying an older version number for the package. You can see the versions available with 'apt-cache show <pkg> | grep Version'.

Solving conflicts in test mode

I first update with SuSE 8.2 packages and try dist-upgrade:

root # apt-get update
root # apt-get -s dist-upgrade
The following packages will be upgraded
  MyODBC-libiodbc MyODBC-unixODBC WindowMaker WindowMaker-applets WindowMaker-themes
XFree86-fonts-100dpi XFree86-fonts-cyrillic XFree86-fonts-scalable XFree86-libs
XFree86-man XFree86-server aaa_skel aalib acl alsa alsa-tools apmd ash atk attr awesfx
bash bc binutils bison bonobo books bootsplash-theme-SuSE build bzip2 calctool canna-libs
cdk cdparanoia cdrdao checkinstall compat convert cpio cpp cracklib crafty ctags db deb
devs dhcpcd diffutils divx4linux docbook_4 dos2unix dosbootdisk dosfstools e2fsprogs ed
eject enscript esound expat f2c fam fbset fhs file filesystem fillup findutils finger
fltk freetype fribidi fvwm2 gail gal gamix gawk gcc gcc-c++ gcc-g77 gcc-info gconf gdb
gdbm gdk-pixbuf ghostscript-fonts-other ghostscript-fonts-std glade2 gle glib glib2 glibc
glibc-devel glibc-locale gmp gnome-audio gnome-common gnome-libs gnome-mime-data gphoto
gpm grep groff gsl gtk gtk2 gtk2-engines gtk2-themes gtkglarea gtop gxmhtml gzip hdparm
hermes hotplug howtoenh htdig html2txt hwinfo i4l-isdnlog icons imlib imwheel inetd
inf2htm initviocons intlfnts iproute2 iptables iputils irda isapnp iso_ent ispell
ispell-american ispell-british itcl jfsutils joe joystick kbd ksymoops lame less
libPropList libavc1394 libcap libdvdread libexif libgcc libghttp libglade libglade2
libgnomecanvas libgphoto2 libgtkhtml libgtop libidl libiodbc libjpeg liblcms libmikmod
libmng libmpeg3 libnetpbm libogg libpcap libpng libraw1394 librep librsvg librsvg2
libstdc++ libstdc++-devel libtiff libtool libungif libunicode libvorbis libwmf libwnck
libxcrypt libxml libzvt2 lilo linux-atm lirc listexec logrotate lsof lua lukemftp lvm m4
mad make man-pages mdadm metacity-themes mhash mktemp mm modutils mtools mysql-bench
mysql-client mysql-devel mysql-shared nautilus-themes ncurses nedit net-tools netcat
netpbm oaf openmotif orbit pam pam-modules pango parted patch pciutils pcmcia-cardinfo
pcre pcsc-lite perl perl-DBI perl-Data-ShowTable perl-Msql-Mysql-modules perl-Tk
perl-gettext permissions pin popt portmap powertweak procmail providers ps raidtools
readline recode reiserfs release-notes rrdtool rsh sash saxtools screen scrollkeeper sdb
sdb_en sed sensors setserial sgi-fonts sgml-skel simutrans sitar slang sodipodi soup sox
src_vipa strace sudo suselinux-adminguide_en suselinux-userguide_en syslogd sysvinit tar
tcl tcm tcpd telnet terminfo texinfo timezone tix tk unclutter unixODBC usbutils usbview
utempter util-linux vacation valgrind w32codec wireless-tools words wvdial xanim xaw3d
xdmbgrd xemacs-info xfine xfntscl2 xfsprogs xlock xpenguins xtermset xvid
yast2-theme-SuSELinux yast2-trans-en_US yp-tools ypbind zip ziptool zsh
The following packages will be REPLACED:
  l2h-pngicons (by latex2html-pngicons)  netscape-plugins (by flash-player)  pspell (by aspell)
The following packages will be REMOVED:
  3ddiag CheckHardware FlightGear MPlayer OpenOffice_org OpenOffice_org-en OpenOffice_org-en-help
  RealPlayer SDL_image SDL_mixer SuSEfirewall2 XFree86 XFree86-GLX aaa_base abiword apache apt
  apt-libs arts at autofs autoyast2-installation avifile avifile-qt bonobo-activation bootsplash
  bug-buddy2 capi4linux cocoon control-center control-center2 cron cups cups-client cups-drivers
  cups-drivers-stp cups-libs curl cyrus-sasl doxygen eel eel2 enigma eog2 evolution fetchmail
  file-roller gconf-editor gconf2 gdm2 gedit2 ghostscript-library ghostscript-x11 gimp glchess
  gnome-applets2 gnome-desktop gnome-media2 gnome-panel gnome-session gnome-terminal gnome-utils2
  gnome-vfs gnome-vfs2 gnome2-SuSE grub gthumb gtkhtml gtkhtml-1.1 guile gv heimdal-lib
  hsflinmodem htmldoc i4l-base i4lfirm ifnteuro jakarta-ant jakarta-tomcat java2 java2-jre k3b
  k_deflt kdbg kde2-compat kdeaddons3-kate kdeaddons3-kicker kdeaddons3-konqueror
  kdeaddons3-sound kdeadmin3 kdeartwork3 kdebase3 kdebase3-SuSE kdebase3-extra kdebase3-kdm
  kdebase3-ksysguardd kdebase3-nsplugin kdegames3 kdegames3-arcade kdegames3-board
  kdegames3-card kdegames3-tactic kdegraphics3 kdegraphics3-extra kdegraphics3-fax
  kdegraphics3-kamera kdegraphics3-postscript kdegraphics3-tex kdelibs3 kdelibs3-cups
  kdemultimedia3-midi kdemultimedia3-sound kdemultimedia3-video kdenetwork3 kdenetwork3-chat
  kdenetwork3-mail kdenetwork3-news kdepim3 kdepim3-organizer kdetoys3 kdeutils3 kdeutils3-laptop
  kdeutils3-printing kinternet kprof krpmbuilder krusader kssh kwatch l2h l2hhtml libbonobo
  libbonoboui libdv libgnome libgnomeprint libgnomeprintui libgnomeui libquicktime linc mailx
  medusa mesa mesaglu mesaglut mesasoft metacity metacity-setup mjpegtools mozilla mutt mysql
  mysqlnavigator nautilus2 nautilus2-gtkhtml nfs-utils openldap2-client openssh openssh-askpass
  openssl orbit2 pcmcia pico pine postfix python qt qt3 qt3-non-mt racer racerdata rpm rpm2html
  rpmfind sax2 scpm sh-utils shadow siga sitecopy smpeg smpppd suse-build-key susehelp
  susehelp_en susetour susetour_en susewm susewm-kcmyast sysconfig taskjuggler tcpdump tcsh
  te_latex tetex textutils vim w3m w3m-inline-image wget wine xbanner xchat xemacs xf86tools
  xfntl2 xmms xntp xscreensaver yast2 yast2-backup yast2-bootloader yast2-control-center
  yast2-core yast2-country yast2-firewall yast2-inetd yast2-installation yast2-ldap-client
  yast2-mail yast2-mouse yast2-ncurses yast2-network yast2-nfs-client yast2-nfs-server
  yast2-nis-client yast2-nis-server yast2-nisplus-client yast2-online-update yast2-packagemanager
  yast2-packager yast2-pam yast2-powertweak yast2-printer yast2-printerdb yast2-profile-manager
  yast2-qt yast2-restore yast2-runlevel yast2-scanner yast2-security yast2-sound yast2-storage
  yast2-support yast2-sysconfig yast2-transfer yast2-tune yast2-tv yast2-update yast2-users
  yast2-x11 yast2-xml yelp
The following NEW packages will be installed:
  Smooth-Engine Smooth-Themes aspell faad2 flac flash-player gnome-icon-theme gnome-themes
  gnome-themes-extras gstreamer info insserv latex2html-pngicons libacl libattr libgtop2
  liblcms-devel libmusicbrainz lzo resmgr startup-notification ttf-bitstream-vera vte
The following packages have been kept back
  DirectFB SDL bind9-utils freeciv liby2util netcfg
WARNING: The following essential packages will be removed
This should NOT be done unless you know exactly what you are doing!
  aaa_base textutils (due to aaa_base) sh-utils (due to aaa_base) apt rpm (due to apt) apt-libs
  (due to apt) suse-build-key (due to rpm) shadow heimdal-lib (due to shadow) openssl (due to
  shadow) openldap2-client (due to shadow) cyrus-sasl (due to shadow)
310 packages upgraded, 23 newly installed, 3 replaced, 253 removed and 6 not upgraded.
root #

253 packages to be removed, including k_deflt (kernel) - but it's test mode! Now, I copy from the console to a text file, on a single line (hold Ctrl key while selecting in the console) all of the packages in the sections: "will be upgraded", "NEW packages will be installed", "will be REMOVED", "packages have been kept back".

I'll run apt-rpm --test install with all of the packages above, from the four sections, but modifed as follows:

  1. for the new kernel, I add (coreutils suse-release) and remove (sh-utils textutils)
  2. I add (cyrus-sasl2 autofs4) and remove (cyrus-sasl autofs)
  3. I add the downgrade of libgimpprint: (libgimpprint=4.2.5-28)
  4. I add (kdelibs3=3.1.3-21 kdegraphics3-kamera=3.1.3-21) - due to the "too good" SuSE 8.1 upgrade
  5. I add (MPlayer-suite) and remove (MPlayer DirectFB)
  6. I remove (racerdata)

You always must do (1)-(3). If you've done the full upgrade of SuSE 8.1 with apt-get, you must do (4). If you have MPlayer installed, you have to do (5). If you have racer installed, you have to do (6).

The magic combination is then:

And the (significant) output of the test install is:

root # apt-rpm --test install <list as specified above>
apt-rpm executing: apt-get -o rpm::options::=--test install <list as specified above>
The following extra packages will be installed:
  MPlayer-skins a52dec gal2-0 gtkhtml3.0 kdelibs3 libgimpprint libsoup
The following packages will be upgraded
  3ddiag CheckHardware ... ziptool zsh
The following packages will be REPLACED:
  aaa_version (by suse-release)  cyrus-sasl (by cyrus-sasl2)  fileutils (by coreutils)
  l2h-pngicons (by latex2html-pngicons) netscape-plugins (by flash-player)  pspell (by
  aspell)  racerdata (by racer)  sh-utils (by coreutils)  textutils (by coreutils)
The following packages will be REMOVED:
  autofs
The following NEW packages will be installed:
  MPlayer-skins MPlayer-suite Smooth-Engine Smooth-Themes a52dec aspell autofs4 coreutils
  cyrus-sasl2 faad2 flac flash-player gal2-0 gnome-icon-theme gnome-themes gnome-themes-extras
  gstreamer gtkhtml3.0 info insserv latex2html-pngicons libacl libattr libgtop2 liblcms-devel
  libmusicbrainz libsoup lzo resmgr startup-notification suse-release ttf-bitstream-vera vte
The following packages will be DOWNGRADED
  kdegraphics3-kamera kdelibs3 libgimpprint
505 packages upgraded, 33 newly installed, 3 downgraded, 9 replaced, 1 removed and 2 not upgraded.
Need to get 20.6MB/712MB of archives.
Do you want to continue? [Y/n] y
Executing RPM (-e)...
Executing RPM (-Uvh)...
file /etc/fonts/fonts.conf from install of xf86tools-0.1-555
 conflicts with file from package fontconfig-2.1-3
file /etc/auto.master from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /etc/auto.misc from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /etc/init.d/autofs from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/lookup_file.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/lookup_ldap.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/lookup_multi.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/lookup_nisplus.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/lookup_program.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/lookup_userhome.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/lookup_yp.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/mount_afs.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/mount_autofs.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/mount_bind.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/mount_changer.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/mount_ext2.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/mount_generic.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/mount_nfs.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/lib/autofs/parse_sun.so from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/sbin/automount from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/share/man/man5/auto.master.5.gz from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/share/man/man5/autofs.5.gz from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/share/man/man8/autofs.8.gz from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /usr/share/man/man8/automount.8.gz from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
file /var/adm/fillup-templates/sysconfig.autofs from install of autofs4-4.0.0pre10-504
 conflicts with file from package autofs-3.1.7-557
E: Sub-process /bin/rpm returned an error code (34)
root #

What a difference ! Only one package will be deleted (autofs), but autofs4 will be installed instead - removing autofs will eliminate all the conflicts between autofs4 and autofs above. In effect, there is only 1 conflict, which makes one has to force the install, and it is exactly the same as when I upgraded XFree86 on SuSE 8.1: file /etc/fonts/fonts.conf from install of xf86tools-0.1-555 conflicts with file from package fontconfig-2.1-3". I looked at that file, and it is written that it will automatically replace any existing /etc/fonts/fonts.config file, while other configurations related to fonts should be defined in local.conf file (a task for the maintainers of fontconfig should be to rename their fonts.config file to something else). So, there should be no problems here.

Before doing it really, I still want to install synaptic (the GUI frontend to apt, that I haven't tried yet), and gnome-games2 and pixieplus-kde (which I had to remove during the upgrade within SuSE 8.1). Note that pixieplus-kde package changed name (pixieplus), and that it requires a downgrade of libwmf. So:

Actual upgrading

I check that it works, and then launch the real install. Below I keep only the significant output of the installation of about 550 packages! It took something more than 1 h on my Dell Inspiron 4150.

root # apt-rpm --force-rpm-install install MyODBC-libiodbc ...
apt-rpm executing: apt-get -o rpm::Install-Options::=--force install MyODBC-libiodbc ...
The following extra packages will be installed:
 ImageMagick MPlayer-skins a52dec gal2-0 gtkhtml3.0 kdelibs3 libgimpprint libjasper libsoup libwmf
The following packages will be upgraded
 3ddiag CheckHardware FlightGear ... zip ziptool zsh
The following packages will be REPLACED:
 aaa_version (by suse-release)  cyrus-sasl (by cyrus-sasl2)  fileutils (by coreutils)
 l2h-pngicons (by latex2html-pngicons) netscape-plugins (by flash-player)  pspell (by aspell)
 racerdata (by racer)  sh-utils (by coreutils)  textutils (by coreutils)
The following packages will be REMOVED:
 autofs
The following NEW packages will be installed:
 ImageMagick MPlayer-skins MPlayer-suite Smooth-Engine Smooth-Themes a52dec aspell autofs4
 coreutils cyrus-sasl2 faad2 flac flash-player gal2-0 gnome-games2 gnome-icon-theme gnome-themes
 gnome-themes-extras gstreamer gtkhtml3.0 info insserv latex2html-pngicons libacl libattr
 libgtop2 libjasper liblcms-devel libmusicbrainz libsoup lzo pixieplus resmgr startup-notification
 suse-release synaptic ttf-bitstream-vera vte
The following packages will be DOWNGRADED
 kdegraphics3-kamera kdelibs3 libgimpprint
505 packages upgraded, 38 newly installed, 3 downgraded, 9 replaced, 1 removed and 2 not upgraded.
Need to get 0B/729MB of archives.
After unpacking 154MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Executing RPM (-e)...
Executing RPM (-Uvh)...

ncurses                     ##################################################
/bin/sh: /lib/i686/libc.so.6: version `GLIBC_2.3' not found (required by /lib/libncurses.so.5)
execution of glibc-devel-2.3.2-6 script failed, exit status 1
glibc                       ##################################################

warning: /usr/share/info/dir created as /usr/share/info/dir.rpmnew
info                        ##################################################

warning: /etc/postfix/main.cf created as /etc/postfix/main.cf.rpmnew
postfix                     ##################################################
Updating etc/sysconfig/postfix...
Updating etc/sysconfig/mail...
Updating postfix configuration files
backing up etc/postfix/main.cf to etc/postfix/main.cf.2003-08-14
backing up etc/postfix/master.cf to etc/postfix/master.cf.2003-08-14
usr/sbin/postconf: error while loading shared libraries: libsasl.so.7: cannot open
 shared object file: No such file or directory
executing etc/postfix/post-install upgrade-package
etc/postfix/post-install: Error: no postconf command found.
Re-run this command as etc/postfix/post-install command_directory=/some/where.
post-install modified etc/postfix/master.cf, updating MD5SUM

warning: /etc/httpd/httpd.conf created as /etc/httpd/httpd.conf.rpmnew
warning: /etc/httpd/suse_addmodule.conf saved as /etc/httpd/suse_addmodule.conf.rpmsave
warning: /etc/httpd/suse_loadmodule.conf saved as /etc/httpd/suse_loadmodule.conf.rpmsave
Please remember to run 'SuSEconfig --module apache' to configure the server

warning: /etc/pam.d/sshd saved as /etc/pam.d/sshd.rpmsave

Saving old logrotate system confguration
`/etc/logrotate.d/aaa_base' -> `/etc/logrotate.d.aaa_base.save'

hsflinmodem                 ##################################################
Linux HSF softmodem drivers, version 5.03.27mbsibeta02122600

Selected PCI VendorID=8086 DeviceID=2486
and INF file /etc/hsf/inf/linux_intel_smartmc.inf

Configuring modem for country: "USA"
You can change this setting later with the command "hsfconfig --country"

This package does not contain pre-built modules suitable for your system:
        Distribution: SuSE-8.2
        Kernel arch: i686
        Kernel version: linux-2.4.19-4GB

Please obtain the appropriate variant of this package for your system
or try the generic RPM or tar version.


warning: /etc/mime.types saved as /etc/mime.types.rpmsave
warning: /etc/modules.conf saved as /etc/modules.conf.rpmsave

rpm                         ##################################################
insserv: Warning, current runlevel(s) of script `rpmconfigcheck' overwrites defaults.

warning: /etc/apt/security.list created as /etc/apt/security.list.rpmnew
warning: /etc/apt/sources.list created as /etc/apt/sources.list.rpmnew

warning: /opt/OpenOffice.org/share/psprint/psprint.conf saved as
/opt/OpenOffice.org/share/psprint/psprint.conf.rpmorig

avifile                     ##unpacking of archive failed on file /usr/include/avifile:
cpio: unlink failed - Directory not empty

warning: /etc/isdn/isdn.conf saved as /etc/isdn/isdn.conf.rpmsave

E: Sub-process /bin/rpm returned an error code (34)
root # 

Remove .rpmsave etc.

root # mv /usr/share/info/dir.rpmnew /usr/share/info/dir

root # diff /etc/httpd/suse_addmodule.conf.rpmsave /etc/httpd/suse_addmodule.conf
< AddModule mod_userdir.c
root # rm /etc/httpd/suse_addmodule.conf.rpmsave

root # diff /etc/httpd/suse_loadmodule.conf.rpmsave /etc/httpd/suse_loadmodule.conf
< LoadModule userdir_module     /usr/lib/apache/mod_userdir.so
root # rm /etc/httpd/suse_loadmodule.conf.rpmsave

root # diff -w /etc/pam.d/sshd.rpmsave /etc/pam.d/sshd
root # rm /etc/pam.d/sshd.rpmsave

root # diff -w /etc/mime.types.rpmsave /etc/mime.types
< text/vnd.rn-realtext rt
< video/vnd.rn-realvideo rv
< image/vnd.rn-realflash rf swf
< application/x-shockwave-flash2-preview rf swf
< application/sdp sdp
< application/x-sdp sdp
< application/vnd.rn-realmedia rm
< image/vnd.rn-realpix rp
root # rm /etc/mime.types.rpmsave

root # diff -w /etc/modules.conf.rpmsave.old /etc/modules.conf
< # W60f.tl2s01TAJU6:82801CA/CAM AC'97 Audio
< alias snd-card-0 snd-intel8x0
---
> alias snd-card-0 snd-intel8x0
root # rm /etc/modules.conf.rpmsave.old

root # <after comparing them with the current ones>
root # rm /etc/apt/security.list.rpmnew

root # ls -al /opt/OpenOffice.org/share/psprint/
total 24
drwxr-xr-x    4 root     root         4096 2003-08-14 19:33 .
drwxr-xr-x   18 root     root         4096 2003-03-29 03:58 ..
drwxr-xr-x    2 root     root         4096 2003-08-14 19:33 driver
drwxr-xr-x    2 root     root         4096 2003-08-14 19:33 fontmetric
-rw-r--r--    1 root     root         4497 2003-03-29 07:00 psprint.conf
lrwxrwxrwx    1 root     root           17 2003-08-11 08:47 psprint.conf.rpmorig -> psprint.conf-west

root # rm /etc/isdn/isdn.conf.rpmsave

Run SuSEconfig

root # SuSEconfig
.............
Executing /sbin/conf.d/SuSEconfig.susewm...
chmod: failed to get attributes of `/etc/opt/kde3/share/services': No such file or directory
.............
root #

Try to re-install packages whose installation failed

root # apt-get update

root # apt-get -s dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
You might want to run `apt-get -f install' to correct these.
The following packages have unmet dependencies:
  avifile: Depends: libxvidcore.so
  avifile-qt: Depends: avifile (= 0.7.38) but 0.7.29-2 is installed
      Depends: libaviplayavcodec-0.7.so.0
      Depends: libaviplayavformat-0.7.so.0
      Depends: libaviplaydha-0.7.so.0
      Depends: libaviplayvidix-0.7.so.0
  glibc-devel: Depends: glibc (= 2.2.5) but 2.3.2-9 is installed
E: Unmet dependencies. Try using -f.

root # apt-rpm install avifile glibc-devel
apt-rpm executing: apt-get install avifile glibc-devel

Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded
  avifile glibc-devel
2 packages upgraded, 0 newly installed, 0 removed and 3 not upgraded.
Need to get 0B/17.5MB of archives.
After unpacking 8369kB of additional disk space will be used.
Executing RPM (-Uvh)...
avifile                     ##unpacking of archive failed on file /usr/include/avifile:
cpio: unlink failed - Directory not empty
glibc-devel                 ##################################################
E: Sub-process /bin/rpm returned an error code (2)

root # apt-rpm --test install postfix
postfix is already the newest version.

root # mv /usr/include/avifile/ /usr/include/avifile_tbk
root # apt-rpm install avifile
The following packages will be upgraded
  avifile
1 packages upgraded, 0 newly installed, 0 removed and 3 not upgraded.
Executing RPM (-Uvh)...
avifile                     ##################################################
removal of /usr/include/avifile/videoencoder.h failed: No such file or directory
removal of /usr/include/avifile/videodecoder.h failed: No such file or directory
removal of /usr/include/avifile/version.h failed: No such file or directory
removal of /usr/include/avifile/utils.h failed: No such file or directory
removal of /usr/include/avifile/subtitle.h failed: No such file or directory
removal of /usr/include/avifile/renderer.h failed: No such file or directory
removal of /usr/include/avifile/playerwidget.h failed: No such file or directory
removal of /usr/include/avifile/infotypes.h failed: No such file or directory
removal of /usr/include/avifile/image.h failed: No such file or directory
removal of /usr/include/avifile/fourcc.h failed: No such file or directory
removal of /usr/include/avifile/formats.h failed: No such file or directory
removal of /usr/include/avifile/except.h failed: No such file or directory
removal of /usr/include/avifile/default.h failed: No such file or directory
removal of /usr/include/avifile/creators.h failed: No such file or directory
removal of /usr/include/avifile/cpuinfo.h failed: No such file or directory
removal of /usr/include/avifile/configfile.h failed: No such file or directory
removal of /usr/include/avifile/avm_stl.h failed: No such file or directory
removal of /usr/include/avifile/avm_locker.h failed: No such file or directory
removal of /usr/include/avifile/avm_fourcc.h failed: No such file or directory
removal of /usr/include/avifile/avm_default.h failed: No such file or directory
removal of /usr/include/avifile/avm_args.h failed: No such file or directory
removal of /usr/include/avifile/aviplay.h failed: No such file or directory
removal of /usr/include/avifile/avifile.h failed: No such file or directory
removal of /usr/include/avifile/audioencoder.h failed: No such file or directory
removal of /usr/include/avifile/audiodecoder.h failed: No such file or directory
removal of /usr/include/avifile/VideoDPMS.h failed: No such file or directory
removal of /usr/include/avifile/StreamInfo.h failed: No such file or directory
removal of /usr/include/avifile/Locker.h failed: No such file or directory
root #

root # apt-get -s dist-upgrade
The following packages will be upgraded
 DirectFB libwmf
The following packages will be REPLACED:
 gnome2-SuSE (by ulb-gnome)  l2h (by latex2html)  l2hhtml (by latex2html)
The following packages will be REMOVED:
 ImageMagick MPlayer MPlayer-skins MPlayer-suite pixieplus
The following NEW packages will be installed:
 latex2html libsmbclient nautilus-media net-rhythmbox themus ulb-gnome
2 packages upgraded, 6 newly installed, 3 replaced, 5 removed and 0 not upgraded.

There are no more conflicting packages, and no other packages to upgrade (remember: DirectFB and libwmf had conflicts with MPlayer, so I kept DirectFB at the existing, older version, and downgraded libwmf intentionally).

root # SuSEconfig
root # mk_initrd

Then reboot...

After the upgrade: SuSE 8.2

I can't believe, but it worked! I'm going back to the things that I haven't fixed yet.

(1 - ok)

ncurses                     ##################################################
/bin/sh: /lib/i686/libc.so.6: version `GLIBC_2.3' not found (required by /lib/libncurses.so.5)
execution of glibc-devel-2.3.2-6 script failed, exit status 1

glibc                       ##################################################

I inspect what glibc libraries I have, and where they are:

root # ldconfig -V
ldconfig (GNU libc) 2.3.2
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Andreas Jaeger.

root # rpm -q glibc glibc-devel glibc-locale
glibc-2.3.2-9
glibc-devel-2.3.2-6
glibc-locale-2.3.2-6

root # ls /lib/i686/libc.so.6
ls: /lib/i686/libc.so.6: No such file or directory

root # ls /lib/libc.so.6
/lib/libc.so.6

This tells me that libc.so.6 is in /lib and not in /lib/i686, and that I definitely have 2.3 version. So I guess the above problem was due to the fact that while running the upgrade, I was running it still with SuSE 8.1 (with glibc-2.2, and without glibc-2.3 that were supposed to be in /lib/i686 in SuSE 8.1). I guess that the installation of glibc-devel failed for the same reason, but I successfully installed it still before the reboot. I conclude that glibc should have been installed first, then ncurses and glibc-devel - this may be a bug in apt-rpm, or in packaging info - I have no idea. In any case, I conclude that this is ok now.

(2 - ok)

warning: /etc/postfix/main.cf created as /etc/postfix/main.cf.rpmnew
postfix                     ##################################################
Updating etc/sysconfig/postfix...
Updating etc/sysconfig/mail...
Updating postfix configuration files
backing up etc/postfix/main.cf to etc/postfix/main.cf.2003-08-14
backing up etc/postfix/master.cf to etc/postfix/master.cf.2003-08-14

I didn't dare remove main.cf.rpmnew file before the reboot because the difference between the two was too big, and in addition, it seemed there were errors in running some script. However, SuSEconfig ran this module as well, and I've cheked (after the reboot) that my email works. So, I guess I can now remove the backuped files:

root # ls -al /etc/postfix/main* /etc/postfix/master.cf*
-rw-r--r--    1 root     root        22408 2003-08-14 23:32 /etc/postfix/main.cf
-rw-r--r--    1 root     root        22230 2003-08-14 19:21 /etc/postfix/main.cf.2003-08-14
-rw-r--r--    1 root     root        10428 2003-03-28 07:49 /etc/postfix/main.cf.default
-rw-r--r--    1 root     root        25633 2003-03-28 07:49 /etc/postfix/main.cf.rpmnew
-rw-r--r--    1 root     root         5535 2003-03-28 07:49 /etc/postfix/master.cf
-rw-r--r--    1 root     root         5535 2003-08-14 19:21 /etc/postfix/master.cf.2003-08-14

root # rm /etc/postfix/main.cf.2003-08-14 /etc/postfix/master.cf.2003-08-14 /etc/postfix/main.cf.rpmnew

(3 - ok)

warning: /etc/httpd/httpd.conf created as /etc/httpd/httpd.conf.rpmnew
warning: /etc/httpd/suse_addmodule.conf saved as /etc/httpd/suse_addmodule.conf.rpmsave
warning: /etc/httpd/suse_loadmodule.conf saved as /etc/httpd/suse_loadmodule.conf.rpmsave
Please remember to run 'SuSEconfig --module apache' to configure the server

Again, I didn't dare remove httpd.conf.rpmnew file because the difference was too big. However, SuSEconfig ran this module as well, so all I need to do now is to remove .rpmnew file:

root # rm /etc/httpd/httpd.conf.rpmnew

(4 - ok)

Saving old logrotate system confguration
`/etc/logrotate.d/aaa_base' -> `/etc/logrotate.d.aaa_base.save'

Here, before the reboot, I didn't dare remove /etc/logrotate.d.aaa_base.save simply because there was no (and there is still no) file called /etc/logrotate.d/aaa_base. There is a file /etc/logrotate.conf, which is very much different from .save file. Since I already ran SuSEconfig, I guess it's safe to remove the .save file:

root # rm /etc/logrotate.d.aaa_base.save

(5 - ok)

hsflinmodem                 ##################################################
Linux HSF softmodem drivers, version 5.03.27mbsibeta02122600

Selected PCI VendorID=8086 DeviceID=2486
and INF file /etc/hsf/inf/linux_intel_smartmc.inf

Configuring modem for country: "USA"
You can change this setting later with the command "hsfconfig --country"

This package does not contain pre-built modules suitable for your system:
        Distribution: SuSE-8.2
        Kernel arch: i686
        Kernel version: linux-2.4.19-4GB

Please obtain the appropriate variant of this package for your system
or try the generic RPM or tar version.

I guess the problem was that the driver was installed before actually upgrading the kernel. I first ran the script to set the country:

root # hsfconfig -c auto
Linux HSF softmodem drivers, version 5.03.27mbsibeta02122600

Automatically guessed country (using timezone): "SWITZERLAND"
linux:/home/tanja #

and then tried to launch it with KInternet (icon in the taskbar), but pppd exited with error code (2). Then I simply tried to run its configuration script, and let it determine automatically my settings (I print out only the significant output):

root # hsfconfig
Linux HSF softmodem drivers, version 5.03.27mbsibeta02122600

Should we attempt to automatically configure your hardware? [yes] y

Selected PCI VendorID=8086 DeviceID=2486
and INF file /etc/hsf/inf/linux_intel_smartmc.inf

Supported countries:

ARGENTINA, ..., VIETNAM

Please enter your country name [SWITZERLAND]:

Configuring modem for country: "SWITZERLAND"
You can change this setting later with the command "hsfconfig --country"
WARNING: renamed existing /dev/modem to /dev/modem.old:

lrwxrwxrwx    1 root     root           13 2003-08-10 16:37 /dev/modem.old -> /dev/ttySHSF0

Your HSF modem should now be accessible as /dev/ttySHSF0

And it works :-)

(6 - ok)

rpm                         ##################################################
insserv: Warning, current runlevel(s) of script `rpmconfigcheck' overwrites defaults.

Here, I guess, there is nothing to do - there is no .rpmsave file.

Adjusting XFree86 4.3

Note 1: It might be that some parts of this section apply also to SuSE 8.1 after upgrade to KDE 3.1 and XFree86 4.3, although I haven't tried it. What follows is for SuSE 8.2.

Note 2: Mozilla and eclipse crashed after I added all WinXP TrueType fonts from Control Center -> System Administration -> Font Installer (during the install, there were 8-9 fonts that couldn't be correctly installed). When I removed them all, mozilla worked nice again. Mozilla also crashed after I edited /etc/fonts/fonts.conf file manually and after I installed (with rpm) a font package. Removing win TrueType fonts with Font Installer and re-installing them the same way makes mozilla happy. I have no idea what hack/script does the SuSE Font Installer run (it is sure that it edits /etc/fonts/fonts.conf file and removes anything you might have added), but in my experience, this was the only way to have mozilla work at all.

Fonts

Konqueror and some other KDE applications had huge menu fonts, and some other too small fonts. I simply deleted my (normal) user KDE configuration directory (rm -r /home/tanja/.kde), while being root, and when I logged in the next time, the KDE created the default settings from scratch. Note that with this all the configuration of the desktop, Konqueror, KMail, etc. is deleted, so you have to configure everything again.

It is really worth reading this - it helped me understand a bit more about the "core X font server" and "xft/freetype" stuff. I read through quite a number of other pages (e.g., here), and the summary of important things is:

To be sure that no font directory is missing, I edit the X server configuration file. The paths that figure in it are too many compared to what I really have in my /usr/X11R6/lib/X11/fonts/ directory. There is also one font directory missing (with vera fonts), which is, I guess, the SuSE touch. Below is the relevant, font section:

root # cat /etc/X11/XF86Config
....
Section "Files"
  FontPath     "/usr/share/fonts"
  FontPath     "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath     "/usr/X11R6/lib/X11/fonts/CID"
  FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath     "/usr/X11R6/lib/X11/fonts/local"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/uni:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/URW"
  ....

After saving the file, I run SusEconfig:

root # SuSEconfig

and restart the X server (log out, then log in).

Truetype fonts

From Control Center -> System Administration -> Font Installer, clicking on Administrator mode, I chose Advanced Mode (with embedded font selector) and browsed to my windows directory with fonts in the left pane (/win/c/WINDOWS/Fonts), then selected some of them. In the right pane, I selected /truetype directory, and then pressed "Add", then Apply.

sax2 - monitor and 3d

Even with the above modifs, after using Control Center to choose the fonts for KDE Desktop and applications, some again looked odd. I was again searching the solution on the web. One of the hints was to manually set the dimension of the monitor, from which the resolution will be calculated. This is done with sax2, in the Monitor section (although you can manually edit /etc/X11/XF86Config file).

Note: With sax2 of initial SuSE 8.1 (XFree86 < 4.3), my graphic card was recognised as ATI: Radeon LW, and only by choosing the LCD monitor 1400x1050@75Hz, everything was simply perfect. However, when I launched for the first time sax2 with XFree86 4.3, the very same choice of options gave very bad resolution - I simply HAD TO set the dimensions.

In sax2 Monitor section, after choosing "LCD" and "1400x1050@75Hz", in the tab "Expert", the default dimensions are 320x240 mm, which if saved, gives the resolution of 111 dpi - this makes the display 1400x1050 look like 800x600! It took me quite some time to find the good dimensions to set: 474x355 mm. This will give 75 dpi, which results in the desired 1400x1050 resolution. You can check what the settings are as follows:

tanja> xdpyinfo | grep resolution
  resolution:    75x75 dots per inch
tanja> xdpyinfo | grep dimension
  dimensions:    1400x1050 pixels (474x355 millimeters)

If you see anything else (with Dell Inspiron 4150) in the output above, you should launch sax2 and explicitly define the dimensions of the monitor (LCD display). I found it strange that sax2 with SuSE 8.1 (and old XFree86) could recognise and set everything with no problem at all, but that sax2 with XFree86 4.3 can't do that. I read on the web that there are problems with radeon driver for XFree86 4.3 - let's hope the problems will be solved soon, and in the meantime, we have to help sax2 (Note that the native XFree86 configuration tool, available in Control Center, does not provide an option for the LCD with the resolution 1400x1050 at all, but sax2 does).

The graphic card driver is "radeon LW" - this was correctly recognised. Insure also that the 3d support is enabled. Resolution and colors section is set correctly by default: 1400x1050 and 16 bit (although the graphic card is capable of 24 bit, some applications will look ugly with this choice, and it is also likely that 3d support will not work correctly).

Finally, I used the 3d diagnosis program "3Ddiag" because there was something wrong with the 3d support. And the program gave me the hint on how to set appropriately the variable in /etc/sysconfig/3ddiag. I guess it can be done from Yast, but I directly edited the file and then ran SuSEconfig:

root # cat /etc/sysconfig/3ddiag
....
# You can find out which script you have to use for your graphic board with
# the program "3Ddiag".
#

#SCRIPT_3D="switch2mesasoft"
SCRIPT_3D="switch2xf86_glx"

root # SuSEconfig

Note: Remember that all these settings intervene after the upgrade from SuSE 8.1 -> 8.2, with apt-get, on the live system, i.e., "over" the old configuration files. Although I never tried it, I believe that SuSE 8.2 clean install will work perfectly with Dell Inspiron 4150 (as was the case with my clean install of SuSE 8.1).

Modules in /etc/X11/XF86Config

To be sure to have a "clean" X server configuration, I checked what fonts and modules I currently have, as suggested here:

tanja> ls -al /usr/X11/lib/modules/fonts/
total 552
drwxr-xr-x    2 root     root         4096 2003-08-14 19:30 .
drwxr-xr-x    9 root     root         4096 2003-08-14 19:30 ..
-r--r--r--    1 root     root        83664 2003-06-25 18:48 libbitmap.a
-r--r--r--    1 root     root        33183 2003-06-25 18:48 libfreetype.so
-r--r--r--    1 root     root        72812 2003-06-25 18:48 libspeedo.a
-r--r--r--    1 root     root       210964 2003-06-25 18:48 libtype1.a
-r--r--r--    1 root     root       127592 2003-06-25 18:48 libxtt.a
tanja> ls -al /usr/X11/lib/modules/extensions/
total 2944
drwxr-xr-x    2 root     root         4096 2003-08-23 02:35 .
drwxr-xr-x    9 root     root         4096 2003-08-14 19:30 ..
lrwxrwxrwx    1 root     root           20 2003-08-23 02:35 libGLcore.a -> libGLcore.a.xf86_glx
-r--r--r--    1 root     root      2241156 2003-03-28 02:57 libGLcore.a.xf86_glx
-r--r--r--    1 root     root        16684 2003-06-25 18:49 libdbe.a
-r--r--r--    1 root     root        31612 2003-06-25 18:49 libdri.a
-r--r--r--    1 root     root       168026 2003-06-25 18:49 libextmod.a
lrwxrwxrwx    1 root     root           17 2003-08-23 02:35 libglx.a -> libglx.a.xf86_glx
-r--r--r--    1 root     root       452290 2003-03-28 02:57 libglx.a.xf86_glx
-r--r--r--    1 root     root        26140 2003-06-25 18:49 librecord.a
-r--r--r--    1 root     root        39722 2003-06-25 18:49 libxtrap.a

and compare to the section Module from my current /etc/X11/XF86Config:

tanja> cat /etc/X11/XF86Config
....
Section "Module"
  Load         "v4l"
  Load         "extmod"
  Load         "freetype"
  Load         "type1"
  Load         "glx"
  Load         "dri"
  Load         "dbe"
  Load         "speedo"
EndSection
....

and check whether all of them have been loaded for the current session. Here the example for bitmap:

tanja> cat /var/log/XFree86.0.log | grep bitmap
(II) LoadModule: "bitmap"
(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Module bitmap: vendor="The XFree86 Project"
tanja>

Doing the same for (freetype speedo type1 xtt GLcore dbe dri extmod glx record xtrap) shows that the only which are not loaded are xtt (TrueType fonts are dealt with by freetype), record and xtrap.

XFree86 4.3.0 release notes say that bitmap module is the only one loaded by default, so it need not figure in the Module section. It is suggested to load all of the extension modules. The two not loaded (and not specified in my Module section above) are record and xtrap. Man page of xtrap says that there should be migration from xtrap to record, and all the examples of Module section give "record" entry in the list, so I add to the list only "record".

Problems

aviplay

It didn't work at all, so I simply removed it with its dependencies (apt-rpm --test remove avifile avifile-qt mjpegtools), with the hope to have MPlayer work (with some search on the web, people usually recommend MPlayer over other players).

MPlayer

When I launched it from the SuSE menu or from the terminal, it worked. However, when I tried to open an .avi file, there was some sound for about 1s and then it crashes with the error windows: "Player crashed by bad usage of CPU/FPU/RAM. Recompile ...", and after that, "MPlayer code _or_ in your drivers _or_in your gcc version. If you think ..."

I hadn't upgraded DirectFB with my SuSE 8.2 upgrade because it had conflicts exactly with MPlayer. So I tried to upgrade it now, and found out that it needs to remove MPlayer (and 2 more: MPlayer-skins MPlayer-suite). So I accepted this, and once when I had the latest DirectFB, I re-installed MPlayer-suite.

root # apt-rpm install DirectFB MPlayer- MPlayer-skins- MPlayer-suite-

Trying to install MPlayer-suite back gives the following:

root # apt-rpm --test install MPlayer MPlayer-skins MPlayer-suite
The following packages have unmet dependencies:
 MPlayer: Depends: libdvdcss2 but it is not installable
E: Broken packages

The search for libdvdcss2 brought me to http://packman.links2linux.org/?action=122, where I followed the instructions:

I then installed it with rpm, and then rerun the install with apt-rpm:

root # rpm -Uhv libdvdcss2-1.2.8-0.pm.1.i686.rpm
root # apt-rpm install MPlayer MPlayer-skins MPlayer-suite
root # SuSEconfig

MPlayer now works, but there is an error window: "New_Face failed. Maybe the font path is wrong. Please supply the text font file (~/.mplayer/subfont.ttf). Aside this, it works ok.

Applications etc.

Java (Sun, 1.4.2)

If installing an rpm, it will be installed in /usr/java/j2sdk1.4.<version>. I had a case of two versions installed (with rpm -iv), existing in separate directories, but apt-get was complaining about having the same versions. Since SuSE has its own "concept of java", I decide to follow it, and download Linux self-extracting file (SDK): j2sdk-1_4_2-linux-i586.bin. I will install it in the same directory where SuSE keeps java, /usr/lib.

  1. Below is the sequence of commands to install java 1.4.2:
    tanja> chmod +x j2sdk-1_4_2-linux-i586.bin
    tanja> pwd
    /home/tanja/Documents/installSources/java1.4.2
    tanja> cd /usr/lib
    tanja> su
    root # ls j2sdk*
    ls: /usr/lib/j2sdk*: No such file or directory
    root # /home/tanja/Documents/installSources/java1.4.2/j2sdk-1_4_2-linux-i586.bin
    root # ls j2sdk*
    .   .systemPrefs  LICENSE  README.html                  bin   include  lib  src.zip
    ..  COPYRIGHT     README   THIRDPARTYLICENSEREADME.txt  demo  jre      man
    root #
    

    Note that this installation script with overwrite the directory /usr/lib/j2sdk1.4.2 if it exists - therefore, insure that there is no such a directory, or at least that you really want to overwrite it. After accepting the licence agreement, the installation continues.

    root # rpm -iv j2sdk-1_4_1_02-fcs-linux-i586.rpm
    

    and it is in /usr/java/j2sdk1.4.2.

  2. The second thing to do is to create the java configuration files to make SuSE happy (and insure the applciations using java will run correctly). Basically, you have to provide 1 (for jre only) or two (for sdk, which contains jre also) configuration files per java version (both release and vendor), and put them in /etc/java directory. Then you have to run a SuSE script to let SuSE configure everything the way it likes, and so that all works for you. It took me some time to realise that the names of these configuration files are of no importance at all... So, here my configuration files for Sun sdk 1.4.2, created based on existing SuSE files for java 1.3.1:
    root # cat /etc/java/j2sdk1.4.2-jre.conf
    Priority: 20
    
    Vendor  :  Sun
    Version :  1.4.2
    Devel   :  False
    
    JAVA_BINDIR = /usr/lib/j2sdk1.4.2/jre/bin
    JAVA_ROOT   = /usr/lib/j2sdk1.4.2
    JAVA_HOME   = /usr/lib/j2sdk1.4.2/jre
    JRE_HOME    = /usr/lib/j2sdk1.4.2/jre
    JDK_HOME    =
    SDK_HOME    =
    
    JAVA_LINK   = /usr/lib/j2sdk1.4.2
    
    root # cat /etc/java/j2sdk1.4.2.conf
    Priority: 10
    
    Vendor  :  Sun
    Version :  1.4.2
    Devel   :  True
    
    JAVA_BINDIR = /usr/lib/j2sdk1.4.2/bin
    JAVA_ROOT   = /usr/lib/j2sdk1.4.2
    JAVA_HOME   = /usr/lib/j2sdk1.4.2
    JRE_HOME    = /usr/lib/j2sdk1.4.2/jre
    JDK_HOME    = /usr/lib/j2sdk1.4.2
    SDK_HOME    = /usr/lib/j2sdk1.4.2
    
    JAVA_LINK   = /usr/lib/j2sdk1.4.2
    
  3. After creating these two files, run the SuSE provided script to set the default virtual machine, and SuSEconfig:
    root # setDefaultJava --vendor Sun --version 1.4.2
    Link removed: /usr/lib/java -> SunJava2-1.3
    Link created: /usr/lib/java -> /usr/lib/j2sdk1.4.2
    root # exit
    
  4. To check that this worked, close the existing shell and open a new one, and find the version invoked:
    tanja> java -version
    java version "1.4.2"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
    Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
    

    Note that I checked it as a regular user; it doesn't work for root - no idea why...

Java plug-in (Sun, 1.4.2)

If you read mozilla web-page or Sun java web-page, it is trivial to install the plug-in for it to work with mozilla. However, my experience was different. I have no idea whether it is because of the order of installation/upgrade of java and mozilla (first mozilla upgrades, from v1.0.1 to v1.2.1 to v.1.4.7; then java 1.4.1 install), or because of SuSEconfig, or I don't know which other hack. Anyway, here I show what should work in theory (but didn't work for me), and then how I made it work. (or better said: how it happened to work).

In theory

You should search for all the possible places where a link to the plugin exist:

tanja> find / -name libjavaplugin_oji.so
/opt/mozilla/lib/plugins/libjavaplugin_oji.so
/usr/lib/SunJava2-1.3.1/jre/plugin/i386/ns600/libjavaplugin_oji.so
/usr/lib/j2sdk1.4.2/jre/plugin/i386/ns610/libjavaplugin_oji.so
/usr/lib/j2sdk1.4.2/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so

With SuSE, the plugin link is in /opt/mozilla/lib/plugins. Other probable places are /opt/netscape/plugins and ~/.mozilla/plugins. Basically, you should remove any existing link, i.e., any link that doesn't appear in the java installation directories, and recreate the new link to the plugin comming with java 1.4.2:

root # cd /opt/mozilla/lib/plugins
root # rm libjavaplugin_oji.so
root # ln -s /usr/lib/j2sdk1.4.2/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so .

Don't forget the period '.' at the end of the line. And that should be all.

In praxis

I followed exactly the above instructions, but mozilla (1.4.7) couldn't see the plug-in.

I tried to remove mozilla (and suggested here) and re-install it to solve the font problems: this didn't solve the font problems at all, but it did (to my surprise) solve the java plug-in problem! Namely, I removed mozilla (and its dependency, evolution) with apt-rpm:

root # apt-rpm remove mozilla evolution
The following packages will be REMOVED:
  evolution mozilla
0 packages upgraded, 0 newly installed, 2 removed and 5 not upgraded.
Do you want to continue? [Y/n] y
Executing RPM (-e)...
root # SuSEconfig

I also removed .mozilla and evolution directories in both user (/home/tanja) and root (/home/root) directories and then re-installed evolution and mozilla:

root # apt-rpm install mozilla evolution
The following NEW packages will be installed:
  evolution mozilla
0 packages upgraded, 2 newly installed, 0 removed and 5 not upgraded.
Executing RPM (-Uvh)...
mozilla                     ##################################################
evolution                   ##################################################
root #

And magically, mozilla was showing the java plugin!

In conclusion

The normal easy way could work for you, but it didn't work for me, probably because of too many incremental upgrades of mozilla. It might be enough, after having installed java 1.4.2, to simply remove your .mozilla directory and to force mozilla to search for netscape profiles and plug-ins. If this is not enough, then simply uninstall mozilla and reinstall it.

Synaptic

Synaptic is in the SuSE KDE-menu under Applications. I've tried it, and I found it very handy to see what applications exist, which I have not installed on my machine. Otherwise, I've become so adicted to the console-mode apt-get/apt-rpm/apt-cache, that I don't think I'll use synaptic very much (sorry synaptic-guys :-).

Opera

The latest Linux version, 7.11, depends on libXm.so.2 library, while the latest openmotif package that comes with SuSE 8.2, provides libXm.so.3. I found on the web that SuSE used to distribute lesstif package, which provides the same libraries as openmotif. Some people suggested to force the install of opera 7.11 (including opera support web-page), so I did it first with --nodeps option. Don't ask me why, but even the package with statically linked (i.e., not shared) libraries, required --nodeps option:

root # rpm --install --nodeps opera-7.11-20030515.4-shared-qt.i386.rpm
root # SuSEconfig

And it worked. However, apt-get was reporting broken dependency for opera, so I decided to search for libXm.so.2. In SuSE 8.1 ftp directory, there is quite an old version of lesstif (providing libXm.so.2), so I downloaded the latest lesstif package, lesstif-0.93.49-1.i386.rpm, from sourceforge.net, and installed it:

root # rpm -Uhv lesstif-0.93.49-1.i386.rpm

Then I updated opera:

root # rpm -Uhv opera-7.11-20030515.4-shared-qt.i386.rpm
root # SuSEconfig
root # rpm -q opera
opera-7.11-20030515.4
root #

Note: I did the above procedure with the rpm downloaded from opera web-site, not knowing that I could have done with apt-rpm, which provides both opera and lesstif packages. The description may be useful for those who don't use apt-get.

Opera need no java plug-in - it relies on the installed virtual machine. However, Java is not enabled by default. To enable it, go to File -> Preferences -> Multimedia, check "Enable java", and if the path below the checked option is empty, browse to /usr/lib/java/jre/lib/i386 - this will set the current virtual machine path. Press the button "Validate Java path", and it should tell that the path seems to be ok. To try whether it works, exit opera and restart it, then check the Sun's clock applet page - there should be a simple clock.

Eclipse

I downloaded Eclipse SDK for Linux (x86/GTK 2) and Example Plug-ins, and unzipped them into /opt. Then I created my workspace directory:

tanja> mkdir /home/tanja/eclipseWs

If you name that directory "workspace", or even if you don't name it all, eclipse will create it at the first launch under your user home. If you want to have named differently (as above: eclipseWs), you have to provide an additional argument when laundhing eclipse:

tanja> /opt/eclipse/eclipse -data /home/tanja/eclipseWs

You can also have several versions of eclipse installed, each within a different directory, but you should then also provide different workspace directories.

For my convenience, I create a desktop icon:

And that's it.