[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: