summaryrefslogtreecommitdiffstats
path: root/meta/classes/metadata_scm.bbclass
AgeCommit message (Collapse)Author
2018-11-13metadata_scm: Drop orphaned monotone functionsRichard Purdie
Its been 'a while' since we used monotone, drop these revision function remnants. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-13metadata_scm.bbclass: simplify base_detect_revision()Robert Yang
The previous code looks strange because of historical reason, simply return base_get_metadata_git_revision/branch() is enough, the later functions has handled everything like '<unknown>' and strip(). Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-11metadata_scm.bbclass: Do not assume ${COREBASE} is a Git repoPeter Kjellerstedt
The functions base_detect_revision() and base_detect_branch() try to extract SCM meta information from the path returned by base_get_scmbasepath(), which currently returns ${COREBASE}. However, making the assumption that ${COREBASE} contains SCM meta information can be false. It is true for Poky, but not necessarily other environments. A better option is to look for the SCM meta information based on the meta layer. Since this works as expected for Git but not SVN, the call to base_get_metadata_svn_revision() from base_detect_revision() was also removed. This is not expected to affect anyone (partly based on the comment in base_get_metadata_svn_revision()). Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24classes/metadata_scm: fix git errors showing up on non-git repositoriesPaul Eggleton
Fixes the following error showing up for layers that aren't a git repo (or aren't parented by one): fatal: Not a git repository (or any of the parent directories): .git This was because we weren't intercepting stderr. We might as well just use bb.process.run() here which does that and returns stdout and stderr separately. (This was a regression that came in with OE-Core revision 3aac11076e22ac4fea48f5404110bb959547a9fe). Fixes [YOCTO #8661]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-19metadata_scm: rewrite git hash logicRoss Burton
The code to get the git and branch hash for the current commit in a specific repository was quite complex and prone to breakage, replace it with subprocess and git rev-parse. Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-03metadata_scm: Fix crash due to uncaught python exceptionMerten Sach
Function base_get_metadata_svn_revision was crashing due to an uncaught IndexError exception. The except notation without parentheses is legacy syntax. It is the equivalent to 'except IOError as IndexError' which is not what we want here. The change catches both exceptions. Signed-off-by: Merten Sach <msach@mailbox.tu-berlin.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-11-22metadata_scm: Avoid crashing on new svn version layoutsRichard Purdie
This avoids crashing on newer svn layouts where the entries files don't contain three lines. If someone wants to fix this to get the right version on newer subversion checkouts, patches welcome but this at least stops things crashing. [YOCTO #5363] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09class/lib: Fix up various file access methodsRichard Purdie
There are various bits of cruft that have built up around our file accesses. This patch cleans some of them up, specifically: * Remove pointless "from __builtin__ import file" * Use open(), not file() * Wrap file usage in a with container to ensure files are closed * Add missing .close() calls in some cases Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09metadata_scm: Replace deprecated operatorRichard Purdie
The <> operator is deprecated, use != instead which is equivalent. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19Convert tab indentation in python functions into four-spaceRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30Revert "meta: replace os.popen with subprocess.Popen"Richard Purdie
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion is not correct. Its replacing readlines() calls which generate an array with what are effectively strings. There are split("\n") calls missing in many cases so this needs to be reverted until it gets fixed.
2012-05-30meta: replace os.popen with subprocess.PopenRobert Yang
Replace os.popen with subprocess.Popen since the older function would fail (more or less) silently if the executed program cannot be found There are both bb.process.run() and bb.process.Popen() which wraps the subprocess module, use it for simplifying the code. Note: We don't need the "2>/dev/null" or "2>&1" since bb.process.run() can handle it, it will raise exception when error occurs, we should handle the exception ourselves if we want to ignore the error. More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie
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>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie
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 *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-11metadata_scm.bbclass: Use COREBASE to grok for SCM operationsKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-10-21metadata_scm: Ensure that if an SCM isn't present, we dont print a revision ↵Richard Purdie
of 'fatal:' as it looks bad Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-08metadata_scm.bbclass: Make errors quiet if we're not in a git based scmJoe Sauer
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-03-19base.bbclass: Split up as per the patch in OE.dev by Chris Larson making ↵Richard Purdie
code more readable and modularised Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>