On Jul 24, 2007, at 5:52 PM, Xin Liu wrote:
Then what's the point of having the bin style dependencies?
exactly ... that's why the use is discouraged ... it only causes problems.
It's intended to solve the external dependency problem, otherwise the portfile author would use port style instead. With the current implementation of the "upgrade" command, the bin style is basically useless (because anyone who performs an upgrade will have the internal dependencies installed anyway), and there is no solution to accommodate external dependencies in a convenient way.
Again, this is a reason why the usage is discouraged. I'm sure we'd be happy to include a patch to fix the issue if it doesn't create other issues as well (as your proposed change would, since it would also incorrectly prevent macports-provided ports from being upgraded if they were installed to satisfy a bin/lib style dependency).
"-n" is not an option, because it also prevents other dependencies that lie within macports from being upgraded.
You could just remove the dependency from the portfile, if -n won't work for you and you're insistent on using an external dependency.
On the other hand, if the code never upgrades bin style dependencies, I cannot see any problem. I'd assume (almost, if not absolutely) every portfile author only uses bin style and lib style to accommodate external dependencies.
The third part of a bin/lib style dependency is the port that can be used to meet the dependency.
If his/her package depends on other software that needs to be upgraded by macports, he/she should use port style instead.
Indeed, that's why (as I've said a few times now), the bin/lib style dependencies are discouraged in favor of port: style dependencies. -- Daniel J. Luke +========================================================+ | *---------------- dluke@geeklair.net ----------------* | | *-------------- http://www.geeklair.net -------------* | +========================================================+ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | +========================================================+