aboutsummaryrefslogtreecommitdiff
path: root/lang/perl/perlmod.mk
Commit message (Collapse)AuthorAge
* perl: perlmod: append _LARGEFILE64_SOURCE flag for musl 1.2.4Tianling Shen2023-05-20
| | | | | | | | | musl 1.2.4 deprecated legacy "LFS64" ("large file support") interfaces so just having _GNU_SOURCE defined is not enough anymore. Manually pass -D_LARGEFILE64_SOURCE to allow to keep using LFS64 definitions. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* perl: perlmod.mk: use flock when hostpkg/perl usedEneas U de Queiroz2021-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | Avoid parallel relinking and usage of the host perl binary by wrapping its usage around flock calls. Sometimes, two packages will try to relink the static host perl binary at the same time. Neither of them will have the other's module linked in, and one of them will unavoidably clobber the other one's binary. This will lead to errors when a package will not be able to find a module that was supposed to be installed. To fix that, an exclusive flock is used when relinking, with a 900 seconds timeout to avoid locking up the build process forever. This is not enough because the binary may be concurrently used to build another module package; perl is used in Configure, Compile, and Install procedures. If timing is right, a package will fail with a "permission denied" error. So a shared flock call is added in Configure, Compile, and Install definitions for host and target, with a shorter, 300 seconds timeout. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* perl: perlmod.mk: use 'install' for host binariesEneas U de Queiroz2021-08-11
| | | | | | | | | When installing a host perl module, the host perl binary in the staging dir is replaced by using 'cp'. However, if the binary is running in a parallel job, cp will fail with a text file busy error. Use $(INSTALL_BIN), which unliks the file first to avoid the error. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* perlmod: fix ability to build module out-of-feedPhilip Prindeville2018-09-23
| | | | Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* perl: version modules and non-base packagesPhilip Prindeville2018-08-13
| | | | | | | | | | | | 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 <philipp@redfish-solutions.com>
* perl: update to 5.28Philip Prindeville2018-07-31
| | | | | | | | | | Refresh patches 900 and 910. Add fix (920) for improperly gated variable. Add workaround (020) for Storable's run-time check for stacksize. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* perlmod: avoid 'do' semantics and just concatenatePhilip Prindeville2018-01-25
| | | | | | | | | | | In Perl the 'do' construct has some odd side-effects regarding $@, $!, and return values (i.e. 'do'ing a file which evaluates to undef can be a little ambiguous). Instead, generate a preamble to the Makefile.PL and execute it as stdin. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* Revert "perl: when Makefile.PL fails give more feedback"Philip Prindeville2018-01-25
| | | | | | This reverts commit a4aaaf8d8f2eb6d8431f8b1a97ba97380364aa04. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* Revert "perlmod: redux handling odd Makefile.PL eval value"Philip Prindeville2018-01-25
| | | | | | This reverts commit f03cd7b5aca1c7b041ca120cbf684d1b3c48c236. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* perlmod: redux handling odd Makefile.PL eval valuePhilip Prindeville2017-11-07
| | | | | | | It seems that Inline::C evaluates to undef which is problematic, so we need to handle this better. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* perl: when Makefile.PL fails give more feedbackPhilip Prindeville2017-10-27
| | | | | | | | | | There are a few packages which mysteriously fail during the configure stage. Give us better means of understanding why. Also, some Makefile.PL's have "use" statements which reference files which are in or under ".". Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* perl: modules failing due to dot not in @INCPhilip Prindeville2017-10-27
| | | | | | | | 5.26.1 introduced default_inc_excludes_dot which is causing perl-html-tags and possibly other modules to fail. Add explict dot back when invoking module's ./Makefile.PL. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* perl: update to 5.26.1Philip Prindeville2017-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Required changes: * Add qualifying '.' to scripts or to @INC, as appropriate since we're enabling default_inc_excludes_dot; * Add new platform/library definitions like double-double format and locale library functions/headers; * Delete patch 020 as it's been upstreamed; Optional changes: * Instead of using -@rm and having that fail, emit an error message, and be ignored, just use @rm -f instead which will always succeed. Security [CVE-2017-12837] Heap buffer overflow in regular expression compiler Compiling certain regular expression patterns with the case-insensitive modifier could cause a heap buffer overflow and crash perl. This has now been fixed. [perl #131582] [CVE-2017-12883] Buffer over-read in regular expression parser For certain types of syntax error in a regular expression pattern, the error message could either contain the contents of a random, possibly large, chunk of memory, or could crash perl. This has now been fixed. [perl #131598] [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows A possible stack buffer overflow in the %ENV code on Windows has been fixed by removing the buffer completely since it was superfluous anyway. [perl #131665] Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* lang/perl: Upgraded to Perl 5.24.1Michail Frolov2017-05-10
| | | | Signed-off-by: Michail Frolov <frolovm@pobox.com>
* Merge pull request #3740 from pprindeville/fix-perlmod-strippingHannu Nyman2017-01-11
|\ | | | | perlmod: global knob to disable comment stripping modules
| * perlmod: global knob to disable comment stripping modulesPhilip Prindeville2017-01-11
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | treewide: replace $(STAGING_DIR)/host and $(HOST_BUILD_PREFIX) with ↵Matthias Schiffer2017-01-10
|/ | | | | | | | | | | | | | | | | | $(STAGING_DIR_HOSTPKG) As both LEDE and OpenWrt have STAGING_DIR_HOSTPKG now, we can start to rely on it. See 73b7f55424de52d8179a9ad808252fe3bf8dcc9d for more information on STAGING_DIR_HOSTPKG. STAGING_DIR_HOSTPKG won't actually be changed before the first LEDE release (it is equivalent to $(STAGING_DIR)/host), so this simple search/replace cleanup is safe to apply. Doing this cleanup now will be useful for the Gluon project (an OpenWrt/LEDE based firmware framework) for experimenting with modifying STAGING_DIR_HOSTPKG before doing this in the LEDE upstream. Also fixes a typo in the dbus Makefile ("STAGIND_DIR"). Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* treewide: use $(STAGING_DIR)/host instead of $(STAGING_DIR_HOST), sync with ↵Felix Fietkau2016-01-20
| | | | | | changes in trunk Signed-off-by: Felix Fietkau <nbd@openwrt.org>
* perl: Properly override PERL_INC for subdirectory buildsMarcel Denia2015-09-14
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Update to 5.22.0Marcel Denia2015-06-18
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Have perl's major version number in one central placeMarcel Denia2015-06-18
| | | | | | This will simplify updating the package in the future. Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Pass _LARGEFILE_SOURCE and _FILE_OFFSET_BITS in cflagsMarcel Denia2015-05-27
| | | | | | Fixes broken largefile support. Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Allow changing the default directory for perlmod/CompileMarcel Denia2015-05-27
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Add "-rdynamic" to LDDLFLAGS override in perlmod/ConfigureMarcel Denia2015-05-27
| | | | | | perl would have done the same. Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Override cpprun configuration symbolMarcel Denia2015-05-27
| | | | | | | | | This will not change any existing packages' functionality. All packages that used this symbol before during build(with it's value being "cc -E") most likely would've failed compilation. Note that this change is only in effect during build. Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Allow changing the default directory for perlmod/ConfigureMarcel Denia2015-05-27
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* global: change all instances of USE_EGLIBC to USE_GLIBCJohn Crispin2015-03-12
| | | | Signed-off-by: John Crispin <blogic@openwrt.org>
* perl: Provide correct CFLAGS through perlmod.mkMarcel Denia2015-02-07
| | | | | | | | | In case threading is enabled, perl is compiled with -D_REENTRANT and -D_GNU_SOURCE, which, apart from other things, enables usage of off64_t. As we override module CFLAGS manually, we'll have to pass that flags as well. Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Also strip begin, end and for pragmasMarcel Denia2014-11-06
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Add basic test supportMarcel Denia2014-11-06
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* perl: Add perlmod host rulesMarcel Denia2014-08-14
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Strip encoding pragmaMarcel Denia2014-07-24
| | | | | | | The "encoding" pragma is officially deprecated. Makes HTML::Parser/HTML::Entities work. Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Use target headers for external modulesMarcel Denia2014-07-22
| | | | | | | | Before, external modules actually used host-perl headers. Aside from obviously being the wrong thing to do, it made them misbehave if host and target architectures differ too much. Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Override CCFLAGS configuration symbol in perlmodMarcel Denia2014-07-21
| | | | | | | This makes external perl modules compile their native code with the correct CFLAGS, not with the one host-perl is using. Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Clean up, add commentsMarcel Denia2014-07-19
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Override perl configuration symbols for cross-compileMarcel Denia2014-07-19
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Update paths in perlmod.mkMarcel Denia2014-07-19
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Remove PERL_LIB from perlmod.mkMarcel Denia2014-07-19
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* lang/perl: Fix paths in perlmod.mkMarcel Denia2014-07-07
| | | | Signed-off-by: Marcel Denia <naoir@gmx.net>
* Import of oldpackages/perlMarcel Denia2014-07-07
Signed-off-by: Marcel Denia <naoir@gmx.net>