Skip to content

Fix CI failure in dpkg-shlibdeps

Simon McVittie requested to merge wip/t17169-again into master

Fixes a regression triggered by https://phabricator.collabora.com/T17169 (!85 (merged)).

I pushed these two commits unreviewed, to unblock development: please check:

  • ea250de4 Add Build-Conflicts on libsteam-runtime-tools-0-helpers

    Since steam-runtime-tools was made relocatable in c3a06cce, its build will fail with the Steam Runtime 1 'scout' version of dpkg if it is already installed system-wide.

    If the SDK container where steam-runtime-tools is built has our $(pkglibexecdir) populated with symbolic links to the dependency libraries, then dpkg-shlibdeps will look there to convert DT_NEEDED dependencies into Debian dependencies. Unfortunately, the version of dpkg in SteamRT 1 'scout' has Debian bug #843073, which means it assumes all libraries are found via their canonical names as listed in the dpkg database, not a symlink-based alias. This results in the build failing with an error similar to:

      dpkg-shlibdeps: error: no dependency information found for
      /usr/lib/x86_64-linux-gnu/steam-runtime-tools-0/libglib-2.0.so.0
      (used by
      debian/libsteam-runtime-tools-0-helpers/usr/libexec/steam-runtime-tools-0/x86_64-linux-gnu-check-locale)

    Until we get a newer Docker image with a newer version of this package that works around this issue, we will have to remove it explicitly before running CI. Adding Build-Conflicts is not enough: autopkgtest installs build-dependencies, but does not remove Build-Conflicts.

  • b3cbc258 Remove trailing whitespace

    As well as being a harmless and vaguely desirable change in its own right, this works around a bug in deb-build-snapshot, which doesn't always use the dist tarball that it just generated for the updated dpkg package.

Then I added two more commits in this branch:

  • Start a new changelog entry

    This lets us have versioned dependencies on older versions.

  • Put symbolic links to dependencies in their own package

    This avoids the need to Build-Conflict with the -helpers package, which we want to install in the SDK image.

    (This commit requires steamrt!41 (merged), to avoid the LD_LIBRARY_PATH Steam Runtime regressing.)

/cc @denittis @jpwhiting

Edited by Simon McVittie

Merge request reports