NetBSD Problem Report #43081

From kre@munnari.OZ.AU  Tue Mar 30 10:36:21 2010
Return-Path: <kre@munnari.OZ.AU>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 0BB8063B86C
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 30 Mar 2010 10:36:21 +0000 (UTC)
Message-Id: <201003301036.o2UAaALo025280@jade.coe.psu.ac.th>
Date: Tue, 30 Mar 2010 17:36:10 +0700 (ICT)
From: kre@munnari.OZ.AU
To: gnats-bugs@gnats.NetBSD.org
Subject: pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
X-Send-Pr-Version: 3.95


>Number:         43081
>Category:       pkg
>Synopsis:       pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    taca
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 30 10:40:00 +0000 2010
>Last-Modified:  Sun Apr 15 21:42:49 +0000 2012
>Originator:     Robert Elz
>Release:        NetBSD 4.0 / i386   (pkgsrc current 2010-03-30)
>Organization:
	Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 4.0_STABLE NetBSD 4.0_STABLE (JADE-1.696-20080517) #9: Fri May 23 18:55:13 ICT 2008 kre@jade.coe.psu.ac.th:/usr/obj/4/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
	www/gallery includes in its pkgsrc Makefile ...


		PHP_VERSIONS_ACCEPTED=  53


	and then


		DEPENDS+=       ${PHP_PKG_PREFIX}-gd>=4.1.0:../../graphics/php-gd


	That combination is clearly intended to get php53-gd-*
	installed (some version newer than 4.1.0 - the version is not
	the issue).


	And what's more, that's what it attempts to do ...


		=> Full dependency php53-gd>=4.1.0: NOT found
		=> Verifying bin-install for ../../graphics/php-gd
		===> Binary install for php53-gd>=4.1.0


	which fails, as there's no binary package for that built
	on my system so it reverts to building from source ...


		=> Installing php53-gd>=4.1.0 from /pkg_comp/packages/All
		pkg_add: no pkg found for 'php53-gd>=4.1.0', sorry.
		pkg_add: 1 package addition failed
		=> No binary package found for php53-gd>=4.1.0; installing from source.


	So far, so good, that's all what is supposed to happen,
	except ...


		=> Bootstrap dependency digest>=20010302: found digest-20080510
		WARNING: [license.mk] Every package should define a LICENSE.
		=> Checksum SHA1 OK for php-5.2.13/php-5.2.13.tar.bz2
		=> Checksum RMD160 OK for php-5.2.13/php-5.2.13.tar.bz2


	Hmmm... php 5.2, what's up there?


	And sure enough, after a perfectly successful build ...


		=> Registering installation for php5-gd-5.2.13 
		php5-gd-5.2.13 requires installed package freetype2-2.3.12
		php5-gd-5.2.13 requires installed package jpeg-8nb1
		php5-gd-5.2.13 requires installed package php-5.2.13nb1  
		php5-gd-5.2.13 requires installed package png-1.2.43
		=> Checking file-check results for php5-gd-5.2.13
		=> Checking for non-existent script interpreters in php5-gd-5.2.13 
		=> Checking file permissions in php5-gd-5.2.13
		=> Checking for missing run-time search paths in php5-gd-5.2.13  
		=> Checking for work-directory references in php5-gd-5.2.13
		===> Building binary package for php5-gd-5.2.13
		=> Creating binary package /pkg_comp/packages/All/php5-gd-5.2.13.tgz
		ERROR: [depends.mk] A package matching ``php53-gd>=4.1.0'' should
		ERROR:     be installed, but one cannot be found.  Perhaps there is a
		ERROR:     stale work directory for ../../graphics/php-gd?
		*** Error code 1


		Stop.
		make: stopped in /usr/pkgsrc/www/gallery
		*** Error code 1 


	Oops...


>How-To-Repeat:
	I use pkg_comp with NetBSD 4.0 release sets installed (I doubt
	any of that matters here) - I use libkver to simulate NetBSD 4.0
	for uname, and X11_TYPE=modular instead of the x* sets


	Again, I dount any of that really matters - except that when
	the build starts, there is nothing related to PHP installed
	(the pkg_comp sandbox is essentially empty) and there is
	nothing related to PHP or PHP versions in mk.conf (everything
	is just whatever comes in pkgsrc by default).


	In that environment, (and with no binary package for php53-gd
	available - if there was one it would probably have been
	installed and all would have been OK) attempt to build
	www/gallery (or www/gallery2 - it exhibits the same problem).


	If I were to install php53, or set the default PHP version,
	or just had a binary package for the dependency available,
	this problem would probably have remained hidden.


>Fix:
	??   Somehow the desired version of PHP needs to be passed
	through the build machinery to PHP packages, when a package
	needs a specific version  - simply going to the php package
	directory and saying "build" isn't going to do it, that will
	just vuild the default version, not the version that is needed.


>Release-Note:


>Audit-Trail:
From: "OBATA Akio" <obache@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/43081: pkgsrc PHP specific version build machinery fails
 (NetBSD 4.0/i386)
Date: Tue, 30 Mar 2010 19:50:45 +0900


 probably, need same trick done in lang/python/pyversion.mk for PYTHON_VERSION_REQD.

 
Responsible-Changed-From-To: pkg-manager->taca
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Tue, 30 Mar 2010 11:58:14 +0000
Responsible-Changed-Why:
Can you please take a look at this?




From: Takahiro Kambe <taca@back-street.net>
To: gnats-bugs@NetBSD.org
Cc: jdolecek@NetBSD.org
Subject: Re: pkg/43081 (pkgsrc PHP specific version build machinery fails
 (NetBSD 4.0/i386))
Date: Tue, 30 Mar 2010 23:18:52 +0900 (JST)


 Hi,

 
 In message <20100330115815.BF03C63B11D@www.NetBSD.org>
 	on Tue, 30 Mar 2010 11:58:15 +0000 (UTC),
 	wiz@NetBSD.org wrote:
 > Synopsis: pkgsrc PHP specific version build machinery fails (NetBSD 4.0/i386)
 > 
 > Responsible-Changed-From-To: pkg-manager->taca
 > Responsible-Changed-By: wiz@NetBSD.org
 > Responsible-Changed-When: Tue, 30 Mar 2010 11:58:14 +0000
 > Responsible-Changed-Why:
 > Can you please take a look at this?
 I looked at it.

 
 I think that this problem was derived by possible values for:

 
 	PHP_VERSION_DEFAULT
 	PHP_VERSIONS_ACCEPTED
 	PHP_VERSION_REQD
 	PKG_PHP_VERSION

 
 When I imported lang/php53, these variables take: 5 or 53.

 
 	5	php 5.2.x
 	53	php 5.3.x

 
 Next, jdolecek@, MAINTAINER of php package changes meaning:

 
 	5	php 5.2.x or php 5.3.x
 	52	php 5.2.x
 	53	php 5.3.x

 
 It is logically good and consistent rather than making "5" means "52"
 when I imported.

 
 But, when recursive build is needed, lang/php/phpversion.mk is forced
 to set PHP_VERSION_REQD which is required to specify *real* PHP's
 version.

 
 	# force the selected PHP version for recursive builds
 	PHP_VERSION_REQD:=	${PKG_PHP_VERSION}

 

 
 These are my analysis of present state and it could be fixed by
 possible value to:

 
 	5	php 5.2.x
 	53	php 5.3.x

 
 or

 
 	52	php 5.2.x
 	53	php 5.3.x

 
 Avoid to use value which means "php 5.2.x or php 5.3.x" or introduce
 new variable which set PHP_VERSION_REQD instead of PKG_PHP_VERSION
 above.

 
 Finally, since this decision should be done by MAINTAINER, this PR
 should be taken by jdolecek@.  :-)

 
 Best regards.

 
 -- 
 Takahiro Kambe <taca@back-street.net>

 
Responsible-Changed-From-To: taca->jdolecek
Responsible-Changed-By: taca@NetBSD.org
Responsible-Changed-When: Tue, 30 Mar 2010 23:47:55 +0000
Responsible-Changed-Why:
Over to maintainer.




Responsible-Changed-From-To: jdolecek->taca
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Sun, 15 Apr 2012 21:42:49 +0000
Responsible-Changed-Why:
jdolecekt left, can you please decide?




>Unformatted:

 



NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.36 2007/11/24 03:27:39 kano Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.