All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] A few GUI related patches, including a bug fix
@ 2011-02-25 19:13 Joshua Lock
  2011-02-25 19:13 ` [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations Joshua Lock
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Joshua Lock @ 2011-02-25 19:13 UTC (permalink / raw)
  To: poky

From: Joshua Lock <josh@linux.intel.com>

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 <josh@linux.intel.com>
---


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(-)

-- 
1.7.4



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations
  2011-02-25 19:13 [PATCH 0/3] A few GUI related patches, including a bug fix Joshua Lock
@ 2011-02-25 19:13 ` Joshua Lock
  2011-02-25 20:26   ` Mark Hatle
  2011-02-25 19:13 ` [PATCH 2/3] bitbake/hob: only show one progress dialog when changing machine Joshua Lock
  2011-02-25 19:14 ` [PATCH 3/3] bitbake/hob: add checkbox to disable GPLv3 recipes Joshua Lock
  2 siblings, 1 reply; 7+ messages in thread
From: Joshua Lock @ 2011-02-25 19:13 UTC (permalink / raw)
  To: poky

From: Joshua Lock <josh@linux.intel.com>

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+

Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
 meta/classes/base.bbclass |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index a674f52..3ff11d3 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -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()
-- 
1.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] bitbake/hob: only show one progress dialog when changing machine
  2011-02-25 19:13 [PATCH 0/3] A few GUI related patches, including a bug fix Joshua Lock
  2011-02-25 19:13 ` [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations Joshua Lock
@ 2011-02-25 19:13 ` Joshua Lock
  2011-02-25 19:14 ` [PATCH 3/3] bitbake/hob: add checkbox to disable GPLv3 recipes Joshua Lock
  2 siblings, 0 replies; 7+ messages in thread
From: Joshua Lock @ 2011-02-25 19:13 UTC (permalink / raw)
  To: poky

From: Joshua Lock <josh@linux.intel.com>

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

Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
 bitbake/lib/bb/ui/crumbs/hobeventhandler.py |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
index 699354c..84f3043 100644
--- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
+++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
@@ -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):
-- 
1.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] bitbake/hob: add checkbox to disable GPLv3 recipes
  2011-02-25 19:13 [PATCH 0/3] A few GUI related patches, including a bug fix Joshua Lock
  2011-02-25 19:13 ` [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations Joshua Lock
  2011-02-25 19:13 ` [PATCH 2/3] bitbake/hob: only show one progress dialog when changing machine Joshua Lock
@ 2011-02-25 19:14 ` Joshua Lock
  2 siblings, 0 replies; 7+ messages in thread
From: Joshua Lock @ 2011-02-25 19:14 UTC (permalink / raw)
  To: poky

From: Joshua Lock <josh@linux.intel.com>

Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
 bitbake/lib/bb/ui/crumbs/hobeventhandler.py |   13 ++++++++
 bitbake/lib/bb/ui/hob.py                    |   42 ++++++++++++++++++++++++--
 2 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
index 84f3043..08cf89f 100644
--- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
+++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
@@ -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()
diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py
index 5278881..47fb949 100644
--- a/bitbake/lib/bb/ui/hob.py
+++ b/bitbake/lib/bb/ui/hob.py
@@ -176,7 +176,41 @@ class MainWindow (gtk.Window):
 
         return
 
+    def include_gplv3_cb(self, toggle):
+        excluded = toggle.get_active()
+        self.handler.toggle_gplv3(excluded)
+
     def advanced_expander_cb(self, expander, param):
+        if expander.get_expanded():
+            vbox = gtk.VBox(False, 6)
+            vbox.show()
+            expander.add(vbox)
+            label = gtk.Label()
+            label.set_markup("<b>Policy</b>")
+            label.show()
+            frame = gtk.Frame()
+            frame.set_label_widget(label)
+            frame.set_shadow_type(gtk.SHADOW_NONE)
+            frame.show()
+            vbox.pack_start(frame)
+            pbox = gtk.VBox(False, 6)
+            pbox.show()
+            frame.add(pbox)
+            hbox = gtk.HBox(False, 6)
+            hbox.show()
+            pbox.pack_start(hbox, expand=False, fill=False, padding=6)
+            # Exclude GPLv3
+            check = gtk.CheckButton("Exclude GPLv3 packages")
+            check.set_tooltip_text("Check this box to prevent GPLv3 packages from being included in your image")
+            check.show()
+            check.connect("toggled", self.include_gplv3_cb)
+            hbox.pack_start(check, expand=False, fill=False, padding=6)
+            hbox = gtk.HBox(False, 6)
+            hbox.show()
+            pbox.pack_start(hbox, expand=False, fill=False)
+        else:
+            expander.remove(expander.child)
+
         return
 
     def images(self):
@@ -490,10 +524,10 @@ class MainWindow (gtk.Window):
         con.show()
         vbox.pack_start(con, expand=True, fill=True)
 
-        #advanced = gtk.Expander(label="Advanced")
-        #advanced.connect("notify::expanded", self.advanced_expander_cb)
-        #advanced.show()
-        #vbox.pack_start(advanced, expand=False, fill=False)
+        advanced = gtk.Expander(label="Advanced")
+        advanced.connect("notify::expanded", self.advanced_expander_cb)
+        advanced.show()
+        vbox.pack_start(advanced, expand=False, fill=False)
 
         hbox = gtk.HBox()
         hbox.show()
-- 
1.7.4



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations
  2011-02-25 19:13 ` [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations Joshua Lock
@ 2011-02-25 20:26   ` Mark Hatle
  2011-02-25 21:27     ` Joshua Lock
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Hatle @ 2011-02-25 20:26 UTC (permalink / raw)
  To: Joshua Lock; +Cc: poky

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

On 2/25/11 1:13 PM, Joshua Lock wrote:
> From: Joshua Lock <josh@linux.intel.com>
> 
> 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+
> 
> Signed-off-by: Joshua Lock <josh@linux.intel.com>
> ---
>  meta/classes/base.bbclass |    9 ++++++++-
>  1 files changed, 8 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index a674f52..3ff11d3 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -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()



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations
  2011-02-25 20:26   ` Mark Hatle
@ 2011-02-25 21:27     ` Joshua Lock
  2011-02-25 21:31       ` Saul Wold
  0 siblings, 1 reply; 7+ messages in thread
From: Joshua Lock @ 2011-02-25 21:27 UTC (permalink / raw)
  To: poky

On Fri, 2011-02-25 at 14:26 -0600, Mark Hatle wrote:
> 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
> 
> --Mark
> 
> On 2/25/11 1:13 PM, Joshua Lock wrote:
> > From: Joshua Lock <josh@linux.intel.com>
> > 
> > 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+
> > 
> > Signed-off-by: Joshua Lock <josh@linux.intel.com>
> > ---
> >  meta/classes/base.bbclass |    9 ++++++++-
> >  1 files changed, 8 insertions(+), 1 deletions(-)
> > 
> > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> > index a674f52..3ff11d3 100644
> > --- a/meta/classes/base.bbclass
> > +++ b/meta/classes/base.bbclass
> > @@ -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()
> 
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky

-- 
Joshua Lock
        Intel Open Source Technology Centre



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations
  2011-02-25 21:27     ` Joshua Lock
@ 2011-02-25 21:31       ` Saul Wold
  0 siblings, 0 replies; 7+ messages in thread
From: Saul Wold @ 2011-02-25 21:31 UTC (permalink / raw)
  To: Joshua Lock; +Cc: poky

On 02/25/2011 01:27 PM, Joshua Lock wrote:
> On Fri, 2011-02-25 at 14:26 -0600, Mark Hatle wrote:
>> 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.
>
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!

> Cheers,
> Joshua
>>
>> --Mark
>>
>> On 2/25/11 1:13 PM, Joshua Lock wrote:
>>> From: Joshua Lock<josh@linux.intel.com>
>>>
>>> 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+
>>>
>>> Signed-off-by: Joshua Lock<josh@linux.intel.com>
>>> ---
>>>   meta/classes/base.bbclass |    9 ++++++++-
>>>   1 files changed, 8 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
>>> index a674f52..3ff11d3 100644
>>> --- a/meta/classes/base.bbclass
>>> +++ b/meta/classes/base.bbclass
>>> @@ -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()
>>
>> _______________________________________________
>> poky mailing list
>> poky@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/poky
>



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-02-25 21:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-25 19:13 [PATCH 0/3] A few GUI related patches, including a bug fix Joshua Lock
2011-02-25 19:13 ` [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations Joshua Lock
2011-02-25 20:26   ` Mark Hatle
2011-02-25 21:27     ` Joshua Lock
2011-02-25 21:31       ` Saul Wold
2011-02-25 19:13 ` [PATCH 2/3] bitbake/hob: only show one progress dialog when changing machine Joshua Lock
2011-02-25 19:14 ` [PATCH 3/3] bitbake/hob: add checkbox to disable GPLv3 recipes Joshua Lock

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.