A few GUI related patches, including a bug fix
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
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
@@ -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
PATCH 2/3 bitbake/hob: only show one progress dialog when changing machine
In reply to Joshua LockFrom: 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
@@ -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
PATCH 3/3 bitbake/hob: add checkbox to disable GPLv3 recipes
In reply to Joshua LockFrom: 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
@@ -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
Re: [PATCH 1/3] base.bbclass: enable INCOMPATIBLE_LICENSE to match slight variations
In reply to Joshua LockOnly 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_LICENSEso that we can match different permutations of that license, i.e. ifINCOMPATIBLE_LICENSEis set to GPLv3 we should also match GPLv3+Signed-off-by Joshua Lock <[email protected]>--- meta/classes/base.bbclass | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)meta/classes/base.bbclass +8
-1@@ -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()
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_LICENSEso that we can match different permutations of that license, i.e. ifINCOMPATIBLE_LICENSEis set to GPLv3 we should also match GPLv3+Signed-off-by Joshua Lock <[email protected]>--- meta/classes/base.bbclass | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)meta/classes/base.bbclass +1
-1@@ -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 CentreRe: [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,
JoshuaQuoted 40 lines
--Mark
Quoted 21 lines · Joshua Lock
From: Joshua Lock<[email protected]>
Add a greedy any-character match to
INCOMPATIBLE_LICENSEso that we can match different permutations of that license, i.e. ifINCOMPATIBLE_LICENSEis set to GPLv3 we should also match GPLv3+Signed-off-by Joshua Lock<[email protected]>--- meta/classes/base.bbclass | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)meta/classes/base.bbclass +1
-1@@ -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