Skip to contentSkip to conversation

11372: allow to set varflags in image_* classes

PATCH New Ed Bartosh 1 participant 4 messages Jun 14, 2017

lore
Share & tools
lore

Ed Bartosh

author
#0 lore raw

cover 11372: allow to set varflags in image_* classes

Hi,

This patchset fixes Bug 11372 - image.bbclass forces some flags for do_image_X tasks by replacing setVarFlag calls with appendVarFlag for prefuncs, postfuncs and subimages flags. This should allow to modify these flags in image_* classes.

The patchset contains a little bit of code cleanup and a small fix for setting vardeps flag.

The following changes since commit 7aae19322ad34fa471550b70e223a702449320a2:

buildhistory-diff: exclude paths from the output (2017-06-13 17:28:07 +0300)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib ed/wip
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/wip

Ed Bartosh (3):
image.bbclass: cleanup: add new variable "task"
image.bbclass: improve setup of flags
image.bbclass: fix setting of vardeps flag

 meta/classes/image.bbclass | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

--
Regards,
Ed

author
#1 lore raw

PATCH 1/3 image.bbclass: cleanup: add new variable "task"

Replaced repeated expression "do_image_%s" % t with a variable 'task' to simplify the code and increase readability.

---
 meta/classes/image.bbclass | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)
meta/classes/image.bbclass +13 -13
index 85f6b9a..ff4eda1 100644
@@ -491,19 +491,19 @@ python () {
         for dep in typedeps[t]:
             after += ' do_image_%s' % dep.replace("-", "_").replace(".", "_")
 
-        t = t.replace("-", "_").replace(".", "_")
-
-        d.setVar('do_image_%s' % t, '\n'.join(cmds))
-        d.setVarFlag('do_image_%s' % t, 'func', '1')
-        d.setVarFlag('do_image_%s' % t, 'fakeroot', '1')
-        d.setVarFlag('do_image_%s' % t, 'prefuncs', debug + 'set_image_size')
-        d.setVarFlag('do_image_%s' % t, 'postfuncs', 'create_symlinks')
-        d.setVarFlag('do_image_%s' % t, 'subimages', ' '.join(subimages))
-        d.appendVarFlag('do_image_%s' % t, 'vardeps', ' '.join(vardeps))
-        d.appendVarFlag('do_image_%s' % t, 'vardepsexclude', 'DATETIME')
-
-        bb.debug(2, "Adding type %s before %s, after %s" % (t, 'do_image_complete', after))
-        bb.build.addtask('do_image_%s' % t, 'do_image_complete', after, d)
+        task = "do_image_%s" % t.replace("-", "_").replace(".", "_")
+
+        d.setVar(task, '\n'.join(cmds))
+        d.setVarFlag(task, 'func', '1')
+        d.setVarFlag(task, 'fakeroot', '1')
+        d.setVarFlag(task, 'prefuncs', debug + 'set_image_size')
+        d.setVarFlag(task, 'postfuncs', 'create_symlinks')
+        d.setVarFlag(task, 'subimages', ' '.join(subimages))
+        d.appendVarFlag(task, 'vardeps', ' '.join(vardeps))
+        d.appendVarFlag(task, 'vardepsexclude', 'DATETIME')
+
+        bb.debug(2, "Adding task %s before %s, after %s" % (task, 'do_image_complete', after))
+        bb.build.addtask(task, 'do_image_complete', after, d)
 }
 
 #
Signature · 1 line
2.1.4
author
#2 lore raw

PATCH 2/3 image.bbclass: improve setup of flags

In reply to Ed Bartosh

Replaced setVarFlag calls to appendVarFlag to allow modification of prefuncs, postfuncs and subimages flags in inherited image classes.

[YOCTO #11372]

---
 meta/classes/image.bbclass | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
meta/classes/image.bbclass +4 -3
index ff4eda1..e18ac72 100644
@@ -496,9 +496,10 @@ python () {
         d.setVar(task, '\n'.join(cmds))
         d.setVarFlag(task, 'func', '1')
         d.setVarFlag(task, 'fakeroot', '1')
-        d.setVarFlag(task, 'prefuncs', debug + 'set_image_size')
-        d.setVarFlag(task, 'postfuncs', 'create_symlinks')
-        d.setVarFlag(task, 'subimages', ' '.join(subimages))
+
+        d.appendVarFlag(task, 'prefuncs', ' ' + debug + ' set_image_size')
+        d.appendVarFlag(task, 'postfuncs', ' create_symlinks')
+        d.appendVarFlag(task, 'subimages', ' ' + ' '.join(subimages))
         d.appendVarFlag(task, 'vardeps', ' '.join(vardeps))
         d.appendVarFlag(task, 'vardepsexclude', 'DATETIME')
 
Signature · 1 line
2.1.4
author
#3 lore raw

PATCH 3/3 image.bbclass: fix setting of vardeps flag

In reply to Ed Bartosh

Added leading space to vardeps to avoid flag value to be added to the existing value without a separator.

---
 meta/classes/image.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/image.bbclass +1 -1
index e18ac72..9a04b43 100644
@@ -500,7 +500,7 @@ python () {
         d.appendVarFlag(task, 'prefuncs', ' ' + debug + ' set_image_size')
         d.appendVarFlag(task, 'postfuncs', ' create_symlinks')
         d.appendVarFlag(task, 'subimages', ' ' + ' '.join(subimages))
-        d.appendVarFlag(task, 'vardeps', ' '.join(vardeps))
+        d.appendVarFlag(task, 'vardeps', ' ' + ' '.join(vardeps))
         d.appendVarFlag(task, 'vardepsexclude', 'DATETIME')
 
         bb.debug(2, "Adding task %s before %s, after %s" % (task, 'do_image_complete', after))
Signature · 1 line
2.1.4