diff options
author | madduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464> | 2006-07-08 22:24:52 +0000 |
---|---|---|
committer | madduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464> | 2006-07-08 22:24:52 +0000 |
commit | 724cca90e642a6bfbdd212dbf9b838187b27267e (patch) | |
tree | b852ad629769e0c9738f7170eb9c861f4be25bec /debian/mdadm.postinst | |
parent | c1aba7fa922cc2762f4044efb5fb574981a71703 (diff) |
Load newtrunk into mdadm/trunk.
Diffstat (limited to 'debian/mdadm.postinst')
-rw-r--r-- | debian/mdadm.postinst | 137 |
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 |