#!/bin/bash

# create mysql user
getent group mysql >/dev/null 2>&1 ||
	addgroup --system mysql
getent passwd mysql >/dev/null 2>&1 ||
	adduser --system --home /nonexistent --no-create-home --disabled-password --shell /bin/false --ingroup mysql mysql

test -e /chroot/mysqld/run/mysqld || install -m 755 -o mysql -g root -d /chroot/mysqld/run/mysqld


INITSYS=`readlink -f /proc/1/exe`
if [ "$INITSYS" == "/lib/systemd/systemd" -o "$INITSYS" == "/usr/lib/systemd/systemd" ]; then

	# systemd

	[ -h /etc/systemd/system/multi-user.target.wants/mariadb-chroot.service ] && rm /etc/systemd/system/multi-user.target.wants/mariadb-chroot.service
	[ -h /etc/systemd/system/multi-user.target.wants/mysqld-chroot.service ] && rm /etc/systemd/system/multi-user.target.wants/mysqld-chroot.service
	[ -h /etc/systemd/system/multi-user.target.wants/mysql-chroot.service ] && rm /etc/systemd/system/multi-user.target.wants/mysql-chroot.service

	if [ -h /etc/systemd/system/mysqld-chroot.service ]; then
		sdst=`readlink /etc/systemd/system/mysqld-chroot.service`
		if [ "x${sdst}" != "x/lib/systemd/system/mariadb-chroot.service" ]; then
			rm /etc/systemd/system/mysqld-chroot.service
		fi
	fi

	if [ -h /etc/systemd/system/mysql-chroot.service ]; then
		sdst=`readlink /etc/systemd/system/mysql-chroot.service`
		if [ "x${sdst}" != "x/lib/systemd/system/mariadb-chroot.service" ]; then
			rm /etc/systemd/system/mysql-chroot.service
		fi
	fi

	systemctl daemon-reload

	if deb-systemd-helper --quiet was-enabled chr-mysqld.target; then
		deb-systemd-helper enable chr-mysqld.target >/dev/null || true
	else
		deb-systemd-helper update-state chr-mysqld.target >/dev/null || true
	fi

	systemctl enable mariadb-chroot.service
	if deb-systemd-helper --quiet was-enabled mariadb-chroot.service; then
		deb-systemd-helper enable mariadb-chroot.service >/dev/null || true
	else
		deb-systemd-helper update-state mariadb-chroot.service >/dev/null || true
	fi

	systemctl restart rsyslog

	if ! [ -e /chroot/mysqld/dev/log ]; then
		ln -s ../run/systemd/journal/dev-log /chroot/mysqld/dev/log
	fi

elif [ "$INITSYS" == "/sbin/init" ]; then

	### sysvinit

	if [ -x "/etc/init.d/mysql-chroot" ]; then
		update-rc.d mysql-chroot defaults >/dev/null
	fi

	if [ -x "/etc/init.d/mariadb-chroot" ]; then
		update-rc.d mariadb-chroot defaults >/dev/null
	fi

	if [ -x "/etc/init.d/rsyslog" ]; then
		/etc/init.d/rsyslog restart
	fi

else
	echo "No init system found, check manually"
fi

echo "Checking systemd socket placeholders"
/usr/lib/3gsystools/chr_placeholder_check /chroot/mysqld/run /systemd/notify file
/usr/lib/3gsystools/chr_placeholder_check /chroot/mysqld/run /systemd/journal/dev-log file

echo "Checking fstab"
/usr/local/sbin/fstab-chr

exit 0
