La receta de Bitbake no aplica el parche como se esperaba
Tengo un tarball src.tar.gz cuyo contenido está descomprimido en src / y un parche de estas fuentes generado con este comando:
$ diff -Nurp src/ src_mod/ > my.patch
El encabezado del parche comienza con estas tres líneas:
diff -Nurp src/path/to/file src_PATCHED/path/to/file
--- src/path/to/file 2012-10-22 05:52:59.000000000 +0200
+++ src_PATCHED/path/to/file 2016-03-14 12:27:52.892802283 +0100
Mi receta de bitbake hace referencia a archivos de ruta y tarball usando este SRC_URI:
SRC_URI = " \
file://my.patch \
file://src.tar.gz \
"
Las tareas do_fetch y do_unpack funcionan según lo esperado, dejando my.patch y src / inside $ {S}, es decir:
${S}/my.path
${S}/src.tar.gz
Pero la tarea do_patch falla con este mensaje de ERROR:
ERROR: Command Error: exit status: 1 Output:
Applying patch my.patch
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
He probado diferentes alternativas, por ejemplo, estableciendo el atributo "patchdir" como se muestra a continuación:
SRC_URI = " \
file://my.patch;patchdir=${S}/src \
file://src.tar.gz \
"
Esperaba que "patchdir" fuera lo mismo que usar "patch -d dir". Pero no funciona como se esperaba, siempre devuelve el mismo mensaje de ERROR.
¿Que estoy haciendo mal?