diff options
author | Ross Burton <ross.burton@intel.com> | 2012-11-19 16:04:54 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-11-20 15:31:54 +0000 |
commit | 7e0efe18e538ecfcf191573eb413dba4b228c56f (patch) | |
tree | 3cbb2838643c44988f99a1fb5d0cc7aebba9bf9b | |
parent | 0ed7c53de9eb44f1f6105361e3639f6ddbeecdc5 (diff) | |
download | poky-7e0efe18e538ecfcf191573eb413dba4b228c56f.tar.gz |
mesa: add -mesa suffix to GL packages, RPROVIDE their generic names
When Debian-renaming, all packages that provide GL libraries get renamed to the
same name, and it's entirley possible for a feed to have multiple GL libraries
in. This obviously creates conflicts.
Resolve this for Mesa by forcing the package names to be of the form libgl-mesa,
and RPROVIDE libgl.
(From OE-Core rev: 64c77bf395310e55b4d8e0ec754fa19e9034ab35)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-graphics/mesa/mesa-common.inc | 46 | ||||
-rw-r--r-- | meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb | 2 | ||||
-rw-r--r-- | meta/recipes-graphics/mesa/mesa-dri_git.bb | 2 |
3 files changed, 36 insertions, 14 deletions
diff --git a/meta/recipes-graphics/mesa/mesa-common.inc b/meta/recipes-graphics/mesa/mesa-common.inc index 460877ccfb..8e7137818b 100644 --- a/meta/recipes-graphics/mesa/mesa-common.inc +++ b/meta/recipes-graphics/mesa/mesa-common.inc | |||
@@ -41,13 +41,13 @@ EXCLUDE_FROM_WORLD = "1" | |||
41 | # Remove the mesa-dri dependency on mesa-dri-dev, as mesa-dri is empty | 41 | # Remove the mesa-dri dependency on mesa-dri-dev, as mesa-dri is empty |
42 | RDEPENDS_${PN}-dev = "" | 42 | RDEPENDS_${PN}-dev = "" |
43 | 43 | ||
44 | PACKAGES =+ "libegl libegl-dev \ | 44 | PACKAGES =+ "libegl-mesa libegl-mesa-dev \ |
45 | libosmesa libosmesa-dev \ | 45 | libosmesa libosmesa-dev \ |
46 | libgl libgl-dev \ | 46 | libgl-mesa libgl-mesa-dev \ |
47 | libglapi libglapi-dev \ | 47 | libglapi libglapi-dev \ |
48 | libgbm libgbm-dev \ | 48 | libgbm libgbm-dev \ |
49 | libgles1 libgles1-dev \ | 49 | libgles1-mesa libgles1-mesa-dev \ |
50 | libgles2 libgles2-dev \ | 50 | libgles2-mesa libgles2-mesa-dev \ |
51 | " | 51 | " |
52 | 52 | ||
53 | do_install_append () { | 53 | do_install_append () { |
@@ -55,20 +55,42 @@ do_install_append () { | |||
55 | rm -f ${D}${includedir}/GL/glu* | 55 | rm -f ${D}${includedir}/GL/glu* |
56 | } | 56 | } |
57 | 57 | ||
58 | FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so" | 58 | # For the packages that make up the OpenGL interfaces, inject variables so that |
59 | # they don't get Debian-renamed (which would remove the -mesa suffix), and | ||
60 | # RPROVIDEs/RCONFLICTs on the generic libgl name. | ||
61 | python __anonymous() { | ||
62 | for p in (("libegl", "libegl1"), ("libgl", "libgl1"), | ||
63 | ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2")): | ||
64 | fullp = p[0] + "-mesa" | ||
65 | pkgs = " ".join(p) | ||
66 | d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") | ||
67 | d.appendVar("RREPLACES_" + fullp, pkgs) | ||
68 | d.appendVar("RPROVIDES_" + fullp, pkgs) | ||
69 | d.appendVar("RCONFLICTS_" + fullp, pkgs) | ||
70 | |||
71 | # For -dev, the first element is both the Debian and original name | ||
72 | fullp += "-dev" | ||
73 | pkgs = p[0] | ||
74 | d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") | ||
75 | d.appendVar("RREPLACES_" + fullp, pkgs) | ||
76 | d.appendVar("RPROVIDES_" + fullp, pkgs) | ||
77 | d.appendVar("RCONFLICTS_" + fullp, pkgs) | ||
78 | } | ||
79 | |||
80 | FILES_libegl-mesa = "${libdir}/libEGL.so.* ${libdir}/egl/*.so" | ||
59 | FILES_libgbm = "${libdir}/libgbm.so.*" | 81 | FILES_libgbm = "${libdir}/libgbm.so.*" |
60 | FILES_libgles1 = "${libdir}/libGLESv1*.so.*" | 82 | FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*" |
61 | FILES_libgles2 = "${libdir}/libGLESv2.so.*" | 83 | FILES_libgles2-mesa = "${libdir}/libGLESv2.so.*" |
62 | FILES_libgl = "${libdir}/libGL.so.*" | 84 | FILES_libgl-mesa = "${libdir}/libGL.so.*" |
63 | FILES_libglapi = "${libdir}/libglapi.so.*" | 85 | FILES_libglapi = "${libdir}/libglapi.so.*" |
64 | FILES_libosmesa = "${libdir}/libOSMesa.so.*" | 86 | FILES_libosmesa = "${libdir}/libOSMesa.so.*" |
65 | 87 | ||
66 | FILES_libegl-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" | 88 | FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" |
67 | FILES_libgbm-dev = "${libdir}/libgbm* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" | 89 | FILES_libgbm-dev = "${libdir}/libgbm* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" |
68 | FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" | 90 | FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" |
69 | FILES_libglapi-dev = "${libdir}/libglapi.*" | 91 | FILES_libglapi-dev = "${libdir}/libglapi.*" |
70 | FILES_libgles1-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" | 92 | FILES_libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" |
71 | FILES_libgles2-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" | 93 | FILES_libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" |
72 | FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h" | 94 | FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h" |
73 | 95 | ||
74 | FILES_${PN}-dbg += "${libdir}/dri/.debug/* ${libdir}/egl/.debug/*" | 96 | FILES_${PN}-dbg += "${libdir}/dri/.debug/* ${libdir}/egl/.debug/*" |
diff --git a/meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb b/meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb index fb356764bf..fabb99d59a 100644 --- a/meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb +++ b/meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | require mesa-common.inc | 1 | require mesa-common.inc |
2 | require mesa-${PV}.inc | 2 | require mesa-${PV}.inc |
3 | require mesa-dri.inc | 3 | require mesa-dri.inc |
4 | PR = "${INC_PR}.2" | 4 | PR = "${INC_PR}.3" |
diff --git a/meta/recipes-graphics/mesa/mesa-dri_git.bb b/meta/recipes-graphics/mesa/mesa-dri_git.bb index de1aa14cc1..5f8697a1dd 100644 --- a/meta/recipes-graphics/mesa/mesa-dri_git.bb +++ b/meta/recipes-graphics/mesa/mesa-dri_git.bb | |||
@@ -5,4 +5,4 @@ require mesa-dri.inc | |||
5 | # this needs to be lower than -1 because all mesa-dri have -1 and git version has highest PV, but shouldn't be default | 5 | # this needs to be lower than -1 because all mesa-dri have -1 and git version has highest PV, but shouldn't be default |
6 | DEFAULT_PREFERENCE = "-2" | 6 | DEFAULT_PREFERENCE = "-2" |
7 | 7 | ||
8 | PR = "${INC_PR}.1" | 8 | PR = "${INC_PR}.2" |