ports/116242: [BUG] www/mod_perl2 cannot create a package after bsd.port.mk v1.581

Cory R. King coryking at mozimedia.com
Sun Sep 9 22:50:01 UTC 2007


>Number:         116242
>Category:       ports
>Synopsis:       [BUG] www/mod_perl2 cannot create a package after bsd.port.mk v1.581
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 09 22:50:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Cory R. King
>Release:        FreeBSD 6.2-RELEASE-p3
>Organization:
Mozi Media Group, LLC.
>Environment:
FreeBSD compiler.local 6.2-RELEASE-p3 FreeBSD 6.2-RELEASE-p3 #2: Sat Apr 14 15:51:51 PDT 2007     root at xxxx:/mnt/binaries/obj/usr/src/sys/CORE2_62VM  i386
>Description:
www/mod_perl2 will fail to create a package because it PLIST_SUB is getting overwritten and doesn't substitute SITE_PERL and PERL_ARCH.  This port used to work before bsd.port.mk v1.581.  'make package' will fail complaining about how tar cannot find %%SITE_PERL%%/%%PERL_ARCH%%.  Sorry to say my copy of tinderbox killed the log files that would have been proof :-)

I'm not sure if bsd.port.mk/bsd.perl.mk is now broken or their changes highlighted something mod_perl2 shouldn't have been doing all along.  The change seems to be the removal of code around line 1921 between 1.580 and 1.581 of bsd.port.mk.  In 1.580 it unconditionally added all of perl's PLIST_SUB whereas 1.581 it is wrapped in several .if/.end conditionals.

Here is PLIST_SUB before my patch:
[root at compiler /usr/ports/www/mod_perl2]# make -VPLIST_SUB
THREADMUTEX="@comment " OSREL=6.2 PREFIX=%D LOCALBASE=/usr/local X11BASE=/usr/local PORTDOCS="" PORTEXAMPLES="" PORTDATA="" LIB32DIR=lib XAWVER=8 DOCSDIR="share/doc/mod_perl"  EXAMPLESDIR="share/examples/mod_perl"  DATADIR="share/mod_perl"  WWWDIR="www/mod_perl"  ETCDIR="etc/mod_perl"


Here it is after:
[root at compiler /usr/ports/www/mod_perl2]# make -VPLIST_SUB
PERL_VERSION=5.8.8  PERL_VER=5.8.8  PERL_ARCH=mach  SITE_PERL=lib/perl5/site_perl/5.8.8 APACHEMODDIR="libexec/apache"  APACHEINCLUDEDIR="include/apache"  APACHEETCDIR="etc/apache" AP_NAME="perl" AP_MODULE="mod_perl.so" THREADMUTEX="@comment " OSREL=6.2 PREFIX=%D LOCALBASE=/usr/local X11BASE=/usr/local PORTDOCS="" PORTEXAMPLES="" PORTDATA="" LIB32DIR=lib XAWVER=8 DOCSDIR="share/doc/mod_perl"  EXAMPLESDIR="share/examples/mod_perl"  DATADIR="share/mod_perl"  WWWDIR="www/mod_perl"  ETCDIR="etc/mod_perl"

You can see there is a lot of variables that mod_perl2 rips out with PLIST_SUB= THREADMUTEX=""
>How-To-Repeat:
Just type 'make package' for www/mod_perl2 with a system that has Mk/bsd.port.mk 1.582 or 1.581 and www/mod_perl2's Makefile of 1.57
>Fix:
--- Makefile?rev=1.57   Fri Sep  7 18:10:26 2007
+++ Makefile    Sun Sep  9 15:04:02 2007
@@ -62,9 +62,9 @@
 .include <bsd.port.pre.mk>

 .if ${APACHE_VERSION} >= 21
-PLIST_SUB=THREADMUTEX=""
+PLIST_SUB+=		THREADMUTEX=""
 .else
-PLIST_SUB=		THREADMUTEX="@comment "
+PLIST_SUB+=		THREADMUTEX="@comment "
 .endif

 pre-configure:


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list