Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:
sed \
-e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
-e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
-i `grep -ril getVar *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, if PATCHRESOLVE is user and and PatchTree() is being used, you can
get backtraces if patch application fails. This is because even in the failure
case, self._current is incremented, meaning second time around, there are array
range issues.
This patch changes the code so _current is only incremented upon successful
patch application, thereby resolving this failure.
Secondly, if you bitbake -c patch -f a recipe using PatchTree(), the
clean method was unimplemented leading to patch failures.
The other part of this patch changes the logic so a series file and
set of applied patches are maintained in a quilt like fashion. This
means a the Clean method can be implemented correctly and rerunning
the patch task of an existing patches source now works reliably.
[YOCTO #2043 partially]
(From OE-Core rev: f0fc47aea37793a62c43f10eea27ca014c420924)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't need to see a Python stack backtrace when a patch does not
apply, just the error output from patch, so trap these kinds of errors
and ensure that we display the message and fail the task and nothing
else.
Fixes [YOCTO #1143]
(From OE-Core rev: ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Unfortunately we can't access oe_terminal directly from patch.py
so we have to pass in the correct terminal function pointer.
[YOCTO #1587]
(From OE-Core rev: 9e0a21dda24f285a1c4878488e887485a749f3f2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if there is a failed do_patch the series files get appended
so if there were two patches
a.patch
b.patch
and b.patch failed during next run it would append a.patch again
a.patch
b.patch
a.patch
and this would keep growing.
We can remove series file in Clean() because we populate it in Import()
anyway
(From OE-Core rev: fd07744ae549c2f43b18d53e6ed16c20df6b4ef3)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Chris Larson <chris_larson@mentor.com>
Acked-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Most notable change is the move to creating symlinks to patches in the metadata
tree rather than copying them.
Signed-off-by: Joshua Lock <josh@linux.intel.com>