Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Feb 2003 11:01:12 -0800
From:      Joe Kelsey <joek@mail.flyingcroc.net>
To:        FreeBSD GNOME <freebsd-gnome@freebsd.org>, freebsd-stable <freebsd-stable@freebsd.org>, freebsd-ports <freebsd-ports@freebsd.org>
Subject:   WARNING: portupgrade considered harmful
Message-ID:  <3E5FB1F8.4050405@mail.flyingcroc.net>

next in thread | raw e-mail | index | archive | help
Some time ago, the maintainers of the pkgtools slipped a new ability 
into portupgrade: the ability to silently move "obsolete" shared 
libraries into /usr/local/lib/compat/pkg.  This so-called "feature" has 
caused me no end of trouble in the last few days.

The problem is that the "feature" interacts very badly with the 
fundamental purpose of portupgrade, which is to detect out-of-date 
packages and aid in automatically upgrading them.  Unfortunately, the 
presence of all of the obsolete libraries accumulating in the compat/pkg 
directory only serves to prevent protupgrade from fulfilling its mission 
because ld will silently use old, obsolete libraries instead of the new 
libraries!

I have carefully followed recommendations for upgrading various 
components on my system, only to discover that the upgrade process has 
been foiled by this "feature".  For instalce, Xft used to be available 
in two versions, Xft and Xft2.  Joe Marcus Clarke was careful to warn 
everyone when Xft2 replaced Xft to do "portupgrade -fr Xft" to force 
reinstallation of Xft, replacing the now obsolete Xft2 with a newversion 
of the Xft library and forcing all applications to relink.

Well, due to the fact that portupgrade silently placed Xft2 in the 
compat/pkg directory, this did not happen!  I was left with references 
to the obsoloet Xft2 *along side* the correct reference to Xft in 
binaries!  The only way to rid myself of this was to delete the 
compat/pkg directory and them start all over with the entire portupgrade 
sequence.

Now, I am left with having to do the whole thing all over due to bad 
references to libintl.so.2 instead of libintl.so.4.

The portupgrade maintainers have perpetrated a disaster in the making on 
a lot of unsuspecting people.  I recommend that everyone edit their 
/usr/local/etc/pkgtools.conf files and add -u to the default portupgrade 
switches to prevent this from happening.  You may also need to audit all 
of your binaries for stale library references.

This could be a cause of the problems that many seem to have with the 
Xft-enabled Mozilla.

/Joe


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E5FB1F8.4050405>