Portupgrade omitting dependencies?

Randy Pratt 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
as:
  # cat /var/db/pkg/netpbm-10.26.38/+REQUIRED_BY 
  apsfilter-7.2.8
  docproj-1.17
  dvdstyler-1.5.b5_1,2
  gocr-0.43
  tgif-nls-4.1.45
  transfig-3.2.4_1
  xfig-3.2.4_4

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):
  docproj-1.17
  dvdstyler-1.5.b5_1,2
  gocr-0.43
  tgif-nls-4.1.45
  transfig-3.2.4_1

After updating netpbm, the ports that depend on it have not been
restored (note that it reflects the dependency list shown during
portupgrade):

  # cat /var/db/pkg/netpbm-10.26.39/+REQUIRED_BY 
  docproj-1.17
  dvdstyler-1.5.b5_1,2
  gocr-0.43
  tgif-nls-4.1.45
  transfig-3.2.4_1

Additionally the ports requiring netpbm still show them as being
marked as "DELETED" by portupgrade after all the updating has
finished:

  # grep "DELETED" /var/db/pkg/*/+CONTENTS
  apsfilter-7.2.8/+CONTENTS:@comment DELETED:pkgdep netpbm-10.26.39
  apsfilter-7.2.8/+CONTENTS:@comment DELETED:DEPORIGIN:graphics/netpbm
  xfig-3.2.4_4/+CONTENTS:@comment DELETED:pkgdep netpbm-10.26.39
  xfig-3.2.4_4/+CONTENTS:@comment DELETED:DEPORIGIN:graphics/netpbm

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
6.2-STABLE).

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

Thanks,

Randy
-- 


More information about the freebsd-ports mailing list