Bitbake Rezept wendet Patch nicht wie erwartet an
Ich habe einen Tarball src.tar.gz, dessen Inhalt in src / entpackt wird, und einen Patch dieser Quellen, der mit diesem Befehl generiert wird:
$ diff -Nurp src/ src_mod/ > my.patch
Der Patch-Header beginnt mit diesen drei Zeilen:
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
Mein BitBake-Rezept verweist mit diesem SRC_URI auf Pfad- und Tarball-Dateien:
SRC_URI = " \
file://my.patch \
file://src.tar.gz \
"
ie Aufgaben @do_fetch und do_unpack funktionieren wie erwartet und lassen my.patch und src / im Verzeichnis $ {S}, dh:
${S}/my.path
${S}/src.tar.gz
Aber do_patch-Task schlägt mit dieser FEHLERMELDUNG fehl:
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?
Ich habe verschiedene Alternativen getestet, zum Beispiel das Setzen des "patchdir" -Attributs wie unten gezeigt:
SRC_URI = " \
file://my.patch;patchdir=${S}/src \
file://src.tar.gz \
"
Ich habe erwartet, dass "patchdir" dasselbe ist wie "patch -d dir". Aber es funktioniert nicht wie erwartet, es gibt immer die gleiche Fehlermeldung zurück.
Was mache ich falsch?