summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/patch.py
Commit message (Collapse)AuthorAgeFilesLines
* classes/lib: Fix getcmdstatus breakageRichard Purdie2013-05-091-2/+2
| | | | | | | | | I mistakenly thought subprocess had getcmdstatus in python 2. It doesn't so lets add a wrapper and have this work in both worlds. (From OE-Core rev: 2253e9f12734c6e6aa489942b5e4628eca1fa29d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity/patch.py: Remove commands module usageRichard Purdie2013-05-091-3/+3
| | | | | | | | | The commands module is removed in python3. Use the subprocess module instead and the pipes module to replace the mkargs usage. (From OE-Core rev: e2e1dcd74bc45381baccf507c0309dd792229afe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clases/lib: Use modern exception syntaxRichard Purdie2013-05-091-1/+1
| | | | | | | | | Update older code to use modern exception handling syntax which is the form accepted by python 3. (From OE-Core rev: b010501cd089e649a68f683be0cf4d0aac90fbe3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: Use force option when creating symlinks to patchesRichard Purdie2012-12-171-1/+1
| | | | | | | | | | | | | | | | Under the scenario where you have an existing source tree and you then change one of the patches, maybe to be architecture or machine specific, then rebuild, the build will fail since the symlink already exists but should now point at a different file. The easiest fix is to tell the system to remove and recreate the link which is done with the force option. (From OE-Core rev: 4741b90b170bc96e3a24f9c1dce871af060bc4d5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove a number of unneeded import os/bb callsRichard Purdie2012-07-191-2/+0
| | | | | | | | | | The bb and os modules are always imported so having these extra import calls are a waste of space/execution time. They also set a bad example for people copy and pasting code so clean them up. (From OE-Core rev: 7d674820958be3a7051ea619effe1a6061d9cbe2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie2012-03-051-2/+2
| | | | | | | | | | | | 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>
* lib/oe/patch.py: Fix and improve PatchTree() resolver logicRichard Purdie2012-03-021-12/+53
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* classes/patch: avoid backtrace when patch does not applyPaul Eggleton2012-01-191-5/+5
| | | | | | | | | | | | | | 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>
* Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie2011-11-101-2/+2
| | | | | | | | | | | | | | | | | This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` (From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch: Convert to use oe_terminalRichard Purdie2011-11-041-11/+6
| | | | | | | | | | | 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>
* patch.py: fixed message domain errorsSamuel Stirtzel2011-10-141-2/+2
| | | | | | | | | | The dynamic message domain was introduced by Richard Purdie with the following patch: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6c48298b17e6a5844b3638b422fe226e3b67b89 (From OE-Core rev: 2383e06c8ed7c15aa148b9dbe40445e7095b6f57) Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/patch.py: Remove series file during Clean()Khem Raj2011-05-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* lib/oe/patch.py: Cosmetic change to avoid bitbake warningKhem Raj2011-03-231-1/+1
| | | | | | | | | bb.mkdirhier should be bb.utils.mkdirhier (From OE-Core rev: cd28d5f5ad7855d0d6a15bec5317c942e2462065) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.patch: add missing importsChris Larson2011-03-231-0/+2
| | | | | | | (From OE-Core rev: cefbf3a14fcf87e18f7a63a1f55904d9d612ed3e) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/classes: Update classes to use new fetcher APIRichard Purdie2011-02-071-3/+3
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe: sync with OE.devJoshua Lock2010-08-041-9/+6
| | | | | | | 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>
* lib/oe/patch.py: Fix patch application failure interaction handlingRichard Purdie2010-06-101-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* lib/oe/patch.py: Fix datastore references in error pathsRichard Purdie2010-05-271-4/+4
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* lib/oe: Import oe lib from OE.devJoshua Lock2010-05-061-0/+407
This library moves the common Python methods into modules of an 'oe' Python package. Signed-off-by: Joshua Lock <josh@linux.intel.com>