| # 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 "Activate firmware update on devices using fwupdtool" |
| author "chromium-os-dev@chromium.org" |
| |
| # Use 'start on stopping' and 'task' to hold up restarting the session |
| # manager until we're done. Job duration is expected to be O(ms) and |
| # it is used to signal devices to apply any pending updates already |
| # installed. |
| start on stopping ui |
| task |
| |
| pre-start script |
| mkdir -p /var/cache/fwupd /var/lib/fwupd |
| chown -R fwupd:fwupd /var/cache/fwupd /var/lib/fwupd |
| end script |
| |
| script |
| if [ -f /var/lib/fwupd/pending.db ]; then |
| exec minijail0 \ |
| --uts -e -l -p -N \ |
| -v -P /mnt/empty -b / -b /proc -r -t -b /dev,,1 -k run,/run,tmpfs \ |
| -k /var,/var,tmpfs -b /var/cache/fwupd,,1 -b /var/lib/fwupd,,1 \ |
| -b /sys,,1 -u fwupd -g fwupd --add-suppl-group usb \ |
| -- /usr/bin/fwupdtool activate 2>&1 | logger -t "${UPSTART_JOB}" |
| fi |
| end script |