mirror of
https://git.yoctoproject.org/poky
synced 2026-02-09 02:03:04 +01:00
Update rdepends generator to account for new version specifiers
(v{version} instead of just {version}) and exclude a few more
external modules detected at runtime.
Adjust musl configuration to set custom LC_ALL handling
(musl doesn't follow glibc in that, see the last few comments here:
https://github.com/Perl/perl5/issues/22375 ).
Adjust ptest packaging to add a dummy Makefile for 'make perl
releases' test (otherwise the packaging specifically excludes makefiles).
(From OE-Core rev: 1c1cfae53564c836555ace926295cf88109b8c9f)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
67 lines
3.1 KiB
PHP
67 lines
3.1 KiB
PHP
inherit ptest
|
|
|
|
SRC_URI += "file://run-ptest \
|
|
"
|
|
|
|
DEBUG_PREFIX_MAP_REGEX = "${@'\\|'.join(d.getVar('DEBUG_PREFIX_MAP').split())}"
|
|
|
|
do_install_ptest () {
|
|
mkdir -p ${D}${PTEST_PATH}
|
|
sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
|
|
sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl
|
|
sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh
|
|
tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=[Mm]akefile --exclude=hostperl \
|
|
--exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \
|
|
--exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \
|
|
--exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
|
|
--exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \
|
|
--exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=[Mm]akefile.old \
|
|
--exclude=miniperl --exclude=generate_uudmap --exclude=patches --exclude='config.log' * | ( cd ${D}${PTEST_PATH} && tar -x )
|
|
|
|
ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl
|
|
|
|
# Remove build host references from various scattered files...
|
|
find "${D}${PTEST_PATH}" \
|
|
\( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \
|
|
-o -name 'h2xs' -o -name 'h2ph' \
|
|
-o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' -o -name 'Makefile.config' \) \
|
|
-type f -exec sed -i \
|
|
-e "s,${D},,g" \
|
|
-e "s,--sysroot=${STAGING_DIR_HOST},,g" \
|
|
-e "s,-isystem${STAGING_INCDIR} ,,g" \
|
|
-e 's^${DEBUG_PREFIX_MAP_REGEX}^^g' \
|
|
-e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
|
|
-e "s,${STAGING_LIBDIR},${libdir},g" \
|
|
-e "s,${STAGING_BINDIR},${bindir},g" \
|
|
-e "s,${STAGING_INCDIR},${includedir},g" \
|
|
-e "s,${STAGING_BINDIR_NATIVE}/,,g" \
|
|
-e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
|
|
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
|
|
-e 's:${RECIPE_SYSROOT}::g' \
|
|
{} +
|
|
|
|
# Remove a useless timestamp...
|
|
sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst
|
|
|
|
# Remove files with host-specific configuration for building native binaries
|
|
rm ${D}${PTEST_PATH}/Makefile.config ${D}${PTEST_PATH}/xconfig.h ${D}${PTEST_PATH}/xconfig.sh
|
|
|
|
# create an empty file that is checked for existence by makerel test
|
|
touch ${D}${PTEST_PATH}/win32/Makefile
|
|
}
|
|
|
|
python populate_packages:prepend() {
|
|
# Put all *.t files from the lib dir in the ptest package
|
|
# do_split_packages requires a pair of () in the regex, but we have nothing
|
|
# to match, so use an empty pair.
|
|
if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d):
|
|
do_split_packages(d, d.expand('${libdir}/perl/${PV}'), r'.*\.t()',
|
|
'${PN}-ptest%s', '%s', recursive=True, match_path=True)
|
|
}
|
|
|
|
RDEPENDS:${PN}-ptest += "${PN}-modules ${PN}-doc sed procps-ps"
|
|
|
|
# The perl-ptest package contains Perl internal modules and generating file
|
|
# dependencies for it causes problems.
|
|
SKIP_FILEDEPS:${PN}-ptest = '1'
|