#!/bin/bash
set -euo pipefail

ntpdate_cleanup_rootfs() {
  local ROOT="${1:-/}"
  local CHROOT="chroot $ROOT"

  # mask + disable unit (can't start even if package is installed)
  if [ -x "${ROOT}/bin/systemctl" ] || [ -x "${ROOT}/usr/bin/systemctl" ]; then
    ${CHROOT} systemctl mask ntpdate.service || true
    ${CHROOT} systemctl disable ntpdate.service 2>/dev/null || true
    ${CHROOT} systemctl daemon-reload || true
  fi

  # delete symlink in WantedBy and helper markers
  if [ -d "${ROOT}/etc/systemd/system/sysinit.target.wants" ]; then
    rm -f -- "${ROOT}/etc/systemd/system/sysinit.target.wants/ntpdate.service"
  fi

  # delete all possible file : dsh-also and sysinit.target.wants/ntpdate.service
  if [ -d "${ROOT}/var/lib/systemd/deb-systemd-helper-enabled" ]; then
    rm -f -- "${ROOT}/var/lib/systemd/deb-systemd-helper-enabled/"*ntpdate.service*
  fi

  # delete conffiles
  for p in \
    "etc/network/if-up.d/ntpdate" \
    "etc/default/ntpdate"
  do
    if [ -L "${ROOT}/${p}" ] || [ -e "${ROOT}/${p}" ]; then
      rm -f -- "${ROOT}/${p}"
    fi
  done
}

# Hôte
ntpdate_cleanup_rootfs "/"

# Conteneurs LXC
if [ -d /var/lib/lxc ]; then
  for c in $(ls /var/lib/lxc 2>/dev/null); do
    lxc-attach "$c" -- /bin/bash -c "$(declare -f ntpdate_cleanup_rootfs); ntpdate_cleanup_rootfs /"
  done
fi
