Skip to contentSkip to conversation

targetcontrol.py: make QEMU_USE_KVM = "1" work

PATCH In review Robert Yang 2 participants 4 messages Nov 14, 2017 – Dec 1, 2017

lore
Share & tools
lore
#0 lore raw

cover targetcontrol.py: make QEMU_USE_KVM = "1" work

The following changes since commit a17f3ec910366e9e7551fa24fbc07929b9584341:

dhcp: fix build issue with libxml2 support (2017-11-10 14:44:31 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/use_qemu
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/use_qemu

Robert Yang (1):
targetcontrol.py: make QEMU_USE_KVM = "1" work

 meta/classes/testimage.bbclass | 2 +-
 meta/lib/oeqa/targetcontrol.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 targetcontrol.py: make QEMU_USE_KVM = "1" work

It only could be set to "True", which was not common in oe, e.g.:
* Works
QEMU_USE_KVM = "True"

* Didn't work, this would surprise user.
QEMU_USE_KVM = "1"

Make it work with both 1 and True now, the "True" is for compatibility.

[YOCTO #12343]

---
 meta/classes/testimage.bbclass | 2 +-
 meta/lib/oeqa/targetcontrol.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
meta/classes/testimage.bbclass +1 -1
index 45bb2bd..66b4baf 100644
@@ -215,7 +215,7 @@ def testimage_main(d):
     # Get use_kvm
     qemu_use_kvm = d.getVar("QEMU_USE_KVM")
     if qemu_use_kvm and \
-       (qemu_use_kvm == 'True' and 'x86' in machine or \
+       (qemu_use_kvm in ('True', '1') and 'x86' in machine or \
         d.getVar('MACHINE') in qemu_use_kvm.split()):
         kvm = True
     else:
meta/lib/oeqa/targetcontrol.py +1 -1
index f63936c..1625569 100644
@@ -107,7 +107,7 @@ class QemuTarget(BaseTarget):
         dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
         qemu_use_kvm = d.getVar("QEMU_USE_KVM")
         if qemu_use_kvm and \
-           (qemu_use_kvm == "True" and "x86" in d.getVar("MACHINE") or \
+           (qemu_use_kvm in ("True", "1") and "x86" in d.getVar("MACHINE") or \
             d.getVar("MACHINE") in qemu_use_kvm.split()):
             use_kvm = True
         else:
Signature · 1 line
2.7.4
#2 lore raw

There are two neater ways of doing this:

1) oe.types.boolean() which handles all the common aliases for true or false.
2)bitbake typed variables. Do QEMU_USE_KVM[type]="boolean" where it gets a default value, and then use oe.data.typed_value('QEMU_USE_KVM', d) to get the value.

Both ways move the actual value parsing to dedicated code so its less error prone and more consistent.

Ross

Quoted 55 lines · Robert Yang

It only could be set to "True", which was not common in oe, e.g.:
* Works
QEMU_USE_KVM = "True"

* Didn't work, this would surprise user.
QEMU_USE_KVM = "1"

Make it work with both 1 and True now, the "True" is for compatibility.

[YOCTO #12343]

---
 meta/classes/testimage.bbclass | 2 +-
 meta/lib/oeqa/targetcontrol.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
meta/classes/testimage. renamed from meta/classes/testimage.bbclass +0 -0

bbclass
index 45bb2bd..66b4baf 100644

meta/classes/testimage.bbclass +1 -1
@@ -215,7 +215,7 @@ def testimage_main(d):
     # Get use_kvm
     qemu_use_kvm = d.getVar("QEMU_USE_KVM")
     if qemu_use_kvm and \
-       (qemu_use_kvm == 'True' and 'x86' in machine or \
+       (qemu_use_kvm in ('True', '1') and 'x86' in machine or \
         d.getVar('MACHINE') in qemu_use_kvm.split()):
         kvm = True
     else:
meta/lib/oeqa/targetcontrol. renamed from meta/lib/oeqa/targetcontrol.py +0 -0

py
index f63936c..1625569 100644

meta/lib/oeqa/targetcontrol.py +1 -1
@@ -107,7 +107,7 @@ class QemuTarget(BaseTarget):
         dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
         qemu_use_kvm = d.getVar("QEMU_USE_KVM")
         if qemu_use_kvm and \
-           (qemu_use_kvm == "True" and "x86" in d.getVar("MACHINE") or \
+           (qemu_use_kvm in ("True", "1") and "x86" in
 d.getVar("MACHINE") or \
             d.getVar("MACHINE") in qemu_use_kvm.split()):
             use_kvm = True

else:
--
2.7.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#3 lore raw
Quoted 6 lines · Ross

There are two neater ways of doing this:

1) oe.types.boolean() which handles all the common aliases for true or false.
2)bitbake typed variables.  Do QEMU_USE_KVM[type]="boolean" where it gets a default value, and then use oe.data.typed_value('QEMU_USE_KVM', d) to get the value.

Both ways move the actual value parsing to dedicated code so its less error prone and more consistent.

Thanks, make sense, I will send V2 which uses oe.types.boolean().

// Robert

Quoted 61 lines

Ross

On 14 November 2017 at 06:57, Robert Yang <[email protected] <mailto:[email protected]>> wrote:

    It only could be set to "True", which was not common in oe, e.g.:
    * Works
    QEMU_USE_KVM = "True"

    * Didn't work, this would surprise user.
    QEMU_USE_KVM = "1"

    Make it work with both 1 and True now, the "True" is for compatibility.

    [YOCTO #12343]

    Signed-off-by: Robert Yang <[email protected]
    <mailto:[email protected]>>
    ---
      meta/classes/testimage.bbclass | 2 +-
      meta/lib/oeqa/targetcontrol.py | 2 +-
      2 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
    index 45bb2bd..66b4baf 100644
    --- a/meta/classes/testimage.bbclass
    +++ b/meta/classes/testimage.bbclass
    @@ -215,7 +215,7 @@ def testimage_main(d):
          # Get use_kvm
          qemu_use_kvm = d.getVar("QEMU_USE_KVM")
          if qemu_use_kvm and \
    -       (qemu_use_kvm == 'True' and 'x86' in machine or \
    +       (qemu_use_kvm in ('True', '1') and 'x86' in machine or \
              d.getVar('MACHINE') in qemu_use_kvm.split()):
              kvm = True
          else:
    diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
    index f63936c..1625569 100644
    --- a/meta/lib/oeqa/targetcontrol.py
    +++ b/meta/lib/oeqa/targetcontrol.py
    @@ -107,7 +107,7 @@ class QemuTarget(BaseTarget):
              dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
              qemu_use_kvm = d.getVar("QEMU_USE_KVM")
              if qemu_use_kvm and \
    -           (qemu_use_kvm == "True" and "x86" in d.getVar("MACHINE") or \
    +           (qemu_use_kvm in ("True", "1") and "x86" in d.getVar("MACHINE") or \
                  d.getVar("MACHINE") in qemu_use_kvm.split()):
                  use_kvm = True
              else:
    --
    2.7.4

    --
    _______________________________________________
    Openembedded-core mailing list
    [email protected]
    <mailto:[email protected]>
    http://lists.openembedded.org/mailman/listinfo/openembedded-core
    <http://lists.openembedded.org/mailman/listinfo/openembedded-core>