]> code.ossystems Code Review - openembedded-core.git/commitdiff
waffle: fix REQUIRED_DISTRO_FEATURES and PACKAGECONFIG virtual/libgl dependencies
authorLeonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Thu, 31 Aug 2017 14:00:41 +0000 (07:00 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 31 Aug 2017 22:25:34 +0000 (23:25 +0100)
Waffle's REQUIRED_DISTRO_FEATURES statement looks into DEPENDS and if
virtual/libgl is present, it includes opengl as distro feature. However,
in a multilib environment, recipes provides virtual/${MLPREFIX}libgl,
thus waffle recipe needs to include the prefix. Also PACKAGECONFIG
statements need this change in order to properly include the libgl
dependency.

The way this error showed up was in a multilib environment and a distro
not containing opengl, i.e. nodistro, leading the following error when
building world -S none (because opengl was not included as required distro
feature):

    ERROR: Nothing PROVIDES 'virtual/lib32-libgl' (but virtual:multilib:lib32:/meta/recipes-graphics/waffle/waffle_1.5.2.bb DEPENDS on or otherwise requires it). Close matches:
      virtual/lib32-libsdl
      virtual/lib32-libc
      virtual/lib32-libsdl2
    ERROR: Required build target 'lib32-meta-world-pkgdata' has no buildable providers.
    Missing or unbuildable dependency chain was: ['lib32-meta-world-pkgdata', 'meta-world-pkgdata', 'lib32-waffle', 'virtual/lib32-libgl']

    Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

[YOCTO #10900]

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/waffle/waffle_1.5.2.bb

index 9d6b0e0e0d20d381c788ad01bce63f8618d0fe6f..a5179db1dabea7525175002ef001b316b870e6f1 100644 (file)
@@ -21,20 +21,20 @@ PACKAGECONFIG ??= "glx"
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'glx', 'x11', '', d)}"
 
 # virtual/libgl requires opengl in DISTRO_FEATURES.
-REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/libgl', 'opengl', '', d)}"
+REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}"
 
 # I say virtual/libgl, actually wants gl.pc
-PACKAGECONFIG[glx] = "-Dwaffle_has_glx=1,-Dwaffle_has_glx=0,virtual/libgl libx11"
+PACKAGECONFIG[glx] = "-Dwaffle_has_glx=1,-Dwaffle_has_glx=0,virtual/${MLPREFIX}libgl libx11"
 
 # I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland
 # DISTRO_FEATURE.
-PACKAGECONFIG[wayland] = "-Dwaffle_has_wayland=1,-Dwaffle_has_wayland=0,virtual/libgl wayland"
+PACKAGECONFIG[wayland] = "-Dwaffle_has_wayland=1,-Dwaffle_has_wayland=0,virtual/${MLPREFIX}libgl wayland"
 
 # I say virtual/libgl, actually wants gbm.pc egl.pc
-PACKAGECONFIG[gbm] = "-Dwaffle_has_gbm=1,-Dwaffle_has_gbm=0,virtual/libgl udev"
+PACKAGECONFIG[gbm] = "-Dwaffle_has_gbm=1,-Dwaffle_has_gbm=0,virtual/${MLPREFIX}libgl udev"
 
 # I say virtual/libgl, actually wants egl.pc
-PACKAGECONFIG[x11-egl] = "-Dwaffle_has_x11_egl=1,-Dwaffle_has_x11_egl=0,virtual/libgl libxcb"
+PACKAGECONFIG[x11-egl] = "-Dwaffle_has_x11_egl=1,-Dwaffle_has_x11_egl=0,virtual/${MLPREFIX}libgl libxcb"
 
 FILES_${PN}-dev += "${datadir}/cmake/Modules/FindWaffle.cmake \
                     ${libdir}/cmake/Waffle/"