Bug 7704

Summary: SRC_URI_append with override
Product: [Build System, Metadata & Runtime] BitBake Reporter: Juro Bystricky <juro.bystricky>
Component: bitbakeAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: Undecided CC: poky.bs.watcher, poky.watcher
Version: 1.8.1   
Target Milestone: ---   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Juro Bystricky 2015-04-30 23:39:22 UTC
Assume recipe contains the following and MACHINE=qemux86-64:

SRC_URI = "file://file1"
SRC_URI_qemux86-64 += "file://file2"
SRC_URI_qemux86-64 += "file://file3"

run bitbake -e 

and observe:
SRC_URI="file://file2 file://file3"

Seemingly identical program: 

SRC_URI = "file://file1"
SRC_URI_append_qemux86-64 = "file://file2"
SRC_URI_append_qemux86-64 = "file://file3"


SRC_URI="file://file1 file://file2file://file3"

So apparently the two syntaxes are not equivalent, and I suspect there is a bug in the first case.
Comment 1 Juro Bystricky 2015-04-30 23:41:32 UTC
It should say 
<snip>

case 2:
run bitbake -e 

and observe:

SRC_URI="file://file1 file://file2 file://file3"

So apparently the two syntaxes are not equivalent, and I suspect there is a bug in the first case.
Comment 2 Richard Purdie 2015-05-01 13:46:49 UTC
If you read the bitbake manual you will see that these are not intended to behave identically. This is how it is defined to behave.
Comment 3 Juro Bystricky 2015-05-01 14:58:11 UTC
(In reply to comment #2)
> If you read the bitbake manual you will see that these are not intended to
> behave identically. This is how it is defined to behave.

Fair enough, RTFM. I got bitten by this but why blame self when I can blame it on a bug. However, I still think there are some inconsistencies. As I recall, this were the steps I took:

Step 1:

SRC_URI = "file://file1"
SRC_URI += "file://file2"

bitbake -> builds OK

Step 2: "Improve" recipe by adding an override:

SRC_URI = "file://file1"
SRC_URI_qemux86-64 += "file://file2"

bitbake -> builds OK

Step 3:
Final test, same "improved" recipe, clean build (wipe TMP)

bitbake -> error: file1 not found.