Which is wrong in case we need specific file from our layer, for different machine or when 2 different recipes have both patch with same name! Here is example how it fails: foo_1.0.bb with SRC_URI = "file://bar.patch" with files: foo-1.0/om-gta02/bar.patch foo-1.0/nokia900/bar.patch Then I don't want to use bar.patch from downloads/bar.patch where it's from om-gta02 build when I'm building nokia900. And real example: I have noticed that even local patches are stored in downloads dir, but today I've noticed that wrong file was used later in do_patch. I have latest oe-core/meta-oe + latest bitbake. Pulseaudio was building here for first time downloads/buildfix.patch is from previous build of xf86-video-intel-2.16.0 $ head downloads/buildfix.patch Newer mesa doesn't provide dri support, just dri2. The intel driver ... pulseaudio has right one: $ head /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/buildfix.patch Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com> Upstream-Status: Pending Index: pulseaudio-0.9.11/src/pulsecore/atomic.h ... but while building pulseaudio it's using wrong downloads/buildfix.patch $ bitbake -e -b /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.23.bb | grep ^FILESPATH | sed "s/:/\n/" FILESPATH="/OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/linux-gnueabi /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/arm /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/build-linux /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/pn-pulseaudio /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/nokia900 /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/shr /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/forcevariable /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/libc-glibc /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23-r5/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/linux-gnueabi /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/arm /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/build-linux /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/pn-pulseaudio /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/nokia900 /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/shr /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/forcevariable /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/libc-glibc /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/linux-gnueabi /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/arm /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/build-linux /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/pn-pulseaudio /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/nokia900 /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/shr /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/forcevariable /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/libc-glibc /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/linux-gnueabi /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/arm /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/build-linux /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/pn-pulseaudio /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/nokia900 /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/shr /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/forcevariable /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/libc-glibc /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.23/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/linux-gnueabi /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/arm /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/build-linux /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/pn-pulseaudio /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/nokia900 /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/shr /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/forcevariable /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/libc-glibc /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/linux-gnueabi /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/arm /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/build-linux /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/pn-pulseaudio /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/nokia900 /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/shr /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/forcevariable /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/libc-glibc /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/files/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/linux-gnueabi /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/arm /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/build-linux /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pn-pulseaudio /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/nokia900 /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/ /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/shr /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/forcevariable /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/libc-glibc /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/" -c cleansstate doesn't help rm -rf downloads/buildfix.patch* and probably also -c cleanall _does_ help and do_patch finished now OK. log from first build: NOTE: Running task 6777 of 7835 (ID: 6734, /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.23.bb, do_fetch) NOTE: package pulseaudio-0.9.23-r5: task do_fetch: Started NOTE: package pulseaudio-0.9.23-r5: task do_fetch: Succeeded NOTE: Running task 6778 of 7835 (ID: 6730, /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.23.bb, do_unpack) NOTE: package pulseaudio-0.9.23-r5: task do_unpack: Started NOTE: package pulseaudio-0.9.23-r5: task do_unpack: Succeeded NOTE: Running task 6779 of 7835 (ID: 6731, /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.23.bb, do_patch) NOTE: package pulseaudio-0.9.23-r5: task do_patch: Started ERROR: Error executing a python function in /OE/shr-core/openembedded-core/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.23.bb: CmdError: Command Error: exit status: 1 Output: Applying patch buildfix.patch can't find file to patch at input line 13 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |Newer mesa doesn't provide dri support, just dri2. The intel driver |hasn't quite caught up and whilst the configure checks work, the |global includes have not and need manually tweaking. | |RP 2011/10/12 | |Upstream Status: Superceeded | |Index: xf86-video-intel-2.16.0/src/intel.h |=================================================================== |--- xf86-video-intel-2.16.0.orig/src/intel.h 2011-10-12 20:36:18.587187994 +0100 |+++ xf86-video-intel-2.16.0/src/intel.h 2011-10-12 20:36:30.717188011 +0100 -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored Patch buildfix.patch does not apply (enforce with -f) ERROR: The stack trace of python calls that resulted in this exception/failure was: ERROR: File "patch_do_patch", line 136, in <module> ERROR: ERROR: File "patch_do_patch", line 133, in patch_do_patch ERROR: ERROR: File "/OE/shr-core/openembedded-core/meta/lib/oe/patch.py", line 338, in Resolve ERROR: raise sys.exc_value ERROR: ERROR: The code that was being executed was: ERROR: 0132: raise bb.build.FuncFailed(str(sys.exc_value)) ERROR: 0133: resolver.Resolve() ERROR: 0134: ERROR: 0135: ERROR: *** 0136:patch_do_patch(d) ERROR: 0137: ERROR: (file: 'patch_do_patch', lineno: 136, function: <module>) ERROR: 0137: ERROR: (file: 'patch_do_patch', lineno: 136, function: <module>) ERROR: 0129: patchset.Import({"file":local, "remote":url, "strippath": striplevel}, True) ERROR: 0130: except Exception: ERROR: 0131: import sys ERROR: 0132: raise bb.build.FuncFailed(str(sys.exc_value)) ERROR: *** 0133: resolver.Resolve() ERROR: 0134: ERROR: 0135: ERROR: 0136:patch_do_patch(d) ERROR: 0137: ERROR: (file: 'patch_do_patch', lineno: 133, function: patch_do_patch) ERROR: Function 'patch_do_patch' failed ERROR: Logfile of failure stored in: /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/pulseaudio-0.9.23-r5/temp/log.do_patch.28119
I'm also not seeing this problem locally, patch files don't make it into DL_DIR (*.done files do but not the patch files themselves). I'm therefore wondering if there is something in your configuration that is triggering this...
Fixed in master in http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=437928dfa4fdcf6abe4b4eb9ca03fd7db31404a0