#!/bin/bash
set -euo pipefail

DEB_SOURCE="$1"

# If given a URL, download it to temporary file; if given local file, use directly
if [[ "$DEB_SOURCE" =~ ^https?:// ]]; then
    FILE_NAME=$(basename "$DEB_SOURCE")
    TMP_FILE="/tmp/${FILE_NAME}"
    echo "Downloading ${DEB_SOURCE} to ${TMP_FILE}..."
    curl -sS -L -o "$TMP_FILE" "$DEB_SOURCE"
else
    TMP_FILE="$DEB_SOURCE"
fi

echo "Installing ${TMP_FILE}..."
dpkg --force-confold --force-confdef -i "$TMP_FILE"
if [[ "$DEB_SOURCE" =~ ^https?:// ]]; then
    rm -f "$TMP_FILE"
fi
echo "Update complete."
