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