summaryrefslogtreecommitdiffstats
path: root/meta/classes/patch.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* lib/oe/patch: commit with a dummy user/email when PATCHTOOL=gitPaul Eggleton2016-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | When using PATCHTOOL = "git", the user of the system is not really the committer - it's the build system itself. Thus, specify "dummy" values for username and email instead of using the user's configured values. Various parts of the devtool code that need to make commits have also been updated to use the same logic. This allows PATCHTOOL = "git" and devtool to be used on systems where git user.name / user.email has not been set (on versions of git where it doesn't default a value under this circumstance). If you want to return to the old behaviour where the externally configured user name / email are used, set the following in your local.conf: PATCH_GIT_USER_NAME = "" PATCH_GIT_USER_EMAIL = "" Fixes [YOCTO #8703]. (From OE-Core rev: 765a9017eaf77ea3204fb10afb8181629680bd82) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: remove useless path assignmentAlex Franco2016-04-061-1/+0
| | | | | | | | | | | | | | A path variable is assigned the value of PATH from the environment, before the PATH is set on the environemnt from the value of PATH in the bb datastore. This seems to be an unnecessary leftover. [YOCTO #8543] (From OE-Core rev: a3c7c5148017c652661f2c5f79d90aa80dcb479b) Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: unset TMPDIR after useRoss Burton2014-06-291-0/+1
| | | | | | | | | | | | | | | GNU Patch < 2.6.1 has a race condition so we create a per-instance TMPDIR to avoid this. This was implemented by setting os.environ[TMPDIR] but at the end of do_patch the temporary directory is deleted but TMPDIR is not unset. In general this doesn't cause a problem but if do_patch is embedded in a larger function then TMPDIR is set to a directory that doesn't exist. Avoid this by removing TMPDIR from os.environ when the directory is deleted. (From OE-Core rev: 51ea4378864f1468df2ca282a84f78a17d6861aa) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Don't use deprecated bitbake APIRichard Purdie2013-09-011-2/+2
| | | | | | | | | | These have been deprecated for a long time, convert the remaining references to the correct modules and prepare for removal of the compatibility support from bitbake. (From OE-Core rev: 6a39835af2b2b3c7797fe05479341d71a3f3aaf6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: increase securityConstantin Musca2012-09-141-8/+8
| | | | | | | | | | | | | - Use mkdtemp for generating temp dir names - Use bb.utils.remove for removing temp dirs - Add comment for explaining the "patch" workaround [YOCTO #3070] (From OE-Core rev: fbe9fc4d5ece1e66b03b4c4bce9b7ffad3b5b138) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: Use one TMPDIR per patching processConstantin Musca2012-09-141-0/+11
| | | | | | | | | | | | | | | We must use one TMPDIR per process (/tmp/${PID}) so that the patching processes don't generate the same temp file name (the "patch" program uses the TMPDIR environment variable for deciding where to create the temp files). [YOCTO #3070] (From OE-Core rev: 16dbf505c4fdd9fe1820d950ab05c8ea99ad7505) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert tab indentation in python functions into four-spaceRichard Purdie2012-07-191-137/+137
| | | | | | (From OE-Core rev: 604d46c686d06d62d5a07b9c7f4fa170f99307d8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* quilt: move empty quiltrc to native sysconfdirSaul Wold2012-04-261-1/+1
| | | | | | | | | | | | | | | patch.bbclass orignally pointed at /usr/bin/quiltrc for an empty version to ensure that no user setting were picked up, change this to /etc/quiltrc in the Native sysroot since we now have a native sysconfdir. Make sure that the quiltrc is actually installed in the Native sysconfdir, not the target, so fix this after the recipe split. (From OE-Core rev: 1af73900cea82e63fb0f94e6f057144f723146ec) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/patch: optionally return non-patch sourcesBruce Ashfield2012-02-031-1/+8
| | | | | | | | | | | | | | | | | | | | | | commit: patch.bbclass: abstract out logic that determines patches to apply gives the ability for other clases to emit series files for use outside of a build system, or even within the build system. There are sometimes elements on the SRC_URI that while not directly applicable to patching, can be related to patching the package. For example, the yocto kernel class would like to know about these other source items on the SRC_URI to locate out of tree kernel features. This change keeps the default behaviour of returning patches, but adds the ability to request that non-patch results be returned. Additional filtering within the non-patch category, is left up to the caller of the routine. (From OE-Core rev: 41e92923a0b2fe047ecaa9f9ffb564d6069f784f) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/patch: avoid backtrace when patch does not applyPaul Eggleton2012-01-191-1/+4
| | | | | | | | | | | | | | 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>
* patch.bbclass: Ensure the DATE and SRCDATE variable exclusions apply to the ↵Richard Purdie2012-01-131-1/+3
| | | | | | | | | | | | | correct function People have noticed that sstate is now getting invalidated very readily. The issue is that the code using these variables was factored into a new function but the variable exclusion was not. This patch moves the variable exclusion to the correct place allowing the sstate checksums to work correctly. (From OE-Core rev: bd047935305c872b565f30b46c94b7077e5fb3a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: abstract out logic that determines patches to applyChristopher Larson2012-01-031-94/+109
| | | | | | | | | | | This is needed by the copyleft_compliance class, so it can emit series files for the patches, which greatly increases their usefulness to a user trying to reconstruct the sources outside of OE. (From OE-Core rev: 290c7239c21e477bb78b88d92a5b8a7de9142310) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: Add PATCHRESOLVE to excluded vars for generating sstate-cacheMatthew McClintock2011-11-241-1/+1
| | | | | | | | | | The method of resolving the patch should not effect the sstate-cache signature. (From OE-Core rev: b64cbe0b511de8d8943ce34cbb4901239d9f0cb0) Signed-off-by: Matthew McClintock <msm@freescale.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-14/+14
| | | | | | | | | | | | | | | | | 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-1/+3
| | | | | | | | | | | 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.bbclass: allow importing patches into other dirsTom Rini2011-04-041-3/+16
| | | | | | | | | | | | | | | | | | | | This is taken from openembedded.master: commit 9d0d70da60ca8ef278916f442125d41161846f38 Author: Chris Larson <chris_larson@mentor.com> Date: Mon Aug 23 13:03:55 2010 -0400 patch: allow importing patches into other dirs Use the 'patchdir' flag. If relative, it's assumed to be relative to ${S}. It creates a patchset class per patch directory, so for quilt this results i multiple .pc/patches directories to manage each of the patchsets. (From OE-Core rev: 01e4609ee8441c8212725fd062782313caae0708) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/classes: Update classes to use new fetcher APIRichard Purdie2011-02-071-2/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.bbclass: Move vardepsexclude flag to be along side the function using ↵Richard Purdie2010-12-301-0/+1
| | | | | | the variable Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* patch.bbclass: Merge patch enhancements from OE by Chris LarsonJoshua Lock2010-06-011-23/+36
| | | | | | | | | | | | | | | | | | | | Chris made some interesting changes to the patch handling in OE. Firstly the patch and pnum parameters have been renamed, to better reflect their function, to apply and striplevel. The apply parameter now takes either yes or no as its value. Therefore a patch line would be changed from: file://some.patch;patch=1;pnum=2 to: file://some.patch;apply=yes;striplevel=2 Secondly the apply parameter is inferred if not defined. Entries in SRC_URI with diff or patch filename extensions will be automatically applied as patches if the apply parameter is not set to no (or an unknown value). Note: We have disabled the warnings when using the old style parameters for now Signed-off-by: Joshua Lock <josh@linux.intel.com>
* Update classes to use lib/oeJoshua Lock2010-05-061-455/+10
| | | | | | | Adapt modifications from upstream to make Poky classes use lib/oe for the common Python functionality. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake.conf/base.bbclass: Rename the staging directory to sysroots and the ↵Richard Purdie2009-11-131-1/+1
| | | | | | | | | | | | | populate_staging task to populate_sysroot This change makes the purpose of the staging directory more obvious and the taskname more true to what it now actually does. The layout version number is increased due to the change in layout but code to convert existing directories and insert a symlink for backwards compatibility is included. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes: Remove and sanitise import statementsRichard Purdie2009-11-131-9/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* patch.bbclass: Merge in git resolver changes from OE.dev. Catch all ↵Richard Purdie2009-09-031-5/+21
| | | | | | exceptions rather than print horrid backtraces Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* patch.bbclass: Fix up the environment for the patch resolution codeRichard Purdie2009-07-021-0/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* patch.bbclass: Sync with OE.devRichard Purdie2009-07-021-25/+63
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* patch.bbclass: Allow a patch to be applied or not applied against a specific ↵Richard Purdie2009-06-221-0/+12
| | | | | | srcrev Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* patch.bbclass: Make it possibe to override the patch dependencyRichard Purdie2008-05-181-1/+2
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4489 311d38ba-8fff-0310-9ca6-ca027cbcb966
* patch.bbclass: Add support for maxrev and minrevRichard Purdie2007-08-031-21/+23
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2350 311d38ba-8fff-0310-9ca6-ca027cbcb966
* patch.bbclass: Set default patch resolver to noopRichard Purdie2007-05-111-1/+1
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1711 311d38ba-8fff-0310-9ca6-ca027cbcb966
* patch.bbclass: Specify a quiltrc file so users settings don't interfere with ↵Richard Purdie2007-04-141-1/+5
| | | | | | correct operation git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1509 311d38ba-8fff-0310-9ca6-ca027cbcb966
* classes: Rework core dependencies to work properly at the task levelRichard Purdie2007-04-031-0/+2
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1427 311d38ba-8fff-0310-9ca6-ca027cbcb966
* patch.bbclass: Fix force options for recent quilt versionsRichard Purdie2007-01-081-0/+1
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1122 311d38ba-8fff-0310-9ca6-ca027cbcb966
* patch.bbclass: fix bug where it failed to detect that the user did not ↵Chris Larson2006-10-251-1/+8
| | | | | | modify the patches at all, add note about pressing ctrl+d to exit the resolver shell. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@822 311d38ba-8fff-0310-9ca6-ca027cbcb966
* patch.bbclass: sync with upstream oe.Chris Larson2006-09-151-12/+17
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@713 311d38ba-8fff-0310-9ca6-ca027cbcb966
* patch.bbclass: updates from upstream oe.Chris Larson2006-09-011-5/+2
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@691 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Patch.bbclass: add NOOPResolver class for use in unattended builds, which ↵Chris Larson2006-08-301-8/+18
| | | | | | does no actual patch resolution, simply passing the failure on up. Set PATCHRESOLVE='noop' to make use of it. Also pulls in the workaround for quilt's upward searching for a 'patches' dir from upstream oe. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@680 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Patch failure handling updates, added a 'patch' concrete class, so we can ↵Chris Larson2006-08-281-89/+148
| | | | | | apply patches to quilt-native itself. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@670 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Patch.bbclass: fix bug resulting in a failure to md5 the local path.. it ↵Chris Larson2006-08-271-1/+1
| | | | | | broke when localpath() included variable references. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@662 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Fix the patch.bbclass error handling in a couple of the error paths by ↵Chris Larson2006-08-231-4/+3
| | | | | | changing the semantics of the PatchError exception. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@627 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Clean up the way patch.bbclass's runcmd handles the directory not existing.Chris Larson2006-08-221-4/+17
| | | | git-svn-id: https://svn.o-hand.com/repos/poky/trunk@624 311d38ba-8fff-0310-9ca6-ca027cbcb966
* Changes for ticket:8, with fixes for the bugs reported by Richard.Chris Larson2006-08-211-0/+405
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@622 311d38ba-8fff-0310-9ca6-ca027cbcb966