Skip to content
Snippets Groups Projects

Improve how we collect DRI drivers

Merged Simon McVittie requested to merge wip/collect-drivers into master
1 unresolved thread
2 files
+ 2
2
Compare changes
  • Side-by-side
  • Inline
Files
2
  • These are drivers for which our best guess is that the native loader
    would not actually load them. We want to include them in
    steam-runtime-system-info's diagnostic output in case we are wrong, but
    we don't want to include them in the container: if our guess is correct,
    then the host system doesn't actually load them, and the worst-case
    scenario is that they are somehow broken, in which case adding them to
    the search path might *break* the container.
    
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
@@ -207,6 +207,9 @@ class TestContainers(BaseTest):
if 'PRESSURE_VESSEL_UNINSTALLED' in os.environ:
os.makedirs(os.path.join(cls.pv_dir, 'bin'))
os.makedirs(
os.path.join(cls.pv_dir, 'libexec', 'steam-runtime-tools-0'),
)
for exe in (
'pressure-vessel-wrap',
@@ -295,6 +298,45 @@ class TestContainers(BaseTest):
cls.copy2(relocatable, tool_path)
else:
raise unittest.SkipTest('{} not found'.format(exe))
for tool in ('inspect-library',):
exe = multiarch + '-' + tool
tool_path = os.path.join(
cls.pv_dir,
'libexec',
'steam-runtime-tools-0',
exe,
)
in_containers_dir = os.path.join(
cls.containers_dir,
'pressure-vessel',
'libexec',
'steam-runtime-tools-0',
exe,
)
if os.path.exists(in_containers_dir):
# Asssume it's a close enough version that we can
# use it with the newer pressure-vessel-wrap.
logger.info(
'Copying pre-existing %s from %s',
exe, in_containers_dir,
)
cls.copy2(
in_containers_dir,
tool_path,
)
else:
logger.info(
'Copying just-built %s from %s/pressure-vessel',
exe, cls.top_builddir,
)
cls.copy2(
os.path.join(
cls.top_builddir, 'helpers', exe,
),
tool_path,
)
else:
cls.pv_dir = os.path.join(cls.containers_dir, 'pressure-vessel')
@@ -917,7 +959,7 @@ class TestContainers(BaseTest):
'/usr/lib32/dri/',
'/usr/lib64/dri/',
'/usr/lib/{}/dri/'.format(multiarch),
)):
)) and not dri.get('is_extra', False):
# We don't make any assertion about the search
# order here.
Loading