[47756] trunk/base/src/macports1.0/macports.tcl

Joshua Root jmr at macports.org
Sat Mar 7 02:08:49 PST 2009


Ryan Schmidt wrote:
> 
> On Mar 6, 2009, at 15:37, Orville Bennett wrote:
> 
>> Is there some check which ensures that upgrading the dependency
>> doesn't break the app that's updated?
> 
> I don't understand the scenario. Could you give an example?
> 
> 
> What the commit is supposed to fix is the following case:
> 
> foo depends on bar.
> You already have bar 1.0 installed but you don't have foo installed.
> bar 1.2 is available in the ports tree.
> Prior to this commit, if you "port install foo", the latest version of
> foo gets installed but bar remains at 1.0.
> The latest version of foo may not be compatible with bar 1.0 but should
> be compatible with the latest version of bar, 1.2.
> After this commit, if you "port install foo", bar first gets updated to
> 1.2, then foo gets installed.

Not quite. The change doesn't affect the behaviour of 'port install'.

The affected scenario is: You have A and C installed, but not B. A new
version of A is available which adds a dependency on B. B depends on C.
You run 'port upgrade A'.

Old behaviour: B is installed, then C is upgraded (and finally A is
upgraded).

New behaviour: C is upgraded, then B is installed (and finally A is
upgraded).

I would not be opposed to making 'port install' behave the way you
describe, however (provided it also gets support for -n). :-)

- Josh


More information about the macports-dev mailing list