Subject: Re: pkgsrc sickness
To: Frederick Bruckman <fredb@immanent.net>
From: Rene Hexel <rh@netbsd.org>
List: tech-pkg
Date: 08/26/2002 09:22:51
On Fri, 2002-08-23 at 08:40, Frederick Bruckman wrote:
> What happens when you delete the new package and reinstall the old
> one? Wouldn't the resulting package recursively depend on itself?
No. If you did a 'pkg_delete/pkg_add' combination, the dependency
would make sure that the pkg-SO-oldversion would get deleted before you
install a newer version with pkg_add.
pkg_hack would, of course, need to detect cases where
pkg-SO-oldversion would get replaced by pkg-oldversion (both versions
being the same).
> All I can say is, try it, and see how it works. At this time, however,
> it doesn't make any sense to me to have components of package "foo"
> depend on each other, and the problem you describe doesn't seem to
> arise in practice.
Here is an example I just tried:
$ pkg_info -R pango\*
Information for pango-1.0.3nb1:
Required by:
gtk2+-2.0.5nb1
$ gtk-demo
program runs fine
$ pkg_hack -a pango-1.0.4.tgz
$ pkg_info -R pango\*
Information for pango-1.0.4:
Information for pango-SO-1.0.3nb1:
Required by:
gtk2+-2.0.5nb1
$ pkg_delete pango-1.0.4
$ pkg_info -R pango\*
Information for pango-SO-1.0.3nb1:
Required by:
gtk2+-2.0.5nb1
$ gtk-demo
Shared object "libpangoxft-1.0.so.0" not found
As you can see, when I delete pango-1.0.4, the package system is in an
inconsistent state, because it leaves pango-SO-1.0.3nb1 plus its
dependencies, which are now in a non-working state, because the
prerequisite files in pango-1.0.4 (they depend on) are no longer
present.
Everything works fine if pango-SO-1.0.3 depends on pango-1.0.4.
Cheers
,
Rene