[meta-oe][PATCH] wxwidgets: Fix checking for PACKAGECONFIG and DISTRO_FEATURES


Robert Yang
 

The PACKAGECONFIG depends on DISTRO_FEATURES, not DISTRO_FEATURES depends on
PACKAGECONFIG. And the REQUIRED_DISTRO_FEATURES is not needed since it can work
with gtk or x11.

Fixed when x11 is not in DISTRO_FEATURES:
$ bitbake wxwidgets
ERROR: Nothing PROVIDES 'wxwidgets'
wxwidgets was skipped: missing required distro feature 'x11' (not in DISTRO_FEATURES)

Signed-off-by: Robert Yang <liezhi.yang@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index f9349b02a..b10742eac 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -10,10 +10,7 @@ LICENSE = "WXwindows"
LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"

inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)}
-inherit features_check lib_package binconfig pkgconfig
-
-# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}"
+inherit lib_package binconfig pkgconfig

DEPENDS += " \
jpeg \
@@ -46,7 +43,11 @@ EXTRA_OECMAKE:append:libc-musl = " \
-DHAVE_LOCALE_T=OFF \
"

-PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', 'no_gui', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
PACKAGECONFIG:remove:class-native = "opengl"

# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk' / 'qt'
--
2.31.1


Samuli Piippo
 

This commit breaks builds when DISTRO_FEATURES has opengl, but not x11.

ERROR: //meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb: wxwidgets: PACKAGECONFIG[no_gui] Conflict package config 'opengl' set in PACKAGECONFIG.

On Sat, 2 Apr 2022 at 06:26, Robert Yang <liezhi.yang@...> wrote:
The PACKAGECONFIG depends on DISTRO_FEATURES, not DISTRO_FEATURES depends on
PACKAGECONFIG. And the REQUIRED_DISTRO_FEATURES is not needed since it can work
with gtk or x11.

Fixed when x11 is not in DISTRO_FEATURES:
$ bitbake wxwidgets
ERROR: Nothing PROVIDES 'wxwidgets'
wxwidgets was skipped: missing required distro feature 'x11' (not in DISTRO_FEATURES)

Signed-off-by: Robert Yang <liezhi.yang@...>
---
 meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index f9349b02a..b10742eac 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -10,10 +10,7 @@ LICENSE = "WXwindows"
 LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"

 inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)}
-inherit features_check lib_package binconfig pkgconfig
-
-# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}"
+inherit lib_package binconfig pkgconfig

 DEPENDS += " \
     jpeg \
@@ -46,7 +43,11 @@ EXTRA_OECMAKE:append:libc-musl = " \
     -DHAVE_LOCALE_T=OFF \
 "

-PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', 'no_gui', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
 PACKAGECONFIG:remove:class-native = "opengl"

 # Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk' / 'qt'
--
2.31.1





Denys Dmytriyenko
 

On Thu, Apr 07, 2022 at 09:55:41AM +0300, Samuli Piippo wrote:
This commit breaks builds when DISTRO_FEATURES has opengl, but not x11.
Same here! Moreover, it does not simply breaks the build, it breaks *parsing*
even when not building wxwidgets! Please fix ASAP or revert.


ERROR: //meta-openembedded/meta-oe/recipes-extended/wxwidgets/
wxwidgets_3.1.5.bb: wxwidgets: PACKAGECONFIG[no_gui] Conflict package
config 'opengl' set in PACKAGECONFIG.

On Sat, 2 Apr 2022 at 06:26, Robert Yang <liezhi.yang@...> wrote:

The PACKAGECONFIG depends on DISTRO_FEATURES, not DISTRO_FEATURES depends
on
PACKAGECONFIG. And the REQUIRED_DISTRO_FEATURES is not needed since it can
work
with gtk or x11.

Fixed when x11 is not in DISTRO_FEATURES:
$ bitbake wxwidgets
ERROR: Nothing PROVIDES 'wxwidgets'
wxwidgets was skipped: missing required distro feature 'x11' (not in
DISTRO_FEATURES)

Signed-off-by: Robert Yang <liezhi.yang@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index f9349b02a..b10742eac 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -10,10 +10,7 @@ LICENSE = "WXwindows"
LIC_FILES_CHKSUM =
"file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"

inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake',
d)}
-inherit features_check lib_package binconfig pkgconfig
-
-# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG',
'no_gui', '', 'x11', d)}"
+inherit lib_package binconfig pkgconfig

DEPENDS += " \
jpeg \
@@ -46,7 +43,11 @@ EXTRA_OECMAKE:append:libc-musl = " \
-DHAVE_LOCALE_T=OFF \
"

-PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk',
'no_gui', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
PACKAGECONFIG:remove:class-native = "opengl"

# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk'
/ 'qt'
--
2.31.1


Robert Yang
 

Hi Denys,

On 4/8/22 8:45 AM, Denys Dmytriyenko wrote:
On Thu, Apr 07, 2022 at 09:55:41AM +0300, Samuli Piippo wrote:
This commit breaks builds when DISTRO_FEATURES has opengl, but not x11.
Same here! Moreover, it does not simply breaks the build, it breaks *parsing*
even when not building wxwidgets! Please fix ASAP or revert.
Sorry for the problem. I think that the fix should be only enable opengl when both opengl and x11 are in DISTRO_FEATURES, the opengl can't work without x11
since it depends on libglu, and
oe-core/meta/recipes-graphics/mesa/libglu_9.0.2.bb requires both x11 and opengl.

I will send a patch to fix it.

// Robert


ERROR: //meta-openembedded/meta-oe/recipes-extended/wxwidgets/
wxwidgets_3.1.5.bb: wxwidgets: PACKAGECONFIG[no_gui] Conflict package
config 'opengl' set in PACKAGECONFIG.

On Sat, 2 Apr 2022 at 06:26, Robert Yang <liezhi.yang@...> wrote:

The PACKAGECONFIG depends on DISTRO_FEATURES, not DISTRO_FEATURES depends
on
PACKAGECONFIG. And the REQUIRED_DISTRO_FEATURES is not needed since it can
work
with gtk or x11.

Fixed when x11 is not in DISTRO_FEATURES:
$ bitbake wxwidgets
ERROR: Nothing PROVIDES 'wxwidgets'
wxwidgets was skipped: missing required distro feature 'x11' (not in
DISTRO_FEATURES)

Signed-off-by: Robert Yang <liezhi.yang@...>
---
meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
index f9349b02a..b10742eac 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.1.5.bb
@@ -10,10 +10,7 @@ LICENSE = "WXwindows"
LIC_FILES_CHKSUM =
"file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"

inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake',
d)}
-inherit features_check lib_package binconfig pkgconfig
-
-# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG',
'no_gui', '', 'x11', d)}"
+inherit lib_package binconfig pkgconfig

DEPENDS += " \
jpeg \
@@ -46,7 +43,11 @@ EXTRA_OECMAKE:append:libc-musl = " \
-DHAVE_LOCALE_T=OFF \
"

-PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+# All toolkit-configs except 'no_gui' require x11 explicitly (see
toolkit.cmake)
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk',
'no_gui', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
PACKAGECONFIG:remove:class-native = "opengl"

# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk'
/ 'qt'
--
2.31.1