ports/51589: SITE_PERL defined too late in bsd.port.mk

Oliver Eikemeier eikemeier at fillmore-labs.com
Tue Apr 29 15:00:29 UTC 2003


>Number:         51589
>Category:       ports
>Synopsis:       SITE_PERL defined too late in bsd.port.mk
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 29 08:00:27 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Eikemeier
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
Fillmore Labs - http://www.fillmore-labs.com
>Environment:
System: FreeBSD nuuk.fillmore-labs.com 4.8-STABLE FreeBSD 4.8-STABLE #0: Sun Apr 6 14:21:01 CEST 2003 root at nuuk.fillmore
-labs.com:/usr/obj/usr/src/sys/FILLMORE-LABS i386

>Description:

SITE_PERL is defined in the bsd.port.post.mk section of bsd.port.mk. It should
be available after including bsd.port.pre.mk.

>How-To-Repeat:

install port devel/p5-File-Temp and try the following snippet in a Makefile:

#include <bsd.port.pre.mk>

pre-everything::
.if !exists(${SITE_PERL}/File/Temp.pm)
        @${ECHO_CMD} "File::Temp.pm is not installed"
.endif
.if exists(${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/File/Temp.pm)
        @${ECHO_CMD} "File::Temp.pm is installed"
.endif

#include <bsd.port.post.mk>

>Fix:

move the definition of SITE_PERL to an earlier part of bsd.port.mk

--- bsd.port.mk.patch begins here ---
--- bsd.port.mk.orig	Sun Apr 20 02:05:05 2003
+++ bsd.port.mk	Tue Apr 29 16:15:19 2003
@@ -929,6 +929,36 @@
 PERL_LEVEL=0
 .endif # !defined(PERL_LEVEL) && defined(PERL_VERSION)
 
+.if ${OSVERSION} >= 500032
+PERL_VERSION?=	5.6.1
+PERL_VER?=		5.6.1
+PERL_ARCH?=		mach
+.else
+.if ${OSVERSION} >= 500007
+PERL_VERSION?=	5.6.0
+PERL_VER?=		5.6.0
+PERL_ARCH?=		mach
+.else
+.if ${OSVERSION} >= 300000
+PERL_VERSION?=	5.00503
+.else
+PERL_VERSION?=	5.00502
+.endif
+PERL_VER?=		5.005
+PERL_ARCH?=		${ARCH}-freebsd
+.endif
+.endif
+
+SITE_PERL?=	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}
+
+.if exists(/usr/bin/perl5) && ${OSVERSION} >= 300000 && ${OSVERSION} < 500036
+PERL5=			/usr/bin/perl${PERL_VERSION}
+PERL=			/usr/bin/perl
+.else
+PERL5=			${LOCALBASE}/bin/perl${PERL_VERSION}
+PERL=			${LOCALBASE}/bin/perl
+.endif
+
 .if defined(USE_OPENSSL)
 .if ${OSVERSION} >= 400014
 .if !exists(/usr/lib/libcrypto.so)
@@ -1318,28 +1348,6 @@
 .endif
 .endif
 
-.if ${OSVERSION} >= 500032
-PERL_VERSION?=	5.6.1
-PERL_VER?=		5.6.1
-PERL_ARCH?=		mach
-.else
-.if ${OSVERSION} >= 500007
-PERL_VERSION?=	5.6.0
-PERL_VER?=		5.6.0
-PERL_ARCH?=		mach
-.else
-.if ${OSVERSION} >= 300000
-PERL_VERSION?=	5.00503
-.else
-PERL_VERSION?=	5.00502
-.endif
-PERL_VER?=		5.005
-PERL_ARCH?=		${ARCH}-freebsd
-.endif
-.endif
-
-SITE_PERL?=	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}
-
 PLIST_SUB+=		PERL_VERSION=${PERL_VERSION} \
 				PERL_VER=${PERL_VER} \
 				PERL_ARCH=${PERL_ARCH} \
@@ -1357,11 +1365,7 @@
 	@${ECHO_CMD} "Error: you don't have the right version of perl in /usr/bin."
 	@${FALSE}
 .endif
-PERL5=			/usr/bin/perl${PERL_VERSION}
-PERL=			/usr/bin/perl
 .else
-PERL5=			${LOCALBASE}/bin/perl${PERL_VERSION}
-PERL=			${LOCALBASE}/bin/perl
 .if defined(USE_PERL5) || defined(USE_PERL5_BUILD)
 BUILD_DEPENDS+=	${PERL5}:${PORTSDIR}/lang/perl5
 .endif
--- bsd.port.mk.patch ends here ---


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



More information about the freebsd-ports-bugs mailing list