<div dir="auto"><div><div class="gmail_quote"><div dir="ltr">On Mon, May 14, 2018, 15:06 Burton, Ross &lt;<a href="mailto:ross.burton@intel.com" target="_blank" rel="noreferrer">ross.burton@intel.com</a>&gt; 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 &quot;/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/core/decorator/__init__.py&quot;,<br>
line 32, in wrapped_f<br>
    return func(*args, **kwargs)<br>
  File &quot;/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/cases/devtool.py&quot;,<br>
line 403, in test_devtool_add_fetch_git<br>
    result = runCmd(&#39;devtool add %s %s -f &quot;%s&quot; -V 1.5&#39; % (testrecipe,<br>
srcdir, url_rev))<br>
  File &quot;/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/commands.py&quot;,<br>
line 191, in runCmd<br>
    raise AssertionError(&quot;Command &#39;%s&#39; returned non-zero exit status<br>
%d:\n%s&quot; % (command, result.status, exc_output))<br>
AssertionError: Command &#39;devtool add mraa /tmp/devtoolqa0aghorcw/mraa<br>
-f &quot;gitsm://<a href="http://git.yoctoproject.org/mraa;rev=ae127b19a50aa54255e4330ccfdd9a5d058e581d" rel="noreferrer noreferrer noreferrer" target="_blank">git.yoctoproject.org/mraa;rev=ae127b19a50aa54255e4330ccfdd9a5d058e581d</a>&quot;<br>
-V 1.5&#39; returned non-zero exit status 1:<br>
...<br>
<br>
ERROR: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export<br>
PATH=&quot;/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&quot;;<br>
export HOME=&quot;/home/pokybuild&quot;; git -c core.fsyncobjectfiles=0<br>
submodule update --init --recursive  --no-fetch failed with exit code<br>
1, output:<br>
Submodule &#39;doxygen2jsdoc&#39;<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>
&#39;doxygen2jsdoc&#39;<br>
fatal: reference is not a tree: 9cc90b7976252b2d14b7956230c5870097e1f008<br>
Unable to checkout &#39;9cc90b7976252b2d14b7956230c5870097e1f008&#39; in<br>
submodule path &#39;doxygen2jsdoc&#39;<br>
<br>
Ross<br>
<br>
On 14 May 2018 at 19:50, Matt Hoosier &lt;<a href="mailto:matt.hoosier@gmail.com" rel="noreferrer noreferrer" target="_blank">matt.hoosier@gmail.com</a>&gt; wrote:<br>
&gt; Although the submodules&#39; histories have been fetched during the<br>
&gt; do_fetch() phase, the mechanics used to clone the workdir copy<br>
&gt; of the repo haven&#39;t been transferring the actual .git/modules<br>
&gt; directory from the repo fetched into downloads/ during the<br>
&gt; fetch task.<br>
&gt;<br>
&gt; Fix that, and for good measure also explicitly tell Git to avoid<br>
&gt; hitting the network during do_unpack() of the submodules.<br>
&gt;<br>
&gt; [YOCTO #12739]<br>
&gt;<br>
&gt; Signed-off-by: Matt Hoosier &lt;<a href="mailto:matt.hoosier@gmail.com" rel="noreferrer noreferrer" target="_blank">matt.hoosier@gmail.com</a>&gt;<br>
&gt; ---<br>
&gt;  lib/bb/fetch2/gitsm.py | 28 +++++++++++++++++++++++++++-<br>
&gt;  1 file changed, 27 insertions(+), 1 deletion(-)<br>
&gt;<br>
&gt; diff --git a/lib/bb/fetch2/gitsm.py b/lib/bb/fetch2/gitsm.py<br>
&gt; index 0aff1008..c5019e98 100644<br>
&gt; --- a/lib/bb/fetch2/gitsm.py<br>
&gt; +++ b/lib/bb/fetch2/gitsm.py<br>
&gt; @@ -132,4 +132,30 @@ class GitSM(Git):<br>
&gt;<br>
&gt;          if self.uses_submodules(ud, d, ud.destdir):<br>
&gt;              runfetchcmd(ud.basecmd + &quot; checkout &quot; + ud.revisions[ud.names[0]], d, workdir=ud.destdir)<br>
&gt; -            runfetchcmd(ud.basecmd + &quot; submodule update --init --recursive&quot;, d, workdir=ud.destdir)<br>
&gt; +<br>
&gt; +            updateflags = &quot;&quot;<br>
&gt; +<br>
&gt; +            # Copy over the submodules&#39; fetched histories too.<br>
&gt; +            if ud.bareclone:<br>
&gt; +                repo_conf = ud.destdir<br>
&gt; +            else:<br>
&gt; +                repo_conf = os.path.join(ud.destdir, &#39;.git&#39;)<br>
&gt; +<br>
&gt; +            if os.path.exists(ud.clonedir):<br>
&gt; +                # This is not a copy unpacked from a shallow mirror clone. So<br>
&gt; +                # the manual intervention to populate the .git/modules done<br>
&gt; +                # in clone_shallow_local() won&#39;t have been done yet.<br>
&gt; +                runfetchcmd(&quot;cp -fpPRH %s %s&quot; % (os.path.join(ud.clonedir, &#39;modules&#39;), repo_conf), d)<br>
&gt; +                updateflags += &quot; --no-fetch&quot;<br>
&gt; +            elif os.path.exists(os.path.join(repo_conf, &#39;modules&#39;)):<br>
&gt; +                # Unpacked from a shallow mirror clone. Manual population of<br>
&gt; +                # .git/modules is already done.<br>
&gt; +                updateflags += &quot; --no-fetch&quot;<br>
&gt; +            else:<br>
&gt; +                # This isn&#39;t fatal; git-submodule will just fetch it<br>
&gt; +                # during do_unpack().<br>
&gt; +                bb.error(&quot;submodule history not retrieved during do_fetch()&quot;)<br>
&gt; +<br>
&gt; +            # Careful not to hit the network during unpacking; all history should already<br>
&gt; +            # be fetched.<br>
&gt; +            runfetchcmd(ud.basecmd + &quot; submodule update --init --recursive %s&quot; % updateflags, d, workdir=ud.destdir)<br>
&gt; --<br>
&gt; 2.13.6<br>
&gt;<br>
&gt; --<br>
&gt; _______________________________________________<br>
&gt; bitbake-devel mailing list<br>
&gt; <a href="mailto:bitbake-devel@lists.openembedded.org" rel="noreferrer noreferrer" target="_blank">bitbake-devel@lists.openembedded.org</a><br>
&gt; <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&#39;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>