У меня есть тарболом src.tar.gz, содержимое которого распаковывается в SRC/и заплата этих источников генерируется с помощью этой команды:Bitbake рецепт не применяя патч, как ожидалось
$ diff -Nurp src/ src_mod/ > my.patch
Заголовок патч начинается с этой три линии:
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
Мои BitBake рецепт ссылки как путь и тарболл файлы с помощью этого SRC_URI:
SRC_URI = " \
file://my.patch \
file://src.tar.gz \
"
do_fetch и do_unpack задачи работы, как и ожидалось, в результате чего my.patch и SRC/внутри $ {S} каталога, то есть:
${S}/my.path
${S}/src.tar.gz
Но do_patch задача не удается с этим сообщением 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?
Я тестировал различные варианты, например установку «PATCHDIR» атрибут, как показано ниже:
SRC_URI = " \
file://my.patch;patchdir=${S}/src \
file://src.tar.gz \
"
я ожидал «PATCHDIR» такой же, как с помощью «заплаты -d Dir». Но он работает не так, как ожидалось, он всегда возвращает одно и то же сообщение ERROR.
Что я делаю неправильно?