summaryrefslogtreecommitdiff
path: root/debian/mdadm.postinst
diff options
context:
space:
mode:
authormadduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464>2006-07-08 22:24:52 +0000
committermadduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464>2006-07-08 22:24:52 +0000
commit724cca90e642a6bfbdd212dbf9b838187b27267e (patch)
treeb852ad629769e0c9738f7170eb9c861f4be25bec /debian/mdadm.postinst
parentc1aba7fa922cc2762f4044efb5fb574981a71703 (diff)
Load newtrunk into mdadm/trunk.
Diffstat (limited to 'debian/mdadm.postinst')
-rw-r--r--debian/mdadm.postinst137
1 files changed, 137 insertions, 0 deletions
diff --git a/debian/mdadm.postinst b/debian/mdadm.postinst
new file mode 100644
index 00000000..3743bfc5
--- /dev/null
+++ b/debian/mdadm.postinst
@@ -0,0 +1,137 @@
+#!/bin/sh -eu
+# Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
+# Copyright © 2005-2006 Martin F. Krafft <madduck@debian.org>
+# Distributable under the terms of the GNU GPL version 2.
+
+if [ "${1:-}" = "configure" ]; then
+
+ set +u # debconf workaround. See #369953
+ . /usr/share/debconf/confmodule
+ set -u
+
+ if [ ! -f /proc/mdstat ] && [ -x $(command -v modprobe) ] ; then
+ modprobe -k md >/dev/null 2>&1 || :
+ fi
+ if [ ! -f /proc/mdstat ]; then
+ echo 'W: failed to load RAID subsystem.' >&2
+ fi
+
+ if [ ! -e /dev/md15 ] \
+ && [ ! -e /dev/.static/dev/md15 ] \
+ && [ ! -e /dev/.devfsd ]; then
+
+ echo -n 'Generating device nodes... ' >&2
+ cd /dev
+ if /sbin/MAKEDEV md >&2 >/dev/null; then
+ echo 'done.' >&2
+ else
+ echo 'failed.' >&2
+ fi
+ fi
+
+ DEBIANCONFIG=/etc/default/mdadm
+ CONFIG=/etc/mdadm/mdadm.conf
+ ALTCONFIG=/etc/mdadm.conf
+ MDADM=/sbin/mdadm
+
+ if [ -z "$2" ] && [ -s /etc/mdctl/mdctl.conf ] && [ ! -f /etc/mdadm/mdadm.conf ] ; then
+ cp -a /etc/mdctl/mdctl.conf /etc/mdadm/mdadm.conf
+ fi
+
+ if [ ! -f $CONFIG ] && [ ! -f $ALTCONFIG ]; then
+ echo -n 'Generating mdadm.conf... ' >&2
+ if /usr/share/mdadm/mkconf >$CONFIG 2>/dev/null; then
+ mkdir -p /var/lib/mdadm
+ md5sum $CONFIG > /var/lib/mdadm/mdadm.conf-generated
+ echo done. >&2
+ else
+ echo "failed (/proc probably not mounted)." >&2
+ rm -f $CONFIG
+ fi
+ fi
+
+ [ ! -f $CONFIG ] && CONFIG=$ALTCONFIG
+
+ db_get mdadm/initrdstart
+ INITRDSTART="${RET:-all}"
+ db_get mdadm/autostart
+ AUTOSTART="${RET:-true}"
+ db_get mdadm/autocheck
+ AUTOCHECK="${RET:-true}"
+ db_get mdadm/start_daemon
+ START_DAEMON="${RET:-true}"
+ db_get mdadm/mail_to
+ MAILADDR="${RET:-root}"
+
+ cat <<_eof > $DEBIANCONFIG
+# mdadm Debian configuration
+#
+# You can run 'dpkg-reconfigure mdadm' to modify the values in this file, if
+# you want. You can also edit things here and changes will be preserved.
+#
+
+# INITRDSTART:
+# list of devices (or 'all') to start automatically when the initial ramdisk
+# loads. This list *must* include the device of your root filesystem.
+INITRDSTART='$INITRDSTART'
+
+# AUTOSTART:
+# should mdadm start devices listed in /etc/mdadm/mdadm.conf automatically
+# during boot?
+AUTOSTART=$AUTOSTART
+
+# AUTOCHECK:
+# should mdadm run periodic parity checks over your arrays? See
+# /etc/cron.d/mdadm.
+AUTOCHECK=$AUTOCHECK
+
+# START_DAEMON:
+# should mdadm start the RAID monitoring daemon during boot?
+START_DAEMON=$START_DAEMON
+
+# MAIL_TO
+# this variable is now managed in /etc/mdadm/mdadm.conf (MAILADDR).
+# Please see mdadm.conf(5).
+
+# USE_DEPRECATED_MDRUN=
+# mdrun is deprecated. If you still want to use it without a warning, set
+# the following to true.
+#
+# NOTE: changes to this variable will not be preserved!
+#
+USE_DEPRECATED_MDRUN=false
+_eof
+
+ if grep -q '^MAILADDR' $CONFIG; then
+ sed -i -e "s,^MAILADDR.*,MAILADDR $MAILADDR," $CONFIG
+ else
+ echo "MAILADDR $MAILADDR" >> $CONFIG
+ fi
+
+ db_stop
+
+ command -v update-initramfs >/dev/null && update-initramfs -u
+fi
+
+# remove S04 installed as a fix to #294404 as it does not work
+# we only remove the startup links if the previous version was 1.9.0-2.1 (the
+# one with the erroneous fix) and the S04 link exists to make sure that
+# chances are minimised to overwrite admin changes (even though this would
+# not affect woody upgraders)
+if [ "${1:-}" = "configure" ] && [ "${2:-}" = "1.9.0-2.1" ] \
+ && test -L /etc/rcS.d/S04mdadm-raid;
+then
+ update-rc.d -f mdadm-raid remove
+fi
+
+#DEBHELPER#
+
+# do start mdadm-raid, but don't use dh_installinit to do so, to prevent
+# stopping raids on remove/upgrade.
+if [ -x /etc/init.d/mdadm-raid ]; then
+ if [ -x "$(command -v invoke-rc.d)" ]; then
+ invoke-rc.d mdadm-raid start || exit $?
+ else
+ /etc/init.d/mdadm-raid start || exit $?
+ fi
+fi