Current-Users archive

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

postinstall removed yet another "obsolete" system library that was still used....

So I just upgraded a system from an old 8.99 -current to a newer 9.99
current and "postinstall fix obsolete" removed my /usr/lib/*

However this library was still in use by installed packages (due, I
think, to a dependency of libgd on libgomp, thus every gd-using package
is now G.D. broke)!

I propose that the rule documented in src/distrib/lists/base/shl.mi be
far more strictly observed, even for libraries that appear and disappear
between releases (i.e. for -current), at least for the ".major" link and
the file it points to.  If they were never there in a release, never
mentioning them as obsolete in releases should be just fine (i.e. they
were never there, so never mentioning them is the correct thing to do).

On the other hand we could first fix postinstall to be more careful by
getting it to fetch all the "REQUIRED" values from package BUILD_INFO
like this:

	pkg_info -a -Q REQUIRES  | sort -u

and then have it noisily refuse to remove any obsolete file still in
this "required" list.  This would allow us to mention all old/upgraded
shared libraries as obsolete, including those from between releases.  Of
course this only protects things installed via pkgsrc, and there's still
the risk of subsequently needing to install a binary package built for
an older release which needs one of these "obsolete" files, but at least
pkg_add can (be made to if it doesn't already) notice this and abort.

					Greg A. Woods <>

Kelowna, BC     +1 250 762-7675           RoboHack <>
Planix, Inc. <>     Avoncote Farms <>

Attachment: pgpNxapj94qNC.pgp
Description: OpenPGP Digital Signature

Home | Main Index | Thread Index | Old Index