Subject: Re: pkgsrc sickness
To: Rene Hexel <rh@netbsd.org>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 08/22/2002 05:56:48
On Thu, 22 Aug 2002, Frederick Bruckman wrote:

> >   for the new foo-SO-1.0 package.  If 'bar' only depends on
> > foo-SO-1.0, it loses its dependency on the 'share/foo/I_Need_This.xml'
> > file, which might be a vital file for bar's functionality.
>
> Don't do that! You're only supposed to delete the old package just
> before installing the new one. The operation should really be atomic.

I take that back. One of the features of the design is that you can
have a wide window where the new package isn't yet built (or even
created -- you may be working on the new package).

> That lossage is just an artifact of wrapping the package tools with a
> script, instead of modifying them.
>
> For the case where such a needed file *might* *not* be installed by
> the new package, I suggest a "@keep" tag, to let the file get the same
> treatment as a shared library.

That's the solution. If "I_Need_This.xml" had the "@keep" attribute,
then it would be safe to "pkg_hack -d" the package. As for
"pkg_delete"-ing the package, I warn against mixing the raw package
tools with the hacked (wrapped) package tools, though of course you
can always "pkg_delete -r libogg\*", then rebuild everything.

Frederick