#!/bin/sh

#DEBHELPER#

# Source debconf library.
. /usr/share/debconf/confmodule

# Configuration
HOSTNAME="`hostname`"
ROOT=/var/gopher
PACKAGE=gophernicus
LOGDIR=/var/log/$PACKAGE
LIBDIR=/usr/lib/$PACKAGE
BINARY=in.gophernicus
DEFAULT=/etc/default/$PACKAGE
USER=nobody

# Get hostname from debconf
db_get gophernicus/fqdn
if [ "$RET" ]; then
	HOSTNAME="`echo $RET | tr -cd 'A-Za-z0-9.-'`"
fi

# Configure gophernicus
if [ "$1" = "configure" ]; then
	if [ ! -f "$ROOT/gophermap" ]; then
		cp $LIBDIR/gophermap $ROOT/
	fi

	chown $USER.adm $LOGDIR
	chmod 0750 $LOGDIR

	sed -i -e "s|-h [^ ]* |-h $HOSTNAME |" $DEFAULT
	sed -i -e "s|__PACKAGE__|$PACKAGE|g" $DEFAULT
	sed -i -e "s|__LOGDIR__|$LOGDIR|g" $DEFAULT

	if [ -x /usr/bin/deb-systemd-helper -a -d /run/systemd/system ]; then
		/usr/bin/deb-systemd-helper enable gophernicus.socket
		/usr/bin/deb-systemd-invoke start gophernicus.socket
	else
		if [ -f /etc/inetd.conf -a -x /usr/sbin/update-inetd ]; then
			/usr/sbin/update-inetd --add "gopher\t\tstream\ttcp\tnowait\t$USER\t/usr/sbin/$BINARY\t$BINARY -h $HOSTNAME -l $LOGDIR/server.log -f /usr/lib/$PACKAGE/filters"
		fi
	fi
fi