Marcel Telka
2022-07-10 45844d641426790fb63fb4d68af205844cfa39f7
Introduce PERL_VERSIONS_OBSOLETING and make PERL_REQUIRED_PACKAGES available for all components (#8608)

3 files modified
28 ■■■■ changed files
make-rules/ips.mk 12 ●●●● patch | view | raw | blame | history
make-rules/makemaker.mk 3 ●●●●● patch | view | raw | blame | history
make-rules/shared-macros.mk 13 ●●●●● patch | view | raw | blame | history
make-rules/ips.mk
@@ -238,12 +238,20 @@
PERLV_FMRI_VERSION = PLV
PERLV_MANIFESTS = $(foreach v,$(PERLV_VALUES),$(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER.p5m/-$(v).p5m/g'))
PERLNV_MANIFESTS = $(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER//')
# Convert REQUIRED_PACKAGES to PERL_REQUIRED_PACKAGES where appropriate
REQUIRED_PACKAGES_TRANSFORM += $(foreach v,$(PERLV_VALUES) $$(PLV), -e 's/^\(.*\)-$(v)$$/PERL_\1/g')
else
NOPERL_MANIFESTS = $(NOPY_MANIFESTS)
endif
# PERL_PLV_VALUES contains list of all possible PLV values we could encounter:
# - for all currently supported perl versions (from PERL_VERSIONS)
# - for all perl versions we are currently obsoleting (from PERL_VERSIONS_OBSOLETING)
# - the $(PLV) string itself
PERL_PLV_VALUES = $(shell echo $(PERL_VERSIONS) $(PERL_VERSIONS_OBSOLETING) | tr -d .) $$(PLV)
# Convert REQUIRED_PACKAGES to PERL_REQUIRED_PACKAGES for runtime/perl
REQUIRED_PACKAGES_TRANSFORM += $(foreach v,$(PERL_PLV_VALUES), -e 's|^\(.*runtime/perl\)-$(v)$$|PERL_\1|g')
# Convert REQUIRED_PACKAGES to PERL_REQUIRED_PACKAGES for library/perl-5/*
REQUIRED_PACKAGES_TRANSFORM += $(foreach v,$(PERL_PLV_VALUES), -e 's|^\(.*library/perl-5/.*\)-$(v)$$|PERL_\1|g')
# Look for manifests which need to be duplicated for each version of ruby.
# NOPERL_MANIFESTS represents the manifests that are not Python or
# Perl manifests.  Extract the Ruby Manifests from NOPERL_MANIFESTS.
make-rules/makemaker.mk
@@ -55,9 +55,6 @@
# Particular perl runtime is always required (at least to run Makefile.PL)
PERL_REQUIRED_PACKAGES += runtime/perl
# Generate requirements on all built perl version variants for given packages
REQUIRED_PACKAGES += $(foreach ver,$(PERL_VERSIONS),$(PERL_REQUIRED_PACKAGES:%=%-$(shell echo $(ver) | tr -d .)))
# Yes.  Perl is just scripts, for now, but we need architecture
# directories so that it populates all architecture prototype
# directories.
make-rules/shared-macros.mk
@@ -802,6 +802,16 @@
PERL_VERSIONS = 5.22 5.24 5.34
PERL_64_ONLY_VERSIONS = 5.24 5.34
# List of perl versions we are currently obsoleting.  We no longer build any
# packages for these perl versions, but there still might be hanging some not
# obsoleted yet versioned packages built for PERL_VERSIONS_OBSOLETING perl
# versions.  Or there is just the versioned runtime/perl package still
# available.
#
# This list should be usually empty.  Intersection of PERL_VERSIONS_OBSOLETING
# and PERL_VERSIONS lists MUST be always empty.
PERL_VERSIONS_OBSOLETING =
define perl-path-rule
PERL.$(1) =        /usr/perl5/$(1)/bin/perl
POD2MAN.$(1) =        /usr/perl5/$(1)/bin/pod2man
@@ -1433,6 +1443,9 @@
REQUIRED_PACKAGES_SUBST+= GFORTRAN_RUNTIME_PKG
REQUIRED_PACKAGES_SUBST+= GOBJC_RUNTIME_PKG
# Generate requirements on all built perl version variants for given packages
REQUIRED_PACKAGES += $(foreach ver,$(PERL_VERSIONS),$(PERL_REQUIRED_PACKAGES:%=%-$(shell echo $(ver) | tr -d .)))
include $(WS_MAKE_RULES)/environment.mk
include $(WS_MAKE_RULES)/depend.mk
include $(WS_MAKE_RULES)/component.mk