#! /bin/sh
# postinst script for initng-ifiles
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#

case "$1" in
      configure)
      #Generate runlevels
      /sbin/genrunlevel --migrate || /sbin/genrunlevel --all
      
      #ng-update is broken - fix the runlevel if "system" has been removed
      grep -q ^runlevel/system$ /etc/initng/default.runlevel || echo runlevel/system >> /etc/initng/default.runlevel
       
      #Not needed anymore
      ng-update d system/makedev >/dev/null 2>&1 || true
      
      # Check which system logger to use
      if test -x /sbin/klogd ; then
          ng-update add daemon/klogd >/dev/null 2>&1 || true
      elif test -x /sbin/syslog-ng ; then
          ng-update add daemon/syslog-ng > /dev/null 2>&1 || true
      elif test -x /usr/sbin/metalog ; then
          ng-update add daemon/metalog > /dev/null 2>&1 || true
      fi
      
      #We don't need coldplug since udev 0.070-3
      version_string=$(dpkg -s udev | egrep "^Version" | cut -c 10- )

      if dpkg --compare-versions $version_string ge 0.070-3; then
          ng-update d system/coldplug >/dev/null 2>&1 || true
      else
          ng-update a system/coldplug >/dev/null 2>&1 || true
      fi

      #Dont use the gentoo crap ;)
      ng-update a system/console-screen system >/dev/null 2>&1 || true
      ng-update d system/consolefont system/discover >/dev/null 2>&1 || true
      
      #We removed it, so we should add it again
      if [ -x /usr/sbin/hald ]; then
          ng-update a daemon/hald default >/dev/null 2>&1 || true
      fi

      #net/all will bring up all configured interfaces for us
      ng-update a net/all default >/dev/null 2>&1 || true
      ng-update d net/eth0 >/dev/null 2>&1 || true

      #mount usbfs
      ng-update a system/usb default >/dev/null 2>&1 || true

      #swapon can't be bad ;)
      ng-update a system/swap system >/dev/null 2>&1 || true

      #we only had trouble with usplash
      #ng-update d system/usplash default >/dev/null 2>&1 || true

      #We need this due to recent changes
      ng-update a system/modules/depmod system >/dev/null 2>&1 || true
      
      #people running dapper should remove it again...
      ng-update a system/ifupdown-debian system >/dev/null 2>&1 || true
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)

    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0



