Patchwork [3/4] mesa: upgrade to 10.1.3

login
register
mail settings
Submitter Valentin Popa
Date May 21, 2014, 4:50 p.m.
Message ID <2af5d5ff37f4dc6cfb7758ff884cecb65883124d.1400690725.git.valentin.popa@intel.com>
Download mbox | patch
Permalink /patch/72525/
State New
Headers show

Comments

Valentin Popa - May 21, 2014, 4:50 p.m.
(*) libdricore was removed.
(*) added libmesa-megadriver that includes
    all the hardlinks to the mesa megadriver.
(*) license is the same.

Signed-off-by: Valentin Popa <valentin.popa@intel.com>
---
 .../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb}   |  0
 meta/recipes-graphics/mesa/mesa.inc                | 36 ++++++++++++++--------
 .../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb}         |  4 +--
 meta/recipes-graphics/mesa/mesa_git.bb             |  4 +--
 4 files changed, 28 insertions(+), 16 deletions(-)
 rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
 rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)
Martin Jansa - May 21, 2014, 6:33 p.m.
On Wed, May 21, 2014 at 07:50:01PM +0300, Valentin Popa wrote:
> (*) libdricore was removed.
> (*) added libmesa-megadriver that includes
>     all the hardlinks to the mesa megadriver.

Why not call it mesa-drivers to be more consistent with kernel-modules
or gst-plugins-good, etc "meta" packages?

> (*) license is the same.
> 
> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
> ---
>  .../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb}   |  0
>  meta/recipes-graphics/mesa/mesa.inc                | 36 ++++++++++++++--------
>  .../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb}         |  4 +--
>  meta/recipes-graphics/mesa/mesa_git.bb             |  4 +--
>  4 files changed, 28 insertions(+), 16 deletions(-)
>  rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
>  rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)
> 
> diff --git a/meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb b/meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
> similarity index 100%
> rename from meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb
> rename to meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
> diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
> index a33b7b5..f7ee7c1 100644
> --- a/meta/recipes-graphics/mesa/mesa.inc
> +++ b/meta/recipes-graphics/mesa/mesa.inc
> @@ -10,11 +10,11 @@ HOMEPAGE = "http://mesa3d.org"
>  BUGTRACKER = "https://bugs.freedesktop.org"
>  SECTION = "x11"
>  LICENSE = "MIT"
> -LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
>  
> -INC_PR = "r9"
>  PE = "2"
>  
> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=6a23445982a7a972ac198e93cc1cb3de"
> +
>  DEPENDS = "expat makedepend-native flex-native bison-native udev"
>  
>  PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa"
> @@ -39,6 +39,7 @@ DRIDRIVERS = "swrast"
>  DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
>  DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
>  PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm"
> +PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence"
>  
>  EXTRA_OECONF += "--enable-gbm"
>  
> @@ -78,7 +79,7 @@ RDEPENDS_${PN}-dev = ""
>  PACKAGES =+ "libegl-mesa libegl-mesa-dev \
>               libosmesa libosmesa-dev \
>               libgl-mesa libgl-mesa-dev \
> -             libdricore libdricore-dev \
> +             libmesa-megadriver \
>               libglapi libglapi-dev \
>               libgbm libgbm-dev \
>               libgles1-mesa libgles1-mesa-dev \
> @@ -96,7 +97,7 @@ do_install_append () {
>      rm -f ${D}${libdir}/egl/*.la
>      rm -f ${D}${libdir}/gallium-pipe/*.la
>      rm -f ${D}${libdir}/gbm/*.la
> -    
> +
>      # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used 
>      rm -f ${D}${sysconfdir}/drirc
>  }
> @@ -119,7 +120,7 @@ python __anonymous() {
>          d.appendVar("RREPLACES_" + fullp, pkgs)
>          d.appendVar("RPROVIDES_" + fullp, pkgs)
>          d.appendVar("RCONFLICTS_" + fullp, pkgs)
> -        
> +
>          # For -dev, the first element is both the Debian and original name
>          fullp += "-dev"
>          pkgs = p[1] + "-dev"
> @@ -130,15 +131,27 @@ python __anonymous() {
>  }
>  
>  python mesa_populate_packages() {
> -    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
> -
>      pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
> -    pkgs += do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-driver-%s', 'Mesa %s DRI driver', extra_depends='')
>      for pkg in pkgs:
>          d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>          d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>          d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
> -    
> +
> +    import re
> +    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
> +    dri_pkgs = os.listdir(d.getVar('PKGD', True) + dri_drivers_root)
> +    lib_name = "libmesa-megadriver"
> +    mlprefix = d.getVar('MLPREFIX', True)
> +    if mlprefix:
> +       lib_name = "%s%s" % (mlprefix, lib_name)
> +    for p in sorted(dri_pkgs):
> +        m = re.match('^(.*)_dri\.so$', p)
> +        if m:
> +            pkg_name = " mesa-driver-%s" % legitimize_package_name(m.group(1))
> +            d.appendVar("RPROVIDES_%s" % lib_name, pkg_name)
> +            d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name)
> +            d.appendVar("RREPLACES_%s" % lib_name, pkg_name)
> +
>      pipe_drivers_root = os.path.join(d.getVar('libdir', True), "gallium-pipe")
>      do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
>  }
> @@ -148,8 +161,8 @@ PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
>  PACKAGES_DYNAMIC += "^mesa-driver-.*"
>  
>  FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
> -
> -FILES_libdricore = "${sysconfdir}/drirc ${libdir}/libdricore*.so.*"
> +FILES_${PN} += "${sysconfdir}/drirc"
> +FILES_libmesa-megadriver = "${libdir}/dri/*"
>  FILES_libegl-mesa = "${libdir}/libEGL.so.*"
>  FILES_libgbm = "${libdir}/libgbm.so.*"
>  FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
> @@ -164,7 +177,6 @@ FILES_libopenvg = "${libdir}/libOpenVG.so.*"
>  FILES_libxvmcsoftpipe = "${libdir}/libXvMCsoftpipe.so.*"
>  
>  FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
> -FILES_libdricore-dev = "${libdir}/libdricore*.*"
>  FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
>  FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
>  FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
> diff --git a/meta/recipes-graphics/mesa/mesa_9.2.5.bb b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
> similarity index 82%
> rename from meta/recipes-graphics/mesa/mesa_9.2.5.bb
> rename to meta/recipes-graphics/mesa/mesa_10.1.3.bb
> index 02ecd46..abc450a 100644
> --- a/meta/recipes-graphics/mesa/mesa_9.2.5.bb
> +++ b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
> @@ -5,8 +5,8 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
>             file://0006-fix-out-of-tree-egl.patch \
>             "
>  
> -SRC_URI[md5sum] = "9fb4de29ca1d9cfd03cbdefa123ba336"
> -SRC_URI[sha256sum] = "b46ab9efed176df0591993397594d712ada9da6a47fd31bbe75050fe28eb6bf0"
> +SRC_URI[md5sum] = "ba6dbe2b9cab0b4de840c996b9b6a3ad"
> +SRC_URI[sha256sum] = "b2615e236ef25d0fb94b8420bdd2e2a520b7dd5ca2d4b93306154f7fd4adecc3"
>  
>  S = "${WORKDIR}/Mesa-${PV}"
>  
> diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
> index 1e6fdb5..59b0d1c 100644
> --- a/meta/recipes-graphics/mesa/mesa_git.bb
> +++ b/meta/recipes-graphics/mesa/mesa_git.bb
> @@ -5,8 +5,8 @@ DEFAULT_PREFERENCE = "-1"
>  LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
>  
>  PR = "${INC_PR}.0"
> -SRCREV = "4636e87191fddd492ed8c61ba61faf4b2d89b2e4"
> -PV = "9.2.5+git${SRCPV}"
> +SRCREV = "0028eb1083e6adc110a23a5f02c993cda217067a"
> +PV = "10.1.3+git${SRCPV}"
>  
>  SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa \
>             file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
> -- 
> 1.9.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Valentin Popa - May 22, 2014, 12:26 p.m.
On 05/21/2014 09:33 PM, Martin Jansa wrote:
> On Wed, May 21, 2014 at 07:50:01PM +0300, Valentin Popa wrote:
>> (*) libdricore was removed.
>> (*) added libmesa-megadriver that includes
>>      all the hardlinks to the mesa megadriver.
> Why not call it mesa-drivers to be more consistent with kernel-modules
> or gst-plugins-good, etc "meta" packages?

     I can call it mesa-megadriver (I still need to keep "megadriver", 
because inside the package is only on driver (multiple hardlinks to it, 
with the proper names)).
     It's ok like this?

>
>> (*) license is the same.
>>
>> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
>> ---
>>   .../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb}   |  0
>>   meta/recipes-graphics/mesa/mesa.inc                | 36 ++++++++++++++--------
>>   .../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb}         |  4 +--
>>   meta/recipes-graphics/mesa/mesa_git.bb             |  4 +--
>>   4 files changed, 28 insertions(+), 16 deletions(-)
>>   rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
>>   rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)
>>
>> diff --git a/meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb b/meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
>> similarity index 100%
>> rename from meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb
>> rename to meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
>> diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
>> index a33b7b5..f7ee7c1 100644
>> --- a/meta/recipes-graphics/mesa/mesa.inc
>> +++ b/meta/recipes-graphics/mesa/mesa.inc
>> @@ -10,11 +10,11 @@ HOMEPAGE = "http://mesa3d.org"
>>   BUGTRACKER = "https://bugs.freedesktop.org"
>>   SECTION = "x11"
>>   LICENSE = "MIT"
>> -LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
>>   
>> -INC_PR = "r9"
>>   PE = "2"
>>   
>> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=6a23445982a7a972ac198e93cc1cb3de"
>> +
>>   DEPENDS = "expat makedepend-native flex-native bison-native udev"
>>   
>>   PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa"
>> @@ -39,6 +39,7 @@ DRIDRIVERS = "swrast"
>>   DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
>>   DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
>>   PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm"
>> +PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence"
>>   
>>   EXTRA_OECONF += "--enable-gbm"
>>   
>> @@ -78,7 +79,7 @@ RDEPENDS_${PN}-dev = ""
>>   PACKAGES =+ "libegl-mesa libegl-mesa-dev \
>>                libosmesa libosmesa-dev \
>>                libgl-mesa libgl-mesa-dev \
>> -             libdricore libdricore-dev \
>> +             libmesa-megadriver \
>>                libglapi libglapi-dev \
>>                libgbm libgbm-dev \
>>                libgles1-mesa libgles1-mesa-dev \
>> @@ -96,7 +97,7 @@ do_install_append () {
>>       rm -f ${D}${libdir}/egl/*.la
>>       rm -f ${D}${libdir}/gallium-pipe/*.la
>>       rm -f ${D}${libdir}/gbm/*.la
>> -
>> +
>>       # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used
>>       rm -f ${D}${sysconfdir}/drirc
>>   }
>> @@ -119,7 +120,7 @@ python __anonymous() {
>>           d.appendVar("RREPLACES_" + fullp, pkgs)
>>           d.appendVar("RPROVIDES_" + fullp, pkgs)
>>           d.appendVar("RCONFLICTS_" + fullp, pkgs)
>> -
>> +
>>           # For -dev, the first element is both the Debian and original name
>>           fullp += "-dev"
>>           pkgs = p[1] + "-dev"
>> @@ -130,15 +131,27 @@ python __anonymous() {
>>   }
>>   
>>   python mesa_populate_packages() {
>> -    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
>> -
>>       pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
>> -    pkgs += do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-driver-%s', 'Mesa %s DRI driver', extra_depends='')
>>       for pkg in pkgs:
>>           d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>>           d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>>           d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>> -
>> +
>> +    import re
>> +    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
>> +    dri_pkgs = os.listdir(d.getVar('PKGD', True) + dri_drivers_root)
>> +    lib_name = "libmesa-megadriver"
>> +    mlprefix = d.getVar('MLPREFIX', True)
>> +    if mlprefix:
>> +       lib_name = "%s%s" % (mlprefix, lib_name)
>> +    for p in sorted(dri_pkgs):
>> +        m = re.match('^(.*)_dri\.so$', p)
>> +        if m:
>> +            pkg_name = " mesa-driver-%s" % legitimize_package_name(m.group(1))
>> +            d.appendVar("RPROVIDES_%s" % lib_name, pkg_name)
>> +            d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name)
>> +            d.appendVar("RREPLACES_%s" % lib_name, pkg_name)
>> +
>>       pipe_drivers_root = os.path.join(d.getVar('libdir', True), "gallium-pipe")
>>       do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
>>   }
>> @@ -148,8 +161,8 @@ PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
>>   PACKAGES_DYNAMIC += "^mesa-driver-.*"
>>   
>>   FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
>> -
>> -FILES_libdricore = "${sysconfdir}/drirc ${libdir}/libdricore*.so.*"
>> +FILES_${PN} += "${sysconfdir}/drirc"
>> +FILES_libmesa-megadriver = "${libdir}/dri/*"
>>   FILES_libegl-mesa = "${libdir}/libEGL.so.*"
>>   FILES_libgbm = "${libdir}/libgbm.so.*"
>>   FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
>> @@ -164,7 +177,6 @@ FILES_libopenvg = "${libdir}/libOpenVG.so.*"
>>   FILES_libxvmcsoftpipe = "${libdir}/libXvMCsoftpipe.so.*"
>>   
>>   FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
>> -FILES_libdricore-dev = "${libdir}/libdricore*.*"
>>   FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
>>   FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
>>   FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
>> diff --git a/meta/recipes-graphics/mesa/mesa_9.2.5.bb b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
>> similarity index 82%
>> rename from meta/recipes-graphics/mesa/mesa_9.2.5.bb
>> rename to meta/recipes-graphics/mesa/mesa_10.1.3.bb
>> index 02ecd46..abc450a 100644
>> --- a/meta/recipes-graphics/mesa/mesa_9.2.5.bb
>> +++ b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
>> @@ -5,8 +5,8 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
>>              file://0006-fix-out-of-tree-egl.patch \
>>              "
>>   
>> -SRC_URI[md5sum] = "9fb4de29ca1d9cfd03cbdefa123ba336"
>> -SRC_URI[sha256sum] = "b46ab9efed176df0591993397594d712ada9da6a47fd31bbe75050fe28eb6bf0"
>> +SRC_URI[md5sum] = "ba6dbe2b9cab0b4de840c996b9b6a3ad"
>> +SRC_URI[sha256sum] = "b2615e236ef25d0fb94b8420bdd2e2a520b7dd5ca2d4b93306154f7fd4adecc3"
>>   
>>   S = "${WORKDIR}/Mesa-${PV}"
>>   
>> diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
>> index 1e6fdb5..59b0d1c 100644
>> --- a/meta/recipes-graphics/mesa/mesa_git.bb
>> +++ b/meta/recipes-graphics/mesa/mesa_git.bb
>> @@ -5,8 +5,8 @@ DEFAULT_PREFERENCE = "-1"
>>   LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
>>   
>>   PR = "${INC_PR}.0"
>> -SRCREV = "4636e87191fddd492ed8c61ba61faf4b2d89b2e4"
>> -PV = "9.2.5+git${SRCPV}"
>> +SRCREV = "0028eb1083e6adc110a23a5f02c993cda217067a"
>> +PV = "10.1.3+git${SRCPV}"
>>   
>>   SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa \
>>              file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
>> -- 
>> 1.9.1
>>
>> -- 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Martin Jansa - May 22, 2014, 1:23 p.m.
On Thu, May 22, 2014 at 03:26:12PM +0300, Valentin Popa wrote:
> On 05/21/2014 09:33 PM, Martin Jansa wrote:
> > On Wed, May 21, 2014 at 07:50:01PM +0300, Valentin Popa wrote:
> >> (*) libdricore was removed.
> >> (*) added libmesa-megadriver that includes
> >>      all the hardlinks to the mesa megadriver.
> > Why not call it mesa-drivers to be more consistent with kernel-modules
> > or gst-plugins-good, etc "meta" packages?
> 
>      I can call it mesa-megadriver (I still need to keep "megadriver", 
> because inside the package is only on driver (multiple hardlinks to it, 
> with the proper names)).

Sorry, I fail to parse this sentence. Where do you have hardlinks?

> >> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
> >> ---
> >>   .../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb}   |  0
> >>   meta/recipes-graphics/mesa/mesa.inc                | 36 ++++++++++++++--------
> >>   .../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb}         |  4 +--
> >>   meta/recipes-graphics/mesa/mesa_git.bb             |  4 +--
> >>   4 files changed, 28 insertions(+), 16 deletions(-)
> >>   rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
> >>   rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)
> >>
> >> diff --git a/meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb b/meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
> >> similarity index 100%
> >> rename from meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb
> >> rename to meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
> >> diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
> >> index a33b7b5..f7ee7c1 100644
> >> --- a/meta/recipes-graphics/mesa/mesa.inc
> >> +++ b/meta/recipes-graphics/mesa/mesa.inc
> >> @@ -10,11 +10,11 @@ HOMEPAGE = "http://mesa3d.org"
> >>   BUGTRACKER = "https://bugs.freedesktop.org"
> >>   SECTION = "x11"
> >>   LICENSE = "MIT"
> >> -LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
> >>   
> >> -INC_PR = "r9"
> >>   PE = "2"
> >>   
> >> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=6a23445982a7a972ac198e93cc1cb3de"
> >> +
> >>   DEPENDS = "expat makedepend-native flex-native bison-native udev"
> >>   
> >>   PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa"
> >> @@ -39,6 +39,7 @@ DRIDRIVERS = "swrast"
> >>   DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
> >>   DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
> >>   PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm"
> >> +PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence"
> >>   
> >>   EXTRA_OECONF += "--enable-gbm"
> >>   
> >> @@ -78,7 +79,7 @@ RDEPENDS_${PN}-dev = ""
> >>   PACKAGES =+ "libegl-mesa libegl-mesa-dev \
> >>                libosmesa libosmesa-dev \
> >>                libgl-mesa libgl-mesa-dev \
> >> -             libdricore libdricore-dev \
> >> +             libmesa-megadriver \
> >>                libglapi libglapi-dev \
> >>                libgbm libgbm-dev \
> >>                libgles1-mesa libgles1-mesa-dev \
> >> @@ -96,7 +97,7 @@ do_install_append () {
> >>       rm -f ${D}${libdir}/egl/*.la
> >>       rm -f ${D}${libdir}/gallium-pipe/*.la
> >>       rm -f ${D}${libdir}/gbm/*.la
> >> -
> >> +
> >>       # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used
> >>       rm -f ${D}${sysconfdir}/drirc
> >>   }
> >> @@ -119,7 +120,7 @@ python __anonymous() {
> >>           d.appendVar("RREPLACES_" + fullp, pkgs)
> >>           d.appendVar("RPROVIDES_" + fullp, pkgs)
> >>           d.appendVar("RCONFLICTS_" + fullp, pkgs)
> >> -
> >> +
> >>           # For -dev, the first element is both the Debian and original name
> >>           fullp += "-dev"
> >>           pkgs = p[1] + "-dev"
> >> @@ -130,15 +131,27 @@ python __anonymous() {
> >>   }
> >>   
> >>   python mesa_populate_packages() {
> >> -    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
> >> -
> >>       pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
> >> -    pkgs += do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-driver-%s', 'Mesa %s DRI driver', extra_depends='')
> >>       for pkg in pkgs:
> >>           d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
> >>           d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
> >>           d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
> >> -
> >> +
> >> +    import re
> >> +    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
> >> +    dri_pkgs = os.listdir(d.getVar('PKGD', True) + dri_drivers_root)
> >> +    lib_name = "libmesa-megadriver"
> >> +    mlprefix = d.getVar('MLPREFIX', True)
> >> +    if mlprefix:
> >> +       lib_name = "%s%s" % (mlprefix, lib_name)
> >> +    for p in sorted(dri_pkgs):
> >> +        m = re.match('^(.*)_dri\.so$', p)
> >> +        if m:
> >> +            pkg_name = " mesa-driver-%s" % legitimize_package_name(m.group(1))
> >> +            d.appendVar("RPROVIDES_%s" % lib_name, pkg_name)
> >> +            d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name)
> >> +            d.appendVar("RREPLACES_%s" % lib_name, pkg_name)
> >> +
> >>       pipe_drivers_root = os.path.join(d.getVar('libdir', True), "gallium-pipe")
> >>       do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
> >>   }
> >> @@ -148,8 +161,8 @@ PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
> >>   PACKAGES_DYNAMIC += "^mesa-driver-.*"
> >>   
> >>   FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
> >> -
> >> -FILES_libdricore = "${sysconfdir}/drirc ${libdir}/libdricore*.so.*"
> >> +FILES_${PN} += "${sysconfdir}/drirc"
> >> +FILES_libmesa-megadriver = "${libdir}/dri/*"
> >>   FILES_libegl-mesa = "${libdir}/libEGL.so.*"
> >>   FILES_libgbm = "${libdir}/libgbm.so.*"
> >>   FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
> >> @@ -164,7 +177,6 @@ FILES_libopenvg = "${libdir}/libOpenVG.so.*"
> >>   FILES_libxvmcsoftpipe = "${libdir}/libXvMCsoftpipe.so.*"
> >>   
> >>   FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
> >> -FILES_libdricore-dev = "${libdir}/libdricore*.*"
> >>   FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
> >>   FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
> >>   FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
> >> diff --git a/meta/recipes-graphics/mesa/mesa_9.2.5.bb b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
> >> similarity index 82%
> >> rename from meta/recipes-graphics/mesa/mesa_9.2.5.bb
> >> rename to meta/recipes-graphics/mesa/mesa_10.1.3.bb
> >> index 02ecd46..abc450a 100644
> >> --- a/meta/recipes-graphics/mesa/mesa_9.2.5.bb
> >> +++ b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
> >> @@ -5,8 +5,8 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
> >>              file://0006-fix-out-of-tree-egl.patch \
> >>              "
> >>   
> >> -SRC_URI[md5sum] = "9fb4de29ca1d9cfd03cbdefa123ba336"
> >> -SRC_URI[sha256sum] = "b46ab9efed176df0591993397594d712ada9da6a47fd31bbe75050fe28eb6bf0"
> >> +SRC_URI[md5sum] = "ba6dbe2b9cab0b4de840c996b9b6a3ad"
> >> +SRC_URI[sha256sum] = "b2615e236ef25d0fb94b8420bdd2e2a520b7dd5ca2d4b93306154f7fd4adecc3"
> >>   
> >>   S = "${WORKDIR}/Mesa-${PV}"
> >>   
> >> diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
> >> index 1e6fdb5..59b0d1c 100644
> >> --- a/meta/recipes-graphics/mesa/mesa_git.bb
> >> +++ b/meta/recipes-graphics/mesa/mesa_git.bb
> >> @@ -5,8 +5,8 @@ DEFAULT_PREFERENCE = "-1"
> >>   LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
> >>   
> >>   PR = "${INC_PR}.0"
> >> -SRCREV = "4636e87191fddd492ed8c61ba61faf4b2d89b2e4"
> >> -PV = "9.2.5+git${SRCPV}"
> >> +SRCREV = "0028eb1083e6adc110a23a5f02c993cda217067a"
> >> +PV = "10.1.3+git${SRCPV}"
> >>   
> >>   SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa \
> >>              file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
> >> -- 
> >> 1.9.1
> >>
> >> -- 
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
Valentin Popa - May 22, 2014, 1:29 p.m.
On 05/22/2014 04:23 PM, Martin Jansa wrote:
> On Thu, May 22, 2014 at 03:26:12PM +0300, Valentin Popa wrote:
>> On 05/21/2014 09:33 PM, Martin Jansa wrote:
>>> On Wed, May 21, 2014 at 07:50:01PM +0300, Valentin Popa wrote:
>>>> (*) libdricore was removed.
>>>> (*) added libmesa-megadriver that includes
>>>>       all the hardlinks to the mesa megadriver.
>>> Why not call it mesa-drivers to be more consistent with kernel-modules
>>> or gst-plugins-good, etc "meta" packages?
>>       I can call it mesa-megadriver (I still need to keep "megadriver",
>> because inside the package is only on driver (multiple hardlinks to it,
>> with the proper names)).
> Sorry, I fail to parse this sentence. Where do you have hardlinks?

       At build time, mesa creates a big dri driver that contains all 
the dri drivers (a megadriver). Then makes hardlinks to it with the name 
of each dri driver (i915, i965, etc). Then
deletes that initial big driver (at install time). The package will 
contain those hardlinks.

>
>>>> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
>>>> ---
>>>>    .../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb}   |  0
>>>>    meta/recipes-graphics/mesa/mesa.inc                | 36 ++++++++++++++--------
>>>>    .../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb}         |  4 +--
>>>>    meta/recipes-graphics/mesa/mesa_git.bb             |  4 +--
>>>>    4 files changed, 28 insertions(+), 16 deletions(-)
>>>>    rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
>>>>    rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)
>>>>
>>>> diff --git a/meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb b/meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
>>>> similarity index 100%
>>>> rename from meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb
>>>> rename to meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
>>>> diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
>>>> index a33b7b5..f7ee7c1 100644
>>>> --- a/meta/recipes-graphics/mesa/mesa.inc
>>>> +++ b/meta/recipes-graphics/mesa/mesa.inc
>>>> @@ -10,11 +10,11 @@ HOMEPAGE = "http://mesa3d.org"
>>>>    BUGTRACKER = "https://bugs.freedesktop.org"
>>>>    SECTION = "x11"
>>>>    LICENSE = "MIT"
>>>> -LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
>>>>    
>>>> -INC_PR = "r9"
>>>>    PE = "2"
>>>>    
>>>> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=6a23445982a7a972ac198e93cc1cb3de"
>>>> +
>>>>    DEPENDS = "expat makedepend-native flex-native bison-native udev"
>>>>    
>>>>    PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa"
>>>> @@ -39,6 +39,7 @@ DRIDRIVERS = "swrast"
>>>>    DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
>>>>    DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
>>>>    PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm"
>>>> +PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence"
>>>>    
>>>>    EXTRA_OECONF += "--enable-gbm"
>>>>    
>>>> @@ -78,7 +79,7 @@ RDEPENDS_${PN}-dev = ""
>>>>    PACKAGES =+ "libegl-mesa libegl-mesa-dev \
>>>>                 libosmesa libosmesa-dev \
>>>>                 libgl-mesa libgl-mesa-dev \
>>>> -             libdricore libdricore-dev \
>>>> +             libmesa-megadriver \
>>>>                 libglapi libglapi-dev \
>>>>                 libgbm libgbm-dev \
>>>>                 libgles1-mesa libgles1-mesa-dev \
>>>> @@ -96,7 +97,7 @@ do_install_append () {
>>>>        rm -f ${D}${libdir}/egl/*.la
>>>>        rm -f ${D}${libdir}/gallium-pipe/*.la
>>>>        rm -f ${D}${libdir}/gbm/*.la
>>>> -
>>>> +
>>>>        # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used
>>>>        rm -f ${D}${sysconfdir}/drirc
>>>>    }
>>>> @@ -119,7 +120,7 @@ python __anonymous() {
>>>>            d.appendVar("RREPLACES_" + fullp, pkgs)
>>>>            d.appendVar("RPROVIDES_" + fullp, pkgs)
>>>>            d.appendVar("RCONFLICTS_" + fullp, pkgs)
>>>> -
>>>> +
>>>>            # For -dev, the first element is both the Debian and original name
>>>>            fullp += "-dev"
>>>>            pkgs = p[1] + "-dev"
>>>> @@ -130,15 +131,27 @@ python __anonymous() {
>>>>    }
>>>>    
>>>>    python mesa_populate_packages() {
>>>> -    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
>>>> -
>>>>        pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
>>>> -    pkgs += do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-driver-%s', 'Mesa %s DRI driver', extra_depends='')
>>>>        for pkg in pkgs:
>>>>            d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>>>>            d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>>>>            d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
>>>> -
>>>> +
>>>> +    import re
>>>> +    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
>>>> +    dri_pkgs = os.listdir(d.getVar('PKGD', True) + dri_drivers_root)
>>>> +    lib_name = "libmesa-megadriver"
>>>> +    mlprefix = d.getVar('MLPREFIX', True)
>>>> +    if mlprefix:
>>>> +       lib_name = "%s%s" % (mlprefix, lib_name)
>>>> +    for p in sorted(dri_pkgs):
>>>> +        m = re.match('^(.*)_dri\.so$', p)
>>>> +        if m:
>>>> +            pkg_name = " mesa-driver-%s" % legitimize_package_name(m.group(1))
>>>> +            d.appendVar("RPROVIDES_%s" % lib_name, pkg_name)
>>>> +            d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name)
>>>> +            d.appendVar("RREPLACES_%s" % lib_name, pkg_name)
>>>> +
>>>>        pipe_drivers_root = os.path.join(d.getVar('libdir', True), "gallium-pipe")
>>>>        do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
>>>>    }
>>>> @@ -148,8 +161,8 @@ PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
>>>>    PACKAGES_DYNAMIC += "^mesa-driver-.*"
>>>>    
>>>>    FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
>>>> -
>>>> -FILES_libdricore = "${sysconfdir}/drirc ${libdir}/libdricore*.so.*"
>>>> +FILES_${PN} += "${sysconfdir}/drirc"
>>>> +FILES_libmesa-megadriver = "${libdir}/dri/*"
>>>>    FILES_libegl-mesa = "${libdir}/libEGL.so.*"
>>>>    FILES_libgbm = "${libdir}/libgbm.so.*"
>>>>    FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
>>>> @@ -164,7 +177,6 @@ FILES_libopenvg = "${libdir}/libOpenVG.so.*"
>>>>    FILES_libxvmcsoftpipe = "${libdir}/libXvMCsoftpipe.so.*"
>>>>    
>>>>    FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
>>>> -FILES_libdricore-dev = "${libdir}/libdricore*.*"
>>>>    FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
>>>>    FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
>>>>    FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
>>>> diff --git a/meta/recipes-graphics/mesa/mesa_9.2.5.bb b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
>>>> similarity index 82%
>>>> rename from meta/recipes-graphics/mesa/mesa_9.2.5.bb
>>>> rename to meta/recipes-graphics/mesa/mesa_10.1.3.bb
>>>> index 02ecd46..abc450a 100644
>>>> --- a/meta/recipes-graphics/mesa/mesa_9.2.5.bb
>>>> +++ b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
>>>> @@ -5,8 +5,8 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
>>>>               file://0006-fix-out-of-tree-egl.patch \
>>>>               "
>>>>    
>>>> -SRC_URI[md5sum] = "9fb4de29ca1d9cfd03cbdefa123ba336"
>>>> -SRC_URI[sha256sum] = "b46ab9efed176df0591993397594d712ada9da6a47fd31bbe75050fe28eb6bf0"
>>>> +SRC_URI[md5sum] = "ba6dbe2b9cab0b4de840c996b9b6a3ad"
>>>> +SRC_URI[sha256sum] = "b2615e236ef25d0fb94b8420bdd2e2a520b7dd5ca2d4b93306154f7fd4adecc3"
>>>>    
>>>>    S = "${WORKDIR}/Mesa-${PV}"
>>>>    
>>>> diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
>>>> index 1e6fdb5..59b0d1c 100644
>>>> --- a/meta/recipes-graphics/mesa/mesa_git.bb
>>>> +++ b/meta/recipes-graphics/mesa/mesa_git.bb
>>>> @@ -5,8 +5,8 @@ DEFAULT_PREFERENCE = "-1"
>>>>    LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
>>>>    
>>>>    PR = "${INC_PR}.0"
>>>> -SRCREV = "4636e87191fddd492ed8c61ba61faf4b2d89b2e4"
>>>> -PV = "9.2.5+git${SRCPV}"
>>>> +SRCREV = "0028eb1083e6adc110a23a5f02c993cda217067a"
>>>> +PV = "10.1.3+git${SRCPV}"
>>>>    
>>>>    SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa \
>>>>               file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
>>>> -- 
>>>> 1.9.1
>>>>
>>>> -- 
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb b/meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
similarity index 100%
rename from meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb
rename to meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index a33b7b5..f7ee7c1 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -10,11 +10,11 @@  HOMEPAGE = "http://mesa3d.org"
 BUGTRACKER = "https://bugs.freedesktop.org"
 SECTION = "x11"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
 
-INC_PR = "r9"
 PE = "2"
 
+LIC_FILES_CHKSUM = "file://docs/license.html;md5=6a23445982a7a972ac198e93cc1cb3de"
+
 DEPENDS = "expat makedepend-native flex-native bison-native udev"
 
 PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa"
@@ -39,6 +39,7 @@  DRIDRIVERS = "swrast"
 DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
 DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
 PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm"
+PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence"
 
 EXTRA_OECONF += "--enable-gbm"
 
@@ -78,7 +79,7 @@  RDEPENDS_${PN}-dev = ""
 PACKAGES =+ "libegl-mesa libegl-mesa-dev \
              libosmesa libosmesa-dev \
              libgl-mesa libgl-mesa-dev \
-             libdricore libdricore-dev \
+             libmesa-megadriver \
              libglapi libglapi-dev \
              libgbm libgbm-dev \
              libgles1-mesa libgles1-mesa-dev \
@@ -96,7 +97,7 @@  do_install_append () {
     rm -f ${D}${libdir}/egl/*.la
     rm -f ${D}${libdir}/gallium-pipe/*.la
     rm -f ${D}${libdir}/gbm/*.la
-    
+
     # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used 
     rm -f ${D}${sysconfdir}/drirc
 }
@@ -119,7 +120,7 @@  python __anonymous() {
         d.appendVar("RREPLACES_" + fullp, pkgs)
         d.appendVar("RPROVIDES_" + fullp, pkgs)
         d.appendVar("RCONFLICTS_" + fullp, pkgs)
-        
+
         # For -dev, the first element is both the Debian and original name
         fullp += "-dev"
         pkgs = p[1] + "-dev"
@@ -130,15 +131,27 @@  python __anonymous() {
 }
 
 python mesa_populate_packages() {
-    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
-
     pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
-    pkgs += do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-driver-%s', 'Mesa %s DRI driver', extra_depends='')
     for pkg in pkgs:
         d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
         d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
         d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
-    
+
+    import re
+    dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
+    dri_pkgs = os.listdir(d.getVar('PKGD', True) + dri_drivers_root)
+    lib_name = "libmesa-megadriver"
+    mlprefix = d.getVar('MLPREFIX', True)
+    if mlprefix:
+       lib_name = "%s%s" % (mlprefix, lib_name)
+    for p in sorted(dri_pkgs):
+        m = re.match('^(.*)_dri\.so$', p)
+        if m:
+            pkg_name = " mesa-driver-%s" % legitimize_package_name(m.group(1))
+            d.appendVar("RPROVIDES_%s" % lib_name, pkg_name)
+            d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name)
+            d.appendVar("RREPLACES_%s" % lib_name, pkg_name)
+
     pipe_drivers_root = os.path.join(d.getVar('libdir', True), "gallium-pipe")
     do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
 }
@@ -148,8 +161,8 @@  PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
 PACKAGES_DYNAMIC += "^mesa-driver-.*"
 
 FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
-
-FILES_libdricore = "${sysconfdir}/drirc ${libdir}/libdricore*.so.*"
+FILES_${PN} += "${sysconfdir}/drirc"
+FILES_libmesa-megadriver = "${libdir}/dri/*"
 FILES_libegl-mesa = "${libdir}/libEGL.so.*"
 FILES_libgbm = "${libdir}/libgbm.so.*"
 FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
@@ -164,7 +177,6 @@  FILES_libopenvg = "${libdir}/libOpenVG.so.*"
 FILES_libxvmcsoftpipe = "${libdir}/libXvMCsoftpipe.so.*"
 
 FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
-FILES_libdricore-dev = "${libdir}/libdricore*.*"
 FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
 FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
 FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
diff --git a/meta/recipes-graphics/mesa/mesa_9.2.5.bb b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
similarity index 82%
rename from meta/recipes-graphics/mesa/mesa_9.2.5.bb
rename to meta/recipes-graphics/mesa/mesa_10.1.3.bb
index 02ecd46..abc450a 100644
--- a/meta/recipes-graphics/mesa/mesa_9.2.5.bb
+++ b/meta/recipes-graphics/mesa/mesa_10.1.3.bb
@@ -5,8 +5,8 @@  SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
            file://0006-fix-out-of-tree-egl.patch \
            "
 
-SRC_URI[md5sum] = "9fb4de29ca1d9cfd03cbdefa123ba336"
-SRC_URI[sha256sum] = "b46ab9efed176df0591993397594d712ada9da6a47fd31bbe75050fe28eb6bf0"
+SRC_URI[md5sum] = "ba6dbe2b9cab0b4de840c996b9b6a3ad"
+SRC_URI[sha256sum] = "b2615e236ef25d0fb94b8420bdd2e2a520b7dd5ca2d4b93306154f7fd4adecc3"
 
 S = "${WORKDIR}/Mesa-${PV}"
 
diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
index 1e6fdb5..59b0d1c 100644
--- a/meta/recipes-graphics/mesa/mesa_git.bb
+++ b/meta/recipes-graphics/mesa/mesa_git.bb
@@ -5,8 +5,8 @@  DEFAULT_PREFERENCE = "-1"
 LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
 
 PR = "${INC_PR}.0"
-SRCREV = "4636e87191fddd492ed8c61ba61faf4b2d89b2e4"
-PV = "9.2.5+git${SRCPV}"
+SRCREV = "0028eb1083e6adc110a23a5f02c993cda217067a"
+PV = "10.1.3+git${SRCPV}"
 
 SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa \
            file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \