Bug#261854: xlibs: some softlinks not made correctly, installer fails to upgrade
Package: xlibs
Version: 4.1.0-16
Severity: important
-- System Information
Debian Release: 3.0
Architecture: i386
Kernel: Linux link 2.4.20-mm #1 Tue Feb 24 17:47:00 EST 2004 i586
Locale: LANG=C, LC_CTYPE=C
Versions of packages xlibs depends on:
ii libc6 2.2.5-11.2 GNU C Library: Shared libraries an
ii libfreetype6 2.0.9-1 FreeType 2 font engine, shared lib
ii xfree86-common 4.1.0-16 X Window System (XFree86) infrastr
ii xlibs 4.1.0-16 X Window System client libraries
Hi,
Two things. One, xlibs did not install files correctly. Two, all X packages
now require a new directory structure (which I hate). Anyway the installer
does nothing to provide this new directory structure. I made a script which
does this which has done this for me on several machines.
Just did a "dist-upgrade" to sarge
for libs I had xlib's /usr/lib/libXft.so and a couple others in /usr/lib
These are xlibs, not usr libs, they shouldn't even have links into /usr/lib
After remaking the links the installer goofed, it worked. Somehow the
installer doesn't take into account the present / previous state when making
its links.
I found the ONLY reason libXft need to be in /usr/lib is due to gtk. While
all else of gnome correctly uses X11R6/lib, gtk uses /usr/lib, oddly. Fix
that and you fix allot of confusion. The ./configure for gtk is just flat
wrong. And using ./configure --prefix=PATH won't help - becuase it is really
wrong - a goof up.
Thanks,
John D. Hendrickson
jdh@hend.net
johndhendrickson22124@yahoo.com
--------------------------------------------------
#!/bin/sh
# run this script before installing any of the new X packages requiring the
# new directory structure
# (if run afterward it merges files into new home in /etc/X11
# while user's files likely prevail, that just depends)
cd /etc/X11
x="/usr/X11R6/lib/X11"
xb="/usr/X11/lib/X11"
xx="/etc/X11"
cd $xx/
mkdir -p $x
mkdir -p $xx
# pivot into new place - carefully so nothing gets clobbered or missed
for z in mwm fvwm fvwm95 xkb app-defaults fs lbxproxy proxymngr rstart twm xdm xinit xkb xserver xsm ; do
echo -ne "$z in /etc/X11 ?"
if [ -L "$z" ] ; then
echo "pivoted"
rm "$xx/$z"
mv "$x/$z/" "$xx/"
ln -s "$xx/$z" "$x"
fi
if [ ! -L "$x/$z" ] ; then
echo " and copied"
if cp -ar "$x/$z/" "$xx/$z/" ; then
rm -r "$x/$z/"
ln -s "$xx/$z" "$x"
fi
fi
if [ -L "$x/$z" ] ; then
rm "$x/$z"
ln -s "$xx/$z" "$x"
fi
echo ""
done
# fix out of date soft links
cd $xx/
for z in /etc/X11/* ; do
if [ -L "$z" ] ; then
X="$(dirname "$(find $z -type l -printf "%l")")"
echo -ne "$z on to old X11 ? ..."
if [ c"$X" == c"$xb" ] ; then
echo "rewrite ln"
rm "$z"
ln -s "$x/$(basename $z)" .
fi
echo ""
fi
done
Reply to: