On Thu, Mar 7, 2013 at 2:43 PM, Hans Beckerus <hans.becke...@gmail.com>wrote:
> On 2013-03-07 8:11, Jerrod Peach wrote: > > Hans, > > Are you sure you're seeing the patch system use $WORKDIR instead of $S > as the root for patching? I've had to do a lot of patching in our own > layers recently and I've always seen $S used as the root for the patch. > Are you explicitly setting S = "${WORKDIR}/git"? That's what we do for > our git recipes. That's how you get the system to recognize the source > somewhere other than just $WORKDIR. > > As for specifying a different -pnum, you absolutely can do that like so: > > *SRC_URI += "file://my-change.patch;striplevel=X"* > > X is the pnum that you want. Its default value is 1. > > You may also find this page useful -- it contains all sorts of hints for > setting up your recipes in a Yocto-standard way: > > https://wiki.yoctoproject.org/wiki/Recipe_&_Patch_Style_Guide > > That's where I learned about striplevel and the preference for it over > the deprecated pnum parameter. > > Kind regards, > > Jerrod > > > Hi Jarod. Thanks, the pointer you gave will most certainly be of great > aid. I will try the striplevel approach > instead of writing my own do_patch() override. > Regarding how certain I am that the root folder is ${WORKDIR} when > patching, not at all ;) > In my do_patch() function is simply did `pwd` and it was not set to ${S} > as I set it to. > That does not mean that the built-in patch system is using ${WORKDIR}, I > am aware of that. > Things here is, even though my patch is placed in ${W} and I set ${S} to > eg. ${W}/git/some/folder, > why would it not work? In another package I set ${S} to ${WORKDIR}/git and > it works > just fine. I can not understand why setting ${S} to something else breaks > the logic? > It's not that bitbake can not find the patch file, it definitely does > that, but the -pnum seems to get > messed up. But maybe that is the whole point of having the striplevel=X in > the first place. > > Hans > > pnum/striplevel's purpose is to strip off the leading paths from a patch file. If you're having trouble understanding how that works, this link might help: http://drupal.org/patch/apply#comment-239397 Changing $S to a different depth and having do_patch() fail is certainly expected behavior if you don't change the value of striplevel. Does that answer your question?
_______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto