Subject: Re: pkgsrc sickness
To: Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 08/21/2002 18:33:02
On Thu, 22 Aug 2002, Hubert Feyrer wrote:

> On Wed, 21 Aug 2002, Frederick Bruckman wrote:
> > I see. What I've started doing, with the pkg_hack, is synthesizing a
> > package containing the old shared libraries, and fixing up the
> > dependencies and the by-file database. Thus, all the old stuff can be
> > easily managed until all the dependents are rebuilt.
>
> so pkg_hack strips down an installed pkg to just the shared lib?
> How do you handle installation of a new version then, assuming the "old"
> shared lib should remain on the system?

There's a "purge" step, just before installation, that looks at the
new PLIST. Only files that would be replaced are removed and
unregistered. [If this is were truly integrated with
pkg_add/pkg_create, you wouldn't need a separate step -- you could
just update the owner in the same loop that registers the files.]

> Right now our pkg handling system doesn't allow having two pkgs of the
> same name installed (but which would IMHO make perfect sense in this
> situation).

So I give the faked package a different name. This is the result of
rebuilding "xmms" recently:


	# pkg_info -e '*-SO-*'
	gal-SO-0.19nb1
	libogg-SO-1.0.0.7
	libvorbis-SO-1.0.0.7
	png-SO-1.2.1

	# pkg_info -R 'libogg*'
	Information for libogg-1.0.0.8:

	Required by:
	libvorbis-1.0.0.8
	xmms-1.2.7nb1


	Information for libogg-SO-1.0.0.7:

	Required by:
	vorbis-tools-1.0.0.7nb1
	gqmpeg-0.16.0nb1

	# pkg_info -L libogg-SO
	Information for libogg-SO-1.0.0.7:

	Files:
	/usr/pkg/lib/libogg.so.3
	/usr/pkg/lib/libogg.so.3.0

	# pkg_info -L libogg | grep so
	/usr/pkg/lib/libogg.so
	/usr/pkg/lib/libogg.so.4
	/usr/pkg/lib/libogg.so.4.0


What I didn't have to do, is rebuild or reinstall "gqmpeg", and it
still works fine!


Frederick