Bug 105846

Summary: Bug in make build-depends-list lists incorrect dependencies
Product: Ports & Packages Reporter: James O'Gorman <james>
Component: Individual Port(s)Assignee: Doug Barton <dougb>
Status: Closed FIXED    
Severity: Affects Only Me CC: dougb
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description James O'Gorman 2006-11-25 14:10:10 UTC
When running make build-depends-list, the list produced is not always accurate:
For e.g. www/trac defines BUILD_DEPENDS as:
	BUILD_DEPENDS=  ${PYTHON_SITELIBDIR}/pysqlite2/__init__.py:${PORTSDIR}/databases/py-pysqlite20 \
	${PYTHON_SITELIBDIR}/neo_cgi.so:${PORTSDIR}/www/clearsilver-python \
	${PYTHON_SITELIBDIR}/svn/__init__.py:${PORTSDIR}/devel/subversion-python

However:
	starbug:/usr/ports/www/trac# make -VPYTHON_SITELIBDIR
	/usr/local/lib/python2.4/site-packages
	starbug:/usr/ports/www/trac# ls -l /usr/local/lib/python2.4/site-packages/svn/__init__.py
	-rw-r--r--  1 root  wheel  760 25 Nov 13:31 /usr/local/lib/python2.4/site-packages/svn/__init__.py
	starbug:/usr/ports/www/trac# make build-depends-list
	/usr/ports/databases/py-pysqlite20
	/usr/ports/devel/subversion-python
	/usr/ports/lang/python24
	/usr/ports/www/clearsilver-python

build-depends-list should not display devel/subversion-python as the
required file already exists (devel/subversion is installed with WITH_PYTHON).
This confuses portmaster as it tries to install devel/subversion-python when it
shouldn't.

How-To-Repeat: Install devel/subversion with WITH_PYTHON=yes, and install www/trac using
sysutils/portmaster. Portmaster incorrectly identifies devel/subversion-python
as a dependency as it relies on build-depends-list.
Comment 1 Alexander Botero-Lowry freebsd_committer freebsd_triage 2006-11-26 12:40:36 UTC
Responsible Changed
From-To: freebsd-ports-bugs->lev

hand off to lev@ since he maintains devel/subversion. WITH_PYTHON  
stuff should probably be merged into the subversion-python port 
and then devel/subversion can just depend on subversion-python.
Comment 2 Lev A. Serebryakov freebsd_committer freebsd_triage 2006-11-27 07:14:03 UTC
Responsible Changed
From-To: lev->dougb


It is not a problem of `devel/subverison'. `devel/subversion-python' 
is slave port of `devel/subversion', and these ports can not be dependent. 
It is problem of `sysutils/portmaster' or port system itself: same problem 
will occure in cases of `www/apache13' / `russian/apache13' pair or  
`print/ghostscript-gnu' / `print/ghostscript-apfl' pair (and -nox11 variants 
of these). 
Author of `sysutils/portmaster' should consider to check really installed ports 
by features (${PYTHON_SITELIBDIR}/svn/__init__.py in case of this PR), 
not by records in pakcage database (/var/db/pkg), as ports system does 
itself.
Comment 3 Doug Barton freebsd_committer freebsd_triage 2006-11-27 18:04:04 UTC
State Changed
From-To: open->closed


Either I misunderstand the problem you're trying to report, or there 
is not an actual problem here. :) 

If I understand the original complaint, the probblem being described 
is that 'make build-depends-list' lists a port that is already installed. 
This is not an error, since that command is supposed to output a complete 
listing of all the build dependencies, without regard to what is already 
installed. Portmaster checks that list against what is already installed, 
and then either builds or updates those ports as needed. If the port 
is already installed and up to date, portmaster will not do anything 
(unless the -f flag is used). 

If I am misunderstanding the issue, please type out a _description_ of 
the problem (not simply the output of a bunch of commands) and send it 
to the freebsd-ports@freebsd.org mailing list. 

Thanks, 

Doug