[yocto] [autobuilder][PATCH 1/2] GetBitbakeVersion.py: add buildstep to get the version of bitbake

brendan.le.foll at intel.com brendan.le.foll at intel.com
Wed Jan 21 03:08:28 PST 2015


From: Brendan Le Foll <brendan.le.foll at intel.com>

This step allows people to use the property 'bitbakeversion' in their
buildsteps which is useful before running bitbake to check what flags will be
supported.

Signed-off-by: Brendan Le Foll <brendan.le.foll at intel.com>
---
 docs/YoctoAutobuilderDevelopersDocument.html       | 11 +++++
 .../autobuilder/buildsteps/GetBitbakeVersion.py    | 49 ++++++++++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100644 lib/python2.7/site-packages/autobuilder/buildsteps/GetBitbakeVersion.py

diff --git a/docs/YoctoAutobuilderDevelopersDocument.html b/docs/YoctoAutobuilderDevelopersDocument.html
index 8a2747b..e583dea 100644
--- a/docs/YoctoAutobuilderDevelopersDocument.html
+++ b/docs/YoctoAutobuilderDevelopersDocument.html
@@ -1500,6 +1500,17 @@
                 </tr>
                 <tr class="c3">
                     <td class="c24" colspan="1" rowspan="1">
+                        <p class="c0"><span class="c9">GetBitbakeVersion</span></p>
+                    </td>
+                    <td class="c5" colspan="1" rowspan="1">
+                        <p class="c0"><span class="c9">Gets the version of bitbake being used. This is used by BuildImages.</span></p>
+                    </td>
+                    <td class="c21" colspan="1" rowspan="1">
+                        <p class="c0"><span class="c9">"bitbakeversion": string</span></p>
+                    </td>
+                </tr>
+                <tr class="c3">
+                    <td class="c24" colspan="1" rowspan="1">
                         <p class="c0"><span class="c9">GetDistroVersion</span></p>
                     </td>
                     <td class="c5" colspan="1" rowspan="1">
diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/GetBitbakeVersion.py b/lib/python2.7/site-packages/autobuilder/buildsteps/GetBitbakeVersion.py
new file mode 100644
index 0000000..dc6c25b
--- /dev/null
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/GetBitbakeVersion.py
@@ -0,0 +1,49 @@
+'''
+Created on January 20th, 2015
+
+__author__ = "Brendan Le Foll"
+__copyright__ = "Copyright 2015, Intel Corp."
+__credits__ = ["Brendan Le Foll"]
+__license__ = "GPL"
+__version__ = "2.0"
+__maintainer__ = "Elizabeth Flanagan"
+__email__ = "elizabeth.flanagan at intel.com"
+'''
+from buildbot.steps.shell import ShellCommand
+from buildbot.status import progress
+from buildbot.status.results import SUCCESS, FAILURE, WARNINGS
+from buildbot.process.properties import WithProperties
+from twisted.python import log
+from autobuilder.config import *
+
+class GetBitbakeVersion(ShellCommand):
+    haltOnFailure = False
+    flunkOnFailure = False
+    name = "GetBitbakeVersion"
+    def __init__(self, factory, argdict=None, **kwargs):
+        for k, v in argdict.iteritems():
+            setattr(self, k, v)
+        self.description = "Get Bitbake Version"
+        self.workerworkdir=os.path.join(os.path.join(YOCTO_ABBASE, "yocto-worker"))
+        for k, v in argdict.iteritems():
+            setattr(self, k, v)
+        ShellCommand.__init__(self, **kwargs)
+
+    def start(self):
+        buildername=self.getProperty("buildername")
+
+        self.command = '. ./oe-init-build-env; bitbake --version'
+        ShellCommand.start(self)
+
+    def commandComplete(self, cmd):
+        result = cmd.logs['stdio'].getText()
+        
+        bitbakev= result.split()[-1]
+        log.msg("Bitbake version: " + bitbakev)
+        if cmd.didFail():
+           bitbakev = "1"
+        self.setProperty('bitbakeversion', bitbakev, "Setting Bitbake Version")
+        self.finished(SUCCESS)
+
+    def getText(self, cmd, results):
+        return ShellCommand.getText(self, cmd, results)
-- 
2.2.1




More information about the yocto mailing list