From 0d9584724ff1c011f587540c2d25be8a90a81413 Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Tue, 7 Aug 2018 16:00:19 -0600 Subject: [PATCH] perl: version modules and non-base packages Currently external modules and non-base packages are numbered from their own internal number space, and even though the Perl ABI number is embedded into them this isn't externally visible. For example, perl-html-parser-3.72.1 could be built for ABI 5.26 or for 5.28, we can't easily tell. This changes all of that by embedding the ABI number into the filename. Signed-off-by: Philip Prindeville --- lang/perl/Makefile | 6 ++++-- lang/perl/perlmod.mk | 10 ++++++++-- lang/perl/perlver.mk | 10 ++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 lang/perl/perlver.mk diff --git a/lang/perl/Makefile b/lang/perl/Makefile index 60c304691b..86a4351ac3 100644 --- a/lang/perl/Makefile +++ b/lang/perl/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2016 OpenWrt.org +# Copyright (C) 2006-2018 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -7,8 +7,10 @@ include $(TOPDIR)/rules.mk +include perlver.mk + PKG_NAME:=perl -PKG_VERSION:=5.28.0 +PKG_VERSION:=$(PERL_VERSION) PKG_RELEASE:=1 PKG_SOURCE_URL:=\ diff --git a/lang/perl/perlmod.mk b/lang/perl/perlmod.mk index 48adea666f..d00a8c42ec 100644 --- a/lang/perl/perlmod.mk +++ b/lang/perl/perlmod.mk @@ -1,7 +1,13 @@ # This makefile simplifies perl module builds. # -PERL_VERSION:=5.28 +include ../perl/perlver.mk + +ifneq ($(PKG_NAME),perl) + PKG_VERSION:=$(PKG_VERSION)+perl$(PERL_VERSION2) +endif + +PERL_VERSION:=$(PERL_VERSION2) # Build environment HOST_PERL_PREFIX:=$(STAGING_DIR_HOSTPKG)/usr @@ -9,7 +15,7 @@ ifneq ($(CONFIG_USE_GLIBC),) EXTRA_LIBS:=bsd EXTRA_LIBDIRS:=$(STAGING_DIR)/lib endif -PERL_CMD:=$(STAGING_DIR_HOSTPKG)/usr/bin/perl$(PERL_VERSION).0 +PERL_CMD:=$(STAGING_DIR_HOSTPKG)/usr/bin/perl$(PERL_VERSION3) MOD_CFLAGS_PERL:=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) ifdef CONFIG_PERL_THREADS diff --git a/lang/perl/perlver.mk b/lang/perl/perlver.mk new file mode 100644 index 0000000000..b23e68a205 --- /dev/null +++ b/lang/perl/perlver.mk @@ -0,0 +1,10 @@ +PERL_VERSION:=5.28.0 + +PERL_EXPLODE:=$(subst ., ,$(PERL_VERSION)) + +PERL_MAJOR:=$(word 1,$(PERL_EXPLODE)) +PERL_MINOR:=$(word 2,$(PERL_EXPLODE)) +PERL_REL:=$(word 3,$(PERL_EXPLODE)) + +PERL_VERSION3:=$(PERL_VERSION) +PERL_VERSION2:=$(PERL_MAJOR).$(PERL_MINOR)