#!/bin/sh
set -e

MYNAME="${0##*/}"

report() { echo "${MYNAME}: $*" ; }
report_warn() { report "Warning: $*" >&2 ; }
report_err() { report "Error: $*" >&2 ; }

if [ "$1" = configure ]; then
  addgroup --quiet --system netdev || true
fi

# Generic stuff done on all configurations
if [ "$1" = "configure" ] ; then
  # We don't need loopback interface definition anymore as
  # ifupdown handles loopback interface on its own from now
  if [ ! -f /etc/network/interfaces ] ; then
    if [ -z "$2" ]; then
      echo "Creating /etc/network/interfaces."
      echo "# interfaces(5) file used by ifup(8) and ifdown(8)" > /etc/network/interfaces
      echo "# Include files from /etc/network/interfaces.d:" >> /etc/network/interfaces
      echo "source-directory /etc/network/interfaces.d" >> /etc/network/interfaces
    else
      report_warn "/etc/network/interfaces does not exist"
    fi
  fi
fi

# Bring back missing /etc/rcS.d/networking symlink, to clean up after old broken upgrades
# update-rc.d disable creates a K?? symlink, keep it disabled in that case
# Drop after 16.04 LTS
if dpkg --compare-versions "$2" lt-nl "0.7.48.1ubuntu8" && ! test -L /etc/rcS.d/*networking; then
    echo "Re-enabling /etc/init.d/networking..."
    update-rc.d networking remove && update-rc.d networking defaults || true
fi

# Automatically added by dh_systemd_enable
# This will only remove masks created by d-s-h on package removal.
deb-systemd-helper unmask networking.service >/dev/null || true

# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled networking.service; then
	# Enables the unit on first installation, creates new
	# symlinks on upgrades if the unit file has changed.
	deb-systemd-helper enable networking.service >/dev/null || true
else
	# Update the statefile to add new symlinks (if any), which need to be
	# cleaned up on purge. Also remove old symlinks.
	deb-systemd-helper update-state networking.service >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_installinit
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
	if [ -x "/etc/init.d/networking" ]; then
		update-rc.d networking defaults >/dev/null || exit $?
	fi
fi
# End automatically added section
# Automatically added by dh_installudev
if [ "$1" = configure ]; then
	if [ -e "/etc/udev/rules.d/80_ifupdown.rules" ]; then
		echo "Preserving user changes to /etc/udev/rules.d/80-ifupdown.rules ..."
		if [ -e "/etc/udev/rules.d/80-ifupdown.rules" ]; then
			mv -f "/etc/udev/rules.d/80-ifupdown.rules" "/etc/udev/rules.d/80-ifupdown.rules.dpkg-new"
		fi
		mv -f "/etc/udev/rules.d/80_ifupdown.rules" "/etc/udev/rules.d/80-ifupdown.rules"
	fi
fi
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/default/ifupdown 0.7~+ ifupdown -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/init.d/ifupdown 0.7~+ ifupdown -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/init.d/ifupdown-clean 0.7~beta1 ifupdown -- "$@"
# End automatically added section

