Opened 12 years ago

Closed 12 years ago

#19961 closed defect (fixed)

wrong variants passed to upgrade when using some pseudo-ports

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


The upgrade proc's variationslist argument is meant to be the variant selections that were specified on the command line. However, when a pseudo-port that queries the registry is used, action_upgrade ends up passing the variants with which the port is currently installed. This can cause upgrade to behave incorrectly, and can even cause failures due to conflicting variants in dependencies.

Example (with a little debug output added to action_upgrade):

% port outdated        
The following installed ports are outdated:
boost                          1.38.0_0 < 1.39.0_0
% port installed boost
The following ports are currently installed:
  boost @1.38.0_0+darwin_9+python25 (active)
% port -y upgrade boost
variations = 
% port -y upgrade outdated           
variations = python25 + darwin_9 +
Error: Variant python25 conflicts with python26
Error: Unable to open port: Error evaluating variants

Change History (1)

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

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.