# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description     "Chrome OS CUPS Proxy Daemon"
author          "chromium-os-dev@chromium.org"

# This daemon is started by D-Bus service activation configured in
# cups_proxy/dbus/org.chromium.CupsProxyDaemon.service.
start on starting vm_concierge
stop on stopped vm_concierge
expect fork

pre-start script
  # Create the runtime directory.
  mkdir -p /run/cups_proxy
  chown cups-proxy:cups-proxy /run/cups_proxy
end script

exec minijail0 -e -i -n -p -r -v -l --uts -c 0 \
  -S /usr/share/policy/cups_proxy-seccomp.policy \
  -u cups-proxy -g cups-proxy -- /usr/bin/cups_proxy

# Wait for daemon to claim its D-Bus name before transitioning to started.
post-start exec minijail0 -u cups-proxy -g cups-proxy /usr/bin/gdbus \
    wait --system --timeout 15 org.chromium.CupsProxyDaemon
