1*4882a593Smuzhiyuninherit ptest 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSRC_URI += "file://run-ptest \ 4*4882a593Smuzhiyun " 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunDEBUG_PREFIX_MAP_REGEX = "${@'\\|'.join(d.getVar('DEBUG_PREFIX_MAP').split())}" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyundo_install_ptest () { 9*4882a593Smuzhiyun mkdir -p ${D}${PTEST_PATH} 10*4882a593Smuzhiyun sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/* 11*4882a593Smuzhiyun sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl 12*4882a593Smuzhiyun sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh 13*4882a593Smuzhiyun tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=[Mm]akefile --exclude=hostperl \ 14*4882a593Smuzhiyun --exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \ 15*4882a593Smuzhiyun --exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \ 16*4882a593Smuzhiyun --exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \ 17*4882a593Smuzhiyun --exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \ 18*4882a593Smuzhiyun --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=[Mm]akefile.old \ 19*4882a593Smuzhiyun --exclude=miniperl --exclude=generate_uudmap --exclude=patches --exclude='config.log' * | ( cd ${D}${PTEST_PATH} && tar -x ) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun # Remove build host references from various scattered files... 24*4882a593Smuzhiyun find "${D}${PTEST_PATH}" \ 25*4882a593Smuzhiyun \( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \ 26*4882a593Smuzhiyun -o -name 'h2xs' -o -name 'h2ph' \ 27*4882a593Smuzhiyun -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' -o -name 'Makefile.config' \) \ 28*4882a593Smuzhiyun -type f -exec sed -i \ 29*4882a593Smuzhiyun -e "s,${D},,g" \ 30*4882a593Smuzhiyun -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ 31*4882a593Smuzhiyun -e "s,-isystem${STAGING_INCDIR} ,,g" \ 32*4882a593Smuzhiyun -e 's^${DEBUG_PREFIX_MAP_REGEX}^^g' \ 33*4882a593Smuzhiyun -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ 34*4882a593Smuzhiyun -e "s,${STAGING_LIBDIR},${libdir},g" \ 35*4882a593Smuzhiyun -e "s,${STAGING_BINDIR},${bindir},g" \ 36*4882a593Smuzhiyun -e "s,${STAGING_INCDIR},${includedir},g" \ 37*4882a593Smuzhiyun -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ 38*4882a593Smuzhiyun -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ 39*4882a593Smuzhiyun -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ 40*4882a593Smuzhiyun -e 's:${RECIPE_SYSROOT}::g' \ 41*4882a593Smuzhiyun {} + 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun # Remove a useless timestamp... 44*4882a593Smuzhiyun sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun # Remove files with host-specific configuration for building native binaries 47*4882a593Smuzhiyun rm ${D}${PTEST_PATH}/Makefile.config ${D}${PTEST_PATH}/xconfig.h ${D}${PTEST_PATH}/xconfig.sh 48*4882a593Smuzhiyun} 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunpython populate_packages:prepend() { 51*4882a593Smuzhiyun # Put all *.t files from the lib dir in the ptest package 52*4882a593Smuzhiyun # do_split_packages requires a pair of () in the regex, but we have nothing 53*4882a593Smuzhiyun # to match, so use an empty pair. 54*4882a593Smuzhiyun if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d): 55*4882a593Smuzhiyun do_split_packages(d, d.expand('${libdir}/perl/${PV}'), r'.*\.t()', 56*4882a593Smuzhiyun '${PN}-ptest%s', '%s', recursive=True, match_path=True) 57*4882a593Smuzhiyun} 58*4882a593Smuzhiyun 59*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "${PN}-modules ${PN}-doc sed" 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun# The perl-ptest package contains Perl internal modules and generating file 62*4882a593Smuzhiyun# dependencies for it causes problems. 63*4882a593SmuzhiyunSKIP_FILEDEPS:${PN}-ptest = '1' 64