svn commit: r399342 - in head/lang: perl5-devel perl5.16 perl5.18 perl5.20 perl5.22

Mathieu Arnold mat at FreeBSD.org
Thu Oct 15 14:24:45 UTC 2015


Author: mat
Date: Thu Oct 15 14:24:43 2015
New Revision: 399342
URL: https://svnweb.freebsd.org/changeset/ports/399342

Log:
  Try to fix upgrading a non default Perl version that is supposed to be
  the default one.
  
  Sponsored by:	Absolight
  Differential Revision:	https://reviews.freebsd.org/D3704

Modified:
  head/lang/perl5-devel/Makefile
  head/lang/perl5.16/Makefile
  head/lang/perl5.18/Makefile
  head/lang/perl5.20/Makefile
  head/lang/perl5.22/Makefile

Modified: head/lang/perl5-devel/Makefile
==============================================================================
--- head/lang/perl5-devel/Makefile	Thu Oct 15 14:19:52 2015	(r399341)
+++ head/lang/perl5-devel/Makefile	Thu Oct 15 14:24:43 2015	(r399342)
@@ -165,9 +165,12 @@ PLIST_SUB+=	PERL_VERSION=${PERL_VERSION}
 		ARCH_LIB=${_ARCH_LIB}
 PLIST_SUB+=	PORTVERSION=${PORTVERSION} # XXX Remove
 
+_PERL5_DEFAULT_FILE=	/tmp/PERL5_DEFAULT
+
 # bsd.default-versions.mk needs to know LOCALBASE for Perl, so
 # bsd.port.options.mk is needed before including it.
 .include <bsd.port.options.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
 .include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
 
 # if this port is default due PERL5_DEFAULT
@@ -238,9 +241,21 @@ pre-everything::
 .endif
 
 # Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah.  While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
 post-extract:
 	${LN} -s libperl.so.${PORTVERSION} ${WRKSRC}/libperl.so
 	${LN} -s libperl.so.${PORTVERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+	@${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+	@${RM} ${_PERL5_DEFAULT_FILE}
+.endif
 
 .if !defined(MAKING_PATCHES)
 # make clean patch makepatch MAKING_PATCHES=

Modified: head/lang/perl5.16/Makefile
==============================================================================
--- head/lang/perl5.16/Makefile	Thu Oct 15 14:19:52 2015	(r399341)
+++ head/lang/perl5.16/Makefile	Thu Oct 15 14:24:43 2015	(r399342)
@@ -98,7 +98,10 @@ PKGINSTALL=	${WRKDIR}/use.perl
 PKGDEINSTALL=	${WRKDIR}/use.perl
 INSTALL_TARGET=	install-strip
 
+_PERL5_DEFAULT_FILE=	/tmp/PERL5_DEFAULT
+
 .include <bsd.port.pre.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
 .include "${PORTSDIR}/Mk/bsd.default-versions.mk"
 
 # if this port is default due PERL5_DEFAULT
@@ -233,9 +236,21 @@ LINK_USRBIN=	no
 SUB_LIST+=	LINK_USRBIN=${LINK_USRBIN}
 
 # Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah.  While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
 post-extract:
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+	@${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+	@${RM} ${_PERL5_DEFAULT_FILE}
+.endif
 
 post-patch:
 	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \

Modified: head/lang/perl5.18/Makefile
==============================================================================
--- head/lang/perl5.18/Makefile	Thu Oct 15 14:19:52 2015	(r399341)
+++ head/lang/perl5.18/Makefile	Thu Oct 15 14:24:43 2015	(r399342)
@@ -120,9 +120,12 @@ PKGINSTALL=	${WRKDIR}/use.perl
 PKGDEINSTALL=	${WRKDIR}/use.perl
 INSTALL_TARGET=	install-strip
 
+_PERL5_DEFAULT_FILE=	/tmp/PERL5_DEFAULT
+
 # bsd.default-versions.mk needs to know LOCALBASE for Perl, so
 # bsd.port.options.mk is needed before including it.
 .include <bsd.port.options.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
 .include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
 
 # if this port is default due PERL5_DEFAULT
@@ -202,9 +205,21 @@ PLIST_SUB+=	PERL_VERSION=${PERL_VERSION}
 		ARCH_LIB=${_ARCH_LIB}
 
 # Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah.  While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
 post-extract:
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+	@${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+	@${RM} ${_PERL5_DEFAULT_FILE}
+.endif
 
 .if !defined(MAKING_PATCHES)
 # make clean patch makepatch MAKING_PATCHES=

Modified: head/lang/perl5.20/Makefile
==============================================================================
--- head/lang/perl5.20/Makefile	Thu Oct 15 14:19:52 2015	(r399341)
+++ head/lang/perl5.20/Makefile	Thu Oct 15 14:24:43 2015	(r399342)
@@ -148,9 +148,12 @@ PLIST_SUB+=	PERL_VERSION=${PERL_VERSION}
 		PRIV_LIB=${_PRIV_LIB} \
 		ARCH_LIB=${_ARCH_LIB}
 
+_PERL5_DEFAULT_FILE=	/tmp/PERL5_DEFAULT
+
 # bsd.default-versions.mk needs to know LOCALBASE for Perl, so
 # bsd.port.options.mk is needed before including it.
 .include <bsd.port.options.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
 .include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
 
 # if this port is default due PERL5_DEFAULT
@@ -197,9 +200,21 @@ pre-everything::
 .endif
 
 # Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah.  While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
 post-extract:
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+	@${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+	@${RM} ${_PERL5_DEFAULT_FILE}
+.endif
 
 .if !defined(MAKING_PATCHES)
 # make clean patch makepatch MAKING_PATCHES=

Modified: head/lang/perl5.22/Makefile
==============================================================================
--- head/lang/perl5.22/Makefile	Thu Oct 15 14:19:52 2015	(r399341)
+++ head/lang/perl5.22/Makefile	Thu Oct 15 14:24:43 2015	(r399342)
@@ -146,9 +146,12 @@ PLIST_SUB+=	PERL_VERSION=${PERL_VERSION}
 		PRIV_LIB=${_PRIV_LIB} \
 		ARCH_LIB=${_ARCH_LIB}
 
+_PERL5_DEFAULT_FILE=	/tmp/PERL5_DEFAULT
+
 # bsd.default-versions.mk needs to know LOCALBASE for Perl, so
 # bsd.port.options.mk is needed before including it.
 .include <bsd.port.options.mk>
+.sinclude "${_PERL5_DEFAULT_FILE}"
 .include "${.CURDIR}/../../Mk/bsd.default-versions.mk"
 
 # if this port is default due PERL5_DEFAULT
@@ -195,9 +198,21 @@ pre-everything::
 .endif
 
 # Put a symlink to the future libperl.so.x.yy so that -lperl works.
+# Also, save PERL5_DEFAULT in case someone is not using the default Perl
+# version whilst not having set DEFAULT_VERSIONS=perl5=blah.  While upgrading,
+# portmaster/portupgrade will remove the installed Perl version, and it will
+# remove any way to guess what the default Perl version is needed.
 post-extract:
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
 	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
+.if !defined(PACKAGE_BUILDING)
+	@${ECHO_CMD} "PERL5_DEFAULT=${PERL5_DEFAULT}" > ${_PERL5_DEFAULT_FILE}
+.endif
+
+.if !defined(PACKAGE_BUILDING)
+post-clean:
+	@${RM} ${_PERL5_DEFAULT_FILE}
+.endif
 
 .if !defined(MAKING_PATCHES)
 # make clean patch makepatch MAKING_PATCHES=


More information about the svn-ports-head mailing list