#! /bin/sh
set -e

. /usr/share/proxmox-kernel-helper/scripts/functions

eval "$(apt-config shell APT_CONF_D Dir::Etc::parts/d)"
test -n "${APT_CONF_D}" || APT_CONF_D="/etc/apt/apt.conf.d"

config_file="${APT_CONF_D}/76pveconf"

generate_apt_config() {

	kernels="$(kernel_keep_versions "$@")"

	cat <<- EOF
	// DO NOT EDIT! File autogenerated by $0
	APT::NeverAutoRemove
	{
	EOF
	for kernel in $kernels; do
		escaped_kver="$(echo "$kernel" |  sed -e 's#\([\.\+]\)#\\\1#g')"
		echo "   \"^pve-kernel-${escaped_kver}$\";"
		echo "   \"^proxmox-kernel-${escaped_kver}$\";"
		echo "   \"^proxmox-kernel-${escaped_kver}-signed$\";"
	done
	echo '};'
	if [ "${APT_AUTO_REMOVAL_KERNELS_DEBUG:-false}" = 'true' ]; then
		cat <<-EOF
		/* Debug information:
		# dpkg list:
		$(dpkg -l | grep -F -e 'pve-kernel' -e 'proxmox-kernel' || true)
		# list of installed kernel packages:
		$kernels
		*/
		EOF
	fi
}

generate_apt_config "$@" > "${config_file}.dpkg-new"
mv -f "${config_file}.dpkg-new" "$config_file"
chmod 444 "$config_file"
