Portupgrade omitting dependencies?
bsd-unix at earthlink.net
Mon Feb 5 06:23:07 UTC 2007
There seems to be some problem in the way that portupgrade handles
dependencies in updating a port to a new version. In quite a few
cases, portupgrade does not restore all dependencies that were
originally listed in the +REQUIRED_BY file. I'll use the "netpbm"
as an example:
Before updating netpbm, the ports that depended on it were listed
# cat /var/db/pkg/netpbm-10.26.38/+REQUIRED_BY
This is an excerpt from my netpbm update log showing that it is
not 'seeing' all of the dependencies originally listed in the
respective /var/db/pkg/*/+REQUIRED_BY file:
pkg_delete: package 'netpbm-10.26.38' is required by these other
packages and may not be deinstalled (but I'll delete it anyway):
After updating netpbm, the ports that depend on it have not been
restored (note that it reflects the dependency list shown during
# cat /var/db/pkg/netpbm-10.26.39/+REQUIRED_BY
Additionally the ports requiring netpbm still show them as being
marked as "DELETED" by portupgrade after all the updating has
# grep "DELETED" /var/db/pkg/*/+CONTENTS
apsfilter-7.2.8/+CONTENTS:@comment DELETED:pkgdep netpbm-10.26.39
xfig-3.2.4_4/+CONTENTS:@comment DELETED:pkgdep netpbm-10.26.39
It seems that this could cause problems if I needed to update
netpbm and all the ports that depend on it. It would surely miss
apsfilter and xfig in this case.
I'm curious if anyone else is seeing these leftover DELETED notations.
They can be checked with the simple grep as shown above. I've
went so far as to removing the ports tree and cvsupping a new one
as well as removing portupgrade and reinstalling. The maintainer
for portupgrade indicated that he's not seen this problem.
I've been seeing this for at least 4-5 weeks and see the same
problems on all four of my local machines (all i386 running
I'd appreciate anyone confirming that they are also seeing this kind
of problem as I can't find anything local. As I understand it,
there should be nothing marked as "DELETED" after portupgrade. The
absense/presence can be determined with:
grep "DELETED" /var/db/pkg/*/+CONTENTS
More information about the freebsd-ports