ports/105846: Bug in make build-depends-list lists incorrect dependencies

James O'Gorman james at netinertia.co.uk
Tue Nov 28 14:15:07 PST 2006


Hi Doug,

Doug Barton wrote:
> James O'Gorman wrote:
> 
>> Installing www/trac by running 'make install' from the port skeleton
>> does work correctly, and notices that __init__.py exists (and therefore
>> skips the subversion-python requirement), but 'make build-depends-list'
>> doesn't seem to check the requirements correctly, and displays
>> "devel/subversion-python" as a dependency.
> 
> I understand what you're getting at now, but your terminology is still
> incorrect here. 'make build-depends-list' does not have any knowledge
> of what is and isn't installed. It just spits back the derived list of
> dependencies based on what is written in the Makefile.

OK... but would it not make sense for it to reflect the "actual"
dependencies though, rather than what are potential dependencies?

>> Because portmaster uses build-depends-list, it picks up
>> subversion-python as a dependency and installs it, even though
>> subversion is already installed with the required Python files. This
>> doesn't seem to be a bug in portmaster itself, but in the ports
>> framework's build-depends-list target.
> 
> No, as you pointed out later in your post ...
> 
>> I guess subversion's slave ports should probably conflict with the
>> master port, too.
> 
> That's the right answer. I added code in portmaster to handle the
> situation of alternate means of providing for dependencies, but it
> relies on correctly set CONFLICTS to work.

While adding CONFLICTS in this case seems like the right thing to do,
and the fact you've made portmaster smart enough to figure out what to
do, it seems like a workaround to me. It just seems like it would make
more sense if build-depends-list did the right thing in the first place!

James


More information about the freebsd-ports mailing list