mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
We already exclude Makefile, makefile, and makefile.old from copy of the perl source tree that is used by perl-ptest, but Makefile.old is not being excluded. In a rebuild of perl with an existing source tree these files now exist but have build paths in. As they're backup files, they can just be excluded from the packages. Use range globs to clean up the expressions, and exclude Makefile.old. (From OE-Core rev: 30a99affca7930f7fe0ddeb016b6183240b5f13c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
64 lines
3.0 KiB
PHP
64 lines
3.0 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
|
|
}
|
|
|
|
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"
|
|
|
|
# The perl-ptest package contains Perl internal modules and generating file
|
|
# dependencies for it causes problems.
|
|
SKIP_FILEDEPS:${PN}-ptest = '1'
|