Patchwork qt4-x11-free: disable QGtkStyle

login
register
mail settings
Submitter Paul Eggleton
Date Sept. 20, 2013, 1:01 p.m.
Message ID <1379682086-27877-1-git-send-email-paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/58435/
State Accepted
Commit 6bef1e02dff6c6482791ab424d7e5dedeb840cf6
Headers show

Comments

Paul Eggleton - Sept. 20, 2013, 1:01 p.m.
This currently leads to a floating dependency on GTK+. Since most users
in an embedded context won't need this, just disable it by default.

Fixes [YOCTO #5116].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Paul Eggleton - Sept. 20, 2013, 2:27 p.m.
On Friday 20 September 2013 15:58:26 Andreas Müller wrote:
> On Fri, Sep 20, 2013 at 3:01 PM, Paul Eggleton
> <paul.eggleton@linux.intel.com> wrote:
> > This currently leads to a floating dependency on GTK+. Since most users
> > in an embedded context won't need this, just disable it by default.
> > 
> > Fixes [YOCTO #5116].
> > 
> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> > ---
> > 
> >  meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc
> > b/meta/recipes-qt/qt4/qt4-x11-free.inc index 4b29f55..369b3d5 100644
> > --- a/meta/recipes-qt/qt4/qt4-x11-free.inc
> > +++ b/meta/recipes-qt/qt4/qt4-x11-free.inc
> > @@ -12,7 +12,7 @@ INC_PR = "r50"
> > 
> >  QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl',
> >  '-no-opengl', d)} " QT_GLFLAGS_qemux86 = "-opengl"
> >  QT_GLFLAGS_qemuppc = "-opengl"
> > 
> > -QT_X11_FLAGS ?= "-no-xinerama -no-xkb"
> > +QT_X11_FLAGS ?= "-no-xinerama -no-xkb -no-gtkstyle"
> > 
> >  QT_CONFIG_FLAGS += "${QT_X11_FLAGS}"
> >  QT_BASE_LIB  ?= "libqt"
>
> How about PACKAGECONFIG for this?

Ultimately I decided against introducing PACKAGECONFIG just for this, because 
the Qt recipes currently avoid it (PACKAGECONFIG cannot support a number of 
the additional library options for Qt since they are tri-state; not to mention 
that PACKAGECONFIG isn't just a drop-in for Qt because it doesn't use 
autotools/cmake and therefore doesn't use EXTRA_OECONF/EXTRA_OECMAKE). I 
figured that the few users who do want QGTKStyle can just set QT_X11_FLAGS as 
desired.

Cheers,
Paul
Martin Jansa - Sept. 20, 2013, 2:42 p.m.
On Fri, Sep 20, 2013 at 03:27:32PM +0100, Paul Eggleton wrote:
> On Friday 20 September 2013 15:58:26 Andreas Müller wrote:
> > On Fri, Sep 20, 2013 at 3:01 PM, Paul Eggleton
> > <paul.eggleton@linux.intel.com> wrote:
> > > This currently leads to a floating dependency on GTK+. Since most users
> > > in an embedded context won't need this, just disable it by default.
> > > 
> > > Fixes [YOCTO #5116].
> > > 
> > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> > > ---
> > > 
> > >  meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc
> > > b/meta/recipes-qt/qt4/qt4-x11-free.inc index 4b29f55..369b3d5 100644
> > > --- a/meta/recipes-qt/qt4/qt4-x11-free.inc
> > > +++ b/meta/recipes-qt/qt4/qt4-x11-free.inc
> > > @@ -12,7 +12,7 @@ INC_PR = "r50"
> > > 
> > >  QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl',
> > >  '-no-opengl', d)} " QT_GLFLAGS_qemux86 = "-opengl"
> > >  QT_GLFLAGS_qemuppc = "-opengl"
> > > 
> > > -QT_X11_FLAGS ?= "-no-xinerama -no-xkb"
> > > +QT_X11_FLAGS ?= "-no-xinerama -no-xkb -no-gtkstyle"
> > > 
> > >  QT_CONFIG_FLAGS += "${QT_X11_FLAGS}"
> > >  QT_BASE_LIB  ?= "libqt"
> >
> > How about PACKAGECONFIG for this?
> 
> Ultimately I decided against introducing PACKAGECONFIG just for this, because 
> the Qt recipes currently avoid it (PACKAGECONFIG cannot support a number of 
> the additional library options for Qt since they are tri-state; not to mention 
> that PACKAGECONFIG isn't just a drop-in for Qt because it doesn't use 
> autotools/cmake and therefore doesn't use EXTRA_OECONF/EXTRA_OECMAKE). I 
> figured that the few users who do want QGTKStyle can just set QT_X11_FLAGS as 
> desired.

FWIW: I'm using PACKAGECONFIG in meta-qt5, you're right that it cannot
cover all 3 states for each option, but most common scenarios need to
select only between 2 and automatically added DEPENDS/RDEPENDS is big
plus.

To support PACKAGECONFIG without autotools/cmake inherit I just add
generated EXTRA_OECONF to QT_CONFIG_FLAGS.

But I agree that in this patch it's easier without introducing PACKAGECONFIG
for qt4.
Paul Eggleton - Sept. 20, 2013, 2:55 p.m.
On Friday 20 September 2013 16:42:05 Martin Jansa wrote:
> On Fri, Sep 20, 2013 at 03:27:32PM +0100, Paul Eggleton wrote:
> > On Friday 20 September 2013 15:58:26 Andreas Müller wrote:
> > > On Fri, Sep 20, 2013 at 3:01 PM, Paul Eggleton
> > > 
> > > <paul.eggleton@linux.intel.com> wrote:
> > > > This currently leads to a floating dependency on GTK+. Since most
> > > > users
> > > > in an embedded context won't need this, just disable it by default.
> > > > 
> > > > Fixes [YOCTO #5116].
> > > > 
> > > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> > > > ---
> > > > 
> > > >  meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc
> > > > b/meta/recipes-qt/qt4/qt4-x11-free.inc index 4b29f55..369b3d5 100644
> > > > --- a/meta/recipes-qt/qt4/qt4-x11-free.inc
> > > > +++ b/meta/recipes-qt/qt4/qt4-x11-free.inc
> > > > @@ -12,7 +12,7 @@ INC_PR = "r50"
> > > > 
> > > >  QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl',
> > > >  '-opengl',
> > > >  '-no-opengl', d)} " QT_GLFLAGS_qemux86 = "-opengl"
> > > >  QT_GLFLAGS_qemuppc = "-opengl"
> > > > 
> > > > -QT_X11_FLAGS ?= "-no-xinerama -no-xkb"
> > > > +QT_X11_FLAGS ?= "-no-xinerama -no-xkb -no-gtkstyle"
> > > > 
> > > >  QT_CONFIG_FLAGS += "${QT_X11_FLAGS}"
> > > >  QT_BASE_LIB  ?= "libqt"
> > > 
> > > How about PACKAGECONFIG for this?
> > 
> > Ultimately I decided against introducing PACKAGECONFIG just for this,
> > because the Qt recipes currently avoid it (PACKAGECONFIG cannot support a
> > number of the additional library options for Qt since they are tri-state;
> > not to mention that PACKAGECONFIG isn't just a drop-in for Qt because it
> > doesn't use autotools/cmake and therefore doesn't use
> > EXTRA_OECONF/EXTRA_OECMAKE). I figured that the few users who do want
> > QGTKStyle can just set QT_X11_FLAGS as desired.
> 
> FWIW: I'm using PACKAGECONFIG in meta-qt5, you're right that it cannot
> cover all 3 states for each option, but most common scenarios need to
> select only between 2 and automatically added DEPENDS/RDEPENDS is big
> plus.

On this wider issue, I have given some thought to how we could expand 
PACKAGECONFIG to support multi-state options, although I'm hesitant to make 
the already slightly opaque PACKAGECONFIG syntax any more complicated. 
Something to think about further for the next development cycle perhaps.
 
> To support PACKAGECONFIG without autotools/cmake inherit I just add
> generated EXTRA_OECONF to QT_CONFIG_FLAGS.

I didn't try it but Peter reported that this caused a failure when he tried 
this as a solution (presumably because there is junk in EXTRA_OECONF already 
that isn't suitable for passing to Qt4's configure). It ought to be able to 
work though.

Cheers,
Paul
Otavio Salvador - Sept. 20, 2013, 10:36 p.m.
On Fri, Sep 20, 2013 at 10:01 AM, Paul Eggleton
<paul.eggleton@linux.intel.com> wrote:
> This currently leads to a floating dependency on GTK+. Since most users
> in an embedded context won't need this, just disable it by default.
>
> Fixes [YOCTO #5116].
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

Personally I use the QGtkStyle in some products but I am all in favor
of this. This avoids floating dependencies and I can easily re-add it
back in our internal layer.

Acked-by: Otavio Salvador <otavio@ossystems.com.br>

Patch

diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc b/meta/recipes-qt/qt4/qt4-x11-free.inc
index 4b29f55..369b3d5 100644
--- a/meta/recipes-qt/qt4/qt4-x11-free.inc
+++ b/meta/recipes-qt/qt4/qt4-x11-free.inc
@@ -12,7 +12,7 @@  INC_PR = "r50"
 QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} "
 QT_GLFLAGS_qemux86 = "-opengl"
 QT_GLFLAGS_qemuppc = "-opengl"
-QT_X11_FLAGS ?= "-no-xinerama -no-xkb"
+QT_X11_FLAGS ?= "-no-xinerama -no-xkb -no-gtkstyle"
 QT_CONFIG_FLAGS += "${QT_X11_FLAGS}"
 QT_BASE_LIB  ?= "libqt"