#!/bin/sh
# executed just after debootstrap finishes

if [ -z "${distribution:-}" ] ; then
  echo "distribution is unset, please configure sudo to pass that variable from jenkins" >&2
  exit 1
fi
if [ -z "${architecture:-}" ] ; then
  echo "architecture is unset, please configure sudo to pass that variable from jenkins" >&2
  architecture="unknown"
fi
echo "Setting up pgdg-buildenv in chroot (distribution $distribution, architecture $architecture)"

set -eux

test -f /etc/debian_chroot || echo "base-$distribution-$architecture" > /etc/debian_chroot

deb="http://ftp.debian.org/debian"
mirror="http://apt.postgresql.org/pub/repos/apt/"
mirror_testing="http://atalia.postgresql.org/pub/repos/apt/"
case $(hostname) in
	pgdg*) # use local cache on build host
		deb="http://debian-approx:9999/debian"
		mirror="http://atalia-approx:9999/atalia"
		mirror_testing="$mirror"
		;;
esac

mkdir -p /etc/apt/sources.list.d
case $distribution in
  squeeze) echo "deb http://deb/debian-backports/ ${distribution}-backports main" \
    > /etc/apt/sources.list.d/backports.list
    PKGS="debhelper/${distribution}-backports"
    ;;
  wheezy) echo "deb $deb ${distribution}-backports main" \
    > /etc/apt/sources.list.d/backports.list ;;
  etch|lenny) echo "deb http://archive.debian.org/debian-backports/ ${distribution}-backports main" \
    > /etc/apt/sources.list.d/backports.list
    # pull in some backports
    # debhelper: just to make sure apt doesn't insist on the lenny version
    # libtest-simple-perl: the testsuite needs a newer Test::More version
    PKGS="debhelper/${distribution}-backports libtest-simple-perl/${distribution}-backports"
  ;;
  lucid)
    echo "deb http://de.archive.ubuntu.com/ubuntu/ ${distribution}-backports universe" \
      > /etc/apt/sources.list.d/backports.list
    echo "deb http://de.archive.ubuntu.com/ubuntu/ ${distribution}-updates main universe" \
      > /etc/apt/sources.list.d/updates.list ;;
esac

cat > /etc/apt/sources.list.d/pgdg.list <<-EOF
# do not edit, file maintained by G10pgdgbuildenv
deb $mirror $distribution-pgdg main
deb $mirror_testing $distribution-pgdg-testing main
EOF

cat > /etc/apt/preferences.d/pgdg.pref <<EOF
# do not edit, file maintained by pgdg-buildenv
Package: *
Pin: release o=apt.postgresql.org
Pin-Priority: 500
EOF

cat > /etc/apt/ACCC4CF8.asc <<EOK
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.14 (GNU/Linux)

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
VPZ67j5UMxqtT/Y4+NHcQGgwF/1i
=Iugu
-----END PGP PUBLIC KEY BLOCK-----
EOK
apt-key add /etc/apt/ACCC4CF8.asc
rm /etc/apt/ACCC4CF8.asc

mkdir -p /etc/postgresql-common/
cat >> /etc/postgresql-common/supported_versions <<EOF
# See /usr/share/postgresql-common/supported-versions for documentation of this file
pgdg
EOF

cat > /usr/sbin/policy-rc.d <<'EOF'
#!/bin/sh

while true; do
case $1 in
  -*) shift ;;
  makedev) exit 0;;
  x11-common) exit 0;;
  *)  exit 101;;
esac
done
EOF
chmod +x /usr/sbin/policy-rc.d

apt-get update
apt-get install -y -o DPkg::Options::=--force-confnew pgdg-buildenv ${PKGS:-}
