Skip to content
Snippets Groups Projects
  1. Dec 05, 2019
    • Simon McVittie's avatar
      Start a new changelog entry · 67492336
      Simon McVittie authored
      
      This lets us have versioned dependencies on older versions.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      67492336
    • Simon McVittie's avatar
      Remove trailing whitespace · b3cbc258
      Simon McVittie authored
      
      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.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      b3cbc258
    • Simon McVittie's avatar
      Add Build-Conflicts on libsteam-runtime-tools-0-helpers · ea250de4
      Simon McVittie authored
      
      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.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      ea250de4
  2. Nov 20, 2019
  3. Nov 19, 2019
  4. Nov 18, 2019
  5. Nov 15, 2019
    • Simon McVittie's avatar
      Build -system-info and -check-locale with relative DT_RPATH · c3a06cce
      Simon McVittie authored
      
      This ensures that they can find the non-ubiquitous json-glib library,
      and the steam-runtime-tools library, even if relocated into a
      non-standard prefix like the LD_LIBRARY_PATH Steam Runtime.
      
      We can't just use a relative version of the standard library directory
      as our RPATH, because if we did that, we would load glibc from the
      same place. This causes crashes in pressure-vessel, where ld.so and
      the rest of glibc are often taken from the host system via
      /overrides/lib, and the glibc in /lib and /usr/lib is incompatible
      with ld.so. Instead, use a private library directory and populate it
      with relative symlinks to our non-glibc dependencies; we assume the
      host version of glibc is new enough that this is OK.
      
      Using DT_RPATH in preference to DT_RUNPATH means we take all our direct
      and indirect dependencies from the same place. This is important when
      libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in
      GIO as an indirect dependency of check-locale, which doesn't directly
      depend on GIO. The GIO library we get must match the versions of GLib
      and GObject we're using.
      
      This also bypasses LD_LIBRARY_PATH.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      c3a06cce
  6. Nov 13, 2019
    • Simon McVittie's avatar
      Revert "Build -system-info and -check-locale with relative DT_RPATH" · a32d9290
      Simon McVittie authored
      
      This made them usable from outside the LD_LIBRARY_PATH runtime, but breaks
      their use inside a pressure-vessel container. In pressure-vessel, the
      glibc family of libraries are typically taken from outside the container
      (for example /overrides/lib/x86_64-linux-gnu/libc.so.6), and the dynamic
      linker ld.so is replaced with one that is suitable for the libraries
      in /overrides. In general, these versions will be incompatible with the
      ones in /usr/lib/x86_64-linux-gnu, which unfortunately are the ones that
      get pulled in via the DT_RPATH.
      
      This reverts commit 91478a07.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      a32d9290
  7. Nov 12, 2019
  8. Nov 11, 2019
  9. Nov 08, 2019
Loading