Opened 16 years ago

Closed 16 years ago

Last modified 15 years ago

#15520 closed defect (fixed)

upgrade processes the same dep multiple times if different depspecs are used

Reported by: jmroot (Joshua Root) Owned by: macports-tickets@…
Priority: Low Milestone: MacPorts 1.7.0
Component: base Version: 1.7.0
Keywords: Cc:
Port:

Description

The depscache is meant to prevent the same port from being upgraded more than once. However, it stores full depspecs, so if one port depends on bin:perl:perl5.8 and another on port:perl5.8, perl5.8 will be upgraded twice. This is usually a non-issue, but it causes extra port rebuilds if -f is used.

I suggest a two-part fix:

  1. Always skip processing foo if port:foo is in the depscache, and
  2. When processing a dep with a depspec other than port:, add a port: entry to the depscache if and only if the port actually ends up being installed.

Attachments (1)

depscache.diff (3.8 KB) - added by jmroot (Joshua Root) 16 years ago.
suggested fix

Download all attachments as: .zip

Change History (5)

Changed 16 years ago by jmroot (Joshua Root)

Attachment: depscache.diff added

suggested fix

comment:1 Changed 16 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

Committed the fix in r37433.

comment:2 Changed 15 years ago by tobypeterson

Milestone: MacPorts base bugsMacPorts Future

Milestone MacPorts base bugs deleted

comment:3 Changed 15 years ago by jmroot (Joshua Root)

Milestone: MacPorts FutureMacPorts 1.7.0

comment:4 Changed 15 years ago by jmroot (Joshua Root)

Component: portsbase
Note: See TracTickets for help on using tickets.