#!/bin/bash

rel=$(lsb_release -sc)
ver=$(lsb_release -sr | sed -r 's/^(..)\.(..).*/\1\2/')

if [ ! "$rel" -o "$(lsb_release -si)" != "Ubuntu" ]
then
	echo "Could not determine Ubuntu release (install lsb-release?)" >&2
	exit 1
fi

case $ver in
	1204)
		suites_infra="$rel"
		suites_apps=
		;;
	1404)
		suites_infra="$rel-security $rel-updates $rel-infra-security $rel-infra-updates"
		suites_apps=
		;;
	*)
		suites_infra="$rel-infra-security $rel-infra-updates"
		suites_apps="$rel-apps-security $rel-apps-updates"
		;;
esac

types=deb
if apt-cache showsrc apt &>/dev/null
then
	# 'Main' apt sources have deb-src lines defined, so include them here too
	types="$types deb-src"
fi

key_infra="-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=Dggn
-----END PGP PUBLIC KEY BLOCK-----"

key_apps="-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=+H1b
-----END PGP PUBLIC KEY BLOCK-----"

if [ $ver -lt 2204 ]
then
	mkdir -p /etc/apt/keyrings
	sb_infra=/etc/apt/keyrings/esm-infra.gpg
	sb_apps=/etc/apt/keyrings/esm-apps.gpg
	echo "$key_infra" | apt-key --keyring $sb_infra add -
	echo "$key_apps" | apt-key --keyring $sb_apps add -
else
	sb_infra=$'\n'"$(echo "$key_infra" | sed 's/^$/./;s/^/ /')"
	sb_apps=$'\n'"$(echo "$key_apps" | sed 's/^$/./;s/^/ /')"
	rm -vf /etc/apt/keyrings/esm-{infra,apps}.gpg
fi

cat >/etc/apt/sources.list.d/esm.sources <<EOF
Types: $types
URIs: https://esm.malc.org.uk/infra/ubuntu
Suites: $rel-infra-security $rel-infra-updates
Components: main
Signed-By: $sb_infra
EOF

[ "$suites_apps" ] && \
cat >>/etc/apt/sources.list.d/esm.sources <<EOF

Types: $types
URIs: https://esm.malc.org.uk/apps/ubuntu
Suites: $suites_apps
Components: main
Signed-By: $sb_apps
EOF

# Clean up after pre-deb822 versions of this script
rm -f /etc/apt/sources.list.d/esm.list /etc/apt/trusted.gpg.d/ubuntu-advantage-esm-infra-trusty.gpg /etc/apt/trusted.gpg.d/ubuntu-advantage-esm-apps.gpg

apt update

# Suppress a pointless warning from update-motd-updates-available
mkdir -p /var/lib/ubuntu-advantage/apt-esm/etc/apt/preferences.d /var/lib/ubuntu-advantage/apt-esm/etc/apt/apt.conf.d

[ -x /usr/lib/update-notifier/update-motd-updates-available ] && /usr/lib/update-notifier/update-motd-updates-available --force || true
