#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:
- Always skip processing foo if port:foo is in the depscache, and
- 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)
Change History (5)
Changed 16 years ago by jmroot (Joshua Root)
Attachment: | depscache.diff added |
---|
comment:1 Changed 16 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Committed the fix in r37433.
comment:2 Changed 16 years ago by tobypeterson
Milestone: | MacPorts base bugs → MacPorts Future |
---|
Milestone MacPorts base bugs deleted
comment:3 Changed 16 years ago by jmroot (Joshua Root)
Milestone: | MacPorts Future → MacPorts 1.7.0 |
---|
comment:4 Changed 16 years ago by jmroot (Joshua Root)
Component: | ports → base |
---|
Note: See
TracTickets for help on using
tickets.
suggested fix