Browse Source

Merge pull request #16382 from cotequeiroz/perl_flock

perl: perlmod.mk: wrap hostpkg perl usage around flock
lilik-openwrt-22.03
Rosen Penev 3 years ago
committed by GitHub
parent
commit
a231c25e8f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 8 deletions
  1. +20
    -8
      lang/perl/perlmod.mk

+ 20
- 8
lang/perl/perlmod.mk View File

@ -32,39 +32,49 @@ PERL_TESTSDIR:=/usr/share/perl/perl-tests
PERLBASE_TESTSDIR:=/usr/share/perl/perlbase-tests
PERLMOD_TESTSDIR:=/usr/share/perl/perlmod-tests
FLOCK:=$(STAGING_DIR_HOST)/bin/flock
define perlmod/host/relink
rm -f $(1)/Makefile.aperl
$(MAKE) -C $(1) perl
$(INSTALL_BIN) $(1)/perl $(PERL_CMD)
$(INSTALL_BIN) $(1)/perl $(STAGING_DIR_HOSTPKG)/usr/bin/perl
($(FLOCK) -w 900 9 || { echo perlmod/host/relink: failed to acquire lock; exit 1; }; \
$(MAKE) -C $(1) perl && \
$(INSTALL_BIN) $(1)/perl $(PERL_CMD) && \
$(INSTALL_BIN) $(1)/perl $(STAGING_DIR_HOSTPKG)/usr/bin/perl \
) 9> $(TMP_DIR)/.perlmod-perl.flock
endef
define perlmod/host/Configure
(cd $(HOST_BUILD_DIR); \
$(FLOCK) -s -w 300 9 || { echo perlmod/host/Configure: failed to acquire lock; exit 1; }; \
PERL_MM_USE_DEFAULT=1 \
$(2) \
$(PERL_CMD) Makefile.PL \
$(1) \
);
) 9> $(TMP_DIR)/.perlmod-perl.flock;
endef
define perlmod/host/Compile
($(FLOCK) -s -w 300 9 || { echo perlmod/host/Compile: failed to acquire lock; exit 1; }; \
$(2) \
$(MAKE) -C $(HOST_BUILD_DIR) \
$(1) \
install
install \
) 9> $(TMP_DIR)/.perlmod-perl.flock
endef
define perlmod/host/Install
($(FLOCK) -s -w 300 9 || { echo perlmod/host/Install: failed to acquire lock; exit 1; }; \
$(2) \
$(MAKE) -C $(HOST_BUILD_DIR) \
$(1) \
install
install \
) 9> $(TMP_DIR)/.perlmod-perl.flock
$(call perlmod/host/relink,$(HOST_BUILD_DIR))
endef
define perlmod/Configure
(cd $(if $(3),$(3),$(PKG_BUILD_DIR)); \
$(FLOCK) -s -w 300 9 || { echo perlmod/Configure: failed to acquire lock; exit 1; }; \
(echo -e 'use Config;\n\n$$$${tied %Config::Config}{cpprun}="$(GNU_TARGET_NAME)-cpp -E";\n' ; cat Makefile.PL) | \
PERL_MM_USE_DEFAULT=1 \
$(2) \
@ -114,16 +124,18 @@ define perlmod/Configure
INSTALLVENDORMAN3DIR=" " \
LINKTYPE=dynamic \
DESTDIR=$(PKG_INSTALL_DIR) \
)
) 9> $(TMP_DIR)/.perlmod-perl.flock
sed -i -e 's!^PERL_INC = .*!PERL_INC = $(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/CORE/!' $(if $(3),$(3),$(PKG_BUILD_DIR))/Makefile
endef
define perlmod/Compile
($(FLOCK) -s -w 300 9 || { echo perlmod/Compile: failed to acquire lock; exit 1; }; \
PERL5LIB=$(PERL_LIB) \
$(2) \
$(MAKE) -C $(if $(3),$(3),$(PKG_BUILD_DIR)) \
$(1) \
install
install \
) 9> $(TMP_DIR)/.perlmod-perl.flock
endef
define perlmod/Install/NoStrip


Loading…
Cancel
Save