Skip to content
Snippets Groups Projects
  1. Feb 26, 2021
    • Simon McVittie's avatar
      pressure-vessel: Add experimental code path for Flatpak sub-sandboxing · 1e7e83c9
      Simon McVittie authored
      
      This is experimental and subject to change. It requires branches of
      Flatpak that have not yet been reviewed or merged, so it's guarded
      by (deliberately undocumented) environment variables by default.
      Only enable this if you are a pressure-vessel developer and know
      precisely what you're doing.
      
      This feature also requires a non-setuid bwrap executable, and a kernel
      that allows the non-setuid bwrap to create new user namespaces.
      Fedora, Ubuntu, Debian >= 11, and Arch Linux's default kernel are
      examples of systems that should be OK; Debian <= 10, SteamOS 2, and
      Arch Linux's linux-hardened are not.
      
      I'm landing this despite its experimental status because leaving it in
      a branch means we have to rebase it all the time, which just slows
      us down.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      1e7e83c9
    • Simon McVittie's avatar
      pv-wrap: Delay --dir, etc. until after FlatpakExports are processed · 3a8e939d
      Simon McVittie authored
      If the FlatpakExports has set these up to be symlinks, it's harmless
      to use --dir redundantly; but if we do these too soon, the
      FlatpakExports would be unable to create its symlinks and would fail.
      
      Resolves: https://github.com/ValveSoftware/steam-runtime/issues/368
      
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      3a8e939d
    • Simon McVittie's avatar
      474280b2
    • Simon McVittie's avatar
      pressure-vessel: Put apt-style severity prefixes on messages · dbf21961
      Simon McVittie authored
      
      These indicate which lines are harmless and which lines are really bad,
      without taking up too much space.
      
      The mapping from GLib log level to message is not 100% obvious, because
      G_LOG_LEVEL_ERROR is "worse than" an error. We diagnose "can't happen"
      situations (assertion failures, etc.) as "Internal error". Ideally,
      users should never see these: they indicate a bug.
      
      For situations that will cause pressure-vessel to exit with an error,
      introduce a new log level flag PV_LOG_LEVEL_FAILURE and map it to the
      apt-style "E:" prefix. pv_log_failure() is a convenience macro to log
      at level PV_LOG_LEVEL_FAILURE. Conceptually this is a fatal error, but
      it's a fatal error prompted by something external to pressure-vessel,
      for which we want pressure-vessel to clean up "nicely" and exit
      gracefully, even though it's going to fail - so we can't use g_error()
      for this.
      
      In the parts of main() that involve parsing command-line arguments,
      add usage_error() as syntactic sugar for pv_log_failure(). I might
      eventually turn these into G_OPTION_ERROR_FAILED as we factor out
      more of main() into helper functions, but for now they're handled
      separately.
      
      For less-severe log levels, use single-letter prefixes similar to apt's.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      dbf21961
  2. Feb 25, 2021
  3. Feb 24, 2021
  4. Feb 23, 2021
  5. Feb 22, 2021
  6. Jan 27, 2021
  7. Jan 18, 2021
  8. Jan 12, 2021
  9. Jan 11, 2021
  10. Jan 08, 2021
  11. Jan 05, 2021
Loading