Ticket #19961 (closed defect: fixed)
wrong variants passed to upgrade when using some pseudo-ports
|Reported by:||jmr@…||Owned by:||macports-tickets@…|
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 = <snip> % port -y upgrade outdated variations = python25 + darwin_9 + Error: Variant python25 conflicts with python26 Error: Unable to open port: Error evaluating variants <snip>