Patchwork [1/1] avahi: Check for GPLv3 license and disable x11

login
register
mail settings
Submitter Saul Wold
Date Sept. 19, 2011, 5:55 p.m.
Message ID <c61c00e6f90ad71f8a111d502e228af7be0a7838.1316454869.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/11711/
State New, archived
Headers show

Comments

Saul Wold - Sept. 19, 2011, 5:55 p.m.
[YOCTO #1492]

Since the non-GPLv3 build does not want gnome, which this will pull in
by the default DISTRO_FEATURE x11 being set and enabling gtk for avahi,
we filter x11 out of DISTRO_FEATURES here when INCOMPATIBLE_LICENSE is
set to GPLv3.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/recipes-connectivity/avahi/avahi.inc       |    8 ++++++++
 meta/recipes-connectivity/avahi/avahi_0.6.30.bb |    2 +-
 2 files changed, 9 insertions(+), 1 deletions(-)
Mark Hatle - Sept. 19, 2011, 7:05 p.m.
On 9/19/11 12:55 PM, Saul Wold wrote:
> [YOCTO #1492]
> 
> Since the non-GPLv3 build does not want gnome, which this will pull in
> by the default DISTRO_FEATURE x11 being set and enabling gtk for avahi,
> we filter x11 out of DISTRO_FEATURES here when INCOMPATIBLE_LICENSE is
> set to GPLv3.

If the avahi GTK UI app is needed when X11 is enabled, this should be a decent
enough way to work around the condition.

However, I question if avahi should -ever- be producing the gtk component.

From the investigation I did, the gtk component is something that helps with
discovering mDNS servers (either prompting the user or simply displaying status,
I'm not sure).  Is this of use to anyone using oe-core?  Otherwise I'd be in
favor of simply removing the X11 option from the avahi package.

(I talked with Saul about this already on IRC.. he's concerned that we'd be
turning of required [by someone] functionality... I'm really not sure it is
required by anyone...)

--Mark

> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>  meta/recipes-connectivity/avahi/avahi.inc       |    8 ++++++++
>  meta/recipes-connectivity/avahi/avahi_0.6.30.bb |    2 +-
>  2 files changed, 9 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
> index 24ea458..c5c0c7c 100644
> --- a/meta/recipes-connectivity/avahi/avahi.inc
> +++ b/meta/recipes-connectivity/avahi/avahi.inc
> @@ -14,6 +14,8 @@ SECTION = "network"
>  # python scripts are under GPLv2+
>  LICENSE = "GPLv2+ & LGPLv2.1+"
>  
> +INC_PR = "r5"
> +
>  X11DEPENDS = "gtk+ libglade"
>  DEPENDS = "expat libcap libdaemon dbus glib-2.0 ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
>  
> @@ -39,6 +41,12 @@ EXTRA_OECONF = "--with-distro=debian \
>               --with-systemdsystemunitdir=${base_libdir}/systemd/system/ \
>  "
>  
> +python() {
> +    if (d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1:
> +        d.setVar("DISTRO_FEATURES", oe_filter_out('x11', d.getVar("DISTRO_FEATURES", True), d))
> +
> +}
> +
>  PACKAGES =+ "avahi-systemd avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-gobject avahi-autoipd avahi-ui-utils avahi-utils libavahi-ui libavahi-ui-dev"
>  
>  FILES_avahi-systemd = "${base_libdir}/systemd"
> diff --git a/meta/recipes-connectivity/avahi/avahi_0.6.30.bb b/meta/recipes-connectivity/avahi/avahi_0.6.30.bb
> index 05716d0..5094961 100644
> --- a/meta/recipes-connectivity/avahi/avahi_0.6.30.bb
> +++ b/meta/recipes-connectivity/avahi/avahi_0.6.30.bb
> @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
>                      file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \
>                      file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
>  
> -PR = "r4"
> +PR = "${INC_PR}.0"
>  
>  SRC_URI[md5sum] = "e4db89a2a403ff4c47d66ac66fad1f43"
>  SRC_URI[sha256sum] = "f9e4316c2339d0020726edd846d01bee0c39980906db0c247479e5807457ff1f"
Koen Kooi - Sept. 19, 2011, 7:21 p.m.
Op 19 sep. 2011, om 21:05 heeft Mark Hatle het volgende geschreven:

> On 9/19/11 12:55 PM, Saul Wold wrote:
>> [YOCTO #1492]
>> 
>> Since the non-GPLv3 build does not want gnome, which this will pull in
>> by the default DISTRO_FEATURE x11 being set and enabling gtk for avahi,
>> we filter x11 out of DISTRO_FEATURES here when INCOMPATIBLE_LICENSE is
>> set to GPLv3.
> 
> If the avahi GTK UI app is needed when X11 is enabled, this should be a decent
> enough way to work around the condition.
> 
> However, I question if avahi should -ever- be producing the gtk component.
> 
> From the investigation I did, the gtk component is something that helps with
> discovering mDNS servers (either prompting the user or simply displaying status,
> I'm not sure).  Is this of use to anyone using oe-core?  Otherwise I'd be in
> favor of simply removing the X11 option from the avahi package.
> 
> (I talked with Saul about this already on IRC.. he's concerned that we'd be
> turning of required [by someone] functionality... I'm really not sure it is
> required by anyone...)

In OE classic the UI stuff in in avahi-ui.bb
Saul Wold - Sept. 19, 2011, 9:20 p.m.
On 09/19/2011 12:21 PM, Koen Kooi wrote:
>
> Op 19 sep. 2011, om 21:05 heeft Mark Hatle het volgende geschreven:
>
>> On 9/19/11 12:55 PM, Saul Wold wrote:
>>> [YOCTO #1492]
>>>
>>> Since the non-GPLv3 build does not want gnome, which this will pull in
>>> by the default DISTRO_FEATURE x11 being set and enabling gtk for avahi,
>>> we filter x11 out of DISTRO_FEATURES here when INCOMPATIBLE_LICENSE is
>>> set to GPLv3.
>>
>> If the avahi GTK UI app is needed when X11 is enabled, this should be a decent
>> enough way to work around the condition.
>>
>> However, I question if avahi should -ever- be producing the gtk component.
>>
>>  From the investigation I did, the gtk component is something that helps with
>> discovering mDNS servers (either prompting the user or simply displaying status,
>> I'm not sure).  Is this of use to anyone using oe-core?  Otherwise I'd be in
>> favor of simply removing the X11 option from the avahi package.
>>
>> (I talked with Saul about this already on IRC.. he's concerned that we'd be
>> turning of required [by someone] functionality... I'm really not sure it is
>> required by anyone...)
>
> In OE classic the UI stuff in in avahi-ui.bb
Clearly, a better way to go, I think my patch will work for the short 
term of 1.1 release, but for master moving forward I will integrate the 
avahi-ui.bb recipe. We just don't have the time for a major recipe re-write.

Sau!

> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

Patch

diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
index 24ea458..c5c0c7c 100644
--- a/meta/recipes-connectivity/avahi/avahi.inc
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -14,6 +14,8 @@  SECTION = "network"
 # python scripts are under GPLv2+
 LICENSE = "GPLv2+ & LGPLv2.1+"
 
+INC_PR = "r5"
+
 X11DEPENDS = "gtk+ libglade"
 DEPENDS = "expat libcap libdaemon dbus glib-2.0 ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
 
@@ -39,6 +41,12 @@  EXTRA_OECONF = "--with-distro=debian \
              --with-systemdsystemunitdir=${base_libdir}/systemd/system/ \
 "
 
+python() {
+    if (d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1:
+        d.setVar("DISTRO_FEATURES", oe_filter_out('x11', d.getVar("DISTRO_FEATURES", True), d))
+
+}
+
 PACKAGES =+ "avahi-systemd avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-gobject avahi-autoipd avahi-ui-utils avahi-utils libavahi-ui libavahi-ui-dev"
 
 FILES_avahi-systemd = "${base_libdir}/systemd"
diff --git a/meta/recipes-connectivity/avahi/avahi_0.6.30.bb b/meta/recipes-connectivity/avahi/avahi_0.6.30.bb
index 05716d0..5094961 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.6.30.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.6.30.bb
@@ -6,7 +6,7 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                     file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \
                     file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
 
-PR = "r4"
+PR = "${INC_PR}.0"
 
 SRC_URI[md5sum] = "e4db89a2a403ff4c47d66ac66fad1f43"
 SRC_URI[sha256sum] = "f9e4316c2339d0020726edd846d01bee0c39980906db0c247479e5807457ff1f"