[yocto] Trouble patching a package

Tomas Frydrych tf+lists.yocto at r-finger.com
Mon Apr 22 06:18:56 PDT 2013


On 22/04/13 13:56, Saridakis, Dean (US SSA) wrote:
>>> Seems like this ought to be pretty easy based on the docs - Not sure
>>> what I've got wrong. I've added an append to my layer w/
>>>
>>> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
>>>
>>> SRC_URI += "0001-yada-yada.patch"
>>>
>>> # Comment out while debugging
>>> #PRINC := "${@int(PRINC) + 1}"
>>>
>>> The append file is in BBFILES. The patch file is in the same dir as
>>> the append file (using a files sub-dir didn't help). Been doing
>>> "bitbake -c patch -f pkg" to test/debug. (pkg is canutils, which is
>>> autconf based)
>>
>> Based on the path you're using, the patch needs to be in a subdir relative to
>> your append file. Specifically, the subdir needs to have the same name as the
>> package.
>>
>> -Kevin
> 
> I've also tried just "${THISDIR}:" with the same results.
> 
> A lot of this stuff is still magic to me & I'm not sure how to go about demystifying it -- do I have to dig into the underlying classes?
> E.g., what magic is required to pick up & apply a patch file? Anything named *.patch? 


>>> #PRINC := "${@int(PRINC) + 1}"

Not sure which version of Yocto you are using, but this is probably the
source of your problems -- until very recently no PR change means no
rebuild.

The other thing, if you modify SRC_URI, re-running the 'patch' task is
not enough, the patches need to be added to the sources, which happens
during the 'unpack' task.

If you are adding a patch to the bbappend, there is only two things that
can go wrong: your extra path is wrong, in which case you will get a
failure during 'unpack', or your patch does not apply, then you will get
a failure during 'patch' task. If neither of these is happening, then
your bbappend changes are not being processed.

If in doubt run 'bitbake -c cleansstate package' to start from the
beginning.

Tomas



More information about the yocto mailing list