Skip to content
Snippets Groups Projects
  1. Apr 06, 2020
  2. Mar 31, 2020
  3. Mar 26, 2020
  4. Mar 17, 2020
  5. Mar 12, 2020
  6. Mar 06, 2020
  7. Mar 05, 2020
  8. Mar 04, 2020
  9. Feb 27, 2020
  10. Jan 10, 2020
  11. Jan 09, 2020
  12. Jan 08, 2020
  13. Dec 09, 2019
  14. Dec 05, 2019
  15. Nov 20, 2019
  16. 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
  17. 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
  18. Nov 12, 2019
  19. Nov 11, 2019
  20. Nov 08, 2019
    • Simon McVittie's avatar
      Build -system-info and -check-locale with relative DT_RPATH · 91478a07
      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.
      
      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>
      91478a07
    • Simon McVittie's avatar
      ci: Sort dependencies · 819278a8
      Simon McVittie authored
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      819278a8
  21. Nov 05, 2019
    • Simon McVittie's avatar
      build: Take multiarch tuple from Debian packaging · 05967a1c
      Simon McVittie authored
      
      This allows steam-runtime-tools to be built as a Debian package with
      nearly full functionality for as-yet-unsupported architectures, such as
      the ARM family.
      
      Builds using the upstream build system won't be fully functional without
      something like -Dmultiarch_tuple=arm-linux-gnueabi (so maybe don't use
      a Raspberry Pi as your primary development machine yet), and there is no
      well-known constant SRT_ABI_xxx for non-x86 architectures.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      05967a1c
Loading