<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>14070</bug_id>
          
          <creation_ts>2020-09-30 04:19:07 +0000</creation_ts>
          <short_desc>Devtool modify failed if recipe doesn&apos;t do git properly</short_desc>
          <delta_ts>2023-10-13 07:49:48 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>3.1.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>arm64</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>OBSOLETE</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>4.3</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Prabin CA">prabin.ca</reporter>
          <assigned_to name="Ross Burton">ross.burton</assigned_to>
          <cc>abdellatif.elkhlifi</cc>
    
    <cc>jstephan</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>ross.burton</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>88272</commentid>
    <comment_count>0</comment_count>
      <attachid>4733</attachid>
    <who name="Prabin CA">prabin.ca</who>
    <bug_when>2020-09-30 04:19:07 +0000</bug_when>
    <thetext>Created attachment 4733
patch file to apply

Hi All,

I was trying &quot;devtool modify&quot; on one of my recipes (edk2-firmware.bb/bbappend for aarch64 platform). This recipe (both bb and bbappend) is not including any patches in SRC_URI. Even though its not using any patches, but devtool modify is failed at do_patch. How it can be failed at do_patch, since my recipes was not using any patches. As a hack, we can add do_patch[noexec]= &quot;1&quot; in recipes and bye pass the error. 

steps to replicate 

1. repo init -u ssh://git@git.linaro.org/landing-teams/working/arm/arm-reference-platforms-manifest.git -b master -m corstone700.xml
2. repo sync -j8
3. cd layers/meta-arm
4. git apply edk2-firmware-crostone.diff , I have attached patch file
5. cd -
   export MACHINE=corstone700-fvp
   export DISTRO=poky-tiny
   . ./setup-environment
6. devtool modify edk2-firmware

Error will be looks like below 

ERROR: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: &apos;exec_python_func() autogenerated&apos;, lineno: 2, function: &lt;module&gt;
     0001:
 *** 0002:patch_task_postfunc(d)
     0003:
File: &apos;/data_sdb/prabin/Abdel/build-poky-tiny/conf/../../layers/openembedded-core/meta/classes/patch.bbclass&apos;, lineno: 82, function: patch_task_postfunc
     0078:        stdout, _ = bb.process.run(&apos;git status --porcelain .&apos;, cwd=srcsubdir)
     0079:        if stdout:
     0080:            useroptions = []
     0081:            oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=d)
 *** 0082:            bb.process.run(&apos;git add .; git %s commit -a -m &quot;Committing changes from %s\n\n%s&quot;&apos; % (&apos; &apos;.join(useroptions), func, oe.patch.GitApplyTree.ignore_commit_prefix + &apos; - from %s&apos; % func), cwd=srcsubdir)
     0083:}
     0084:
     0085:def src_patches(d, all=False, expand=True):
     0086:    import oe.patch
File: &apos;/data_sdb/prabin/Abdel/bitbake/lib/bb/process.py&apos;, lineno: 182, function: run
     0178:        if not stderr is None:
     0179:            stderr = stderr.decode(&quot;utf-8&quot;)
     0180:
     0181:    if pipe.returncode != 0:
 *** 0182:        raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
     0183:    return stdout, stderr
Exception: bb.process.ExecutionError: Execution of &apos;git add .; git -c user.name=&quot;OpenEmbedded&quot; -c user.email=&quot;oe.patch@oe&quot; commit -a -m &quot;Committing changes from do_patch

%% ignore - from do_patch&quot;&apos; failed with exit code 1:
On branch devtool
Changes not staged for commit:
        modified:   edk2 (untracked content)

no changes added to commit


ERROR: Logfile of failure stored in: /data_sdb/prabin/Abdel/build-poky-tiny/tmp-poky_tiny/work/corstone700_fvp-poky-linux-musleabi/edk2-firmware/gitAUTOINC+11247ae126_1a785d6f0c-r0/devtooltmp-_d4cpxiq/temp/log.do_patch.27583
NOTE: Tasks Summary: Attempted 93 tasks of which 90 didn&apos;t need to be rerun and 1 failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88369</commentid>
    <comment_count>1</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2020-10-12 09:17:28 +0000</bug_when>
    <thetext>Replicated with meta-arm master and MACHINE=n1sdp.  The problem is how edk2-firmware clones in a manner that devtool doesn&apos;t expect:

        modified:   edk2 (untracked content)

${S} isn&apos;t in fact a git repository, but a directory that contains a git repository.

We can fix this in meta-arm so that devtool works as expected, but it would be nice if devtool handled this case.

Basically the situation is:

S=${WORKDIR}/git
SRC_URI=git://foo.com;destsuffix=${S}/foo

WORKDIR/git is just a normal directory containing foo, a git clone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88434</commentid>
    <comment_count>2</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2020-10-20 04:00:47 +0000</bug_when>
    <thetext>Summary: devtool expects a recipe using the git fetcher to unpack a git repository in S.

This is a fair assumption, and I think in this case devtool should just detect and abort cleanly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88685</commentid>
    <comment_count>3</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2020-11-27 10:10:34 +0000</bug_when>
    <thetext>Our original reproducer is now fixed with meta-arm ed66883f144d5c30ee081a08bb57391b0a749622.  devtool not handling this situation nicely is still a valid issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93209</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2022-04-28 15:10:49 +0000</bug_when>
    <thetext>Need to verify this is still a problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95440</commentid>
    <comment_count>5</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2023-04-21 18:45:46 +0000</bug_when>
    <thetext>Moved en masse from 4.2 to 4.3 by Randy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96215</commentid>
    <comment_count>6</comment_count>
    <who name="Julien Stephan">jstephan</who>
    <bug_when>2023-08-10 13:06:38 +0000</bug_when>
    <thetext>Hi,
just tried to reproduce using:

S=${WORKDIR}/git
SRC_URI=git://foo.com;destsuffix=${S}/foo

but it seems that it is not allowed anymore to use ${S} in SRC_URI. I now get the following error: 

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: There are recursive references in fetcher variables, likely through SRC_URI                                                                                                                                                                                                       
The variable dependency chain for the failure is: SRCPV -&gt; PV -&gt; WORKDIR -&gt; S -&gt; SRC_URI -&gt; SRCPV -&gt; PV -&gt; BP -&gt; FILESPATH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96331</commentid>
    <comment_count>7</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2023-08-31 14:57:59 +0000</bug_when>
    <thetext>(In reply to Julien Stephan from comment #6)
&gt; Hi,
&gt; just tried to reproduce using:
&gt; 
&gt; S=${WORKDIR}/git
&gt; SRC_URI=git://foo.com;destsuffix=${S}/foo
&gt; 
&gt; but it seems that it is not allowed anymore to use ${S} in SRC_URI. I now
&gt; get the following error: 
&gt; 
&gt; bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression
&gt; was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError:
&gt; Fetcher failure: There are recursive references in fetcher variables, likely
&gt; through SRC_URI                                                             
&gt; 
&gt; The variable dependency chain for the failure is: SRCPV -&gt; PV -&gt; WORKDIR -&gt;
&gt; S -&gt; SRC_URI -&gt; SRCPV -&gt; PV -&gt; BP -&gt; FILESPATH

Correct, using ${S} in SRC_URI is a bad idea as we can need to query the source to work out PV and you get a circular dependency.

You probably want a relative path rather than an absolute one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96530</commentid>
    <comment_count>8</comment_count>
    <who name="Julien Stephan">jstephan</who>
    <bug_when>2023-09-21 14:11:04 +0000</bug_when>
    <thetext>Hi Richard, 
I tried to reproduce using

S=${WORKDIR}/git/foo
SRC_URI=git://foo.com;destsuffix=git/foo

but still not reproducing the error, so maybe this is not an issue anymore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96698</commentid>
    <comment_count>9</comment_count>
    <who name="Julien Stephan">jstephan</who>
    <bug_when>2023-10-13 07:49:48 +0000</bug_when>
    <thetext>Hi all,
closing this bug as I cannot reproduce it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4733</attachid>
            <date>2020-09-30 04:19:07 +0000</date>
            <delta_ts>2020-09-30 04:19:07 +0000</delta_ts>
            <desc>patch file to apply</desc>
            <filename>edk2-firmware-crostone.diff</filename>
            <type>application/octet-stream</type>
            <size>3785</size>
            <attacher name="Prabin CA">prabin.ca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL21ldGEtYXJtLWJzcC9yZWNpcGVzLWJzcC91ZWZpL2VkazItZmlybXdhcmUt
Y29yc3RvbmU3MDAuaW5jIGIvbWV0YS1hcm0tYnNwL3JlY2lwZXMtYnNwL3VlZmkvZWRrMi1maXJt
d2FyZS1jb3JzdG9uZTcwMC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZjIzODE4MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtYXJtLWJzcC9yZWNpcGVzLWJzcC91ZWZp
L2VkazItZmlybXdhcmUtY29yc3RvbmU3MDAuaW5jCkBAIC0wLDAgKzEsNjQgQEAKK1NSQ19VUkkg
PSAiXAorICAgICAgICAgICBnaXQ6Ly8kVVNFUkBnZXJyaXQub3NzLmFybS5jb20vTW9yZWxsby91
ZWZpL2VkazI7bmFtZT1lZGsyO3Byb3RvY29sPXNzaDtkZXN0c3VmZml4PWdpdC9lZGsyO2JyYW5j
aD10b3BpY3MveW9jdG8gXAorICAgICAgICAgICBnaXQ6Ly8kVVNFUkBnZXJyaXQub3NzLmFybS5j
b20vTW9yZWxsby91ZWZpL2VkazItcGxhdGZvcm1zO3Byb3RvY29sPXNzaDtuYW1lPWVkazItcGxh
dGZvcm1zO2Rlc3RzdWZmaXg9Z2l0L2VkazIvZWRrMi1wbGF0Zm9ybXM7YnJhbmNoPXRvcGljcy95
b2N0byBcCisiCisKKyMgVEFHUyBhbmQgY29tbWl0IElEIGZvciBtb3JlbGxvCitTUkNSRVZfZWRr
MiAgICAgICAgICAgPSAiJHtBVVRPUkVWfSIKK1NSQ1JFVl9lZGsyLXBsYXRmb3JtcyA9ICIke0FV
VE9SRVZ9IgorCitFREsyX0JVSUxEX1JFTEVBU0UgPSAiMCIKK0VESzJfUExBVEZPUk0gICAgICA9
ICJtb3JlbGxvZnZwIgorRURLMl9QTEFURk9STV9EU0MgID0gIk1vcmVsbG8vTW9yZWxsb1BsYXRm
b3JtRnZwLmRzYyIKK0VESzJfQklOX05BTUUgICAgICA9ICJCTDMzX0FQX1VFRkkuZmQiCitFREsy
X0FSQ0ggICAgICAgICAgPSAiQUFSQ0g2NCIKKworIyBsbHZtIGNyb3NzIHRvb2wgY2hhaW4gZGVw
ZW5kcyBmb3IgYnVpbGRpbmcgdWVmaQorTExWTV9QQVRIID0gIiR7UkVDSVBFX1NZU1JPT1R9L291
dC9pbnN0YWxsL2xpbnV4LXg4Ni9jbGFuZy1hcm0vYmluIgorREVQRU5EUyArPSAiJHtAYmIudXRp
bHMuY29udGFpbnMoJ1NUQUNLX0M2NCcsICcxJywgJ3ZpcnR1YWwvYWFyY2g2NC1jNjQtbGx2bScs
ICcnLCBkKX0iCisKK1VFRklfQzY0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdTVEFDS19DNjQn
LCAnMScsICcxJywgJzAnLCBkKX0iCisKK0VESzJfQlVJTERfRkxBR1MgICArPSAiJHtAYmIudXRp
bHMuY29udGFpbnMoJ1VFRklfQzY0JywgJzEnLCAnLUQgRU5BQkxFX01PUkVMTE9fQ0FQJywgJycs
IGQpfSIKK0VESzJfQlVJTERfRkxBR1MgICArPSAiLUQgRklSTVdBUkVfVkVSPTExMjQ3YWUxMjYi
CitUT09MX0NIQUlOICA9ICIke0BiYi51dGlscy5jb250YWlucygnVUVGSV9DNjQnLCAnMScsICdj
bGFuZycsICdnY2MnLGQpfSIKK1BMQVRGT1JNX1RPT0xDSEFJTiA9ICIke0BiYi51dGlscy5jb250
YWlucygnVE9PTF9DSEFJTicsICdjbGFuZycsICdDTEFORzM4JywgJyR7R0NDX1ZFUn0nLCBkKX0i
CisKK2V4cG9ydCBDTEFORzM4X0JJTj0gIiR7TExWTV9QQVRIfS8iCitMTFZNX1BSRUZJWCA9ICJs
bHZtLSIKKyMgbGluYXJvLWdjYyBkZXBlbmRzCisKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNv
bnRhaW5zKCdUT09MX0NIQUlOJywgJ2NsYW5nJywgJ3ZpcnR1YWwvYWFyY2g2NC1nbnUtbGluYXJv
JywgJycsIGQpfSIKK0xJTkFST19QQVRIID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUT09MX0NI
QUlOJywgJ2NsYW5nJywgJyR7UkVDSVBFX1NZU1JPT1R9L2djYy1saW5hcm8tNy41LjAtMjAxOS4x
Mi14ODZfNjRfYWFyY2g2NC1saW51eC1nbnUvYmluJywgJycsIGQpfSIKKworaW5oZXJpdCBweXRo
b24zbmF0aXZlCitERVBFTkRTICs9ICJweXRob24zLW5hdGl2ZSIKKworZG9fY29tcGlsZSgpIHsK
KyAgICBzZWQgLWkgLWUgJ3M6LUkgXC5cLjotSSBcLlwuICR7QlVJTERfQ0ZMQUdTfSA6JyAke0VE
S19UT09MU19QQVRIfS9Tb3VyY2UvQy9NYWtlZmlsZXMvaGVhZGVyLm1ha2VmaWxlCisgICAgc2Vk
IC1pIC1lICdzOiAtbHV1aWQ6IC1sdXVpZCAke0JVSUxEX0xERkxBR1N9OmcnICR7RURLX1RPT0xT
X1BBVEh9L1NvdXJjZS9DLyovR05VbWFrZWZpbGUKKworICAgICMgQ29weSB0aGUgdGVtcGxhdGVz
IGFzIHdlIGRvbid0IHJ1biBlbnZzZXR1cAorICAgIGNwICR7RURLX1RPT0xTX1BBVEh9L0NvbmYv
YnVpbGRfcnVsZS50ZW1wbGF0ZSAke1dPUktTUEFDRX0vQ29uZi9idWlsZF9ydWxlLnR4dAorICAg
IGNwICR7RURLX1RPT0xTX1BBVEh9L0NvbmYvdG9vbHNfZGVmLnRlbXBsYXRlICR7V09SS1NQQUNF
fS9Db25mL3Rvb2xzX2RlZi50eHQKKyAgICBjcCAke0VES19UT09MU19QQVRIfS9Db25mL3Rhcmdl
dC50ZW1wbGF0ZSAke1dPUktTUEFDRX0vQ29uZi90YXJnZXQudHh0CisgICAgIyBCdWlsZCBiYXNl
dG9vbHMKKyAgICBvZV9ydW5tYWtlIC1DICR7U30vZWRrMi9CYXNlVG9vbHMKKyAgICAke1BMQVRG
T1JNX1RPT0xDSEFJTn1fJHtFREsyX0FSQ0h9X1BSRUZJWD0iJHtAYmIudXRpbHMuY29udGFpbnMo
J1RPT0xfQ0hBSU4nLCAnY2xhbmcnLCAnJHtMTFZNX1BBVEh9LyR7TExWTV9QUkVGSVh9JywgJyR7
U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS8ke1RBUkdFVF9QUkVGSVh9JywgZCl9IiBcCisgICAg
UEFUSD0iJHtXT1JLU1BBQ0V9L2VkazIvQmFzZVRvb2xzL0Jpbi9MaW51eC14ODZfNjQ6JHtXT1JL
U1BBQ0V9OiR7QlRPT0xTX1BBVEh9OiR7TElOQVJPX1BBVEh9OiRQQVRIIiBcCisgICAgIiR7U30v
ZWRrMi9CYXNlVG9vbHMvQmluV3JhcHBlcnMvUG9zaXhMaWtlL2J1aWxkIiBcCisgICAgICAgLWEg
IiR7RURLMl9BUkNIfSIgXAorICAgICAgIC1iICR7RURLMl9CVUlMRF9NT0RFfSBcCisgICAgICAg
LXMgJHtFREsyX0JVSUxEX0ZMQUdTfSBcCisgICAgICAgLXQgJHtQTEFURk9STV9UT09MQ0hBSU59
IFwKKyAgICAgICAtcCAiJHtTfS9lZGsyL2VkazItcGxhdGZvcm1zL1BsYXRmb3JtL0FSTS8ke0VE
SzJfUExBVEZPUk1fRFNDfSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7
RH0vZmlybXdhcmUKKyAgICBpbnN0YWxsICIke1N9L2VkazIvQnVpbGQvJHtFREsyX1BMQVRGT1JN
fS8ke0VESzJfQlVJTERfTU9ERX1fJHtQTEFURk9STV9UT09MQ0hBSU59L0ZWLyR7RURLMl9CSU5f
TkFNRX0iICIke0R9L2Zpcm13YXJlL3VlZmkuYmluIgorfQorCitDT01QQVRJQkxFX01BQ0hJTkUg
PSAiY29yc3RvbmU3MDAtZnZwIgorCitQViA9ICJnaXQke1NSQ1BWfSIKZGlmZiAtLWdpdCBhL21l
dGEtYXJtLWJzcC9yZWNpcGVzLWJzcC91ZWZpL2VkazItZmlybXdhcmVfZ2l0LmJiYXBwZW5kIGIv
bWV0YS1hcm0tYnNwL3JlY2lwZXMtYnNwL3VlZmkvZWRrMi1maXJtd2FyZV9naXQuYmJhcHBlbmQK
aW5kZXggYmVmNTRiMC4uY2EwOTFiOCAxMDA2NDQKLS0tIGEvbWV0YS1hcm0tYnNwL3JlY2lwZXMt
YnNwL3VlZmkvZWRrMi1maXJtd2FyZV9naXQuYmJhcHBlbmQKKysrIGIvbWV0YS1hcm0tYnNwL3Jl
Y2lwZXMtYnNwL3VlZmkvZWRrMi1maXJtd2FyZV9naXQuYmJhcHBlbmQKQEAgLTQsNSArNCw2IEBA
IE1BQ0hJTkVfRURLMl9SRVFVSVJFID89ICIiCiAKIE1BQ0hJTkVfRURLMl9SRVFVSVJFX24xc2Rw
ID0gImVkazItZmlybXdhcmUtbjFzZHAuaW5jIgogTUFDSElORV9FREsyX1JFUVVJUkVfc2dpNTc1
ID0gImVkazItZmlybXdhcmUtc2dpNTc1LmluYyIKK01BQ0hJTkVfRURLMl9SRVFVSVJFX2NvcnN0
b25lNzAwLWZ2cCA9ICJlZGsyLWZpcm13YXJlLWNvcnN0b25lNzAwLmluYyIKIAogcmVxdWlyZSAk
e01BQ0hJTkVfRURLMl9SRVFVSVJFfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>