On Wed, Jul 12, 2017 at 12:58:38PM +0800, Huang Qiyu wrote: > Add qt5-ptest.inc file for qt ptest related tasks > 1) Rewrite do_compile_ptest task for qt > 2) Add new do_compile_ptest_base and task do_install_ptest > 3) Write do_populate_sysroot_append to resolve > do_compile_ptest_base problem in yocto2.3
Something in this order of tasks is not completely correct - I just got qtxmlpatterns:do_install_ptest very early on (after fetch/unpack, but before compile/install). Even before pseudo-native fnished building and installing. And since do_install_ptest task marked as "fakeroot", it obviously failed: NOTE: Running task 614 of 7991 (/OE/master/sources/meta-qt5/recipes-qt/qt5/qtxmlpatterns_git.bb:do_install_ptest) ERROR: Failed to spawn fakeroot worker to run /OE/master/sources/meta-qt5/recipes-qt/qt5/qtxmlpatterns_git.bb:do_install_ptest: [Errno 2] No such file or directory: '/OE/master/build/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr/bin/pseudo' Has anyone else seen this? -- Denys > The compile error log is shown as follow: > cd auto/ && ( test -e Makefile || > /yocto/work001/fnst/huangqy/work_qt/build/tmp/work/i586-p > oky-linux/qtxmlpatterns/5.8.0+gitAUTOINC+9f7e01b582-r0/recipe-sysroot-native/usr/bin/qt5/qmake > -o M > akefile > /yocto/work001/fnst/huangqy/work_qt/build/tmp/work/i586-poky-linux/qtxmlpatterns/5.8.0+gitA > UTOINC+9f7e01b582-r0/git/tests/auto/auto.pro ) && make -f Makefile > Project ERROR: Could not find feature xml-schema. > Makefile:42: recipe for target 'sub-auto-make_first' failed > > Signed-off-by: Huang Qiyu <[email protected]> > --- > recipes-qt/qt5/qt5-ptest.inc | 62 > ++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 62 insertions(+) > create mode 100644 recipes-qt/qt5/qt5-ptest.inc > > diff --git a/recipes-qt/qt5/qt5-ptest.inc b/recipes-qt/qt5/qt5-ptest.inc > new file mode 100644 > index 0000000..49d44ac > --- /dev/null > +++ b/recipes-qt/qt5/qt5-ptest.inc > @@ -0,0 +1,62 @@ > +SRC_URI += "file://run-ptest" > + > +inherit ptest > + > +addtask do_populate_sysroot after do_install before do_compile_ptest_base > +deltask do_compile_ptest_base > +addtask do_compile_ptest_base after do_populate_sysroot before > do_install_ptest > +addtask do_install_ptest after do_compile_ptest_base before do_package > + > +do_compile_ptest() { > + cd ${S}/tests > + qmake -o Makefile tests.pro > + oe_runmake > +} > + > +do_populate_sysroot_append() { > + workdir = d.getVar('WORKDIR') > + srcdir = workdir + '/sysroot-destdir/usr/' > + destdir = workdir + '/recipe-sysroot/usr/' > + > + def copyFiles(sourceDir, targetDir, filelist): > + for file in os.listdir(sourceDir): > + sourceFile = os.path.join(sourceDir, file) > + targetFile = os.path.join(targetDir, file) > + filelist.append(targetFile) #record the file list > + if os.path.isfile(sourceFile): > + if not os.path.exists(targetDir): > + os.makedirs(targetDir) > + if not os.path.exists(targetFile) > or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != > os.path.getsize(sourceFile))): > + open(targetFile, "wb").write(open(sourceFile, > "rb").read()) > + if os.path.isdir(sourceFile): > + First_Directory = False > + copyFiles(sourceFile, targetFile, filelist) > + > + if os.path.exists(destdir): > + Tmpfilelist = [] > + copyFiles(srcdir, destdir, Tmpfilelist) > + > + fp=open(workdir + '/filelist', 'w') > + for i in Tmpfilelist: > + fp.write(i) > + fp.write("\n") > + fp.close() > +} > + > +fakeroot do_install_ptest() { > + mkdir -p ${D}${PTEST_PATH} > + t=${D}${PTEST_PATH} > + for var in ` find ${S}/tests/auto/ -name tst_*`; do > + if [ -z ` echo ${var##*/} | grep '\.'` ]; then > + echo ${var##*/} >> ${t}/tst_list > + install -m 0644 ${var} ${t} > + fi > + done > + for file in `cat ${WORKDIR}/filelist`; do > + if [ -f $file ]; then > + rm -f $file > + fi > + done > + rm -f ${WORKDIR}/filelist > +} > + > -- > 2.7.4 > > > > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-devel -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
