Skip to contentSkip to conversation

GetLayerVersion.py: set new layer version only if cmd was sucessful and not already set

PATCH In review Bill Randle 3 participants 4 messages May 25, 2016 – May 26, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 GetLayerVersion.py: set new layer version only if cmd was sucessful and not already set

Fixed a bug where GetLayerVersion set the layerversion to -1 when a meta-poky layer.conf was not found.

---
 .../autobuilder/buildsteps/GetLayerVersion.py             | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)
lib/python2.7/site-packages/autobuilder/buildsteps/GetLayerVersion.py +6 -9
index de5c203..3f167e8 100644
@@ -44,15 +44,12 @@ class GetLayerVersion(ShellCommand):
         ShellCommand.start(self)
 
     def commandComplete(self, cmd):
-        result = cmd.logs['stdio'].getText()
-        layerv= result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip()
-        if cmd.didFail():
-           layerv = "-1"
-        if self.getProperty('layerversion_' + self.layerfile):
-            self.finished(SUCCESS)
-        else:
-            self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
-            self.finished(SUCCESS)
+        if not cmd.didFail():
+            result = cmd.logs['stdio'].getText()
+            layerv = result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip()
+            if not self.getProperty('layerversion_' + self.layerfile):
+                self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
+        self.finished(SUCCESS)
 
     def getText(self, cmd, results):
         return ShellCommand.getText(self, cmd, results)
Signature · 1 line
2.5.5
#1 lore raw
Quoted 21 lines · Bill Randle

Fixed a bug where GetLayerVersion set the layerversion to -1 when a meta-poky layer.conf was not found.

---
 .../autobuilder/buildsteps/GetLayerVersion.py             | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)
lib/python2.7/site-packages/autobuilder/buildsteps/GetLayerVersion.py +0 -5
index de5c203..3f167e8 100644
@@ -44,15 +44,12 @@ class GetLayerVersion(ShellCommand):
         ShellCommand.start(self)
 
     def commandComplete(self, cmd):
-        result = cmd.logs['stdio'].getText()
-        layerv= result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip()
-        if cmd.didFail():
-           layerv = "-1"
-        if self.getProperty('layerversion_' + self.layerfile):

lib/python2.7/site-packages/autobuilder/buildsteps/GetLayerVersion.py class GetLayerVersion(ShellCommand): · line 52

Quoted 10 lines
lib/python2.7/site-packages/autobuilder/buildsteps/GetLayerVersion.py +6 -4
-            self.finished(SUCCESS)
-        else:
-            self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
-            self.finished(SUCCESS)
+        if not cmd.didFail():
+            result = cmd.logs['stdio'].getText()
+            layerv = result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip()
+            if not self.getProperty('layerversion_' + self.layerfile):
+                self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
+        self.finished(SUCCESS)

What happens if the command actually failed?

Quoted 4 lines
lib/python2.7/site-packages/autobuilder/buildsteps/GetLayerVersion.py +0 -0
     def getText(self, cmd, results):
         return ShellCommand.getText(self, cmd, results)
 
#2 lore raw
Quoted 33 lines · Randy Witt
Quoted 32 lines · Bill Randle

Fixed a bug where GetLayerVersion set the layerversion to -1 when a meta-poky layer.conf was not found.

---
 .../autobuilder/buildsteps/GetLayerVersion.py             | 15 ++++++----
-----

 1 file changed, 6 insertions(+), 9 deletions(-)
(quoted diff) +0 -0

packages/autobuilder/buildsteps/GetLayerVersion.py b/lib/python2.7/site- packages/autobuilder/buildsteps/GetLayerVersion.py
index de5c203..3f167e8 100644

lib/python2.7/site-packages/autobuilder/buildsteps/GetLayerVersion.py +0 -0
@@ -44,15 +44,12 @@ class GetLayerVersion(ShellCommand):
          ShellCommand.start(self)
 

     def commandComplete(self, cmd):
-        result = cmd.logs['stdio'].getText()
-        layerv= result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip() -        if cmd.didFail():
-           layerv = "-1"
-        if self.getProperty('layerversion_' + self.layerfile):
-            self.finished(SUCCESS)
-        else:
-            self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
-            self.finished(SUCCESS)
+        if not cmd.didFail():

Quoted 8 lines
Quoted 7 lines

+            result = cmd.logs['stdio'].getText()
+            layerv = result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip() +            if not self.getProperty('layerversion_' + self.layerfile):
+                self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
+        self.finished(SUCCESS)

What happens if the command actually failed?

It just sets SUCCESS and carries on. What's going on is that the code that calls this is iterating over different layers, starting with meta-poky, then meta- yocto. When building a version prior to the meta-yocto -> meta-poky transition, it will fail to find meta-poky/conf/layer.conf, but it's ok, because it will next try meta-yocto/conf/layer.conf and succeed.

What was going on before is that on failure, if the layerversion was not previouisly set, it would get set to -1 on that failure and not get overriden by the correct version in meta-yocto/conf.

    -Bill

#3 lore raw
In reply to Bill Randle

Ok, this looks right. Let me test it and then pull.

Quoted 42 lines · Bill Randle

Fixed a bug where GetLayerVersion set the layerversion to -1 when a meta-poky layer.conf was not found.

---
 .../autobuilder/buildsteps/GetLayerVersion.py             | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)
lib/python2.7/site-packages/autobuilder/buildsteps/GetLayerVersion.py +6 -10
index de5c203..3f167e8 100644
@@ -44,15 +44,12 @@ class GetLayerVersion(ShellCommand):
         ShellCommand.start(self)
 
     def commandComplete(self, cmd):
-        result = cmd.logs['stdio'].getText()
-        layerv= result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip()
-        if cmd.didFail():
-           layerv = "-1"
-        if self.getProperty('layerversion_' + self.layerfile):
-            self.finished(SUCCESS)
-        else:
-            self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
-            self.finished(SUCCESS)
+        if not cmd.didFail():
+            result = cmd.logs['stdio'].getText()
+            layerv = result.replace("LAYERVERSION_" + self.layerfile, "").replace("=","").replace(' ','').replace('"','').replace("'",'').strip()
+            if not self.getProperty('layerversion_' + self.layerfile):
+                self.setProperty('layerversion_' + self.layerfile, layerv, "Setting Layer Version")
+        self.finished(SUCCESS)
 
     def getText(self, cmd, results):
         return ShellCommand.getText(self, cmd, results)
--

2.5.5

--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Signature · 3 lines
Elizabeth Flanagan
Yocto Project
Build and Release