#!/bin/sh
# Prepare environment
mount -t proc proc /proc
mount -t sysfs sysfs /sys
cat > /usr/sbin/policy-rc.d << EOF
#!/bin/sh
exit 101
EOF
chmod +x /usr/sbin/policy-rc.d
export DEBIAN_FRONTEND=noninteractive

# Setup
apt-get update
apt-get dist-upgrade -y
apt-get install -y samba tdb-tools bind9

# First-boot script
(
cat << EOF
start on starting samba-ad-dc
task

script
    rm -f /etc/samba/smb.conf
    hostname $(cat /etc/hostname | sed "s/edubuntu-server-//")
    samba-tool domain provision --domain=$directory_workgroup \\
        --adminpass=EdubuntuServer1404 --realm=$directory_fqdn \\
        --use-ntvfs --dns-backend=BIND9_DLZ
    sed "s/^};$/    tkey-gssapi-keytab \"\/var\/lib\/samba\/private\/dns.keytab\";\n};/g" \
        -i /etc/bind/named.conf.options
    chgrp bind /var/lib/samba/private/dns.keytab
    chmod g+r /var/lib/samba/private/dns.keytab
    cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
    echo 'include "/var/lib/samba/private/named.conf";' >> \
            /etc/bind/named.conf.local

    hostname $(cat /etc/hostname)
    rm -f /etc/init/first-boot.conf

    /etc/init.d/bind9 restart || true
end script
EOF
) > /etc/init/first-boot.conf

# Cleanup
rm /usr/sbin/policy-rc.d
exit 0
