Subject: how to rebuild +REQUIRED_BY in pkgdb
To: None <tech-pkg@netbsd.org, netbsd-help@netbsd.org>
From: =?iso-8859-1?Q?=89=A1=8ER=93=C4=8Ej?= (Atsushi YOKOYAMA) <a.yokoyama@pobox.com>
List: tech-pkg
Date: 02/08/2003 22:25:53
Hello, folks.

I have a (maybe beginner's) question about managing installed packages,
especially for dependencies.

Now, I assume we have two installed packages named 'a-1.0' and 'b-1.0'.
Here, b-1.0 depends a-1.0.  (Or, a-1.0 is required by b-1.0.)
When I tried to pkg_delete a-1.0, it will refuse to do so.

For some reason, I have to update a-1.0 to a-1.1.  In principle, I know
we should re-install b-1.0 recursively, but I simplified the procedure
by following:

   1. pkg_delete -f a-1.0
   2. cd pkgsrc/somewhere/a
   3. make install            # this installs a-1.1

At this time, we will naturally miss /var/db/pkg/a-1.1/+REQUIRED_BY.
But I'd like to recover this.

In my opinion, we still have '@pkgdep a>=1.0' in
/var/db/pkg/b-1.0/+CONTENTS, so, I imagine we can rebuild the +REQUIRED_BY,
by some tools...  I tried, as a test, 'pkg_admin rebuild', but that does
not work to rebuild those files.

Which is recommended procedure?

   A. In a strict meaning, the dependency is broken now, so, the only way
      is re-install b-1.0 again.

   B. We have some well-known tool to rebuild +REQUIRED_BY(s).

   C. I should write a tool by myself.

Thanks.

--
Atsushi Yokoyama
Saitama, Japan