<div dir="auto"><div><div class="gmail_quote"><div dir="ltr">On Mon, May 14, 2018, 15:06 Burton, Ross <<a href="mailto:ross.burton@intel.com" target="_blank" rel="noreferrer">ross.burton@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sorry, but:<br>
<br>
2018-05-14 18:57:44,968 - oe-selftest - INFO - FAIL:<br>
test_devtool_add_fetch_git (devtool.DevtoolTests)<br>
2018-05-14 18:57:44,968 - oe-selftest - INFO -<br>
----------------------------------------------------------------------<br>
2018-05-14 18:57:44,968 - oe-selftest - INFO - Traceback (most recent<br>
call last):<br>
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/core/decorator/__init__.py",<br>
line 32, in wrapped_f<br>
return func(*args, **kwargs)<br>
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/cases/devtool.py",<br>
line 403, in test_devtool_add_fetch_git<br>
result = runCmd('devtool add %s %s -f "%s" -V 1.5' % (testrecipe,<br>
srcdir, url_rev))<br>
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/commands.py",<br>
line 191, in runCmd<br>
raise AssertionError("Command '%s' returned non-zero exit status<br>
%d:\n%s" % (command, result.status, exc_output))<br>
AssertionError: Command 'devtool add mraa /tmp/devtoolqa0aghorcw/mraa<br>
-f "gitsm://<a href="http://git.yoctoproject.org/mraa;rev=ae127b19a50aa54255e4330ccfdd9a5d058e581d" rel="noreferrer noreferrer noreferrer" target="_blank">git.yoctoproject.org/mraa;rev=ae127b19a50aa54255e4330ccfdd9a5d058e581d</a>"<br>
-V 1.5' returned non-zero exit status 1:<br>
...<br>
<br>
ERROR: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export<br>
PATH="/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/scripts:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/recipetool-utucnynk/work/recipe-sysroot-native/usr/bin/x86_64-poky-linux:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/recipetool-utucnynk/work/recipe-sysroot/usr/bin/crossscripts:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/recipetool-utucnynk/work/recipe-sysroot-native/usr/sbin:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/recipetool-utucnynk/work/recipe-sysroot-native/usr/bin:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/recipetool-utucnynk/work/recipe-sysroot-native/sbin:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/recipetool-utucnynk/work/recipe-sysroot-native/bin:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/bin:/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/hosttools";<br>
export HOME="/home/pokybuild"; git -c core.fsyncobjectfiles=0<br>
submodule update --init --recursive --no-fetch failed with exit code<br>
1, output:<br>
Submodule 'doxygen2jsdoc'<br>
(<a href="https://github.com/arfoll/doxygen2jsdoc.git" rel="noreferrer noreferrer noreferrer" target="_blank">https://github.com/arfoll/doxygen2jsdoc.git</a>) registered for path<br>
'doxygen2jsdoc'<br>
fatal: reference is not a tree: 9cc90b7976252b2d14b7956230c5870097e1f008<br>
Unable to checkout '9cc90b7976252b2d14b7956230c5870097e1f008' in<br>
submodule path 'doxygen2jsdoc'<br>
<br>
Ross<br>
<br>
On 14 May 2018 at 19:50, Matt Hoosier <<a href="mailto:matt.hoosier@gmail.com" rel="noreferrer noreferrer" target="_blank">matt.hoosier@gmail.com</a>> wrote:<br>
> Although the submodules' histories have been fetched during the<br>
> do_fetch() phase, the mechanics used to clone the workdir copy<br>
> of the repo haven't been transferring the actual .git/modules<br>
> directory from the repo fetched into downloads/ during the<br>
> fetch task.<br>
><br>
> Fix that, and for good measure also explicitly tell Git to avoid<br>
> hitting the network during do_unpack() of the submodules.<br>
><br>
> [YOCTO #12739]<br>
><br>
> Signed-off-by: Matt Hoosier <<a href="mailto:matt.hoosier@gmail.com" rel="noreferrer noreferrer" target="_blank">matt.hoosier@gmail.com</a>><br>
> ---<br>
> lib/bb/fetch2/gitsm.py | 28 +++++++++++++++++++++++++++-<br>
> 1 file changed, 27 insertions(+), 1 deletion(-)<br>
><br>
> diff --git a/lib/bb/fetch2/gitsm.py b/lib/bb/fetch2/gitsm.py<br>
> index 0aff1008..c5019e98 100644<br>
> --- a/lib/bb/fetch2/gitsm.py<br>
> +++ b/lib/bb/fetch2/gitsm.py<br>
> @@ -132,4 +132,30 @@ class GitSM(Git):<br>
><br>
> if self.uses_submodules(ud, d, ud.destdir):<br>
> runfetchcmd(ud.basecmd + " checkout " + ud.revisions[ud.names[0]], d, workdir=ud.destdir)<br>
> - runfetchcmd(ud.basecmd + " submodule update --init --recursive", d, workdir=ud.destdir)<br>
> +<br>
> + updateflags = ""<br>
> +<br>
> + # Copy over the submodules' fetched histories too.<br>
> + if ud.bareclone:<br>
> + repo_conf = ud.destdir<br>
> + else:<br>
> + repo_conf = os.path.join(ud.destdir, '.git')<br>
> +<br>
> + if os.path.exists(ud.clonedir):<br>
> + # This is not a copy unpacked from a shallow mirror clone. So<br>
> + # the manual intervention to populate the .git/modules done<br>
> + # in clone_shallow_local() won't have been done yet.<br>
> + runfetchcmd("cp -fpPRH %s %s" % (os.path.join(ud.clonedir, 'modules'), repo_conf), d)<br>
> + updateflags += " --no-fetch"<br>
> + elif os.path.exists(os.path.join(repo_conf, 'modules')):<br>
> + # Unpacked from a shallow mirror clone. Manual population of<br>
> + # .git/modules is already done.<br>
> + updateflags += " --no-fetch"<br>
> + else:<br>
> + # This isn't fatal; git-submodule will just fetch it<br>
> + # during do_unpack().<br>
> + bb.error("submodule history not retrieved during do_fetch()")<br>
> +<br>
> + # Careful not to hit the network during unpacking; all history should already<br>
> + # be fetched.<br>
> + runfetchcmd(ud.basecmd + " submodule update --init --recursive %s" % updateflags, d, workdir=ud.destdir)<br>
> --<br>
> 2.13.6<br>
><br>
> --<br>
> _______________________________________________<br>
> bitbake-devel mailing list<br>
> <a href="mailto:bitbake-devel@lists.openembedded.org" rel="noreferrer noreferrer" target="_blank">bitbake-devel@lists.openembedded.org</a><br>
> <a href="http://lists.openembedded.org/mailman/listinfo/bitbake-devel" rel="noreferrer noreferrer noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/bitbake-devel</a></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">Okay, I'll have a look at that. Are there any other test suites I should know about?</span><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
</blockquote></div></div></div>