ports/73116: [PATCH] bug in PHP dependency checks

Dag-Erling Smørgrav des at des.no
Mon Oct 25 12:50:19 UTC 2004

>Number:         73116
>Category:       ports
>Synopsis:       [PATCH] bug in PHP dependency checks
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 25 12:50:18 GMT 2004
>Originator:     Dag-Erling Smørgrav
>Release:        FreeBSD 6.0-CURRENT i386
System: FreeBSD des.teleplan.no 6.0-CURRENT FreeBSD 6.0-CURRENT #7: Tue Oct 19 12:13:59 EDT 2004 des at des.teleplan.no:/usr/obj/usr/src/sys/latitude i386

head of ports tree


For each element in USE_PHP, bsd.php.mk checks not only if it knows about
the category but also if the corresponding port directory exists.


On a machine with no ports tree, try for instance

# porteasy -r /path/to/ports/cvs/repo -ku devel/pear-PEAR

This will fail because bsd.php.mk blows up before porteasy has a chance to
figure out that it needs to update devel/php4-pear:

===>   pear-Archive_Tar-1.2 depends on executable: pear - not found
===>    Verifying package for pear in /usr/ports/devel/php4-pear
Unknown extension pcre.
*** Error code 1


The attached patch changes the test from "is this extension present" to
"have I heard of this extension", and allows porteasy to work as designed.

--- bsd.php.mk.diff begins here ---
Index: bsd.php.mk
RCS file: /home/pcvs/ports/Mk/bsd.php.mk,v
retrieving revision 1.11
diff -u -r1.11 bsd.php.mk
--- bsd.php.mk	2 Sep 2004 10:08:48 -0000	1.11
+++ bsd.php.mk	25 Oct 2004 12:19:04 -0000
@@ -332,7 +332,7 @@
 zlib_DEPENDS=	archivers/php${PHP_VER}-zlib
 .	for extension in ${USE_PHP}
-.		if ${_USE_PHP_ALL:M${extension}} != "" && exists(${PORTSDIR}/${${extension}_DEPENDS})
+.		if ${_USE_PHP_ALL:M${extension}} != "" && defined(${extension}_DEPENDS)
 .			if defined(USE_PHP_BUILD)
 BUILD_DEPENDS+=	${LOCALBASE}/lib/php/${PHP_EXT_DIR}/${extension}.so:${PORTSDIR}/${${extension}_DEPENDS}
 .			endif
--- bsd.php.mk.diff ends here ---


More information about the freebsd-ports-bugs mailing list