From 7e96806d1282865761fcc047abcb72970279d82d Mon Sep 17 00:00:00 2001 From: Herve Jourdain Date: Wed, 18 May 2016 20:33:37 +0800 Subject: mesa: fix mesa_populate_packages() when dri is disabled When compiling mesa, if dri is disabled in PACKAGECONFIG, or if the list of DRI drivers is empty, it will cause populate_package to fail, because it can't find - rightfully - the directory for the DRI drivers. This patch checks that the directory indeed exists before trying to get a list of the files in it [ use oe.path.join instead of + - RB ] Signed-off-by: Herve Jourdain Signed-off-by: Ross Burton --- meta/recipes-graphics/mesa/mesa.inc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'meta/recipes-graphics/mesa') diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index a4e53516f3..1d084c0b85 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -142,16 +142,17 @@ python mesa_populate_packages() { d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa", "mesa-dri", 1)) 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 = d.expand("${MLPREFIX}mesa-megadriver") - for p in dri_pkgs: - m = re.match('^(.*)_dri\.so$', p) - if m: - pkg_name = " ${MLPREFIX}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) + dri_drivers_root = oe.path.join(d.getVar('PKGD', True), d.getVar('libdir', True), "dri") + if os.path.isdir(dri_drivers_root): + dri_pkgs = os.listdir(dri_drivers_root) + lib_name = d.expand("${MLPREFIX}mesa-megadriver") + for p in dri_pkgs: + m = re.match('^(.*)_dri\.so$', p) + if m: + pkg_name = " ${MLPREFIX}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='') -- cgit 1.2.3-korg