bsd.perl.mk (Was: Re: _PERL_REFACTORING_COMPLETE lang/perl5.12 Mk/bsd.perl.mk)

Doug Barton dougb at FreeBSD.org
Thu Jul 29 06:48:02 UTC 2010


On Wed, 28 Jul 2010, Mark Linimon wrote:

> These are the results that I get on my home machine:

> ----------------------------------------------------------------------
>
> Here is my /etc/make.conf:
>
> OPENSSH_OVERWRITE_BASE=yes
> WITH_APACHE2=yes
> X11BASE=${LOCALBASE}
>
> USE_LOCAL_MK=		yes

This is dubious, but unlikely to cause the problems you're seeing.

> Here is the diff I am using for bsd.port.mk (well, the relevant parts):

I would have thought that the obvious patch was the one attached, to 
simply remove the code that we would like to remove in the final 
version, including bsd.per.mk; and that you would not want any other 
diffs in Mk/* while you were testing this.

> Index: bsd.port.mk
> ===================================================================
> RCS file: /home/FreeBSD/pcvs/ports/Mk/bsd.port.mk,v
> retrieving revision 1.643
> diff -u -r1.643 bsd.port.mk
> --- bsd.port.mk	15 Jul 2010 14:48:50 -0000	1.643
> +++ bsd.port.mk	20 Jul 2010 23:19:42 -0000

> -#.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) || defined(USE_PERL5_RUN) || defined(PERL_CONFIGURE) || defined(PERL_MODBUILD)
> +.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) || defined(USE_PERL5_RUN) || defined(WANT_PERL) || defined(PERL_CONFIGURE) || defined(PERL_MODBUILD)
> .include "${PORTSDIR}/Mk/bsd.perl.mk"
> -#.endif
> +.endif

When I asked you what was necessary to test this, you said all that was 
necessary was to define _PERL_REFACTORING_COMPLETE. Clearly this, and 
the other patch below are significant departures from those 
instructions, which means I'll have to re-run all of my tests, and all 
the time I already put into this (and likely the time that pgolluci put 
into it as well) was completely wasted.

> .if defined(USE_PHP)
> .include "${PORTSDIR}/Mk/bsd.php.mk"
> @@ -2102,9 +2103,9 @@
> .include "${PORTSDIR}/Mk/bsd.sdl.mk"
> .endif
>
> -#.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) || defined(USE_PERL5_RUN) || defined(PERL_CONFIGURE) || defined(PERL_MODBUILD)
> +.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) || defined(USE_PERL5_RUN) || defined(WANT_PERL) || defined(PERL_CONFIGURE) || defined(PERL_MODBUILD)
> .include "${PORTSDIR}/Mk/bsd.perl.mk"
> -#.endif
> +.endif
>
> .if defined(USE_PHP)
> .include "${PORTSDIR}/Mk/bsd.php.mk"
>
> ----------------------------------------------------------------------
>
> There is no diff on my bsd.perl.mk.
>
> ----------------------------------------------------------------------
>
> Unlike the last time I looked at this (20091109, with some other debug
> code inserted), the errors above seem tractable.  However, I really
> would like to understand why I get errors and other installs don't.

I will test again with the attached patch plus the other 2 changes you 
have above and then publish the details of how I tested. Then you and/or 
Phil can take it from there.


Doug

-- 

 	Improve the effectiveness of your Internet presence with
 	a domain name makeover!    http://SupersetSolutions.com/

 	Computers are useless. They can only give you answers.
 			-- Pablo Picasso
-------------- next part --------------
Index: bsd.perl.mk
===================================================================
RCS file: /home/pcvs/ports/Mk/bsd.perl.mk,v
retrieving revision 1.17
diff -u -r1.17 bsd.perl.mk
--- bsd.perl.mk	15 Jul 2010 14:48:50 -0000	1.17
+++ bsd.perl.mk	29 Jul 2010 06:30:28 -0000
@@ -80,10 +80,6 @@
 Perl_Pre_Include=			bsd.perl.mk
 PERL_Include_MAINTAINER=	perl at FreeBSD.org
 
-# XXX to remain undefined until all ports that require Perl are fixed
-# to set one of the conditionals that force the inclusion of bsd.perl.mk
-.if defined(_PERL_REFACTORING_COMPLETE)
-
 PERL_VERSION?=	5.10.1
 
 .if !defined(PERL_LEVEL) && defined(PERL_VERSION)
@@ -113,8 +109,6 @@
 PERL5=		${LOCALBASE}/bin/perl${PERL_VERSION}
 PERL=		${LOCALBASE}/bin/perl
 
-.endif  # defined(_PERL_REFACTORING_COMPLETE)
-
 # Decide where to look for the version string
 .ifdef USE_PERL5
 USE_PERL5_STRING=	${USE_PERL5}
@@ -175,15 +169,11 @@
 
 Perl_Post_Include=		bsd.perl.mk
 
-.if defined(_PERL_REFACTORING_COMPLETE)
-
 PLIST_SUB+=	PERL_VERSION=${PERL_VERSION} \
 			PERL_VER=${PERL_VERSION} \
 			PERL_ARCH=${PERL_ARCH} \
 			SITE_PERL=${SITE_PERL_REL}
 
-.endif  # defined(_PERL_REFACTORING_COMPLETE)
-
 .if !defined(PERL) || !defined(PERL5) || !defined(PERL_PORT) || !defined(SITE_PERL)
 IGNORE=		missing define for WANT_PERL, USE_PERL5, or similar before bsd.port.pre.mk inclusion
 .endif
Index: bsd.port.mk
===================================================================
RCS file: /home/pcvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.643
diff -u -r1.643 bsd.port.mk
--- bsd.port.mk	15 Jul 2010 14:48:50 -0000	1.643
+++ bsd.port.mk	29 Jul 2010 06:30:28 -0000
@@ -1450,46 +1450,6 @@
 
 PKGCOMPATDIR?=		${LOCALBASE}/lib/compat/pkg
 
-# XXX to remain undefined until all ports that require Perl are fixed
-# to set one of the conditionals that force the inclusion of bsd.perl.mk
-.if !defined(_PERL_REFACTORING_COMPLETE)
-
-PERL_VERSION?=	5.10.1
-
-.if !defined(PERL_LEVEL) && defined(PERL_VERSION)
-perl_major=		${PERL_VERSION:C|^([1-9]+).*|\1|}
-_perl_minor=	00${PERL_VERSION:C|^([1-9]+)\.([0-9]+).*|\2|}
-perl_minor=		${_perl_minor:C|^.*(...)|\1|}
-.if ${perl_minor} >= 100
-perl_minor=		${PERL_VERSION:C|^([1-9]+)\.([0-9][0-9][0-9]).*|\2|}
-perl_patch=		${PERL_VERSION:C|^.*(..)|\1|}
-.else # ${perl_minor} < 100
-_perl_patch=	0${PERL_VERSION:C|^([1-9]+)\.([0-9]+)\.*|0|}
-perl_patch=		${_perl_patch:C|^.*(..)|\1|}
-.endif # ${perl_minor} < 100
-PERL_LEVEL=	${perl_major}${perl_minor}${perl_patch}
-.else
-PERL_LEVEL=0
-.endif # !defined(PERL_LEVEL) && defined(PERL_VERSION)
-
-PERL_ARCH?=		mach
-
-.if    ${PERL_LEVEL} >= 501200
-PERL_PORT?=	perl5.12
-.elif  ${PERL_LEVEL} >= 501000
-PERL_PORT?=	perl5.10
-.else
-PERL_PORT?=	perl5.8
-.endif
-
-SITE_PERL_REL?=	lib/perl5/site_perl/${PERL_VERSION}
-SITE_PERL?=	${LOCALBASE}/${SITE_PERL_REL}
-
-PERL5=		${LOCALBASE}/bin/perl${PERL_VERSION}
-PERL=		${LOCALBASE}/bin/perl
-
-.endif  # !defined(_PERL_REFACTORING_COMPLETE)
-
 .if defined(USE_LOCAL_MK)
 .include "${PORTSDIR}/Mk/bsd.local.mk"
 .endif
@@ -2049,13 +2009,6 @@
 
 .endif
 
-.if !defined(_PERL_REFACTORING_COMPLETE)
-PLIST_SUB+=		PERL_VERSION=${PERL_VERSION} \
-				PERL_VER=${PERL_VERSION} \
-				PERL_ARCH=${PERL_ARCH} \
-				SITE_PERL=${SITE_PERL_REL}
-.endif  # !defined(_PERL_REFACTORING_COMPLETE)
-
 .if defined(USE_LOCAL_MK)
 .include "${PORTSDIR}/Mk/bsd.local.mk"
 .endif


More information about the freebsd-ports mailing list