Opened 9 years ago

Closed 9 years ago

#30030 closed defect (duplicate)

port selector doesn't appear to affect dependencies

Reported by: jpr5@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.9.2
Keywords: selector dependency exclusion Cc:
Port:

Description

Related to #30012, I tried to port upgrade outdated and not erlang, however it's being attempted anyway.

My off-the-cuff guess is that it's because rabbitmq-server is among outdated, and that re-includes the dependency erlang.

Shouldn't exclusions be applied to rdeps, and automatically exclude anything that depends on exclusions?

Change History (3)

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

Resolution: invalid
Status: newclosed

Upgrade is inherently a recursive operation unless you use -n. Pseudo-ports and the boolean operators used to combine them are very general and don't just apply to upgrade. The set of ports specified is evaluated before it is passed to whatever action is being run, so the behaviour of the evaluation doesn't change depending on the action (nor should it IMO).

So basically, the set of ports you want to upgrade is actually something like outdated and not \( erlang rdependentof:erlang \). Note that #15708 is an existing ticket requesting a more convenient way to exclude ports from being upgraded.

comment:2 Changed 9 years ago by jpr5@…

Resolution: invalid
Status: closedreopened

I understand your point, but I'm not able to effect the exclusion.

Observe:

# port upgrade outdated and not \( erlang rdependentof:erlang \) 
--->  Computing dependencies for erlang
--->  Building erlang
^C

I've tried a number of different combinations of selectors, but to no avail.

Is what I'm seeking to do actually possible? The essence of my issue isn't so much about syntax as it is about capability.

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

Resolution: duplicate
Status: reopenedclosed

OK, dupe of #15708 then.

Note: See TracTickets for help on using tickets.