Skip to content
Snippets Groups Projects
  1. Oct 19, 2020
  2. Oct 06, 2020
  3. Oct 01, 2020
  4. Sep 30, 2020
  5. Sep 28, 2020
  6. Sep 25, 2020
  7. Sep 09, 2020
  8. Sep 08, 2020
  9. Sep 07, 2020
  10. Sep 04, 2020
  11. Sep 02, 2020
  12. Sep 01, 2020
    • Simon McVittie's avatar
      wrap: Don't populate environment of FlatpakBwrap that will be merged · 07f02a83
      Simon McVittie authored
      
      The default for a FlatpakBwrap object is to copy the calling
      environment as a base for the environment that it will build up.
      However, that's wrong if we are going to merge more than one
      FlatpakBwrap together: the merged FlatpakBwrap's argv will be appended
      to the destination FlatpakBwrap, but the merged envp will overwrite the
      corresponding variables in the destination.
      
      Avoid this by making sure that every time we merge two FlatpakBwrap
      objects, one of them has an empty environment.
      
      Resolves: T23422
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      07f02a83
  13. Aug 19, 2020
  14. Aug 18, 2020
    • Simon McVittie's avatar
      adverb, wrap: Implement --exit-with-parent · 0241a714
      Simon McVittie authored
      
      -wrap eventually replaces itself with bubblewrap. If the bubblewrap
      process is killed, we want the adverb command to be terminated, passing
      the termination signal on to its own child process.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      0241a714
    • Simon McVittie's avatar
      adverb, wrap: Add --terminate-timeout, --terminate-idle-timeout options · 18bdc4b9
      Simon McVittie authored
      
      This will let us have the following logic when sharing a container
      between multiple commands using -launcher and -launch:
      
      * For setup commands, don't wrap the launched command in the adverb.
        If the setup command starts background processes, they'll continue
        to run. This matches how installscript commands have historically
        worked for Windows (and Wine/Proton) games in Steam: the setup
        command is launched with system(), and can leak background
        processes like wineserver.
      
      * For the main game, wait for all processes to exit, by wrapping
        the launched command in the adverb, with --subreaper only. This
        matches how native Linux games, and the main command of
        Windows/Wine/Proton games, have historically worked in Steam.
      
      * When all processes belonging to the main game have exited,
        the -launcher can exit, at which point the subreaper that wraps it
        can clean up any background processes from the setup commands.
      
      --terminate-idle-timeout can be used to wait a few seconds before
      sending SIGTERM, if desired.
      
      Because the adverb now blocks SIGCHLD, we need to unblock it before
      running the child process; otherwise the child process will inherit
      the blocked signal, breaking things like g_spawn_async().
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      18bdc4b9
  15. Aug 11, 2020
  16. Jul 31, 2020
  17. Jul 29, 2020
  18. Jul 21, 2020
  19. Jul 02, 2020
    • Simon McVittie's avatar
      wrap: Import Steam compat tool data · a448ef4f
      Simon McVittie authored
      
      This is necessary for Steam "compat tools" such as Proton.
      
      STEAM_COMPAT_DATA_PATH points to data associated with the current
      (compat tool, game) pair, for example the ${WINEPREFIX}.
      
      STEAM_COMPAT_TOOL_PATH doesn't exist yet, but I'm assuming that it will
      be set by some later version of the Steam client to point to Proton
      itself.
      
      STEAM_COMPAT_CLIENT_INSTALL_PATH points to the Steam installation. This
      is hopefully in the home directory, so hopefully we bind-mount it anyway;
      but if we don't, we should.
      
      Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
      a448ef4f
Loading