Skip to contentSkip to conversation

A few GUI related patches, including a bug fix

PATCH In review Joshua Lock 3 participants 7 messages Feb 25, 2011

lore
Share & tools
lore
#0 lore raw

cover A few GUI related patches, including a bug fix

From: Joshua Lock <[email protected]>

This series tries to sneak in an extra feature before the freeze, the ability to disable GPLv3 recipes in hob.

Furthermore I've fixed a bug whereby you'd see two progress dialogs when changing machine.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: josh/gui
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=josh/gui

Thanks,
Joshua Lock <[email protected]>
---

Joshua Lock (3):
base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations bitbake/hob: only show one progress dialog when changing machine bitbake/hob: add checkbox to disable GPLv3 recipes

 bitbake/lib/bb/ui/crumbs/hobeventhandler.py |   14 ++++++++-
 bitbake/lib/bb/ui/hob.py                    |   42 ++++++++++++++++++++++++--
 meta/classes/base.bbclass                   |    9 +++++-
 3 files changed, 59 insertions(+), 6 deletions(-)
Signature · 1 line
1.7.4
#1 lore raw

PATCH 1/3 base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations

From: Joshua Lock <[email protected]>

Add a greedy any-character match to INCOMPATIBLE_LICENSE so that we can match different permutations of that license, i.e. if INCOMPATIBLE_LICENSE is set to GPLv3 we should also match GPLv3+

---
 meta/classes/base.bbclass |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
meta/classes/base.bbclass +8 -1
index a674f52..3ff11d3 100644
@@ -345,7 +345,14 @@ python () {
                 raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
 
 
-        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, 1)
+        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, True)
+        # If dont_want_license is set add a greedy any-character match
+        # to it (if not already set) so that we can match permutations
+        # of that license. i.e. if dont_want_license is set to GPLv3 we
+        # also want to match GPLv3+
+        if dont_want_license and not dont_want_license.endswith('.+'):
+	    dont_want_license = dont_want_license + '.+'
+
         if dont_want_license and not pn.endswith("-native") and not pn.endswith("-cross") and not pn.endswith("-cross-initial") and not pn.endswith("-cross-intermediate"):
             hosttools_whitelist = (bb.data.getVar('HOSTTOOLS_WHITELIST_%s' % dont_want_license, d, 1) or "").split()
             lgplv2_whitelist = (bb.data.getVar('LGPLv2_WHITELIST_%s' % dont_want_license, d, 1) or "").split()
Signature · 1 line
1.7.4
#2 lore raw

Re: [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations

Only thing I would be concerned with in this patch is a license of "GPLv3 w/ exception" (I'm not sure how we address that, but there are cases where things are GPLv3, but the exception may allow someone to use the component where they would not normally allow for GPLv3.) I'm not exactly sure the best way to handle this...

--Mark

Quoted 31 lines · Joshua Lock

From: Joshua Lock <[email protected]>

Add a greedy any-character match to INCOMPATIBLE_LICENSE so that we can match different permutations of that license, i.e. if INCOMPATIBLE_LICENSE is set to GPLv3 we should also match GPLv3+

---
 meta/classes/base.bbclass |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
meta/classes/base.bbclass +8 -1
index a674f52..3ff11d3 100644
@@ -345,7 +345,14 @@ python () {
                 raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
 
 
-        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, 1)
+        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, True)
+        # If dont_want_license is set add a greedy any-character match
+        # to it (if not already set) so that we can match permutations
+        # of that license. i.e. if dont_want_license is set to GPLv3 we
+        # also want to match GPLv3+
+        if dont_want_license and not dont_want_license.endswith('.+'):
+	    dont_want_license = dont_want_license + '.+'
+
         if dont_want_license and not pn.endswith("-native") and not pn.endswith("-cross") and not pn.endswith("-cross-initial") and not pn.endswith("-cross-intermediate"):
             hosttools_whitelist = (bb.data.getVar('HOSTTOOLS_WHITELIST_%s' % dont_want_license, d, 1) or "").split()
             lgplv2_whitelist = (bb.data.getVar('LGPLv2_WHITELIST_%s' % dont_want_license, d, 1) or "").split()
#3 lore raw

Re: [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations

Quoted 5 lines · Mark Hatle

Only thing I would be concerned with in this patch is a license of "GPLv3 w/ exception" (I'm not sure how we address that, but there are cases where things are GPLv3, but the exception may allow someone to use the component where they would not normally allow for GPLv3.) I'm not exactly sure the best way to handle this...

Hmm, fair point - I hadn't thought of that.

I can't think of a better way to do this that doesn't involve implementing a fragile test, in which case we'd probably best ignore this and patch three from this series.

Cheers,
Joshua

Quoted 40 lines

--Mark

Quoted 21 lines · Joshua Lock

From: Joshua Lock <[email protected]>

Add a greedy any-character match to INCOMPATIBLE_LICENSE so that we can match different permutations of that license, i.e. if INCOMPATIBLE_LICENSE is set to GPLv3 we should also match GPLv3+

---
 meta/classes/base.bbclass |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
meta/classes/base.bbclass +1 -1
index a674f52..3ff11d3 100644
@@ -345,7 +345,14 @@ python () {
                 raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
 
 
-        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, 1)
+        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, True)

meta/classes/base.bbclass python () { · line 358

Quoted 10 lines
meta/classes/base.bbclass +7 -0
+        # If dont_want_license is set add a greedy any-character match
+        # to it (if not already set) so that we can match permutations
+        # of that license. i.e. if dont_want_license is set to GPLv3 we
+        # also want to match GPLv3+
+        if dont_want_license and not dont_want_license.endswith('.+'):
+	    dont_want_license = dont_want_license + '.+'
+
         if dont_want_license and not pn.endswith("-native") and not pn.endswith("-cross") and not pn.endswith("-cross-initial") and not pn.endswith("-cross-intermediate"):
             hosttools_whitelist = (bb.data.getVar('HOSTTOOLS_WHITELIST_%s' % dont_want_license, d, 1) or "").split()
             lgplv2_whitelist = (bb.data.getVar('LGPLv2_WHITELIST_%s' % dont_want_license, d, 1) or "").split()

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

Signature · 2 lines
Joshua Lock
        Intel Open Source Technology Centre
#4 lore raw

Re: [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations

Quoted 7 lines · Joshua Lock
Quoted 5 lines · Mark Hatle

Only thing I would be concerned with in this patch is a license of "GPLv3 w/ exception" (I'm not sure how we address that, but there are cases where things are GPLv3, but the exception may allow someone to use the component where they would not normally allow for GPLv3.) I'm not exactly sure the best way to handle this...

Quoted 6 lines

Hmm, fair point - I hadn't thought of that.

I can't think of a better way to do this that doesn't involve implementing a fragile test, in which case we'd probably best ignore this and patch three from this series.

I was also looking at this, and wondering if it was appropriate, so you only want me to pull patch 2 of this set?

Patch 3 is still sort of appropriate, that's what I set for my testing right now. But as Mark points out it's far from perfect and right now I am having failures building without GPLv3!

Sau!

Quoted 43 lines

Cheers,
Joshua

Quoted 40 lines

--Mark

Quoted 21 lines · Joshua Lock

From: Joshua Lock<[email protected]>

Add a greedy any-character match to INCOMPATIBLE_LICENSE so that we can match different permutations of that license, i.e. if INCOMPATIBLE_LICENSE is set to GPLv3 we should also match GPLv3+

---
  meta/classes/base.bbclass |    9 ++++++++-
  1 files changed, 8 insertions(+), 1 deletions(-)
meta/classes/base.bbclass +1 -1
index a674f52..3ff11d3 100644
@@ -345,7 +345,14 @@ python () {
                  raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
 
 
-        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, 1)
+        dont_want_license = bb.data.getVar('INCOMPATIBLE_LICENSE', d, True)

meta/classes/base.bbclass python () { · line 358

Quoted 10 lines
meta/classes/base.bbclass +7 -0
+        # If dont_want_license is set add a greedy any-character match
+        # to it (if not already set) so that we can match permutations
+        # of that license. i.e. if dont_want_license is set to GPLv3 we
+        # also want to match GPLv3+
+        if dont_want_license and not dont_want_license.endswith('.+'):
+	    dont_want_license = dont_want_license + '.+'
+
          if dont_want_license and not pn.endswith("-native") and not pn.endswith("-cross") and not pn.endswith("-cross-initial") and not pn.endswith("-cross-intermediate"):
              hosttools_whitelist = (bb.data.getVar('HOSTTOOLS_WHITELIST_%s' % dont_want_license, d, 1) or "").split()
              lgplv2_whitelist = (bb.data.getVar('LGPLv2_WHITELIST_%s' % dont_want_license, d, 1) or "").split()

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

#5 lore raw

PATCH 2/3 bitbake/hob: only show one progress dialog when changing machine

In reply to Joshua Lock

From: Joshua Lock <[email protected]>

Remove a spurious signal emission which resulted in two progress dialogs being shown after changing the machine.

---
 bitbake/lib/bb/ui/crumbs/hobeventhandler.py |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
bitbake/lib/bb/ui/crumbs/hobeventhandler.py +0 -1
index 699354c..84f3043 100644
@@ -123,7 +123,6 @@ class HobHandler(gobject.GObject):
     def set_machine(self, machine):
         self.server.runCommand(["setVariable", "MACHINE", machine])
         self.current_command = "findConfigFilesMachine"
-        self.emit("generating-data")
         self.run_next_command()
 
     def set_distro(self, distro):
Signature · 1 line
1.7.4
#6 lore raw

PATCH 3/3 bitbake/hob: add checkbox to disable GPLv3 recipes

In reply to Joshua Lock

From: Joshua Lock <[email protected]>

---
 bitbake/lib/bb/ui/crumbs/hobeventhandler.py |   13 ++++++++
 bitbake/lib/bb/ui/hob.py                    |   42 ++++++++++++++++++++++++--
 2 files changed, 51 insertions(+), 4 deletions(-)
bitbake/lib/bb/ui/crumbs/hobeventhandler.py +13 -0
index 84f3043..08cf89f 100644
@@ -50,6 +50,7 @@ class HobHandler(gobject.GObject):
         self.server = server
         self.current_command = None
         self.building = False
+        self.gplv3_excluded = False
 
         self.command_map = {
             "findConfigFilesDistro" : ("findConfigFiles", "MACHINE", "findConfigFilesMachine"),
@@ -135,3 +136,15 @@ class HobHandler(gobject.GObject):
     def cancel_build(self):
         # Note: this may not be the right way to stop an in-progress build
         self.server.runCommand(["stateStop"])
+
+    def toggle_gplv3(self, excluded):
+        if self.gplv3_excluded != excluded:
+            self.gplv3_excluded = excluded
+            if excluded:
+                self.server.runCommand(["setVariable", "INCOMPATIBLE_LICENSE", "GPLv3"])
+            else:
+                self.server.runCommand(["setVariable", "INCOMPATIBLE_LICENSE", ""])
+
+            # Refresh packages list
+            self.current_command = "findConfigFilesMachine"
+            self.run_next_command()
bitbake/lib/bb/ui/hob.py +38 -4

55 lines not on this page · raw message

Signature · 1 line
1.7.4