summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl
AgeCommit message (Collapse)Author
2022-03-02perl: Makefile.PL: Fix _PATH_LOG for deterministicRobert Yang
It checks host's path such as /dev/log and uses it, this doesn't make sense for cross build, and it causes undeterministic, for example, the contianer os usually doesn't have /dev/log which leads to a different build result since other host usually has /dev/log, so make it always use the default value to fix the issue. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2022-02-21libxml-parser-perl: Add missing RDEPENDSRichard Purdie
Running the ptest package in an image alone highlighted missing module dependencies. Add them to fix those errors. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21perl: Improve and update module RPDEPENDSRichard Purdie
The perl module RDEPENDS needed refreshing so I updated it with the script. I also found a ton of issues with missing test2 module dependencies so I've tweaked the generator script to improve those. For some reason they were previously excluded but I can't see anything wrong with the generated dependencies so I've added them. A number of manual dependencies were still needed in addition. I did notice an issue with trailing ")" characters so the sed is updated to handle that (it did already handle "("). This fixes issues seen in the dependecies for libxml-parser-perl's ptest package. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-20meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX ↵Richard Purdie
license identifiers An automated conversion using scripts/contrib/convert-spdx-licenses.py to convert to use the standard SPDX license identifiers. Two recipes in meta-selftest were not converted as they're that way specifically for testing. A change in linux-firmware was also skipped and may need a more manual tweak. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-07perl: Enable threadingSaul Wold
When the tranisiton to perl-cross occured, the threading define seems to have been missed. The perl tests for threading where simply skipped, so there was no direct failures. This was verified by running perl ptest before and after the change to see PASS vs SKIP results of threaded related tests. NOTE: Perl officially discourges the use of threads, so this functionality maybe depercated in the future [0][1] v2: adds the usethreads to native and nativesdk. This was tested by builing postresql and rrdtool which use perl and automake. [0] https://perldoc.perl.org/5.34.0-RC2/threads#WARNING [1] https://perldoc.perl.org/perlpolicy#discouraged Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-06perl: replace a patch with a config optionAlexander Kanavin
Instead of patching in LDFLAGS into makefiles, simply append them to 'lddlflags' (perl's keyword for 'linker flags'). See here for upstream discussions: https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/406 https://github.com/arsv/perl-cross/pull/124 Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-29perl: submitted patch upstreamAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-21patches: correct whitespace/spelling for Upstream-Status tagsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-05perl: backport gdbm 1.2x compatibility fixesAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-11perl: do not build berkeley db module by defaultAlexander Kanavin
Bdb is unmaintained and altogether obsolete, the less dependencies we have on it, the better. This leaves only apt (specifically, apt-ftparchive) in core as a bdb consumer, sadly it has a hard dependency that isn't easy to patch out. Maybe apt upstream will get to it at some point. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-04sstatesig: Add processing for full build paths in sysroot filesRichard Purdie
Some files in the populate_sysroot tasks have hardcoded paths in them, particularly if they are postinst-useradd- files or crossscripts. Add some filtering logic to remove these paths. This means that the hashequiv "outhash" matches correcting in more cases allowing for better build artefact reuse. To make this work a new variable is added SSTATE_HASHEQUIV_FILEMAP which maps file globbing to replacement patterns (paths or regex) on a per sstate task basis. It is hoped this shouldn't be needed in many cases. We are in the process to developing QA tests which will better detect issues in this area to allow optimal sstate reuse. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-11perl: fix CVE-2021-36770Kai Kang
Backport patch to fix CVE-2021-36770. And drop the section of code which updates version. CVE: CVE-2021-36770 Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-13perl: do_create_rdepends_inc override syntaxTim Orling
The do_create_rdepends_inc function is used to recreate the perl-rdepends.txt file. Update RDEPENDS_ to RDEPENDS: for the new override syntax. Signed-off-by: Tim Orling <timothy.t.orling@intel.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-07perl: correct libpth and glibpthMingli Yu
Previouly there is a logic as below used to set libpth in config.sh. libpth='@LIBDIR@ @BASELIBDIR@' But after the below commits introduced, the above logic is dropped. 52f2828314 perl: add a version that builds the recipe using perl-cross, and update to 5.28.1 68552c3532 perl: remove the previous version of the recipe So correct the value of libpth and glibpth to add the dropped logic back to avoid confusing. Before the patch(on 64bits system): # perl -V:libpth libpth='/usr/lib /lib'; After the patch(on 64bits system): # perl -V:libpth libpth='/usr/lib64 /lib64'; Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-06perl: update 5.32.1 -> 5.34.0Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-06perl: split perl-cross into its own recipeAlexander Kanavin
As perl and perl-cross need to be updated (and patches rebased) in lockstep, devtool upgrade (and therefore AUH) can't cope with it. Manually updating is still possible, but painful. Split determinism.patch into perl and perl-cross parts, move the rest of the perl-cross patches. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-28libtest-needs-perl: upgrade 0.002006 -> 0.002009zhengruoqin
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06Revert "perl: fix startperl configuration option for perl-native"Richard Purdie
This reverts commit f2d1523b19cb066a4a06609f036822fe4a8b43f0. We've reports of a number of failures from this, it causes pod2man to reference full paths to perl rather than nativeperl from the environment. I've also seen this issue locally now. Revert until we can find a solution which works for everyone. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23perl: fix startperl configuration option for perl-nativePaulo Cesar Zaneti
Unlike vanilla Perl "Configure" script, perl-cross "configure" does not derive "startperl" from "bin". It instead derives from "perlpath". This patch aims to fix "startperl" configuration option for perl-native by correctly setting "perlpath" on perl-cross "configure" script. It also changes do_install_append_class-native task to comply with cpan_do_install task. Signed-off-by: Paulo Cesar Zaneti <paulo.zaneti@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-05perl: fix creation and generate new perl-rdepends.txtAwais Belal
The creation of perl-rdepends.txt simply copied over the generated list (perl-rdepends.generated) to perl-rdepends.txt while missing out the manual dependencies placed in perl-rdepends.inc. This caused missing runtime dependencies. Additionally, the mechanism always appended which then produced duplicated lines in perl-rdepends.txt if the creation function is run multiple times. We now concatenate both the .inc and .generated to the final .txt so manual and generated both types of dependencies make it to the final configuration. A new perl-rdepends.txt is then generated with these fixes. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-05perl: allow empty lines and comments in perl-rdepends.txtAwais Belal
With this change the rdepends file can now have empty lines and comment lines. The perl-rdepends.txt generation will be fixed with further commits to leverage this change. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-20liburi-perl: upgrade 1.74 -> 5.08zhengruoqin
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02perl: update 5.32.0 -> 5.32.1Alexander Kanavin
Drop perl-cross-makefile.patch as it is merged upstream. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26meta/recipes-devtools: Add HOMEPAGE / DESCRIPTIONDorinda
Added HOMEPAGE and DESCRIPTION for recipes with missing decriptions or homepage [YOCTO #13471] Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-15perl: fix installation failure because of shell issueDmitry Baryshkov
On one of my buildservers I noticed perl do_install failing with the following message: | rm: cannot remove '<OEROOT>/tmp-rpb-glibc/work/armv8-2a-linaro-linux/perl/5.32.0-r0/image//usr/lib/perl5/5.32.0/*/CORE/libperl.so': No such file or directory I tracked this down to shell being dash rather than bash not being able to expand this glob in the middle of the filename. So replace the glob expansion with the simpler one which works in all cases. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-13perl: Add check for non-arch Storable.pm fileJoshua Watt
Under unknown conditions, Storable.pm will be placed in the base library directory instead of under the arch specific one. This causes build issues, see https://bugzilla.yoctoproject.org/show_bug.cgi?id=13946. To try and catch this happening, add an explicit check for the bad file existing and fail the build if it is found. [YOCTO #13946] Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-27perl: Avoid race continually rebuilding miniperlRichard Purdie
When we run "make install" we notice miniperl rebuilding multiple times. Usually this is harmless however sometimes race issues occur such as miniperl not being executable. The issue is that crosspatch is a phony target so it always rebuilds. Adding this as a dependency of miniperl means miniperl always rebuilds too. Avoid this by injecting a direct dependency avoiding the phony target. miniperl is then only rebuilt when its input changes as desired. Patch submitted to upstream perl-cross. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-28perl: update 5.30.2 -> 5.32.0Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-24recipes: Fix Upstream-Status Accepted -> BackportRichard Purdie
It helps our stats tracking to use Backport consitently, it mreans the same thing as Accepted in pretty much all cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-17perl: use relative paths in the perl wrapperSamuli Piippo
Use SDKPATHNATIVE so that the perl wrapper for the nativesdk can be created using relative paths and without dependency to the environment variables. Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-17perl: Fix host specific modules problemsRichard Purdie
We were seeing a ton of empty perl modules being created such as "perl-module-x86-64-linux-encoding" where the name would include ${TARGET_ARCH}-linux. These files were already being filtered in an earlier do_split_packages() expression so exclude them from the latter one to remove the pointless empty modules in PACKAGES. This doesn't explain why some were not deterministic but will recude the do_package execution time and clean up the build directories at the very least. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-27multilib/recipes: Use new RecipePostKeyExpansion eventRichard Purdie
There are issues with multilib due to the ordering of events where some functions see the remapped multilib dependencies and some do not. A significant problem is that the multilib class needs to make some changes before key expansion and some afterwards but by using existing event handlers, some code sees things in a partially translated state, leading to bugs. This patch changes things to use a new event handler from bitbake which makes the ordering of the changes explcit. The challenge in doing this is that it breaks some existing anonymous python and dyanmic assignments. In some cases these used to be translated and no longer are, meaning MLPREFIX has to be added. In some cases these are now translated and the MLPREFIX can be removed. This change does now make it very clear when MLPREFIX is required and when it is not, its just the migration path which is harder. The patch changes the small number of cases where fixes are needed. In particular, where a variable like RDEPENDS is conditionally extended (e.g. with an override), MLPREFIX is now required. This patch also reverts: base: Revert 'base.bbclass: considering multilib when setting LICENSE_EXCLUSION' This reverts 6597130256a1609c3e05ec5891aceaf549c37985 as the changes to multilib datastore handling mean its no longer necessary. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-29perl: update to 5.30.2Alexander Kanavin
racefix.patch was merged to perl-cross determinism.patch was partially merged to perl-cross 0001-tests-adjust-to-correctly-exclude-unbuilt-extensions.patch is no longer needed as issue is addressed upstream. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-25perl: Add missing dependency for tie-hash on carp.Drew Moseley
Signed-off-by: Drew Moseley <drew.moseley@northern.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06libmodule-build-perl: make it reproducibleAlexander Kanavin
Particularly, delete html docs as they have sysroot paths in them, and adjust build configuration to not refer to host paths either. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29libmodule-build-perl: upgrade 0.4229 -> 0.4231Tim Orling
Upstream release notes: " 0.4231 - Wed Jan 29 08:47:56 CET 2020 - Released 0.42_30 without code changes 0.42_30 - Wed Jul 31 13:15:39 CEST 2019 - Add dependency on ExtUtils::PL2Bat " Add ptest RDEPENDS: - ExtUtils::Command::MM for t/compat.t - gcc, make didn't seem like enough for ptest, replace with packagegroup-core-buildessential which definitely works - perl-dev for EXTERN.h in t/xs.t Add INSANE_SKIP dev-deps for the -ptest package because of perl-dev Five tests from t/help.t are skipped because they are TODO t/par.t is skipped because PAR::Dist (0.17+) is not present t/ppm.t is skipped because "HTML support not installed" All other tests pass. Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28perl: fix lib/warnings test on core-image-satoMingde (Matthew) Zeng
Fixes [YOCTO #13296] The lib/warnings test fails on certain images such as core-image-sato. The upstream has already fixed this issue, thus submitting the relevent backport patch. Signed-off-by: Matthew Zeng <matthew.zeng@windriver.com> -- Mingde (Matthew) Zeng Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21liberror-perl: upgrade 0.17028 -> 0.17029Tim Orling
Upstream release notes: " 0.17029 2020-01-28 - Rebuild for order of 'NAME' and 'VERSION' sections in the generated POD documentation (see 0.001004 in https://metacpan.org/changes/distribution/Pod-Weaver-PluginBundle-SHLOMIF ). - VERSION used to appear before NAME. " Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19perl: Fix makefile race causing configuration differencesRichard Purdie
Add a missing makefile dependency which can cause differences in configuration (submitted upstream). [YOCTO #13800] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18perl: Fix encode module reproducibility issuesRichard Purdie
The code is encoding host compiler parameters into target builds. Avoid this for our target builds. This should resolve builds which aren't reproducible between hosts with different compilers. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08perl: Fix various reproducibile build issuesRichard Purdie
Add a patch which handles the following issues: a) Remove the \n from configure_attr.sh since it gets quoted differently depending on whether the shell is bash or dash which can cause the test result to be incorrect. Reported upstream: https://github.com/arsv/perl-cross/issues/87 b) Sort the order of the module lists from configure_mods.sh since otherwise the result isn't the same leading to makefile differences. Reported upstream: https://github.com/arsv/perl-cross/issues/88 c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst there for good measure) This needs to go to upstream perl (not done) d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash and "" with dash Reported upstream: https://github.com/arsv/perl-cross/issues/87 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08perl: do not install files that contain build host specific dataAlexander Kanavin
This was breaking reproducibility, and the files aren't needed on target. [YOCTO #13772] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-22perl: support cpan versions of core modulesJens Rehsack
Most of perl core modules are dual-life modules which exists on CPAN as well as they do in perl core. Sometime, fixes are uploaded to CPAN before a new perl is released which contains the fix of the core module. Also, some modules recent releases aren't fully backported to earlier releases (out of support, lack of specific feature, ...), which makes it up to the distribution build to choose between core or CPAN version, respectively. Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-16perl: fix failing ptestsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-11perl: improve reproducibilityRoss Burton
Occasionally the reproducibility selftest fails because perl-pod differs, specifically that the perltoc.pod file was sometimes missing modules. Debugging revealed that there are missing dependencies so there is a build race: building perltoc.pod from an clean build tree results in no modules being listed at all. A bug has been filed at https://github.com/arsv/perl-cross/issues/86 to solve this properly, but for now we can just delete perltoc.pod after make has finished and re-generate it. [ YOCTO #13726 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-10libmodule-build-perl: fix ptestsAlexander Kanavin
Particularly remove a broken detection of skipped tests (which was marking tests that actually passed), and install additional artefacts needed for testing. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-10perl: install typemap and other extutils metadata as part of perl-coreAlexander Kanavin
Modules actually make use of these files, so they belong in perl-core other than perl-doc (the immediate failure was ptests for libmodule-build-perl failing). Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-10perl: package Config.pm from arch directory into the main perl packageAlexander Kanavin
Otherwise, some modules such as libmodule-build-perl fail to work properly. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30perl/tcl: fix /usr/share/man/man3/Thread.3 conflictsHongxu Jia
While installing perl-doc and tcl-doc to image, there is a file conflicts at do_rootfs ... |file /usr/share/man/man3/Thread.3 conflicts between attempted installs of perl-doc-5.30.1-r0.core2_64 and tcl-doc-8.6.10-r0.core2_64 ... Use update-alternatives to fix Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>