Skip to content
  • Christian Hergert's avatar
    sandboxing: add subprocess abstraction · 883eb1f4
    Christian Hergert authored
    To support Building applications while running from inside the sandbox, we
    need to allow breaking out of the sandbox for such tooling. For example,
    we want to run the build tooling for flatpaks from the host system (since
    we wont have sufficient privileges inside the sandbox).
    
    This abstracts our use of GSubprocess so that we can have multiple
    implementations. Sadly, since GSubprocess is not an interface, we cannot
    simply create an alternate implementation.
    
    There are two implementations of the abstraction. IdeSimpleSubprocess is
    just a wrapper around GSubprocess (since our API is almost identical).
    Additionally, we have IdeHostProcess which is a process that runs within
    the host system, via the --allow=devel support in flatpak. Also required
    --talk-name=org.freedesktop.Flatpak.
    883eb1f4