perlmod: global knob to disable comment stripping modules 3740/head
authorPhilip Prindeville <philipp@redfish-solutions.com>
Tue, 3 Jan 2017 05:55:17 +0000 (22:55 -0700)
committerPhilip Prindeville <philipp@redfish-solutions.com>
Wed, 11 Jan 2017 21:31:09 +0000 (14:31 -0700)
Certain strings are misinterpreted as comments by perlmod.mk and removed
when they shouldn't be (in particular, perl-cgi).  Enable this whenever
you have sufficient flash space.

Globally, CONFIG_PERL_NOCOMMENT=y (default) causes comments to be stripped
as before.  However, a package (like perl-cgi) can override this with
PKG_LEAVE_COMMENTS=1.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
lang/perl/Config.in
lang/perl/Makefile
lang/perl/perlmod.mk

index 14aedc285ca1aebd31cd5dd6893c0e12b7e31119..65a3a47d7163ac6f5113d513a5701979b9b76244 100644 (file)
@@ -17,4 +17,15 @@ config PERL_TESTS
                Test support is still in development. Some tests will fail,
                others are just missing completely.
 
+config PERL_NOCOMMENT
+       bool "Strip comments and pod sections from modules"
+       default y
+       help
+               Remove comments and pod sections for all perl packages.
+
+               This will descrease the size of perl libraries moderately.
+
+               Stripping occasionally gets confused and mangles valid code,
+               so disable this option if you're not pressed for space.
+
 endmenu
index 7c7f10d4e0878e539a6310eaa66ebcb59444466d..278c56c5788733a4574b85373de733e6926c5b4a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=perl
 PKG_VERSION:=5.22.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE_URL:=ftp://ftp.cpan.org/pub/CPAN/src/5.0 \
                http://www.cpan.org/src/5.0 \
@@ -24,7 +24,8 @@ PKG_MD5SUM:=19295bbb775a3c36123161b9bf4892f1
 
 PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl
 PKG_LICENSE_FILES:=Copying Artistic README
-PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
+PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>, \
+               Philip Prindeville <philipp@redfish-solutions.com>
 
 # Build settings
 PKG_BUILD_DIR:=$(BUILD_DIR)/perl/$(PKG_NAME)-$(PKG_VERSION)
index c64942fedee3b8bc161e029f51caa4f4b1c7cd02..73fae5d3da480268f675922b6abfd27dc4059f84 100644 (file)
@@ -129,9 +129,7 @@ define perlmod/Install/NoStrip
 endef
 
 
-define perlmod/Install
-       $(call perlmod/Install/NoStrip,$(1),$(2),$(3))
-
+define perlmod/_DoStrip
        @echo "---> Stripping modules in: $(strip $(1))$(PERL_SITELIB)"
        find $(strip $(1))$(PERL_SITELIB) -name \*.pm -or -name \*.pl | \
        xargs -r sed -i \
@@ -141,6 +139,12 @@ define perlmod/Install
                -e '/^#[^!"'"'"']/d'
 endef
 
+define perlmod/Install
+       $(call perlmod/Install/NoStrip,$(1),$(2),$(3))
+
+       $(if $(CONFIG_PERL_NOCOMMENT),$(if $(PKG_LEAVE_COMMENTS),,$(call perlmod/_DoStrip,$(1),$(2),$(3))))
+endef
+
 # You probably don't want to use this directly. Look at perlmod/InstallTests
 define perlmod/_InstallTests
        $(INSTALL_DIR) $(strip $(1))