Patchwork [1/1] libproxy: remove dependency on gconf when x11 not in DISTRO_FEATURES

login
register
mail settings
Submitter Paul Eggleton
Date April 17, 2012, 11:18 p.m.
Message ID <967c78b6c30d6d6620db8066aac28224153d3359.1334704605.git.paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/26105/
State Accepted
Commit 973351cf2e338f07c11395d494193e9c62857f2d
Headers show

Comments

Paul Eggleton - April 17, 2012, 11:18 p.m.
This allows libzypp to successfully build when x11 is not in
DISTRO_FEATURES (avoiding the libzypp -> libproxy -> gconf -> gtk+
dependency chain which without X results in gtk+ failing at
do_configure).

Fixes [YOCTO #2320].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-support/libproxy/libproxy_0.4.7.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Andreas Oberritter - April 18, 2012, 12:03 a.m.
On 18.04.2012 01:18, Paul Eggleton wrote:
> This allows libzypp to successfully build when x11 is not in
> DISTRO_FEATURES (avoiding the libzypp -> libproxy -> gconf -> gtk+
> dependency chain which without X results in gtk+ failing at
> do_configure).
> 
> Fixes [YOCTO #2320].
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  meta/recipes-support/libproxy/libproxy_0.4.7.bb |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-support/libproxy/libproxy_0.4.7.bb b/meta/recipes-support/libproxy/libproxy_0.4.7.bb
> index 11b2abf..6d99861 100644
> --- a/meta/recipes-support/libproxy/libproxy_0.4.7.bb
> +++ b/meta/recipes-support/libproxy/libproxy_0.4.7.bb
> @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7d7044444a7b1b116e8783edcdb44ff4 \
>  
>  DEPENDS = "gconf"
>  
> -PR = "r2"
> +PR = "r3"
>  
>  SRC_URI = "http://libproxy.googlecode.com/files/libproxy-${PV}.tar.gz \
>             file://g++-namepace.patch \
> @@ -31,7 +31,7 @@ do_configure_prepend() {
>  }
>  
>  python() {
> -    if (d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1:
> +    if base_contains("INCOMPATIBLE_LICENSE", "GPLv3", "x", "", d) == "x" or base_contains("DISTRO_FEATURES", "x11", "x", "", d) == "":
>          d.setVar("EXTRA_OECMAKE", d.getVar("EXTRA_OECMAKE").replace("-DWITH_GNOME=yes", "-DWITH_GNOME=no"))
>          d.setVar("DEPENDS", " ".join(i for i in d.getVar("DEPENDS").split() if i != "gconf"))
>  }

A very similar patch I submitted was rejected, because this problem
should be solved using PACKAGECONFIG.

See
http://git.openembedded.org/openembedded-core-contrib/commit/?h=obi/current&id=224921423b6bcd7dc7e8570a4f3d8b3ba1291720

Has something changed since when I submitted the patch? Should I resend
my patches to remove gconf etc. dependencies when x11 is not defined?

See patches 7 through 11 at
http://git.openembedded.org/openembedded-core-contrib/log/?h=obi/current

Regards,
Andreas
Paul Eggleton - April 18, 2012, 12:37 a.m.
On Wednesday 18 April 2012 02:03:13 Andreas Oberritter wrote:
> A very similar patch I submitted was rejected, because this problem
> should be solved using PACKAGECONFIG.

It should still be. I had not seen your patch, but this was fixed in this 
manner because I discovered builds without x11 were broken and a fix was needed 
urgently; I elected to fix it by by adjusting the conditional code that was 
already there so that the change was kept simple. We do still want to fix this 
using PACKAGECONFIG after the Yocto Project 1.2 release; however this will 
involve the code that handles PACKAGECONFIG being extended to work together 
with cmake.

Cheers,
Paul

Patch

diff --git a/meta/recipes-support/libproxy/libproxy_0.4.7.bb b/meta/recipes-support/libproxy/libproxy_0.4.7.bb
index 11b2abf..6d99861 100644
--- a/meta/recipes-support/libproxy/libproxy_0.4.7.bb
+++ b/meta/recipes-support/libproxy/libproxy_0.4.7.bb
@@ -8,7 +8,7 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=7d7044444a7b1b116e8783edcdb44ff4 \
 
 DEPENDS = "gconf"
 
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "http://libproxy.googlecode.com/files/libproxy-${PV}.tar.gz \
            file://g++-namepace.patch \
@@ -31,7 +31,7 @@  do_configure_prepend() {
 }
 
 python() {
-    if (d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1:
+    if base_contains("INCOMPATIBLE_LICENSE", "GPLv3", "x", "", d) == "x" or base_contains("DISTRO_FEATURES", "x11", "x", "", d) == "":
         d.setVar("EXTRA_OECMAKE", d.getVar("EXTRA_OECMAKE").replace("-DWITH_GNOME=yes", "-DWITH_GNOME=no"))
         d.setVar("DEPENDS", " ".join(i for i in d.getVar("DEPENDS").split() if i != "gconf"))
 }