#!/bin/sh
set -eu

export DEBIAN_FRONTEND=noninteractive
APT_LOCK_TIMEOUT_SECONDS="${PIXWORKER_APT_LOCK_TIMEOUT_SECONDS:-900}"
APT_LOCK_FILE="${PIXWORKER_APT_LOCK_FILE:-/run/pixworker-apt.lock}"

case "$APT_LOCK_TIMEOUT_SECONDS" in
  ''|*[!0-9]*)
    echo "PIXWORKER_APT_LOCK_TIMEOUT_SECONDS must be a positive integer." >&2
    exit 64
    ;;
esac

exec 9>"$APT_LOCK_FILE"
flock -w "$APT_LOCK_TIMEOUT_SECONDS" 9

apt-get \
  -o "DPkg::Lock::Timeout=${APT_LOCK_TIMEOUT_SECONDS}" \
  -o "Acquire::Retries=3" \
  update
