diff -pruN 3.2.3-2/Assemble.c 3.2.3-2ubuntu1/Assemble.c
--- 3.2.3-2/Assemble.c	2011-12-22 23:49:07.000000000 +0000
+++ 3.2.3-2ubuntu1/Assemble.c	2012-02-10 03:48:25.000000000 +0000
@@ -24,6 +24,7 @@
 
 #include	"mdadm.h"
 #include	<ctype.h>
+#include	<assert.h>
 
 static int name_matches(char *found, char *required, char *homehost)
 {
diff -pruN 3.2.3-2/check.d/_numbers 3.2.3-2ubuntu1/check.d/_numbers
--- 3.2.3-2/check.d/_numbers	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/check.d/_numbers	2012-02-10 03:48:25.000000000 +0000
@@ -0,0 +1 @@
+07 root_on_raid
diff -pruN 3.2.3-2/check.d/root_on_raid 3.2.3-2ubuntu1/check.d/root_on_raid
--- 3.2.3-2/check.d/root_on_raid	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/check.d/root_on_raid	2012-02-10 03:48:25.000000000 +0000
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+. /lib/preseed/preseed.sh
+. /lib/partman/lib/base.sh
+
+# Prompt for BOOT_DEGRADED=true|false if / or /boot is on a /dev/md*
+root_on_raid () {
+	prompt=$(
+		for i in /lib/partman/fstab.d/*; do
+			[ -x "$i" ] || continue
+			$i
+		done |
+		while read fs mp type options dump pass; do
+			if mdadm --detail "$fs" 2>/dev/null | grep -qsi " raid1$"; then
+				if [ "$mp" = "/" ] || [ "$mp" = "/boot" ]; then
+					echo "true"
+				fi
+			fi
+		done
+	)
+	prompt="$(echo "$prompt" | head -n1)"
+	case $prompt in
+		true)
+			db_input critical mdadm/boot_degraded || true
+			db_go || true
+			db_get mdadm/boot_degraded
+			# write to preseed log so that /target knows about it
+			echo mdadm mdadm/boot_degraded boolean "$RET" >> "$logfile"
+
+		  ;;
+	esac
+	exit 0
+}
+
+root_on_raid
diff -pruN 3.2.3-2/config.c 3.2.3-2ubuntu1/config.c
--- 3.2.3-2/config.c	2011-12-15 04:13:08.000000000 +0000
+++ 3.2.3-2ubuntu1/config.c	2012-02-10 03:48:25.000000000 +0000
@@ -30,6 +30,7 @@
 #include	<ctype.h>
 #include	<pwd.h>
 #include	<grp.h>
+#include	<assert.h>
 
 /*
  * Read the config file
diff -pruN 3.2.3-2/debian/changelog 3.2.3-2ubuntu1/debian/changelog
--- 3.2.3-2/debian/changelog	2012-01-18 18:33:55.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/changelog	2012-02-10 00:53:23.000000000 +0000
@@ -1,3 +1,49 @@
+mdadm (3.2.3-2ubuntu1) precise; urgency=low
+
+  * Merge from Debian testing. (LP: #920324)  Remaining changes:
+    - Call checks in local-premount to avoid race condition with udev
+      and opening a degraded array.
+    - d/initramfs/mdadm-functions: Record in /run when boot-degraded 
+      question has been asked so that it is only asked once
+    - pass --test to mdadm to enable result codes for degraded arrays. 
+    - Build udeb with -O2 on ppc64, working around a link error.
+    - debian/control: we need udev and util-linux in the right version. We
+      also remove the build dependency from quilt and docbook-to-man as both
+      are not used in Ubuntus mdadm.
+    - debian/initramfs/hook: kept the Ubuntus version for handling the absence
+      of active raid arrays in <initramfs>/etc/mdadm/mdadm.conf
+    - debian/initramfs/script.local-top.DEBIAN, debian/mdadm-startall,
+      debian/mdadm.raid.DEBIAN: removed. udev does its job now instead.
+    - debian/mdadm-startall.sgml, debian/mdadm-startall.8: documentation of
+      unused startall script
+    - debian/mdadm.config, debian/mdadm.postinst - let udev do the handling
+      instead. Resolved merge conflict by keeping Ubuntu's version.
+    - debian/mdadm.postinst, debian/mdadm.config, initramfs/init-premount:
+      boot-degraded enablement; maintain udev starting of RAID devices;
+      init-premount hook script for the initramfs, to provide information at
+      boot
+    - debian/mkconf.in is the older mkconf. Kept the Ubuntu version.
+    - debian/rules: Kept Ubuntus version for installing apport hooks, not
+      installing un-used startall script and for adding a udev rule
+      corresponding to mdadm.
+    - debian/install-rc, check.d/_numbers, check.d/root_on_raid: Ubuntu partman
+      installer changes
+    - debian/presubj: Dropped this unused bug reporting file. Instead use
+      source_mdadm.py act as an apport hook for bug handling.
+    - rename debian/mdadm.vol_id.udev to debian/mdadm.mdadm-blkid.udev so that
+      the rules file ends up with a more reasonable name
+    - d/p/debian-changes-3.1.4-1+8efb9d1ubuntu4: mdadm udev rule
+      incrementally adds mdadm member when detected. Starting such an
+      array in degraded mode is possible by mdadm -IRs. Using mdadm
+      -ARs without stopping the array first does nothing when no
+      mdarray-unassociated device is available. Using mdadm -IRs to
+      start a previously partially assembled array through incremental
+      mode. Keeping the mdadm -ARs for assembling arrays which were for
+      some reason not assembled through incremental mode (i.e through
+      mdadm's udev rule).
+
+ -- Clint Byrum <clint@ubuntu.com>  Thu, 09 Feb 2012 16:53:02 -0800
+
 mdadm (3.2.3-2) unstable; urgency=low
 
   [ Michael Tokarev ]
@@ -23,6 +69,62 @@ mdadm (3.2.3-2) unstable; urgency=low
 
  -- Michael Tokarev <mjt@tls.msk.ru>  Wed, 18 Jan 2012 22:33:01 +0400
 
+mdadm (3.2.2-1ubuntu1) precise; urgency=low
+
+  * Merge from debian unstable.  Remaining changes:
+    - Call checks in local-premount to avoid race condition with udev
+      and opening a degraded array.
+    - d/initramfs/mdadm-functions: Record in /run when boot-degraded 
+      question has been asked so that it is only asked once
+    - pass --test to mdadm to enable result codes for degraded arrays. 
+    - Build udeb with -O2 on ppc64, working around a link error.
+    - debian/control: we need udev and util-linux in the right version. We
+      also remove the build dependency from quilt and docbook-to-man as both
+      are not used in Ubuntus mdadm.
+    - debian/initramfs/hook: kept the Ubuntus version for handling the absence
+      of active raid arrays in <initramfs>/etc/mdadm/mdadm.conf
+    - debian/initramfs/script.local-top.DEBIAN, debian/mdadm-startall,
+      debian/mdadm.raid.DEBIAN: removed. udev does its job now instead.
+    - debian/mdadm-startall.sgml, debian/mdadm-startall.8: documentation of
+      unused startall script
+    - debian/mdadm.config, debian/mdadm.postinst - let udev do the handling
+      instead. Resolved merge conflict by keeping Ubuntu's version.
+    - debian/mdadm.postinst, debian/mdadm.config, initramfs/init-premount:
+      boot-degraded enablement; maintain udev starting of RAID devices;
+      init-premount hook script for the initramfs, to provide information at
+      boot
+    - debian/mkconf.in is the older mkconf. Kept the Ubuntu version.
+    - debian/rules: Kept Ubuntus version for installing apport hooks, not
+      installing un-used startall script and for adding a udev rule
+      corresponding to mdadm.
+    - debian/install-rc, check.d/_numbers, check.d/root_on_raid: Ubuntu partman
+      installer changes
+    - debian/presubj: Dropped this unused bug reporting file. Instead use
+      source_mdadm.py act as an apport hook for bug handling.
+    - rename debian/mdadm.vol_id.udev to debian/mdadm.mdadm-blkid.udev so that
+      the rules file ends up with a more reasonable name
+    - d/p/debian-changes-3.1.4-1+8efb9d1ubuntu4: mdadm udev rule
+      incrementally adds mdadm member when detected. Starting such an
+      array in degraded mode is possible by mdadm -IRs. Using mdadm
+      -ARs without stopping the array first does nothing when no
+      mdarray-unassociated device is available. Using mdadm -IRs to
+      start a previously partially assembled array through incremental
+      mode. Keeping the mdadm -ARs for assembling arrays which were for
+      some reason not assembled through incremental mode (i.e through
+      mdadm's udev rule).
+  * Disabling -fno-strict-aliasing as according to debian bug 375876 it
+    has been unnecessary since mdadm 2.5.2
+  * Dropped changes:
+    - applied upstream
+    - d/rules: fix FTBFS by adding -Wno-unused-but-set-variable to
+      compiler flags until upstream solves the issue. (fixed upstream)
+    - d/control: add dependency on initscripts >= 2.88dsf-13.3 to ensure
+      /run exists per http://wiki.debian.org/ReleaseGoals/RunDirectory
+      (change also done in debian)
+  * d/rules: add 'man' to build mdadm.8
+
+ -- Clint Byrum <clint@ubuntu.com>  Fri, 16 Dec 2011 11:06:12 -0800
+
 mdadm (3.2.2-1) unstable; urgency=low
 
   [ martin f. krafft ]
@@ -69,6 +171,93 @@ mdadm (3.2.2-1) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Mon, 01 Aug 2011 10:41:41 +0200
 
+mdadm (3.1.4-1+8efb9d1ubuntu6) oneiric; urgency=low
+
+  * d/initramfs/mdadm-functions: Record in /run when boot-degraded 
+    question has been asked so that it is only asked once (LP: #820111)
+  * d/control: add dependency on initscripts >= 2.88dsf-13.3 to ensure
+    /run exists per http://wiki.debian.org/ReleaseGoals/RunDirectory
+  * d/rules: fix FTBFS by adding -Wno-unused-but-set-variable to
+    compiler flags until upstream solves the issue. (LP: #829463)
+
+ -- Clint Byrum <clint@ubuntu.com>  Wed, 24 Aug 2011 08:40:12 -0700
+
+mdadm (3.1.4-1+8efb9d1ubuntu5) oneiric; urgency=low
+
+  * Call checks in local-premount to avoid race condition with udev
+    and opening a degraded array. (LP: #778520)
+
+ -- Clint Byrum <clint@ubuntu.com>  Tue, 24 May 2011 13:05:01 -0700
+
+mdadm (3.1.4-1+8efb9d1ubuntu4.1) natty-proposed; urgency=low
+
+  * pass --test to mdadm to enable result codes for degraded arrays. 
+    (LP: #761971)
+
+ -- Clint Byrum <clint@ubuntu.com>  Wed, 27 Apr 2011 15:05:14 -0700
+
+mdadm (3.1.4-1+8efb9d1ubuntu4) natty; urgency=low
+
+  * mdadm udev rule incrementally adds mdadm member when detected. Starting
+    such an array in degraded mode is possible by mdadm -IRs. Using mdadm -ARs
+    without stopping the array first does nothing when no mdarray-unassociated
+    device is available. Using mdadm -IRs to start a previously partially
+    assembled array through incremental mode. Keeping the mdadm -ARs for
+    assembling arrays which were for some reason not assembled through
+    incremental mode (i.e through mdadm's udev rule). (LP: #728435)
+
+ -- Surbhi Palande <surbhi.palande@canonical.com>  Wed, 23 Mar 2011 18:28:55 +0200
+
+mdadm (3.1.4-1+8efb9d1ubuntu3) natty; urgency=low
+
+  * Build udeb with -O2 on ppc64, working around a link error.
+
+ -- Matthias Klose <doko@ubuntu.com>  Sun, 20 Feb 2011 19:17:41 +0100
+
+mdadm (3.1.4-1+8efb9d1ubuntu2) natty; urgency=low
+
+  * debian/mdadm.manpages: add manpages back to build (LP: #697821).
+
+ -- Kees Cook <kees@ubuntu.com>  Wed, 05 Jan 2011 11:34:25 -0800
+
+mdadm (3.1.4-1+8efb9d1ubuntu1) natty; urgency=low
+
+  * Merge from debian unstable. (LP: #603582) 
+  * Remaining changes
+    - Assemble.c, config.c: upgraded to the mdadm-3.1.4 version of these files
+      from Debian.
+    - debian/control: we need udev and util-linux in the right version. We
+      also remove the build dependency from quilt and docbook-to-man as both
+      are not used in Ubuntus mdadm.
+    - debian/initramfs/hook: kept the Ubuntus version for handling the absence
+      of active raid arrays in <initramfs>/etc/mdadm/mdadm.conf
+    - debian/initramfs/script.local-top.DEBIAN, debian/mdadm-startall,
+      debian/mdadm.raid.DEBIAN: removed. udev does its job now instead.
+    - debian/mdadm-startall.sgml, debian/mdadm-startall.8: documentation of
+      unused startall script
+    - debian/mdadm.config, debian/mdadm.postinst - let udev do the handling
+      instead. Resolved merge conflict by keeping Ubuntu's version.
+    - debian/rules: kept debian's switch to using dh_lintian
+    - debian/mdadm.links, debian/mdadm.manpages: dropped owing to the fact
+      that these are not used in Ubuntu. Also dropped the build-dep on docbook
+      to man)
+    - debian/mdadm.postinst, debian/mdadm.config, initramfs/init-premount:
+      boot-degraded enablement; maintain udev starting of RAID devices;
+      init-premount hook script for the initramfs, to provide information at
+      boot
+    - debian/mkconf.in is the older mkconf. Kept the Ubuntus version.
+    - debian/rules: Kept Ubuntus version for installing apport hooks, not
+      installing un-used startall script and for adding a udev rule
+      corresponding to mdadm.
+    - debian/install-rc, check.d/_numbers, check.d/root_on_raid: Ubuntu partman
+      installer changes
+    - debian/presubj: Dropped this unused bug reporting file. Instead use
+      source_mdadm.py act as an apport hook for bug handling.
+    - rename debian/mdadm.vol_id.udev to debian/mdadm.mdadm-blkid.udev so that
+      the rules file ends up with a more reasonable name
+
+ -- Surbhi Palande <surbhi.palande@canonical.com>  Thu, 30 Sep 2010 17:46:19 +0100
+
 mdadm (3.1.4-1+8efb9d1) unstable; urgency=low
 
   * Added patch with Makefile fix from upstream (commit 8efb9d1) to fix
@@ -315,6 +504,168 @@ mdadm (2.6.7.2-1) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Tue, 03 Feb 2009 21:28:34 +0100
 
+mdadm (2.6.7.1-1ubuntu16) maverick; urgency=low
+
+  * debian/initramfs/hook: Added following code (invoked on update-initramfs)
+    (LP: #617725):
+    - create a mdadm.conf if it is not found in /etc and copy it in initramfs
+    - update an existing mdadm.conf in the initramfs if it does'nt include
+      a definition of any array
+    - warn the user if the definition of an active array is not found in the
+      initramfs/etc/mdadm.conf
+
+ -- Surbhi Palande <surbhi.palande@canonical.com>  Mon, 13 Sep 2010 18:59:03 +0300
+
+mdadm (2.6.7.1-1ubuntu15) lucid; urgency=low
+
+  * Rename debian/mdadm.vol_id.udev to debian/mdadm.mdadm-blkid.udev so that
+    the rules file ends up with a more reasonable name following changes in
+    debhelper 7.4.2, and adjust the initramfs hook to match (LP: #493772).
+  * Build-depend on debhelper 7.4.2.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Sat, 12 Dec 2009 14:36:53 +0000
+
+mdadm (2.6.7.1-1ubuntu14) lucid; urgency=low
+
+  * Fix boot_degraded handling during installation (LP: #462258):
+    - Source /lib/preseed/preseed.sh in check.d/root_on_raid.
+    - Change mdadm/boot_degraded default in templates file to match the
+      apparently-intended behaviour (i.e. false), and stop overriding
+      debconf preseeding if BOOT_DEGRADED is not already set in the
+      initramfs configuration file.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Sun, 15 Nov 2009 17:53:53 -0600
+
+mdadm (2.6.7.1-1ubuntu13) karmic; urgency=low
+
+  * Do not test array state for partitions, which won't exist if the
+    array is inactive and don't have a state to test.  LP: #431064.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Sun, 27 Sep 2009 14:39:39 -0700
+
+mdadm (2.6.7.1-1ubuntu12) karmic; urgency=low
+
+  * check.d/root_on_raid: Make sure to always read all the output from
+    fstab.d scripts; this may help to clear up occasional partman hangs.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Wed, 26 Aug 2009 10:48:42 +0100
+
+mdadm (2.6.7.1-1ubuntu11) karmic; urgency=low
+
+  * check.d/root_on_raid: Fix spelling of "grep", and discard stderr from
+    mdadm rather than from grep.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Tue, 07 Jul 2009 17:14:27 +0100
+
+mdadm (2.6.7.1-1ubuntu10) karmic; urgency=low
+
+  * debian/rules: Disable warnings/errors about type-punned pointers
+    breaking strict-aliasing rules - to fix the FTBFS
+
+ -- Scott James Remnant <scott@ubuntu.com>  Tue, 12 May 2009 11:28:37 +0100
+
+mdadm (2.6.7.1-1ubuntu9) karmic; urgency=low
+
+  * debian/mdadm.vol_id.udev: Use blkid instead of vol_id
+  * debian/control: Add dependency on appropriate version of util-linux
+
+ -- Scott James Remnant <scott@ubuntu.com>  Tue, 12 May 2009 10:14:00 +0100
+
+mdadm (2.6.7.1-1ubuntu8) jaunty; urgency=low
+
+  Fix for LP: #316670
+  * Incremental.c: cherry-pick upstream patch, "Fix NULL pointer oops"
+    http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=43aaf431f66270080368d4b33378bd3dc0fa1c96
+
+  Fix for LP: #349971 (Thanks, Steve Beattie!)
+  * debian/source_mdadm.py: apport hooks for improved bug reporting
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Fri, 27 Mar 2009 18:52:51 -0500
+
+mdadm (2.6.7.1-1ubuntu7) jaunty; urgency=low
+
+  * Update udev rules from those shipped in the udev package.
+  * Watch md devices for changes with inotify.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Fri, 20 Feb 2009 13:48:35 +0000
+
+mdadm (2.6.7.1-1ubuntu6) jaunty; urgency=low
+
+  * Spelling fix for --build --help, patch thanks to Bryce Harrington
+    (Fixes LP: #314991) 
+
+ -- Joseph Smidt <josephsmidt@gmail.com>  Wed, 21 Jan 2009 23:08:53 -0800
+
+mdadm (2.6.7.1-1ubuntu5) jaunty; urgency=low
+
+  * Depend on postfix | mail-transport-agent, to ensure we get the
+    correct default MTA for Ubuntu.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Thu, 15 Jan 2009 10:27:41 +0000
+
+mdadm (2.6.7.1-1ubuntu4) jaunty; urgency=low
+
+  * Bump build-dependency on debhelper to make sure we get the right one.
+  * Bump dependency on udev as well.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Fri, 09 Jan 2009 14:16:23 +0000
+
+mdadm (2.6.7.1-1ubuntu3) jaunty; urgency=low
+
+  * Update udev rules.d path to /lib/udev/rules.d, (LP #314879) and add
+    versioned dependency on udev accordingly.
+  * Add versioned breaks on udev to make sure we do the upgrade
+    in the correct order.
+
+ -- Soren Hansen <soren@ubuntu.com>  Fri, 09 Jan 2009 13:46:11 +0100
+
+mdadm (2.6.7.1-1ubuntu2) jaunty; urgency=low
+
+  * Switch to using incremental assembly, dropping requirement for
+    watershed.  Some kittens may be harmed as part of this upload, please
+    report any felicide.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Mon, 05 Jan 2009 16:56:54 +0000
+
+mdadm (2.6.7.1-1ubuntu1) jaunty; urgency=low
+
+  * This merge should solve the critical bug: LP: #282492.
+  * Merge from debian unstable, remaining changes:
+   * config.c, Assemble.c: retrieve the returned value from asprintf,
+     and assert; should prevent mdadm from segfaulting if there is not enough
+     memory available; Debian Bug #509167.
+   * debian/README.initramfs-transition, debian/README.upgrading-2.5.3,
+     debian/README.Debian: drop Debian-specific documentation.
+   * debian/mkconf: initialize variable.
+   * debian/mdadm-startall, debian/mdadm-startall.8, debian/mdadm.links,
+     debian/mdadm.manpages, debian/mdadm-startall.sgm: dropped, not used
+     in Ubuntu (thus dropping the build-dep on docbook-to-man).
+   * debian/mdadm.preinst, debian/mdadm.udev: udev enablement, remove the
+     Debian init script.
+   * debian/mdadm.templates, debian/mdadm-udeb.templates: Ubuntu puts the
+     debconf template questions in the udeb.
+   * debian/mdadm.postrm: drop warnings in the initramfs update.
+   * debian/mdadm.postinst, debian/mdadm.config, initramfs/init-premount:
+     boot-degraded enablement; maintain udev starting of RAID devices;
+     init-premount hook script for the initramfs, to provide information
+     at boot.
+   * debian/mdadm-udeb.dirs: udeb packaging for installer.
+   * debian/mdadm.dirs: install init-premount script.
+   * debian/control: maintainer updates, no need for docbook since we dropped
+     the manpages that needed it, we need specific udev and initramfs-tools
+     versions that don't ship 'mdrun'.
+   * debian/mdadm-raid: drop, since we have a udev rule that automatically
+     runs "mdadm --assemble --scan --no-degraded", activating any non-degraded
+     device as their components are detected.
+   * debian/rules: account for the various installation differences of the
+     documentation, udev rules, the udeb, initramfs premount script, udeb
+     templates and translation thereof.
+   * debian/initramfs/hook: massively simplified by udev.
+   * debian/install-rc, check.d/_numbers, check.d/root_on_raid: Ubuntu partman
+     installer changes.
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Thu, 18 Dec 2008 20:56:05 -0600
+
 mdadm (2.6.7.1-1) unstable; urgency=low
 
   * New upstream release, specifically created for Debian lenny to fix the RC
@@ -347,6 +698,107 @@ mdadm (2.6.7-3.1) unstable; urgency=low
 
  -- Jérémy Bobbio <lunar@debian.org>  Mon, 25 Aug 2008 22:28:53 +0200
 
+mdadm (2.6.7-3ubuntu8) intrepid; urgency=low
+
+  * check.d/root_on_raid: ensure that the target is a raid1 (LP: #287112)
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Tue, 21 Oct 2008 13:07:02 -0500
+
+mdadm (2.6.7-3ubuntu7) intrepid; urgency=low
+
+  * check.d/root_on_raid: add a missing 'break' in the loop checking for
+    root-or-boot on RAID; was preventing the debconf question from being
+    presented in some cases
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Thu, 09 Oct 2008 15:33:08 -0500
+
+mdadm (2.6.7-3ubuntu6) intrepid; urgency=low
+
+  * check.d/root_on_raid: do not write to stdout, breaks debconf
+    (LP: #277153)
+  * debian/mdadm.config: default BOOT_DEGRADED to false, if unset (legacy
+    Ubuntu behavior), (LP: #277262)
+  * debian/mdadm-udeb.templates: updated debconf question text to note that
+    booting degraded is useful when you do not have access to the console
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Thu, 02 Oct 2008 17:09:57 -0500
+
+mdadm (2.6.7-3ubuntu5) intrepid; urgency=low
+
+  * Fixes for LP: #268580
+    - debian/mdadm-udeb.dirs: add lib/partman for the check script
+    - debian/mdadm.config: don't initialize BOOT_DEGRADED to false
+    - debian/rules: install the check script, put the boot_degraded debconf
+      question in the mdadm-udeb
+    - debian/mdadm.templates, debian/mdadm-udeb.templates: move the
+      boot_degraded question to the udeb
+    - debian/po/POTFILES.in: add the new mdadm-udeb.templates
+    - debian/install-rc: install the check script, copied from partman-target
+    - check.d/_numbers, check.d/root_on_raid: new script to check if / or
+      /boot is on an md device and if so, prompt for BOOT_DEGRADED in the
+      installer
+    - debian/mdadm.config: initialize BOOT_DEGRADED to ""
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Sat, 13 Sep 2008 11:09:09 -0400
+
+mdadm (2.6.7-3ubuntu4) intrepid; urgency=low
+
+  * debian/mdadm.templates, debian/mdadm.config, debian/mdadm.postinst,
+    debian/po/templates.pot: added debconf support for BOOT_DEGRADED
+    configuration (LP: #259127).
+  * debian/po/*po: autogenerated translation placeholders for the debconf
+    templates questions.
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Mon, 18 Aug 2008 11:08:56 +0100
+
+mdadm (2.6.7-3ubuntu3) intrepid; urgency=low
+
+  * debian/initramfs/init-premount: provide a safety net, interactive prompt
+    on boot before dropping to busybox shell if the RAID is degraded; prompt
+    times out after 15 seconds, (LP: #257568).
+
+ -- Dustin Kirkland <kirkland@ubuntu.com>  Wed, 13 Aug 2008 14:02:29 -0500
+
+mdadm (2.6.7-3ubuntu2) intrepid; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/initramfs/init-premount: If mounting of root fails, allow the user
+    to optionally boot in degraded mode (LP: #120375).
+
+  [ Kees Cook ]
+  * debian/initramfs/init-premount: silently scan for failed arrays.
+
+ -- Kees Cook <kees@ubuntu.com>  Mon, 28 Jul 2008 13:03:47 -0700
+
+mdadm (2.6.7-3ubuntu1) intrepid; urgency=low
+
+  * Merge from debian unstable, remaining changes:
+   * md activation:
+    - We now have a single udev rule for both the real system and the
+      initramfs, since doing things differently there will only result in bugs
+      and confusion.
+    - This rule runs "mdadm --assemble --scan --no-degraded", automatically
+      activating any non-degraded device as their components are detected.
+    - Drop the mdadm-raid init script, since this does the same thing.
+    - Also drop mdadm-startall which uses the mdadm-raid init script, and its
+      associated sgml file (thus dropping the build-dep on docbook-to-man)
+    - Simplify the configuration, since we always autostart all devices so do
+      not need to specify any required root devices, etc.
+    - Since udev autostarts arrays, much of the initramfs script can be
+      dropped.
+   * Depend on initramfs-tools, specifically a version that doesn't ship
+     the mdrun script. and a version that supports the mountfail functionality,
+     see below. This way we can clean out a lot of the upgrade handling
+     from the initramfs hook.
+   * Just get initramfs to load the modules for us
+   * Create init-premount hook script for the initramfs, to provide
+     information at boot, if the root device is not functional.
+  * Retrieve the returned value from asprintf, and add an assertion.
+    This should prevent mdadm from segfaulting if there is not enough
+    memory available.
+
+ -- Luke Yelavich <themuso@ubuntu.com>  Tue, 15 Jul 2008 14:49:26 +0100
+
 mdadm (2.6.7-3) unstable; urgency=low
 
   * Correct credits in the NEWS file: Suse authored the udev rules, not Ubuntu
@@ -383,6 +835,36 @@ mdadm (2.6.7-1) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Wed, 25 Jun 2008 17:31:15 +0200
 
+mdadm (2.6.4-2ubuntu1) intrepid; urgency=low
+
+  * Merge from debian unstable, remaining changes:
+   * md activation:
+    - We now have a single udev rule for both the real system and the
+      initramfs, since doing things differently there will only result in bugs
+      and confusion.
+    - This rule runs "mdadm --assemble --scan --no-degraded", automatically
+      activating any non-degraded device as their components are detected.
+    - Drop the mdadm-raid init script, since this does the same thing.
+    - Also drop mdadm-startall which uses the mdadm-raid init script, and its
+      associated sgml file (thus dropping the build-dep on docbook-to-man)
+    - Simplify the configuration, since we always autostart all devices so do
+      not need to specify any required root devices, etc.
+    - Drop the deprecated mdrun entirely.
+    - Since udev autostarts arrays, much of the initramfs script can be
+      dropped.
+   * Install a new udev rule at 65 which runs vol_id on clean raid arrays.
+     This will cause lvm, etc. to be run (since there is vol_id information
+     present for the enclosed filesystem).
+   * Depend on initramfs-tools, specifically a version that doesn't ship
+     the mdrun script. and a version that supports the mountfail functionality,
+     see below. This way we can clean out a lot of the upgrade handling
+     from the initramfs hook.
+   * Just get initramfs to load the modules for us
+   * Create init-premount hook script for the initramfs, to provide
+     information at boot, if the root device is not functional.
+
+ -- Luke Yelavich <luke.yelavich@canonical.com>  Tue, 03 Jun 2008 14:59:18 +1000
+
 mdadm (2.6.4-2) unstable; urgency=low
 
   * Adjusted logcheck rules to follow kernel changes; thanks to Frédéric
@@ -423,6 +905,48 @@ mdadm (2.6.4-1) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Mon, 14 Jan 2008 12:47:14 +0100
 
+mdadm (2.6.3+200709292116+4450e59-3ubuntu3) hardy; urgency=low
+
+  * debian/initramfs/init-premount: Make sure the script exists when it is called
+    with mountfail.
+
+ -- Luke Yelavich <luke.yelavich@canonical.com>  Mon, 18 Feb 2008 12:10:40 +1100
+
+mdadm (2.6.3+200709292116+4450e59-3ubuntu2) hardy; urgency=low
+
+  * Create init-premount hook script for the initramfs, to provide
+    information at boot, if the root device is not functional.
+  * Tightened initramfs-tools dependency.
+
+ -- Luke Yelavich <themuso@ubuntu.com>  Tue, 05 Feb 2008 14:41:18 +1100
+
+mdadm (2.6.3+200709292116+4450e59-3ubuntu1) hardy; urgency=low
+
+  * Merge from debian unstable, remaining changes:
+   * md activation:
+    - We now have a single udev rule for both the real system and the
+      initramfs, since doing things differently there will only result in bugs
+      and confusion.
+    - This rule runs "mdadm --assemble --scan --no-degraded", automatically
+      activating any non-degraded device as their components are detected.
+    - Drop the mdadm-raid init script, since this does the same thing.
+    - Also drop mdadm-startall which uses the mdadm-raid init script, and its
+      associated sgml file (thus dropping the build-dep on docbook-to-man)
+    - Simplify the configuration, since we always autostart all devices so do
+      not need to specify any required root devices, etc.
+    - Drop the deprecated mdrun entirely.
+    - Since udev autostarts arrays, much of the initramfs script can be
+      dropped.
+   * Install a new udev rule at 65 which runs vol_id on clean raid arrays.
+     This will cause lvm, etc. to be run (since there is vol_id information
+     present for the enclosed filesystem).
+   * Depend on initramfs-tools, specifically a version that doesn't ship
+     the mdrun script.  This way we can clean out a lot of the upgrade handling
+     from the initramfs hook.
+   * Just get initramfs to load the modules for us
+
+ -- Scott James Remnant <scott@ubuntu.com>  Wed, 12 Dec 2007 22:35:09 +0000
+
 mdadm (2.6.3+200709292116+4450e59-3) unstable; urgency=low
 
   * Patch by Jérémy Bobbio which completes the fix for #444682.
@@ -475,6 +999,45 @@ mdadm (2.6.2-2) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Tue, 10 Jul 2007 09:59:45 +0200
 
+mdadm (2.6.2-1ubuntu2) gutsy; urgency=low
+
+  * Install 65-mdadm.vol_id.rules into the udeb so that we have UUID
+    symlinks in the installer.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Fri, 13 Jul 2007 10:13:51 +0100
+
+mdadm (2.6.2-1ubuntu1) gutsy; urgency=low
+
+  * Merge from debian unstable:
+    - various Debian and Ubuntu changes dropped in favour of the changes
+      outlined below.
+
+  * md activation:
+    - We now have a single udev rule for both the real system and the
+      initramfs, since doing things differently there will only result in bugs
+      and confusion.
+    - This rule runs "mdadm --assemble --scan --no-degraded", automatically
+      activating any non-degraded device as their components are detected.
+    - Drop the mdadm-raid init script, since this does the same thing.
+    - Also drop mdadm-startall which uses the mdadm-raid init script, and its
+      associated sgml file (thus dropping the build-dep on docbook-to-man)
+    - Simplify the configuration, since we always autostart all devices so do
+      not need to specify any required root devices, etc.
+    - Drop the deprecated mdrun entirely.
+    - Since udev autostarts arrays, much of the initramfs script can be
+      dropped.
+
+  * Install a new udev rule at 65 which runs vol_id on clean raid arrays.
+    This will cause lvm, etc. to be run (since there is vol_id information
+    present for the enclosed filesystem).
+
+  * Depend on initramfs-tools, specifically a version that doesn't ship
+    the mdrun script.  This way we can clean out a lot of the upgrade handling
+    from the initramfs hook.
+  * Just get initramfs to load the modules for us
+
+ -- Scott James Remnant <scott@ubuntu.com>  Wed, 11 Jul 2007 10:31:39 +0100
+
 mdadm (2.6.2-1) unstable; urgency=low
 
   * New upstream release
@@ -563,6 +1126,47 @@ mdadm (2.5.6-8) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Mon,  8 Jan 2007 02:04:25 +0100
 
+mdadm (2.5.6-7ubuntu5) feisty; urgency=low
+
+  * Rename 70-mdadm.rules to 85-mdadm.rules
+
+ -- Scott James Remnant <scott@ubuntu.com>  Fri, 30 Mar 2007 18:04:30 +0100
+
+mdadm (2.5.6-7ubuntu4) feisty; urgency=low
+
+  * Specify --no-degraded argument to mdadm in initramfs; this
+    can be overridden by setting MD_DEGRADED_ARGS to some nonempty value
+    (eg, a single space).  This ought to fix race problems where RAIDs are
+    assembled in degraded mode far too much. (LP #75681 and many dupes.)
+
+ -- Ian Jackson <iwj@ubuntu.com>  Mon, 12 Feb 2007 18:14:39 +0000
+
+mdadm (2.5.6-7ubuntu3) feisty; urgency=low
+
+  * Provide udev rules for md devices, to run mdadm -As.
+  * Rerun local-top in initramfs at relevant points when md devices seen,
+    from udev.  (Instead of the normal rule, above.)  This is a bit
+    heavyweight but at least it means that all of the existing logic for
+    deciding which arrays to activate should still work.
+  * Revert 2.5.6-7ubuntu2.  This udev-event-based approach is the correct
+    fix.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Tue,  6 Feb 2007 22:07:25 +0000
+
+mdadm (2.5.6-7ubuntu2) feisty; urgency=low
+
+  * Make sure to call udevsettle in the initramfs script so devices have a
+    chance of appearing.
+
+ -- Tollef Fog Heen <tfheen@ubuntu.com>  Tue,  6 Feb 2007 15:31:25 +0100
+
+mdadm (2.5.6-7ubuntu1) feisty; urgency=low
+
+  * Merge from debian unstable, remaining changes:
+    - same as 2.5.6-6ubuntu1.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Sun, 17 Dec 2006 21:37:23 -0800
+
 mdadm (2.5.6-7) unstable; urgency=low
 
   * Only parse ARRAY lines from configuration file when collecting the array
@@ -582,6 +1186,24 @@ mdadm (2.5.6-7) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Tue, 12 Dec 2006 11:49:52 +0100
 
+mdadm (2.5.6-6ubuntu1) feisty; urgency=low
+  
+  * Merge from debian unstable:
+    * debian/control: Depends: udev (>= 0.79-0ubuntu22).
+      (see 1.12.0-1ubuntu4)
+    * debian/mdadm.postinst: clean up mdadm-raid rcS.d symlinks.
+      (see 1.12.0-1ubuntu2)
+    * debian/mdadm-raid: log_problem -> log_dev change (workaround that needs
+      to be reverted).
+      (see 2.5.5-1ubuntu2)
+    * use lstat in mdopen.c.
+      (see 2.4.1-6ubuntu1)
+    * debian/mdrun: mknod only if devices have not been created yet.
+    * debian/initramfs/hook: prereq udev.
+    * debian/initramfs/script.local-top: prereq udev instead of udev_helper.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Tue, 21 Nov 2006 06:41:32 +0100
+
 mdadm (2.5.6-6) unstable; urgency=medium
 
   * Fixed a typo in the debconf control script which would cause failures with
@@ -590,6 +1212,21 @@ mdadm (2.5.6-6) unstable; urgency=medium
 
  -- martin f. krafft <madduck@debian.org>  Mon, 20 Nov 2006 15:02:34 +0800
 
+mdadm (2.5.6-5ubuntu2) feisty; urgency=low
+
+  * Use bash in maintainer scripts:
+    * mdadm.config requires it at the moment due to "echo -e" usage that is
+      not standard across all shell implementations.
+    * mdadm.* for failsafe.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Tue, 21 Nov 2006 06:15:04 +0100
+
+mdadm (2.5.6-5ubuntu1) feisty; urgency=low
+
+  * Merge from debian unstable.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Mon, 20 Nov 2006 06:56:19 +0100
+
 mdadm (2.5.6-5) unstable; urgency=low
 
   * Prevent initramfs hook from exiting prematurely when VERBOSE=false.
@@ -638,6 +1275,20 @@ mdadm (2.5.6-1) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Thu,  9 Nov 2006 00:47:45 +0100
 
+mdadm (2.5.5-1ubuntu2) feisty; urgency=low
+
+  * Make mdadm-raid not to fail if executed and there are no raids to start,
+    ya know.. we might want to install or upgrade before creating 31337 raid
+    devices.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Thu, 16 Nov 2006 11:53:09 -0800
+
+mdadm (2.5.5-1ubuntu1) feisty; urgency=low
+
+  * Merge from debian unstable.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Wed, 15 Nov 2006 12:35:19 -0800
+
 mdadm (2.5.5-1) unstable; urgency=low
 
   * New upstream release:
@@ -1121,6 +1772,108 @@ mdadm (2.5-1) experimental; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Thu,  1 Jun 2006 02:20:22 +0200
 
+mdadm (2.4.1-6ubuntu5) edgy; urgency=low
+  
+  * Modify initrafms scripts to wait for devices to appear if they are not there
+    yet when the script is executed on boot:
+    - copy generated mdadm.conf in the initramfs (we need the UUIDs)
+    - modify local-top script to wait for all UUIDs to appear before executing
+      mdrun or wait a max of 3 minutes before giving up.
+  (Closes Ubuntu: #52740)
+
+  As a side effects of the above fix:
+  
+  * Avoid FileSystem corruption if root is on lvm on raid and raid is not
+    started. LVM will find the devices that are part of the raid and use them
+    bringing the data off-sync.
+
+  Limitations:
+
+  * It might require initramfs updates if raid UUIDs are changed. This is
+    a rare corner case of relocating raids and usually who does that knows
+    what he is doing.
+
+  * We do not check if all devices for a certain raids are available but
+    the machine might be booting in degraded mode for recovery and we
+    shouldn't be blocking on that. Given that there is no way to know that
+    this check will not be performed.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Tue, 26 Sep 2006 09:56:01 +0200
+
+mdadm (2.4.1-6ubuntu4) edgy; urgency=low
+  
+  * Do not invoke init scripts with -u. Fixes dist upgrade from dapper to edgy
+    mostlikely caused by /bin/sh pointing to dash.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Thu, 21 Sep 2006 20:09:41 +0200
+
+mdadm (2.4.1-6ubuntu3) edgy; urgency=low
+  
+  * Do not attempt to stop raids on upgrade.
+  (Closes Ubuntu: #60623)
+
+  * Make sure to update the initramfs in postinst and postrm.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Mon, 18 Sep 2006 06:02:31 +0200
+
+mdadm (2.4.1-6ubuntu2) edgy; urgency=low
+  
+  * Fix md local-top script to kick udev a bit harder to make sure that
+    disk/by-uuid will have md devices too or root on md* will break.
+  (Closes Ubuntu: #57607)
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Thu, 14 Sep 2006 12:10:04 +0200
+
+mdadm (2.4.1-6ubuntu1) edgy; urgency=low
+
+  * Merge from debian unstable, remaining changes:
+    - integration with initramfs-tools,
+    - autocreate devices when udev is in use,
+    - use lstat in mdopen.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Tue, 11 Jul 2006 17:23:21 +0100
+
+mdadm (2.4.1-6) unstable; urgency=low
+
+  * The "Larry Wall doesn't use strict;" release.
+  * Recommends mail-transport-agent, or the monitor daemon won't be able to
+    send anything.
+  * Ignores failures from modprobe in postinst when RAID modules are not
+    available (closes: #370582).
+
+ -- martin f. krafft <madduck@debian.org>  Tue,  6 Jun 2006 12:45:41 +0200
+
+mdadm (2.4.1-5) unstable; urgency=low
+
+  * The "never check for errors you don't know how to handle" release.
+  * Now does not require RAID support from the kernel just for package
+    installation; that was silly of me, sorry (closes: Bug#370115).
+  * Instead of backporting single init.d fixes from the 2.5/experimental
+    package, I backported both init.d scripts and therewith added
+    LSB-compliant output and major improvements to the scripts. Enjoy.
+
+ -- martin f. krafft <madduck@debian.org>  Sat,  3 Jun 2006 20:38:51 +0200
+
+mdadm (2.4.1-4) unstable; urgency=low
+
+  * Work around a minor debconf bug related to strict variable handling (see
+    #369953, fixes: Bug#369935).
+  * Fixes a typo in postinst script (closes: Bug#369935, Bug#369954).
+
+ -- martin f. krafft <madduck@debian.org>  Fri,  2 Jun 2006 15:01:58 +0200
+
+mdadm (2.4.1-3) unstable; urgency=low
+
+  * Bug-fix release for unstable only; changes will be folded into the next
+    experimental release.
+  * Added a patch (incorporating lib/mm/xlate.h from lvm2) to prevent direct
+    access to kernel headers from userspace (closes: Bug#369765).
+  * Disabled strict aliasing compiler checks until we find a better
+    implementation for linked lists in C (closes: Bug#369779, Bug#356153).
+  * Really decreased the size of the udeb mdadm binary (closes: Bug#314370).
+
+ -- martin f. krafft <madduck@debian.org>  Thu,  1 Jun 2006 13:12:44 +0200
+
 mdadm (2.4.1-2) unstable; urgency=low
 
   * The "this took way longer than I thought" release.
@@ -1174,6 +1927,42 @@ mdadm (2.4.1-1) experimental; urgency=lo
 
  -- martin f. krafft <madduck@debian.org>  Tue, 16 May 2006 18:21:36 -0500
 
+mdadm (1.12.0-1ubuntu5) dapper; urgency=low
+
+  * Ship a hook for initramfs-tools as well, so we don't need to copy_exec
+    from mkinitramfs itself anymore for scripts it doesn't ship.
+  * Add a versioned conflict against versions of initramfs-tools that
+    didn't have a "check if the hook exists before running our own version
+    and exploding" check, so that upgrades don't fail as a result of this.
+
+ -- Adam Conrad <adconrad@ubuntu.com>  Tue, 16 May 2006 16:31:07 +1000
+
+mdadm (1.12.0-1ubuntu4) dapper; urgency=low
+
+  * Declare a versioned-dependency on udev with the local-top script,
+    just in case someone tries a partial upgrade.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Fri,  7 Apr 2006 14:56:35 +0100
+
+mdadm (1.12.0-1ubuntu3) dapper; urgency=low
+
+  * Ship the initramfs script ourselves.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Thu, 23 Mar 2006 18:02:42 +0000
+
+mdadm (1.12.0-1ubuntu2) dapper; urgency=low
+
+  * Move mdadm-raid init script to S25, so it happens before other filesystems
+    are mounted but after /dev is actually available
+
+ -- Scott James Remnant <scott@ubuntu.com>  Wed,  4 Jan 2006 17:05:49 +0000
+
+mdadm (1.12.0-1ubuntu1) dapper; urgency=low
+
+  * Resyncronize with Debian.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Mon, 28 Nov 2005 07:35:36 +0100
+
 mdadm (1.12.0-1) unstable; urgency=low
 
   * New upstream release.
@@ -1183,6 +1972,12 @@ mdadm (1.12.0-1) unstable; urgency=low
 
  -- martin f. krafft <madduck@debian.org>  Sun, 24 Jul 2005 19:20:01 +0200
 
+mdadm (1.11.0-0ubuntu1) breezy; urgency=low
+
+  * New Upstream Release, fixes segfault with --config=partitions
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Wed,  8 Jun 2005 00:33:00 +0000
+
 mdadm (1.9.0-5) unstable; urgency=low
 
   * martin f. krafft: (the, "look ma', we're maintained in arch now!" release)
@@ -1268,6 +2063,12 @@ mdadm (1.9.0-2.2) unstable; urgency=high
 
  -- martin f. krafft <madduck@debian.org>  Sun, 22 May 2005 12:57:56 +0200
 
+mdadm (1.9.0-2.1ubuntu1) breezy; urgency=low
+
+  * Merge Debian changes (#9476).
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Fri, 15 Apr 2005 10:29:03 +0200
+
 mdadm (1.9.0-2.1) unstable; urgency=high
 
   * Non-maintainer upload.
@@ -1296,6 +2097,12 @@ mdadm (1.9.0-2) unstable; urgency=low
 
  -- Mario Joussen <joussen@debian.org>  Sun,  6 Mar 2005 14:22:24 +0100
 
+mdadm (1.9.0-1ubuntu2) hoary; urgency=low
+
+  * Fix /dev/md/* handling in check for standard md device names.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 24 Feb 2005 14:19:21 +0000
+
 mdadm (1.9.0-1) unstable; urgency=high
 
   * New upstream release.
@@ -1308,6 +2115,31 @@ mdadm (1.9.0-1) unstable; urgency=high
 
  -- Mario Joussen <joussen@debian.org>  Sun,  6 Feb 2005 12:25:03 +0100
 
+mdadm (1.8.1-1ubuntu3) hoary; urgency=low
+
+  * debian/mdrun:
+    - Remove Ubuntu-specific 'shift' in the /.dev case that broke at least
+      with busybox sh.
+    - $BASE was being unnecessarily set twice if $AUTOCREATE, and the second
+      time this overwrote the previous check for a /dev/md directory; remove
+      the duplication.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Tue, 15 Feb 2005 19:31:59 +0000
+
+mdadm (1.8.1-1ubuntu2) hoary; urgency=low
+
+  * debian/mdadm.init:
+    - Only run if md devices are present, whether they're active for not.
+      Fixes Ubuntu bug #966.
+
+ -- Jeff Waugh <jeff.waugh@canonical.com>  Sat, 15 Jan 2005 10:00:29 +1100
+
+mdadm (1.8.1-1ubuntu1) hoary; urgency=low
+
+  * Resynchronise with Debian.
+
+ -- Scott James Remnant <scott@canonical.com>  Tue, 28 Dec 2004 12:46:44 +0000
+
 mdadm (1.8.1-1) unstable; urgency=low
 
   * New upstream release.
@@ -1322,6 +2154,12 @@ mdadm (1.8.1-1) unstable; urgency=low
 
  -- Mario Joussen <joussen@debian.org>  Sun, 26 Dec 2004 14:44:31 +0100
 
+mdadm (1.7.0-2ubuntu1) hoary; urgency=low
+
+  * Resynchronise with Debian.
+
+ -- Fabio M. Di Nitto <fabbione@fabbione.net>  Fri, 29 Oct 2004 14:10:44 +0200
+
 mdadm (1.7.0-2) unstable; urgency=high
 
   * Changed debconf script to save the settings from the config file.
@@ -1388,6 +2226,44 @@ mdadm (1.6.0-1) unstable; urgency=low
 
  -- Mario Joussen <joussen@debian.org>  Tue, 20 Jul 2004 21:40:33 +0200
 
+mdadm (1.5.0-2ubuntu6) warty; urgency=low
+
+  * Respect users modification preseeding configuration answers
+    in mdadm.config. (Closes: #1916/#274208)
+
+ -- Fabio M. Di Nitto <fabbione@fabbione.net>  Fri, 01 Oct 2004 06:23:38 +0200
+
+mdadm (1.5.0-2ubuntu5) warty; urgency=low
+
+  * Added versioned depend on lsb-base
+
+ -- Nathaniel McCallum <npmccallum@canonical.com>  Fri,  3 Sep 2004 14:56:45-0400
+
+mdadm (1.5.0-2ubuntu4) warty; urgency=low
+
+  * debian/mdadm-raid,mdadm.init: pretty initscripts
+
+ -- Nathaniel McCallum <npmccallum@canonical.com>  Fri,  3 Sep 2004 11:13:25-0400
+
+mdadm (1.5.0-2ubuntu3) warty; urgency=low
+
+  * Don't try to create device nodes which already exist
+
+ -- Matt Zimmerman <mdz@alcor.net>  Wed, 25 Aug 2004 09:10:38 -0700
+
+mdadm (1.5.0-2ubuntu2) warty; urgency=low
+
+  * Fix mdrun <-> udev interaction. (Closes: #259491/#486)
+
+ -- Fabio M. Di Nitto <fabbione@fabbione.net>  Thu, 12 Aug 2004 18:00:51 +0200
+
+mdadm (1.5.0-2ubuntu1) warty; urgency=low
+
+  * Add little kludge to fix mdrun for kernel 2.6
+    (Closes: #231823)
+
+ -- Fabio M. Di Nitto <fabbione@fabbione.net>  Tue, 29 Jun 2004 09:50:59 +0200
+
 mdadm (1.5.0-2) unstable; urgency=low
 
   * Added french debconf template.
@@ -1545,3 +2421,4 @@ mdctl (0.5-1) unstable; urgency=low
     (closes: Bug#126610)
 
  -- Mario Joussen <mario@joussen.org>  Wed, 26 Dec 2001 17:07:09 +0100
+
diff -pruN 3.2.3-2/debian/control 3.2.3-2ubuntu1/debian/control
--- 3.2.3-2/debian/control	2012-01-18 18:33:55.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/control	2012-02-09 23:55:38.000000000 +0000
@@ -1,9 +1,10 @@
 Source: mdadm
 Section: admin
 Priority: optional
-Maintainer: Debian mdadm maintainers <pkg-mdadm-devel@lists.alioth.debian.org>
+XSBC-Original-Maintainer: Debian mdadm maintainers <pkg-mdadm-devel@lists.alioth.debian.org>
+Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
 Uploaders: martin f. krafft <madduck@debian.org>, Michael Tokarev <mjt@tls.msk.ru>
-Build-Depends: debhelper (>= 6.0.7~), po-debconf, groff-base, docbook-to-man, quilt
+Build-Depends: debhelper (>= 7.4.2), po-debconf, groff-base
 Standards-Version: 3.9.2
 Vcs-Git: git://git.debian.org/git/pkg-mdadm/mdadm
 Vcs-Browser: http://git.debian.org/?p=pkg-mdadm/mdadm.git
@@ -11,10 +12,11 @@ Homepage: http://neil.brown.name/blog/md
 
 Package: mdadm
 Architecture: any
-Depends: ${shlibs:Depends}, udev | makedev, ${misc:Depends}, lsb-base (>= 3.1-6), debconf (>= 1.4.72), initscripts (>= 2.88dsf-13.3)
+Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.1-6), debconf (>= 1.4.72), udev (>= 136-1), initramfs-tools (>= 0.85eubuntu24), util-linux (>= 2.15-1), initscripts (>= 2.88dsf-13.3)
 Recommends: default-mta | mail-transport-agent, module-init-tools
 Replaces: mdctl
-Conflicts: mdctl (<< 0.7.2), raidtools2 (<< 1.00.3-12.1), initramfs-tools (<< 0.65)
+Conflicts: mdctl (<< 0.7.2), raidtools2 (<< 1.00.3-12.1)
+Breaks: udev (<< 136-1)
 Description: tool to administer Linux MD arrays (software RAID)
  The mdadm utility can be used to create, manage, and monitor MD
  (multi-disk) arrays for software RAID or multipath I/O.
diff -pruN 3.2.3-2/debian/initramfs/hook 3.2.3-2ubuntu1/debian/initramfs/hook
--- 3.2.3-2/debian/initramfs/hook	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/initramfs/hook	2012-01-29 05:36:30.000000000 +0000
@@ -6,10 +6,11 @@
 #
 set -eu
 
-PREREQ=
+PREREQ="udev"
+
 prereqs()
 {
-  echo "$PREREQ"
+	echo "$PREREQ"
 }
 
 case "${1:-}" in
@@ -29,291 +30,77 @@ is_true()
 
 write()
 {
-  local PREFIX; PREFIX=$1; shift
-  echo "${PREFIX}: mdadm: $@" >&2
+	local PREFIX; PREFIX=$1; shift
+	echo "${PREFIX}: mdadm: $@" >&2
 }
 
+
 info()
 {
-  is_true ${VERBOSE:-false} && write I "$@" || :
+	is_true ${VERBOSE:-false} && write I "$@" || :
 }
 
-warn()
-{
-  write W "$@"
-}
 
-err()
+warn()
 {
-  write E "$@"
+	write W "$@"
 }
 
-if [ -e /usr/share/initramfs-tools/hooks/md ]; then
-  warn "initramfs md hook still present, stepping out of its way."
-  warn "Please see /usr/share/doc/mdadm/README.initramfs-transition ."
-  exit 0
-fi
-
-if [ -e /etc/initramfs-tools/hooks/md ]; then
-  warn "I found /etc/initramfs-tools/hooks/md, which may conflict"
-  warn "with this version of mdadm. Please use"
-  warn "/usr/share/initramfs-tools/hooks/mdadm as reference and update"
-  warn "(or remove) the file."
-  exit 0
-fi
-
-MDADM=/sbin/mdadm
-[ -x "$MDADM" ] || exit 0
-
-[ -r /usr/share/initramfs-tools/hook-functions ] || exit 0
 . /usr/share/initramfs-tools/hook-functions
 
 # copy the binary as early as possible
-copy_exec $MDADM /sbin
+copy_exec /sbin/mdadm /sbin
 
-# copy all modules into the initramfs, just for safety.
-# we copy raid456 / raid5+raid6 because the hook script just won't do
-# anything when the module cannot be found.
-modules="linear multipath raid0 raid1 raid456 raid5 raid6 raid10"
-for mod in $modules; do manual_add_modules $mod; done
+# copy the udev rules
+for rules in 65-mdadm-blkid.rules 85-mdadm.rules; do
+	cp -p /lib/udev/rules.d/$rules ${DESTDIR}/lib/udev/rules.d
+done
 
-# read in the configuration
+# copy the mdadm configuration
 CONFIG=/etc/mdadm/mdadm.conf
 ALTCONFIG=/etc/mdadm.conf
-[ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG || :
-
-DEBIANCONFIG=/etc/default/mdadm
-INITRDSTART=all
-[ -s $DEBIANCONFIG ] && . $DEBIANCONFIG
-[ -z "$INITRDSTART" ] && INITRDSTART=none
-
 DESTMDADMCONF=$DESTDIR/etc/mdadm/mdadm.conf
-DESTCONFIG=$DESTDIR/conf/conf.d/md
-
-if [ -f $CONFIG ]; then
-  homehost="$(sed -ne 's,^[[:space:]]*HOMEHOST[[:space:]]*,,p' $CONFIG)"
-fi
-if [ -z "${homehost:-}" ] || [ "${homehost:-}" = '<system>' ]; then
-  echo "MD_HOMEHOST='$(hostname)'" > $DESTCONFIG
-fi
-
-install_config()
-{
-  # install the configuration file
-  mkdir -p ${2%/*}
-  # only copy ARRAY/DEVICE/HOMEHOST lines, and merge continuation lines into one
-  if [ -f "$1" ] ; then
-    sed -e :a -re '$!N;s/\n[[:space:]]+/ /;ta' -ne '/^(ARRAY|DEVICE|HOMEHOST)/P;D' $1 > $2
-  fi
-}
+[ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG || :
+mkdir -p ${DESTDIR}/etc/mdadm
 
 if [ ! -f $CONFIG ]; then
-  # there is no configuration file, so let's create one
-
-  if /usr/share/mdadm/mkconf generate $CONFIG; then
-    # all is well
-    install_config $CONFIG $DESTMDADMCONF
-    info "auto-generated the mdadm.conf configuration file."
-  else
-    # we failed to auto-generate, so let the emergency procedure take over
-    warn "failed to auto-generate the mdadm.conf file."
-    warn "please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz ."
-  fi
-
-else
-
-  use_temp=0
-  if [ -e /var/lib/mdadm/CONF-UNCHECKED ]; then
-    # the file comes from an old installation and hence is not guaranteed to
-    # work. We thus better create one and start all arrays to be sure.
-
-    warn "unchecked configuration file: $CONFIG"
-    warn "please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz ."
-
-    use_temp=1
-  elif ! grep -q '^ARRAY' $CONFIG; then
-    # the file defines no ARRAYs. We better create a temporary file to be
-    # sure.
-
-    warn "$CONFIG defines no arrays."
-    use_temp=1
-
-  else
-    # this is the ideal case
-    install_config $CONFIG $DESTMDADMCONF
-    info "using configuration file: $CONFIG"
-  fi
-
-  if [ $use_temp -eq 1 ]; then
-    mkdir --parents ${DESTMDADMCONF%/*}
-    tmpfile="${DESTMDADMCONF}.tmp"
-    if /usr/share/mdadm/mkconf > $tmpfile; then
-      # all is well, we now have a temporary configuration file
-      info "auto-generated temporary mdadm.conf configuration file."
-      install_config $tmpfile $DESTMDADMCONF
-    else
-      # stuff's really broke, as we failed to generate a temporary file.
-      # let's hope the unchecked file works, provided it contains at least one
-      # ARRAY statement...
-      warn "failed to auto-generate temporary mdadm.conf file."
-      if grep -q '^ARRAY' $CONFIG; then
-        warn "using the unchecked file and hoping for the best..."
-        install_config $CONFIG $DESTMDADMCONF
-      fi
-    fi
-    rm -f $tmpfile
-  fi
-
-fi
-
-# if at this point, $DESTMDADMCONF does not exist or it does not contain any
-# ARRAY statements, we must let the initramfs handle stuff.
-if [ ! -f $DESTMDADMCONF ]; then
-  warn "no configuration file available."
-  info "letting initramfs assemble auto-detected arrays."
-  exit 0
-elif ! grep -q '^ARRAY' $DESTMDADMCONF; then
-  warn "no arrays defined in configuration file."
-  info "letting initramfs assemble auto-detected arrays."
-  exit 0
+        # there is no configuration file, so let's create one
+        if /usr/share/mdadm/mkconf generate $CONFIG; then
+                # all is well
+                cp -p $CONFIG $DESTMDADMCONF
+                info "auto-generated the mdadm.conf configuration file."
+        else
+                # we failed to auto-generate, so let the emergency procedure take over
+                warn "failed to auto-generate the mdadm.conf file."
+                warn "please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz ."
+        fi
 else
-  # obtain dev:level pairs from config file, honouring multiline entries
-  devpairs="$(
-    while read line; do
-      case "$line" in
-        (ARRAY*) :;;
-        (*) continue;;
-      esac
-      for atom in $line; do
-        case "$atom" in
-          (/dev*) dev=$atom;;
-          (level=raid*|level=linear|level=multipath) level=${atom#level=};;
-          (level=*)
-            err "invalid level specified in ARRAY statement in $CONFIG:"
-            err "  $line"
-            err "levels should be either raid*, linear, or multipath."
-            warn "falling back to emergency procedure in initramfs."
-            exit 1
-            ;;
-          (*) :;;
-        esac
-      done
-      [ -n "${dev:-}" ] || continue
-
-      # /dev/mdX and /dev/md/X are the same, really
-      case "$dev" in
-        (/dev/md/*) alt=/dev/md${dev##*/};;
-        (/dev/md*) alt=/dev/md/${dev#/dev/md};;
-        (*)
-          err "unknown device encountered: $dev"
-          warn_emergency
-          exit 0
-          ;;
-      esac
-      if [ ! -b "$dev" ] && [ -b "$alt" ]; then
-        dev="$alt"
-      fi
-
-      echo -n "${dev}:"
-      if [ -n "${level:-}" ]; then
-        echo -n "$level"
-      else
-        echo -n "$($MDADM --detail $dev | sed -rne 's,[[:space:]]+Raid Level : ,,p')"
-      fi
-      echo -n ' '
-    done < $DESTMDADMCONF)" || exit $?
-fi
-
-uniquify()
-{
-  for i in $@; do echo "$i"; done | sort -u
-}
-
-if [ "$INITRDSTART" != none ] && [ -n "$devpairs" ]; then
-  echo "MD_DEVPAIRS='${devpairs% }'" >> $DESTCONFIG
-
-  devs= levels=
-  for i in $devpairs; do
-    dev=${i%:*}
-    level=${i##*:}
-    case "$INITRDSTART" in
-      all|*${dev}*)
-        devs="${devs:+$devs }$dev"
-        levels="${levels:+$levels }$level"
-        ;;
-      *) :;;
-    esac
-  done
-
-  # make sure the configuration file knows about all running devices
-  $MDADM --detail --scan | while read array device params; do
-    uuid=${params#*UUID=}; uuid=${uuid%% *}
-    if ! grep -qi "uuid=$uuid" $DESTMDADMCONF; then
-      warn "the array $device with UUID $uuid"
-      warn "is currently active, but it is not listed in mdadm.conf. if"
-      warn "it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!"
-      warn "please inspect the output of /usr/share/mdadm/mkconf, compare"
-      warn "it to $CONFIG, and make the necessary changes."
-    fi
-  done
-
-  for i in $INITRDSTART; do
-    case "$INITRDSTART" in all|none|'') break;; *) :;; esac
-    case "$devs" in
-      *${i}*) continue;;
-      *) :;;
-    esac
-
-    warn "I am supposed to start $i from the initial ramdisk,"
-    warn "yet I cannot find the array in the configuration file."
-    warn "I am thus reverting to starting all arrays."
-    INITRDSTART=all
-    break
-  done
-
-  echo "MD_LEVELS='$levels'" >> $DESTCONFIG
-  if [ "$INITRDSTART" = all ]; then
-    echo "MD_DEVS=all" >> $DESTCONFIG
-  else
-    echo "MD_DEVS='$devs'" >> $DESTCONFIG
-  fi
-
-  # handle module synonyms
-  modules="$(echo $levels \
-    | sed -re 's,\<[[:digit:]]+\>,raid&,g;   # prefix digits with raid
-               s,stripe,raid0,g;             # striping is raid0
-               s,mirror,raid1,g;             # mirroring is raid1
-               s,raid4,raid5,g;              # use raid5 to handle raid4
-               s,mp,multipath,g              # mp is multipath
-               ')"
-
-  # if raid456 module is present, use it for raid[456]
-  modprobe --set-version="$version" --show-depends raid456 >/dev/null 2>&1 \
-    && modules="$(echo $modules | sed -e 's,raid[456],raid456,g')"
-
-  modules="$(uniquify $modules | tr '\n' ' ')"
-  echo "MD_MODULES='${modules% }'" >> $DESTCONFIG
-
-  if [ "$INITRDSTART" = all ]; then
-    info "will start all available MD arrays from the initial ramdisk."
-  else
-    for i in $devs; do
-      info "will start MD array $i from the initial ramdisk."
-    done
-  fi
-
-  # Copy udev rules, which udev no longer does
-  mkdir -p $DESTDIR/lib/udev/rules.d/
-  cp /lib/udev/rules.d/64-md-raid.rules $DESTDIR/lib/udev/rules.d/
-
-else
-  echo "MD_DEVS=none" >> $DESTCONFIG
-  echo "MD_MODULES=''" >> $DESTCONFIG
-  info "no MD arrays will be started from the initial ramdisk."
-fi
-
-# only output this on Debian systems
-[ -s /etc/default/mdadm ] && \
-  info 'use `dpkg-reconfigure --priority=low mdadm` to change this.'
+	cp -p $CONFIG ${DESTDIR}/etc/mdadm
+        if ! grep -q '^ARRAY' $CONFIG; then
+                tmpfile="${DESTMDADMCONF}.tmp"
+                warn "$CONFIG defines no arrays."
+                if /usr/share/mdadm/mkconf > $tmpfile; then
+                        cp -p $tmpfile $DESTMDADMCONF
+                else
+                        warn "failed to auto-generate temporary mdadm.conf file."
+                fi
+        else
+                # make sure the configuration file knows about all running devices
+                /sbin/mdadm --detail --scan | while read array device params; do
+                        uuid=${params#*UUID=}; uuid=${uuid%% *}
+                        if ! grep -q "UUID=$uuid" $DESTMDADMCONF; then
+                                warn "the array $device with UUID $uuid"
+                                warn "is currently active, but it is not listed in mdadm.conf. if"
+                                warn "it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!"
+                                warn "please inspect the output of /usr/share/mdadm/mkconf, compare"
+                                warn "it to $CONFIG, and make the necessary changes."
+                        fi
+                done
+        fi
+fi
+
+# load raid modules in the initramfs
+for module in linear multipath raid0 raid1 raid456 raid5 raid6 raid10; do
+	force_load $module
+done
 
-exit 0
diff -pruN 3.2.3-2/debian/initramfs/init-premount 3.2.3-2ubuntu1/debian/initramfs/init-premount
--- 3.2.3-2/debian/initramfs/init-premount	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/initramfs/init-premount	2011-05-24 22:07:19.000000000 +0000
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# init-premount script for mdadm.
+
+PREREQS="udev"
+
+prereqs()
+{
+	echo $PREREQS
+}
+
+[ "$1" = "prereqs" ] || . /scripts/mdadm-functions
+
+case $1 in
+# get pre-requisites
+prereqs)
+	prereqs
+	exit 0
+	;;
+mountfail)
+	mountroot_fail
+	exit $?
+	;;
+esac
+
+. /scripts/functions
+
+add_mountroot_fail_hook "10-mdadm"
+
+exit 0
+ 
diff -pruN 3.2.3-2/debian/initramfs/local-premount 3.2.3-2ubuntu1/debian/initramfs/local-premount
--- 3.2.3-2/debian/initramfs/local-premount	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/initramfs/local-premount	2012-02-10 00:31:49.000000000 +0000
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ "$1" = "prereqs" ] ; then
+  exit 0
+fi
+
+. /scripts/mdadm-functions
+. /scripts/functions
+
+degraded_arrays || exit 0
+mountroot_fail || panic "Dropping to a shell."
diff -pruN 3.2.3-2/debian/initramfs/mdadm-functions 3.2.3-2ubuntu1/debian/initramfs/mdadm-functions
--- 3.2.3-2/debian/initramfs/mdadm-functions	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/initramfs/mdadm-functions	2011-08-24 00:23:09.000000000 +0000
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+
+degraded_arrays()
+{
+	mdadm --misc --scan --detail --test >/dev/null 2>&1
+	return $((! $?))
+}
+
+mountroot_fail()
+{
+	if degraded_arrays; then
+		cat <<EOF
+** WARNING: There appears to be one or more degraded RAID devices **
+
+The system may have suffered a hardware fault, such as a disk drive
+failure.  The root device may depend on the RAID devices being online. One
+or more of the following RAID devices are degraded:
+EOF
+		cat /proc/mdstat
+
+		BOOT_DEGRADED="false"
+		# Read BOOT_DEGRADED from file
+		if [ -r "/conf/conf.d/mdadm" ]; then
+			. /conf/conf.d/mdadm
+		fi
+		# But allow for overides on the kernel command line
+		for x in $(cat /proc/cmdline); do
+			case $x in
+				bootdegraded)
+					BOOT_DEGRADED="true"
+				;;
+				bootdegraded=*)
+					BOOT_DEGRADED=${x#bootdegraded=}
+				;;
+			esac
+		done
+		# Allow for a couple of permutations, {true|1|yes|on}
+		case "$BOOT_DEGRADED" in
+			1)    BOOT_DEGRADED="true";;
+			yes)  BOOT_DEGRADED="true";;
+			on)   BOOT_DEGRADED="true";;
+		esac
+		# Check to see if user has already answered interactive question
+		# If they say anything other than "yes", the boot halts, so we
+		# can just set it to true to skip asking again.
+		if [ -f /run/.boot-degraded-asked ] ; then
+			BOOT_DEGRADED="true"
+		fi
+		# Finally, prompt interactively if the user has not specified
+		# to boot degraded either in a configuration file or as a
+		# kernel boot parameter
+		if [ "$BOOT_DEGRADED" != "true" ]; then
+			cat <<EOF
+You may attempt to start the system anyway, or stop now and attempt
+manual recovery operations.  To do this automatically in the future,
+add "bootdegraded=true" to the kernel boot options.
+
+If you choose to start the degraded RAID, the system may boot normally,
+but performance may be degraded, and a further hardware fault could
+result in permanent data loss.
+
+If you abort now, you will be provided with a recovery shell.
+
+EOF
+			# Set a 15-second timeout for this question
+			ANSWER="unanswered"
+			read -t 15 -p "Do you wish to start the degraded RAID? [y/N]: " -r ANSWER
+			echo "" > /run/.boot-degraded-asked
+			case "$ANSWER" in
+				unanswered) echo "Timed out" ;;
+				y*|Y*)  BOOT_DEGRADED="true" ;;
+				*)      BOOT_DEGRADED="false";;
+			esac
+		fi
+		if [ "$BOOT_DEGRADED" = "true" ]; then
+			echo "Attempting to start the RAID in degraded mode..."
+			if mdadm --incremental --run --scan; then
+				echo "Started the RAID in degraded mode."
+				return 0
+			else	
+				if mdadm --assemble --scan --run; then
+					echo "Started the RAID in degraded mode."
+					return 0
+				else
+					echo "Could not start the RAID in degraded mode."
+				fi
+			fi
+		fi
+	fi
+	return 1
+}
diff -pruN 3.2.3-2/debian/initramfs/script.local-top 3.2.3-2ubuntu1/debian/initramfs/script.local-top
--- 3.2.3-2/debian/initramfs/script.local-top	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/initramfs/script.local-top	1970-01-01 00:00:00.000000000 +0000
@@ -1,109 +0,0 @@
-#!/bin/sh
-#
-# Copyright © 2006-2008 Martin F. Krafft <madduck@debian.org>
-# based on the scripts in the initramfs-tools package.
-# released under the terms of the Artistic Licence.
-#
-set -eu
-
-case ${1:-} in
-  prereqs) echo "multipath"; exit 0;;
-esac
-
-. /scripts/functions
-
-maybe_break pre-mdadm
-
-if [ -e /scripts/local-top/md ]; then
-  log_warning_msg "old md initialisation script found, getting out of its way..."
-  exit 1
-fi
-
-MDADM=/sbin/mdadm
-[ -x "$MDADM" ] || exit 0
-
-verbose()
-{
-  case "$quiet" in y*|Y*|1|t*|T*)
-    return 1;;
-  *)
-    return 0;;
-  esac
-}
-
-MD_DEVS=all
-MD_MODULES='linear multipath raid0 raid1 raid456 raid5 raid6 raid10'
-[ -s /conf/conf.d/md ] && . /conf/conf.d/md
-
-verbose && log_begin_msg Loading MD modules
-for module in ${MD_MODULES:-}; do
-  if modprobe -q "$module"; then
-    verbose && log_success_msg "loaded module ${module}."
-  else
-    log_failure_msg "failed to load module ${module}."
-  fi
-done
-log_end_msg
-
-if [ ! -f /proc/mdstat ]; then
-  verbose && panic "cannot initialise MD subsystem (/proc/mdstat missing)"
-  exit 1
-fi
-
-# handle /dev/md/X nodes
-mkdir -p /dev/md
-
-CONFIG=/etc/mdadm/mdadm.conf
-# in case the hook failed to install a configuration file, this is our last
-# attempt... the "emergency procedure"... <drumroll>
-if [ ! -e $CONFIG ]; then
-  log_warning_msg "missing mdadm.conf file, trying to create one..."
-  mkdir -p ${CONFIG%/*}
-  echo DEVICE partitions > $CONFIG
-  $MDADM --examine --scan >> $CONFIG
-  if [ -s $CONFIG ]; then
-    verbose && log_success_msg "mdadm.conf created."
-  else
-    verbose && log_failure_msg "could not create mdadm.conf, the boot will likely fail."
-  fi
-  MD_DEVS=all
-fi
-
-# prevent writes/syncs so that resuming works (#415441).
-echo 1 > /sys/module/md_mod/parameters/start_ro
-
-if [ "$MD_DEVS" = all ]; then
-
-  verbose && log_begin_msg "Assembling all MD arrays"
-  extra_args=''
-  [ -n "${MD_HOMEHOST:-}" ] && extra_args="--homehost=$MD_HOMEHOST"
-  if $MDADM --assemble --scan --run --auto=yes${extra_args:+ $extra_args}; then
-    verbose && log_success_msg "assembled all arrays."
-  else
-    log_failure_msg "failed to assemble all arrays."
-  fi
-  verbose && log_end_msg
-
-elif [ "$MD_DEVS" != none ]; then
-  for dev in $MD_DEVS; do
-
-    verbose && log_begin_msg "Assembling MD array $dev"
-    if $MDADM --assemble --scan --run --auto=yes $dev; then
-      verbose && log_success_msg "started $dev"
-    else
-      log_failure_msg "failed to start $dev"
-    fi
-    verbose && log_end_msg
-
-  done
-fi
-
-if [ -x "$(command -v udevsettle)" ]; then
-  verbose && log_begin_msg "Waiting for udev to process events"
-  udevsettle 10
-  verbose && log_end_msg
-fi
-
-maybe_break post-mdadm
-
-exit 0
diff -pruN 3.2.3-2/debian/install-rc 3.2.3-2ubuntu1/debian/install-rc
--- 3.2.3-2/debian/install-rc	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/install-rc	2011-03-18 15:58:15.000000000 +0000
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -e
+
+# PACKAGE is exported from debian/rules
+partman=debian/${PACKAGE}/lib/partman
+
+install -d $partman/$1
+
+cp -r $1/* $partman/$1/
+
+# Remove any SVN dirs that were copied along
+rm -rf `find $partman/$1/ -name .svn`
+
+if [ -f $partman/$1/_numbers ]; then
+    numbers=$(cat $partman/$1/_numbers)
+    rm $partman/$1/_numbers
+    echo "$numbers" |
+    while read number name; do
+        set -e
+        mv $partman/$1/$name $partman/$1/${number}${name}
+        chmod +x $partman/$1/${number}${name}
+    done
+fi
+
diff -pruN 3.2.3-2/debian/mdadm.config 3.2.3-2ubuntu1/debian/mdadm.config
--- 3.2.3-2/debian/mdadm.config	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.config	2012-01-29 05:36:29.000000000 +0000
@@ -31,7 +31,6 @@ db_get mdadm/initrdstart || :
 INITRDSTART="$RET"
 
 if [ -s $DEBIANCONFIG ] ; then
-  AUTOSTART=true
   AUTOCHECK=true
   START_DAEMON=true
   MAILADDR=root
@@ -49,143 +48,13 @@ if [ -s $DEBIANCONFIG ] ; then
   # unused anyway, thus we run the risk.
   [ -n "${MAIL_TO:-}" ] && MAILADDR="$MAIL_TO"
 
-  [ -n "$AUTOSTART" ] && db_set mdadm/autostart "$AUTOSTART"
   [ -n "$AUTOCHECK" ] && db_set mdadm/autocheck "$AUTOCHECK"
   [ -n "$START_DAEMON" ] && db_set mdadm/start_daemon "$START_DAEMON"
   [ -n "$MAILADDR" ] && db_set mdadm/mail_to "$MAILADDR"
 fi
 
-chrooted() {
-  test "$(stat -c "%d/%i" /)" != "$(stat -Lc "%d/%i" /proc/1/root 2>/dev/null)"
-}
-
-get_root_raiddev() {
-  local rootraiddev;
-  rootraiddev="$(df --portability / | sed -rne 's,^(/dev/[^[:space:]]+).*,\1,p')"
-  if ! mdadm --detail $rootraiddev >/dev/null 2>&1; then
-    return 1
-  fi
-  echo ${rootraiddev%p[0-9]*}
-  return 0
-}
-
-get_initrdstart() {
-  db_fget mdadm/initrdstart seen
-  if chrooted || [ "$RET $INITRDSTART" = "false all" ]; then
-    echo all
-    return 1
-  fi
-
-  get_root_raiddev || echo all
-}
-
-[ -z "$INITRDSTART" ] && INITRDSTART="$(get_initrdstart)" || :
-[ -n "$INITRDSTART" ] && db_set mdadm/initrdstart "$INITRDSTART"
-
-INITRDSTART_PRIORITY=high
-if chrooted; then
-  INITRDSTART_PRIORITY=medium
-fi
-
 db_capb escape
 
-msg=intro; suffix=''; error=0
-while true; do
-  db_metaget mdadm/initrdstart_msg_${msg} extended_description || :
-  db_subst mdadm/initrdstart msg "$(echo -n "${RET}${suffix}" | debconf-escape -e)"
-  ret=0; db_input $INITRDSTART_PRIORITY mdadm/initrdstart || ret=$?
-  db_go
-
-  if [ $error -ne 0 ] && [ $ret -eq 30 ]; then
-    # there was an error in a previous run of this loop, but the above question
-    # was not asked, so we better exit the endless loop...
-    echo "W: mdadm: unable to determine MD arrays needed for boot." >&2
-    echo "W: mdadm: falling back to starting all of them..." >&2
-    INITRDSTART=all
-    break
-  fi
-
-  db_get mdadm/initrdstart
-  INITRDSTART="$(echo $RET | tr , ' ')"
-
-  case "$INITRDSTART" in
-    ''|none) INITRDSTART=none; break;;
-    all) break;;
-
-    *)
-      arrays=''
-      for i in $INITRDSTART; do
-
-        # standardise by prefixing /dev/
-        i="/dev/${i#/dev/}"
-
-        # remove partition from partitionable array
-        i="${i%p[0-9]*}"
-
-        if [ ! -e "$i" ]; then
-          error=1; msg=errexist; suffix=": $i"; break
-        fi
-
-        if [ ! -b "$i" ]; then
-          t="$(readlink -nf "$i")"
-          if [ ! -b "$t" ]; then
-            suffix=": $t"
-          else
-            suffix=": $i"
-          fi
-          error=1; msg=errblock; break
-        fi
-
-        if ! mdadm --detail "$i" >/dev/null 2>&1; then
-          error=1; msg=errmd; suffix=": $i"; break
-        fi
-
-        if [ -f $CONFIG ]; then
-          if ! egrep -q "^(ARRAY)?[[:space:]]+$i([[:space:]]+|$)" $CONFIG; then
-            t="$(readlink -nf "$i")"
-            if [ -L "$i" ] \
-                && egrep -q "^(ARRAY)?[[:space:]]+$t([[:space:]]|$)+" $CONFIG; then
-              i="$t"
-            else
-              db_set mdadm/initrdstart_notinconf false
-              db_fset mdadm/initrdstart_notinconf seen false
-              db_subst mdadm/initrdstart_notinconf array "$i"
-              db_subst mdadm/initrdstart_notinconf config "$CONFIG"
-              db_input high mdadm/initrdstart_notinconf || :
-              db_go
-              db_get mdadm/initrdstart_notinconf
-              if [ "$RET" = true ]; then
-                md5sum $CONFIG > /var/lib/mdadm/CONF-UNCHECKED
-                error=0
-              else
-                db_fset mdadm/initrdstart seen false
-                db_set mdadm/initrdstart all
-                error=1; msg=errconf; suffix=": $i"; break
-              fi
-            fi
-          fi
-        fi
-
-        # uniquely add device name
-        echo $arrays | egrep -q "\b${i}\b" || arrays="${arrays:+$arrays }$i"
-      done
-
-      if [ $error -eq 0 ]; then
-        INITRDSTART="$arrays"
-        # exit the while true loop
-        break
-      fi
-      ;;
-  esac
-done
-
-db_set mdadm/initrdstart "$INITRDSTART"
-
-if [ "$INITRDSTART" != all ]; then
-  db_input high mdadm/autostart || :
-  db_go
-fi
-
 db_input medium mdadm/autocheck || :
 db_go
 
@@ -197,3 +66,13 @@ if [ "$RET" = true ]; then
   db_input medium mdadm/mail_to || :
   db_go
 fi
+
+# /etc/initramfs-tools/conf.d/mdadm section
+CONFIG="/etc/initramfs-tools/conf.d/mdadm"
+BOOT_DEGRADED=""
+[ -s "$CONFIG" ] && . "$CONFIG"
+if [ -n "$BOOT_DEGRADED" ]; then
+  db_set mdadm/boot_degraded "$BOOT_DEGRADED"
+fi
+db_input medium mdadm/boot_degraded || :
+db_go
diff -pruN 3.2.3-2/debian/mdadm.dirs 3.2.3-2ubuntu1/debian/mdadm.dirs
--- 3.2.3-2/debian/mdadm.dirs	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.dirs	2012-01-29 05:36:30.000000000 +0000
@@ -1,8 +1,10 @@
 sbin
 etc/mdadm
 usr/share/mdadm
+/usr/share/apport/package-hooks
 usr/share/initramfs-tools/hooks
-usr/share/initramfs-tools/scripts/local-top
+usr/share/initramfs-tools/scripts/init-premount
+usr/share/initramfs-tools/scripts/local-premount
 usr/share/bug/mdadm
 usr/share/lintian/overrides
 var/lib/mdadm
diff -pruN 3.2.3-2/debian/mdadm.docs 3.2.3-2ubuntu1/debian/mdadm.docs
--- 3.2.3-2/debian/mdadm.docs	2012-01-18 18:33:55.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.docs	2012-01-29 05:36:29.000000000 +0000
@@ -1,7 +1,5 @@
 debian/docs/*
 TODO
 debian/README.recipes
-debian/README.initramfs-transition
-debian/README.upgrading-2.5.3
 debian/README.checkarray
 debian/FAQ
diff -pruN 3.2.3-2/debian/mdadm.links 3.2.3-2ubuntu1/debian/mdadm.links
--- 3.2.3-2/debian/mdadm.links	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.links	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-sbin/mdadm-startall usr/share/mdadm/startall
diff -pruN 3.2.3-2/debian/mdadm.manpages 3.2.3-2ubuntu1/debian/mdadm.manpages
--- 3.2.3-2/debian/mdadm.manpages	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.manpages	2012-01-29 05:36:30.000000000 +0000
@@ -1 +1,3 @@
-debian/mdadm-startall.8
+mdadm.8
+md.4
+mdadm.conf.5
diff -pruN 3.2.3-2/debian/mdadm.mdadm-blkid.udev 3.2.3-2ubuntu1/debian/mdadm.mdadm-blkid.udev
--- 3.2.3-2/debian/mdadm.mdadm-blkid.udev	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.mdadm-blkid.udev	2011-03-18 15:58:15.000000000 +0000
@@ -0,0 +1,37 @@
+# This file causes Linux RAID (md) block devices to be checked for further
+# filesystems if the array is active. See udev(8) for syntax.
+#
+# Based on Suse's udev rule file for md
+
+SUBSYSTEM!="block", GOTO="mdadm_end"
+KERNEL!="md[0-9]*", GOTO="mdadm_end"
+ACTION!="add|change", GOTO="mdadm_end"
+
+# container devices have a metadata version of e.g. 'external:ddf' and
+# never leave state 'inactive'
+ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state"
+ENV{DEVTYPE}=="partition", GOTO="md_ignore_state"
+TEST!="md/array_state", GOTO="mdadm_end"
+ATTR{md/array_state}=="|clear|inactive", GOTO="mdadm_end"
+LABEL="md_ignore_state"
+
+# Obtain array information
+IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
+ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace"
+ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}"
+ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}"
+ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace"
+ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n"
+ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n"
+ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n"
+
+# by-uuid and by-label symlinks
+IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
+OPTIONS+="link_priority=100"
+OPTIONS+="watch"
+ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", \
+                       SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", \
+                       SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
+
+LABEL="mdadm_end"
diff -pruN 3.2.3-2/debian/mdadm.postinst 3.2.3-2ubuntu1/debian/mdadm.postinst
--- 3.2.3-2/debian/mdadm.postinst	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.postinst	2012-01-29 05:36:29.000000000 +0000
@@ -77,10 +77,6 @@ case "${1:-}" in
     fi
     unset MDADM_MAILADDR__
 
-    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
@@ -97,17 +93,6 @@ case "${1:-}" in
 # rewritten.
 #
 
-# INITRDSTART:
-#   list of arrays (or 'all') to start automatically when the initial ramdisk
-#   loads. This list *must* include the array holding your root filesystem. Use
-#   'none' to prevent any array from being started from the initial ramdisk.
-INITRDSTART='$INITRDSTART'
-
-# AUTOSTART:
-#   should mdadm start arrays listed in /etc/mdadm/mdadm.conf automatically
-#   during boot?
-AUTOSTART=$AUTOSTART
-
 # AUTOCHECK:
 #   should mdadm run periodic redundancy checks over your arrays? See
 #   /etc/cron.d/mdadm.
@@ -131,6 +116,30 @@ VERBOSE=${VERBOSE:-false}
 #   Please see mdadm.conf(5).
 _eof
 
+    db_get mdadm/boot_degraded
+    BOOT_DEGRADED="${RET:-false}"
+    BOOT_DEGRADED_CONFIG="/etc/initramfs-tools/conf.d/mdadm"
+    cat <<_eof > $BOOT_DEGRADED_CONFIG
+# mdadm boot_degraded configuration
+#
+# You can run 'dpkg-reconfigure mdadm' to modify the values in this file, if
+# you want. You can also change the values here and changes will be preserved.
+# Do note that only the values are preserved; the rest of the file is
+# rewritten.
+#
+# BOOT_DEGRADED:
+# Do you want to boot your system if a RAID providing your root filesystem
+# becomes degraded?
+#
+# Running a system with a degraded RAID could result in permanent data loss
+# if it suffers another hardware fault.
+#
+# However, you might answer "yes" if this system is a server, expected to
+# tolerate hardware faults and boot unattended.
+
+BOOT_DEGRADED=$BOOT_DEGRADED
+_eof
+
     db_stop
 
     # try to undo udev rules (installed by 2.5.2-10, see 2.5.3.git200608202239-1
@@ -155,40 +164,14 @@ _eof
       fi
     fi
 
-    command -v update-initramfs >/dev/null 2>&1 && update-initramfs -u
+    # Remove old init script
+    update-rc.d mdadm-raid remove
+
+    update-initramfs -u
     ;;
 esac
 
-# 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
-
-if [ "${1:-}" = "configure" ] && dpkg --compare-versions ${2:-2.6.7-1} lt 2.6.7-1; then
-  # stop RAIDs a bit later, see #486012
-  for i in 0 6; do
-    test -L /etc/rc${i}.d/S50mdadm-raid && test ! -L /etc/rc${i}.d/S60mdadm-raid \
-      && mv /etc/rc${i}.d/S50mdadm-raid /etc/rc${i}.d/S60mdadm-raid
-  done
-fi
-
 # See #369953
 set +u
 #DEBHELPER#
 set -u
-
-# 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
diff -pruN 3.2.3-2/debian/mdadm.postrm 3.2.3-2ubuntu1/debian/mdadm.postrm
--- 3.2.3-2/debian/mdadm.postrm	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.postrm	2012-01-29 05:36:29.000000000 +0000
@@ -7,11 +7,7 @@ set -eu
 
 case "${1:-}" in
   remove)
-    if command -v update-initramfs >/dev/null 2>&1; then
-      echo "W: mdadm: I'll update the initramfs, but if you need MD to boot" >&2
-      echo "W: mdadm: with initramfs, your system may be left unbootable!" >&2
-      update-initramfs -u
-    fi
+    update-initramfs -u
     ;;
 
   purge)
diff -pruN 3.2.3-2/debian/mdadm.preinst 3.2.3-2ubuntu1/debian/mdadm.preinst
--- 3.2.3-2/debian/mdadm.preinst	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.preinst	2012-01-29 05:36:30.000000000 +0000
@@ -35,6 +35,16 @@ case "$1" in
       mv $OLDCONFIG $DEBIANCONFIG
     fi
 
+    # Remove old rules number
+    if [ -f /etc/udev/rules.d/70-mdadm.rules ]; then
+      rm -f /etc/udev/rules.d/70-mdadm.rules
+    fi
+
+    # Remove old init script
+    if [ -f /etc/init.d/mdadm-raid ]; then
+      rm -f /etc/init.d/mdadm-raid
+    fi
+
     # save the v1 output of -Es just in case we need it for upgrades
     MDADM=/sbin/mdadm
     if [ -x "$MDADM" ] && [ -n "${2:-}" ] && \
diff -pruN 3.2.3-2/debian/mdadm-raid 3.2.3-2ubuntu1/debian/mdadm-raid
--- 3.2.3-2/debian/mdadm-raid	2012-01-18 18:30:48.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm-raid	1970-01-01 00:00:00.000000000 +0000
@@ -1,257 +0,0 @@
-#!/bin/sh
-#
-# Start all arrays specified in the configuration file.
-#
-# Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
-# Copyright © 2005-2008 Martin F. Krafft <madduck@debian.org>
-# Distributable under the terms of the GNU GPL version 2.
-#
-### BEGIN INIT INFO
-# Provides:          mdadm-raid
-# Required-Start:    mountkernfs hostname
-# Should-Start:      udev multipath-tools-boot
-# X-Start-Before:    checkfs mountall
-# Required-Stop:     mountkernfs
-# Should-Stop:       udev
-# X-Stop-After:      umountfs
-# Default-Start:     S
-# Default-Stop:      0 6
-# Short-Description: MD array assembly
-# Description:       This script assembles a system's MD arrays, according to
-#                    the settings in /etc/mdadm/mdadm.conf and the preferences
-#                    in /etc/default/mdadm.
-### END INIT INFO
-#
-set -eu
-
-MDADM=/sbin/mdadm
-CONFIG=/etc/mdadm/mdadm.conf
-ALTCONFIG=/etc/mdadm.conf
-DEBIANCONFIG=/etc/default/mdadm
-
-test -x "$MDADM" || exit 0
-
-AUTOSTART=true
-STATEDIR=/run/mdadm
-test -f $DEBIANCONFIG && . $DEBIANCONFIG
-
-. /lib/lsb/init-functions
-
-short_dev()
-{
-  local dev; dev=${1##*/}
-  case "$dev" in
-    md*|md_*|mdp*|mdp_*) echo "$dev";;
-    d*) echo "md_${dev}";;
-    *) echo "md${dev}";;
-  esac
-}
-
-log()
-{
-  case "$1" in
-    [[:digit:]]*) success=$1; shift;;
-    *) :;;
-  esac
-  log_action_begin_msg "$1"; shift
-  log_action_end_msg ${success:-0} "$*"
-}
-
-log_dev()
-{
-  success=${1:-}; shift
-  dev=${1:-}; shift
-  log $success "${PREFIX:-} $(short_dev ${dev:-})" "$*"
-}
-
-log_notice()
-{
-  log 0 "${PREFIX:-}s" "$*"
-}
-
-log_problem()
-{
-  log 1 "${PREFIX:-}s" "$*"
-}
-
-is_true()
-{
-  case "${1:-}" in
-    [Yy]es|[Yy]|1|[Tt]rue|[Tt]) return 0;;
-    *) return 1;
-  esac
-}
-
-case "${1:-}" in
-  start)
-    PREFIX="Assembling MD array"
-
-    if is_true $AUTOSTART || is_true ${MDADM_FORCE_AUTOSTART__:-0}; then
-      if [ ! -f /proc/mdstat ] && [ -x "$(command -v modprobe)" ] ; then
-        modprobe -q md 2>/dev/null || :
-      fi
-      if [ ! -f /proc/mdstat ]; then
-        log_problem "failed to load MD subsystem"
-        exit 0
-      fi
-
-      if [ -f $CONFIG ] || [ -f $ALTCONFIG ]; then
-        # handle devfs-style names and version-1 devices
-        # fail gracefully in case we're on a read-only filesystem, in which
-        # case it's safe to assume that the admin knows what s/he's doing.
-        # See (#382876).
-        mkdir --parent /dev/md || :
-
-        # ugly hack because shell sucks
-        IFSOLD=${IFS:-}
-        IFS='
-'
-        for line in $($MDADM --assemble --scan --auto=yes --symlink=no 2>&1); do
-          IFS=$IFSOLD
-          set -- $line
-          shift
-
-          case "$@" in
-
-            'No arrays found in config file'*)
-              # no point in carrying on.
-              shift
-              log_notice "no $*"
-              exit 0
-              ;;
-
-            'Unknown keyword'*)
-              # warn only
-              if [ -x $(command -v logger >/dev/null) ]; then
-                logger -t mdadm -p syslog.warning -- "$*"
-              elif [ -w /dev/console ]; then
-                echo "mdadm: $*" > /dev/console
-              else
-                echo "mdadm: $*" >&2
-              fi
-              ;;
-
-            *' is already active.')
-              log_dev 0 $1 "already running"
-              ;;
-
-            *'has been started with '[[:digit:]]*' drive'*' (out of '[[:digit:]]*') and '[[:digit:]]*' spare'*'.')
-              log_dev 0 $1 "initialising [$6/${10%).}]"
-              ;;
-
-            *'has been started with '[[:digit:]]*' drive'*' (out of '[[:digit:]]*').')
-              log_dev 0 $1 "degraded [$6/${10%).}]"
-              ;;
-
-            *'has been started with '[[:digit:]]*' drive'*'.')
-              log_dev 0 $1 "started [$6/$6]"
-              ;;
-
-            *'assembled from '[[:digit:]]*' drive'*' - not enough to start the array.')
-              log_dev 1 $1 "not enough devices"
-              ;;
-
-            'no devices found for '*)
-              log_dev 1 $5 "no devices found"
-              ;;
-
-            'failed to RUN_ARRAY '*': Input/output error')
-              log_dev 1 ${4%:} "RUN_ARRAY input/output error"
-              ;;
-
-            *) :;;
-          esac
-        done
-        ret=$?
-
-        log_action_begin_msg "Generating udev events for MD arrays"
-        [ -d $STATEDIR ] || mkdir -p $STATEDIR
-        for uevent in /sys/block/md*/uevent; do
-          test -e $uevent || break
-          sentinel=${uevent#/sys/block/}; sentinel=${sentinel%/uevent}-uevent
-          test -e $STATEDIR/$sentinel && continue
-          test -w $uevent || continue
-          echo add > $uevent
-          test -d $STATEDIR && : > $STATEDIR/$sentinel
-        done
-        log_action_end_msg 0
-
-        [ $ret -ne 0 ] && exit $ret
-
-      else
-        log_problem "no $CONFIG file"
-      fi
-    else
-      log_notice "disabled in $DEBIANCONFIG"
-    fi
-    ;;
-
-  stop)
-    PREFIX="Stopping MD array"
-
-    if is_true $AUTOSTART; then
-      if [ ! -f /proc/mdstat ]; then
-        log_problem "no MD subsystem loaded"
-        exit 0
-      fi
-
-      # ugly hack because shell sucks
-      IFSOLD=${IFS:-}
-      IFS='
-'
-      set +e
-      for line in $($MDADM --stop --scan 2>&1); do
-        set -e
-        IFS=$IFSOLD
-        set -- $line
-        shift
-
-        case "$@" in
-
-          'Unknown keyword'*)
-            # warn only
-            if [ -x $(command -v logger >/dev/null) ]; then
-              logger -t mdadm -p syslog.warning -- "$*"
-            elif [ -w /dev/console ]; then
-              echo "mdadm: $*" > /dev/console
-            else
-              echo "mdadm: $*" >&2
-            fi
-            ;;
-
-          'stopped '*)
-            log_dev 0 $2 stopped
-            ;;
-
-          'fail to stop array '*': Device or resource busy')
-            log_dev 1 ${5%:} busy
-            ;;
-
-          *) :;;
-        esac
-      done || exit $?
-
-      rm -f $STATEDIR/md*-uevent
-
-    else
-      log_notice "disabled in $DEBIANCONFIG"
-    fi
-    ;;
-
-  restart|force-reload)
-    ${0:-} stop
-    ${0:-} start
-    ;;
-
-  reload)
-    PREFIX="Reloading MD array"
-    log_notice "never anything to do"
-    ;;
-
-  *)
-    echo "Usage: ${0:-} {start|stop|restart}" >&2
-    exit 1;;
-
-esac
-
-exit 0
diff -pruN 3.2.3-2/debian/mdadm-startall 3.2.3-2ubuntu1/debian/mdadm-startall
--- 3.2.3-2/debian/mdadm-startall	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm-startall	1970-01-01 00:00:00.000000000 +0000
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# startall -- starts all existing arrays after creating mdadm.conf
-#             overrides the AUTOSTART variable in /etc/default/mdadm
-#
-# Copyright © martin f. krafft <madduck@madduck.net>
-# distributed under the terms of the Artistic Licence 2.0
-#
-set -eu
-
-CONFIG=/etc/mdadm/mdadm.conf
-ALTCONFIG=/etc/mdadm.conf
-
-modprobe -q md 2>/dev/null || :
-
-[ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG
-
-if ! grep -q '^ARRAY' $CONFIG 2>/dev/null; then
-  /usr/share/mdadm/mkconf force-generate || ret=$?
-  case ${ret:-0} in
-    0) :;;
-    *)
-      echo E: mdadm: mdadm.conf creation failed, aborting. >&2
-      exit $ret
-      ;;
-  esac
-else
-  echo W: mdadm: using ARRAYs defined in existing mdadm.conf. >&2
-fi
-
-MDADM_FORCE_AUTOSTART__=1 exec /etc/init.d/mdadm-raid start
diff -pruN 3.2.3-2/debian/mdadm-startall.sgml 3.2.3-2ubuntu1/debian/mdadm-startall.sgml
--- 3.2.3-2/debian/mdadm-startall.sgml	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm-startall.sgml	1970-01-01 00:00:00.000000000 +0000
@@ -1,115 +0,0 @@
-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-
-<!-- Process this file with docbook-to-man to generate an nroff manual
-     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
-     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
-     less'.  A typical entry in a Makefile or Makefile.am is:
-
-manpage.1: manpage.sgml
-	docbook-to-man $< > $@
-
-
-	The docbook-to-man binary is found in the docbook-to-man package.
-	Please remember that if you create the nroff version in one of the
-	debian/rules file targets (such as build), you will need to include
-	docbook-to-man in your Build-Depends control field.
-
-  -->
-
-  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
-  <!ENTITY dhfirstname "<firstname>Eduard</firstname>">
-  <!ENTITY dhsurname   "<surname>Bloch</surname>">
-  <!-- Please adjust the date whenever revising the manpage. -->
-  <!ENTITY dhdate      "<date>April  3, 2007</date>">
-  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
-       allowed: see man(7), man(1). -->
-  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
-  <!ENTITY dhemail     "<email>blade@debian.org</email>">
-  <!ENTITY dhusername  "Eduard Bloch">
-  <!ENTITY dhucpackage "<refentrytitle>mdadm-startall</refentrytitle>">
-  <!ENTITY dhpackage   "mdadm">
-
-  <!ENTITY debian      "<productname>Debian</productname>">
-  <!ENTITY gnu         "<acronym>GNU</acronym>">
-  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
-]>
-
-<refentry>
-  <refentryinfo>
-    <address>
-      &dhemail;
-    </address>
-    <author>
-      &dhfirstname;
-      &dhsurname;
-    </author>
-    <copyright>
-      <year>2007</year>
-      <holder>&dhusername;</holder>
-    </copyright>
-    &dhdate;
-  </refentryinfo>
-  <refmeta>
-    &dhucpackage;
-
-    &dhsection;
-  </refmeta>
-  <refnamediv>
-    <refname>&dhucpackage;</refname>
-
-    <refpurpose>helper script to start all known arrays</refpurpose>
-  </refnamediv>
-  <refsynopsisdiv>
-    <cmdsynopsis>
-      <command>&dhucpackage;</command>
-    </cmdsynopsis>
-  </refsynopsisdiv>
-  <refsect1>
-    <title>DESCRIPTION</title>
-
-    <para>The <command>&dhucpackage;</command> script scans the system for
-    arrays and writes a configuration file matching the current state. It then
-    starts all arrays it found. If a configuration file already exists and
-    defines arrays, it is used instead.
-
-  </refsect1>
-  <refsect1>
-    <title>SEE ALSO</title>
-
-    <para>mdadm (8), mdadm.conf(5)</para>
-  </refsect1>
-  <refsect1>
-    <title>AUTHOR</title>
-
-    <para>This manual page was written by &dhusername; &dhemail; for
-      the &debian; system (but may be used by others).  Permission is
-      granted to copy, distribute and/or modify this document under
-      the terms of the &gnu; General Public License, Version 2 any
-	  later version published by the Free Software Foundation.
-    </para>
-	<para>
-	  On Debian systems, the complete text of the GNU General Public
-	  License can be found in /usr/share/common-licenses/GPL.
-	</para>
-
-  </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-default-dtd-file:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
-
-
diff -pruN 3.2.3-2/debian/mdadm.templates 3.2.3-2ubuntu1/debian/mdadm.templates
--- 3.2.3-2/debian/mdadm.templates	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.templates	2012-01-29 05:36:30.000000000 +0000
@@ -1,87 +1,3 @@
-# These templates have been reviewed by the debian-l10n-english
-# team
-#
-# If modifications/additions/rewording are needed, please ask
-# debian-l10n-english@lists.debian.org for advice.
-#
-# Even minor modifications require translation updates and such
-# changes should be coordinated with translators and reviewers.
-
-Template: mdadm/initrdstart
-Type: string
-Default: all
-#flag:translate!:2
-_Description: MD arrays needed for the root file system:
- ${msg}
- .
- Please enter 'all', 'none', or a space-separated list of devices such as
- 'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted).
-
-Template: mdadm/initrdstart_msg_intro
-Type: text
-_Description: for internal use - only the long description is needed.
- If the system's root file system is located on an MD array (RAID), it needs to be
- started early during the boot sequence. If it is located on
- a logical volume (LVM), which is on MD, all constituent arrays need to be
- started.
- .
- If you know exactly which arrays are needed to bring up the root file system,
- and you want to postpone starting all other arrays to a later point in the
- boot sequence, enter the arrays to start here. Alternatively, enter 'all' to
- simply start all available arrays.
- .
- If you do not need or want to start any arrays for the root file system, leave
- the answer blank (or enter 'none'). This may be the case if you are using
- kernel autostart or do not need any arrays to boot.
-
-Template: mdadm/initrdstart_msg_errexist
-Type: text
-_Description:
- An error occurred: device node does not exist
-
-Template: mdadm/initrdstart_msg_errblock
-Type: text
-_Description:
- An error occurred: not a block device
-
-Template: mdadm/initrdstart_msg_errmd
-Type: text
-_Description:
- An error occurred: not an MD array
-
-Template: mdadm/initrdstart_msg_errconf
-Type: text
-_Description:
- An error occurred: array not listed in mdadm.conf file
-
-Template: mdadm/initrdstart_notinconf
-Type: boolean
-Default: false
-_Description: Start arrays not listed in mdadm.conf?
- The specified array (${array}) is not listed in the configuration
- file (${config}). Therefore, it cannot be started during boot, unless you
- correct the configuration file and recreate the initial ramdisk.
- .
- Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend
- to continue.
- .
- This warning is only relevant if you need arrays to be started from the
- initial ramdisk to be able to boot. If you use kernel autostarting, or do not
- need any arrays to be started as early as the initial ramdisk is loaded, you
- can simply continue. Alternatively, choose not to continue and enter 'none'
- when prompted which arrays to start from the initial ramdisk.
-
-Template: mdadm/autostart
-Type: boolean
-Default: true
-_Description: Do you want to start MD arrays automatically?
- Once the base system has booted, mdadm can start all MD arrays
- (RAIDs) specified in /etc/mdadm/mdadm.conf which have not yet been
- started. This is recommended unless multiple device (MD) support is
- compiled into the kernel and all partitions are marked as belonging
- to MD arrays, with type 0xfd (as those and only those will be started
- automatically by the kernel).
-
 Template: mdadm/autocheck
 Type: boolean
 Default: true
diff -pruN 3.2.3-2/debian/mdadm-udeb.dirs 3.2.3-2ubuntu1/debian/mdadm-udeb.dirs
--- 3.2.3-2/debian/mdadm-udeb.dirs	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm-udeb.dirs	2012-01-29 05:36:30.000000000 +0000
@@ -1,2 +1,4 @@
 sbin
-lib/udev/rules.d
+usr/share/lintian/overrides
+etc/udev/rules.d
+lib/partman
diff -pruN 3.2.3-2/debian/mdadm-udeb.templates 3.2.3-2ubuntu1/debian/mdadm-udeb.templates
--- 3.2.3-2/debian/mdadm-udeb.templates	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm-udeb.templates	2011-03-18 15:58:15.000000000 +0000
@@ -0,0 +1,13 @@
+Template: mdadm/boot_degraded
+Type: boolean
+Default: false
+_Description: Do you want to boot your system if your RAID becomes degraded?
+ If your root filesystem is on a RAID, and a disk is missing at boot, it can
+ either boot with the degraded array, or hold the system at a recovery shell.
+ .
+ Running a system with a degraded RAID could result in permanent data loss
+ if it suffers another hardware fault.
+ .
+ If you do not have access to the server console to use the recovery shell,
+ you might answer "yes" to enable the system to boot unattended.
+
diff -pruN 3.2.3-2/debian/mdadm.udev 3.2.3-2ubuntu1/debian/mdadm.udev
--- 3.2.3-2/debian/mdadm.udev	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mdadm.udev	2011-03-18 15:58:15.000000000 +0000
@@ -0,0 +1,6 @@
+# This file causes block devices with Linux RAID (mdadm) signatures to
+# automatically cause mdadm to be run.
+# See udev(8) for syntax
+
+SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid*", \
+	RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
diff -pruN 3.2.3-2/debian/mkconf.in 3.2.3-2ubuntu1/debian/mkconf.in
--- 3.2.3-2/debian/mkconf.in	2012-01-18 18:30:48.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/mkconf.in	2012-01-29 05:36:30.000000000 +0000
@@ -8,7 +8,6 @@
 set -eu
 
 ME="${0##*/}"
-VERSION=%VERSION%
 MDADM=/sbin/mdadm
 DEBIANCONFIG=/etc/default/mdadm
 CONFIG=/etc/mdadm/mdadm.conf
@@ -44,7 +43,7 @@ case "${1:-}" in
       echo "E: $ME: $CONFIG already exists." >&2
       exit 255
     fi
-
+    
     mkdir --parent ${CONFIG%/*}
     exec >$CONFIG
     generate=1
@@ -77,7 +76,7 @@ if [ -n "${PROGRAM:-}" ]; then
   cat <<-_eof
 	# program to run when mdadm monitor detects potentially interesting events
 	PROGRAM ${PROGRAM}
-
+	
 	_eof
 fi
 
@@ -100,13 +99,11 @@ else
 fi
 
 if [ $generate -eq 1 ]; then
-  echo "# This file was auto-generated on $(date -R)"
-else
-  echo "# This configuration was auto-generated on $(date -R)"
-fi
-echo "# by mkconf $VERSION"
+  cat <<_eof
+# This file was auto-generated on $(date -R)
+# by mkconf \$Id$
+_eof
 
-if [ $generate -eq 1 ]; then
   mkdir -p /var/lib/mdadm
   md5sum $CONFIG > /var/lib/mdadm/mdadm.conf-generated
 fi
diff -pruN 3.2.3-2/debian/patches/debian-changes-3.1.4-1+8efb9d1ubuntu4 3.2.3-2ubuntu1/debian/patches/debian-changes-3.1.4-1+8efb9d1ubuntu4
--- 3.2.3-2/debian/patches/debian-changes-3.1.4-1+8efb9d1ubuntu4	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/patches/debian-changes-3.1.4-1+8efb9d1ubuntu4	2011-12-16 18:26:07.000000000 +0000
@@ -0,0 +1,105 @@
+Description: Upstream changes introduced in version 3.1.4-1+8efb9d1ubuntu4
+ This patch has been created by dpkg-source during the package build.
+ Here's the last changelog entry, hopefully it gives details on why
+ those changes were made:
+ .
+ mdadm (3.1.4-1+8efb9d1ubuntu4) natty; urgency=low
+ .
+   * mdadm udev rule incrementally adds mdadm member when detected. Starting
+     such an array in degraded mode is possible by mdadm -IRs. Using mdadm -ARs
+     without stopping the array first does nothing when no mdarray-unassociated
+     device is available. Using mdadm -IRs to start a previously partially
+     assembled array through incremental mode. Keeping the mdadm -ARs for
+     assembling arrays which were for some reason not assembled through
+     incremental mode (i.e through mdadm's udev rule). (LP: #728435)
+ .
+ The person named in the Author field signed this changelog entry.
+Author: Surbhi Palande <surbhi.palande@canonical.com>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/728435
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+--- mdadm-3.1.4.orig/Assemble.c
++++ mdadm-3.1.4/Assemble.c
+@@ -24,6 +24,7 @@
+ 
+ #include	"mdadm.h"
+ #include	<ctype.h>
++#include	<assert.h>
+ 
+ static int name_matches(char *found, char *required, char *homehost)
+ {
+--- mdadm-3.1.4.orig/config.c
++++ mdadm-3.1.4/config.c
+@@ -30,6 +30,7 @@
+ #include	<ctype.h>
+ #include	<pwd.h>
+ #include	<grp.h>
++#include	<assert.h>
+ 
+ /*
+  * Read the config file
+--- mdadm-3.1.4.orig/ReadMe.c
++++ mdadm-3.1.4/ReadMe.c
+@@ -366,7 +366,7 @@ char Help_build[] =
+ "\n"
+ " This usage is similar to --create.  The difference is that it creates\n"
+ " a legacy array without a superblock.  With these arrays there is no\n"
+-" different between initially creating the array and subsequently\n"
++" difference between initially creating the array and subsequently\n"
+ " assembling the array, except that hopefully there is useful data\n"
+ " there in the second case.\n"
+ "\n"
+--- /dev/null
++++ mdadm-3.1.4/check.d/_numbers
+@@ -0,0 +1 @@
++07 root_on_raid
+--- /dev/null
++++ mdadm-3.1.4/check.d/root_on_raid
+@@ -0,0 +1,35 @@
++#!/bin/sh
++
++. /lib/preseed/preseed.sh
++. /lib/partman/lib/base.sh
++
++# Prompt for BOOT_DEGRADED=true|false if / or /boot is on a /dev/md*
++root_on_raid () {
++	prompt=$(
++		for i in /lib/partman/fstab.d/*; do
++			[ -x "$i" ] || continue
++			$i
++		done |
++		while read fs mp type options dump pass; do
++			if mdadm --detail "$fs" 2>/dev/null | grep -qsi " raid1$"; then
++				if [ "$mp" = "/" ] || [ "$mp" = "/boot" ]; then
++					echo "true"
++				fi
++			fi
++		done
++	)
++	prompt="$(echo "$prompt" | head -n1)"
++	case $prompt in
++		true)
++			db_input critical mdadm/boot_degraded || true
++			db_go || true
++			db_get mdadm/boot_degraded
++			# write to preseed log so that /target knows about it
++			echo mdadm mdadm/boot_degraded boolean "$RET" >> "$logfile"
++
++		  ;;
++	esac
++	exit 0
++}
++
++root_on_raid
diff -pruN 3.2.3-2/debian/patches/series 3.2.3-2ubuntu1/debian/patches/series
--- 3.2.3-2/debian/patches/series	2012-01-18 18:34:08.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/patches/series	2012-01-29 05:36:30.000000000 +0000
@@ -1,3 +1,4 @@
 debian/conffile-location.diff -p1
 debian/disable-udev-incr-assembly.diff -p1
 debian/no-Werror.diff -p1
+debian-changes-3.1.4-1+8efb9d1ubuntu4
diff -pruN 3.2.3-2/debian/po/ca.po 3.2.3-2ubuntu1/debian/po/ca.po
--- 3.2.3-2/debian/po/ca.po	2012-01-18 18:30:48.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/ca.po	2012-02-10 00:05:28.000000000 +0000
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 3.1.4-1+8efb9d1\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2011-05-17 16:54+0100\n"
 "Last-Translator: Innocent De Marchi <tangram.peces@gmail.com>\n"
 "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -18,167 +18,9 @@ msgstr ""
 "X-Poedit-Language: Catalan\n"
 "X-Poedit-Country: SPAIN\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Les matrius MD necessaris per al sistema de fitxers arrel:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Escriviu «all» (tots), «none» (cap) o una llista separada per espais dels "
-"dispositius com  «md0 md1» o «md/1 md/d0» (podeu ometre el «/dev/» inicial)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "per a ús intern, només és necessària la descripció llarga. "
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Si el sistema de fitxers arrel del sistema està en un conjunt MD (RAID), cal "
-"que s'iniciï al principi de la seqüència d'arrencada. Si està en un volum "
-"lògic (LVM), que està definit sobre un MD, cal iniciar totes les matrius que "
-"el constitueixen."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Si sabeu exactament quines matrius són necessàries per arrencar el sistema "
-"de fitxers arrel, i vol ajornar l'arrencada de la resta de conjunts a un "
-"punt posterior de la seqüència d'arrencada, Introduïu aquí els conjunts que "
-"voleu arrencar. També podeu seleccionar «all» per, simplement, arrencar tots "
-"els disponibles."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Si no necessita o vol arrencar qualsevol matriu per al sistema de fitxers "
-"arrel, deixau en blanc la resposta (o escriviu «none»). Pot ésser el seu cas "
-"si fa servir l'auto-arrencada del nucli o no necessiteu cap matriu en "
-"l'arrencada."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "S'ha produït un error: el node de dispositiu no existeix."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "S'ha produït un error: no és un dispositiu de blocs."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "S'ha produït un error: no és un conjunt («array») MD."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr ""
-"S'ha produït un error: la matriu («array») no apareix llistada en el fitxer "
-"de configuració «mdadm.conf»."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Voleu arrencar les matrius no llistats en el fitxer «mdadm.conf»?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"La matriu («array»)  especificada (${array}) no apareix llistada en el "
-"fitxer de configuració (${config}). Per tant, no es pot iniciar la matriu "
-"durant l'arrencada del sistema, llevat que corregeixi el fitxer de "
-"configuració i regenereu el disc RAM inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Si voleu continuar, us aconsellam la lectura de «/usr/share/doc/mdadm/README."
-"upgrading-2.5.3.gz»."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Aquest avís només és important si necessiteu que les matrius s'arrenquin en "
-"el disc RAM inicial per poder arrencar el sistema. Si feu servir l'arrencada "
-"automàtica del nucli o no necessiteu que les matrius  estiguin arrencats "
-"quan es carregui el disc RAM, podeu continuar. També podeu decidir no "
-"continuar i introduir «none» quan se li demani quines matrius   cal iniciar "
-"del disc RAM inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Voleu arrencar automàticament les matrius MD?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"«mdadm» pot iniciar totes les matrius MD (RAIDs) especificades a «/etc/mdadm/"
-"mdadm.conf» quan s'hagi arrancat el sistema base, i en el ben entès que "
-"encara no s'hagin arrancat. Això és recomanable a no ser que el suport de "
-"dispositiu múltiple (MD) sigui compilat en el nucli i totes les particions "
-"que formen la matriu MD siguin marcades amb el tipus «0xfd»  (donat que "
-"només aquestes seran arrancades de forma automàtica pel nucli)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "Voleu que «mdadm» executi comprovacions de redundància mensuals de les "
@@ -186,7 +28,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -205,7 +47,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -215,13 +57,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Desitjau arrencar el dimoni monitor MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -232,22 +74,167 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Es recomana l'activació d'aquesta opció."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Destinatari de les notificacions de correu electrònic:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Introduïu l'adreça de correu electrònic de l'usuari que ha de rebre les "
 "notificacions de correu electrònic per a esdeveniments MD rellevants."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Les matrius MD necessaris per al sistema de fitxers arrel:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Escriviu «all» (tots), «none» (cap) o una llista separada per espais dels "
+#~ "dispositius com  «md0 md1» o «md/1 md/d0» (podeu ometre el «/dev/» "
+#~ "inicial)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "per a ús intern, només és necessària la descripció llarga. "
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Si el sistema de fitxers arrel del sistema està en un conjunt MD (RAID), "
+#~ "cal que s'iniciï al principi de la seqüència d'arrencada. Si està en un "
+#~ "volum lògic (LVM), que està definit sobre un MD, cal iniciar totes les "
+#~ "matrius que el constitueixen."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Si sabeu exactament quines matrius són necessàries per arrencar el "
+#~ "sistema de fitxers arrel, i vol ajornar l'arrencada de la resta de "
+#~ "conjunts a un punt posterior de la seqüència d'arrencada, Introduïu aquí "
+#~ "els conjunts que voleu arrencar. També podeu seleccionar «all» per, "
+#~ "simplement, arrencar tots els disponibles."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Si no necessita o vol arrencar qualsevol matriu per al sistema de fitxers "
+#~ "arrel, deixau en blanc la resposta (o escriviu «none»). Pot ésser el seu "
+#~ "cas si fa servir l'auto-arrencada del nucli o no necessiteu cap matriu en "
+#~ "l'arrencada."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "S'ha produït un error: el node de dispositiu no existeix."
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "S'ha produït un error: no és un dispositiu de blocs."
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "S'ha produït un error: no és un conjunt («array») MD."
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr ""
+#~ "S'ha produït un error: la matriu («array») no apareix llistada en el "
+#~ "fitxer de configuració «mdadm.conf»."
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Voleu arrencar les matrius no llistats en el fitxer «mdadm.conf»?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "La matriu («array»)  especificada (${array}) no apareix llistada en el "
+#~ "fitxer de configuració (${config}). Per tant, no es pot iniciar la matriu "
+#~ "durant l'arrencada del sistema, llevat que corregeixi el fitxer de "
+#~ "configuració i regenereu el disc RAM inicial."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Si voleu continuar, us aconsellam la lectura de «/usr/share/doc/mdadm/"
+#~ "README.upgrading-2.5.3.gz»."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Aquest avís només és important si necessiteu que les matrius s'arrenquin "
+#~ "en el disc RAM inicial per poder arrencar el sistema. Si feu servir "
+#~ "l'arrencada automàtica del nucli o no necessiteu que les matrius  "
+#~ "estiguin arrencats quan es carregui el disc RAM, podeu continuar. També "
+#~ "podeu decidir no continuar i introduir «none» quan se li demani quines "
+#~ "matrius   cal iniciar del disc RAM inicial."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Voleu arrencar automàticament les matrius MD?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "«mdadm» pot iniciar totes les matrius MD (RAIDs) especificades a «/etc/"
+#~ "mdadm/mdadm.conf» quan s'hagi arrancat el sistema base, i en el ben entès "
+#~ "que encara no s'hagin arrancat. Això és recomanable a no ser que el "
+#~ "suport de dispositiu múltiple (MD) sigui compilat en el nucli i totes les "
+#~ "particions que formen la matriu MD siguin marcades amb el tipus "
+#~ "«0xfd»  (donat que només aquestes seran arrancades de forma automàtica "
+#~ "pel nucli)."
diff -pruN 3.2.3-2/debian/po/cs.po 3.2.3-2ubuntu1/debian/po/cs.po
--- 3.2.3-2/debian/po/cs.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/cs.po	2012-02-10 00:05:28.000000000 +0000
@@ -15,7 +15,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-17 21:10+0100\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -24,169 +24,15 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "MD pole vyžadovaná pro kořenový souborový systém:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Zadejte prosím mezerami oddělený seznam zařízení, případně „all“ nebo "
-"„none“. Počáteční „/dev/“ můžete vynechat a zadat jen např. „md0 md1“ nebo "
-"„md/1 md/d0“."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "pro vnitřní použití - pouze kvůli zobrazení dlouhého popisu."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Pokud je kořenový souborový systém umístěn na MD (RAID) svazku, musí být "
-"tento spuštěn během zavádění systému co nejdříve. Pokud se kořenový "
-"souborový systém nachází na logickém svazku LVM, který je vytvořen nad MD "
-"polem, musí se spustit všechna související pole."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Jestliže přesně víte, která pole jsou potřeba pro připojení kořenového "
-"souborového systému a zároveň chcete pozdržet spuštění ostatních polí na "
-"pozdější dobu, zadejte zde prosím pole, která se mají spustit. Chcete-li "
-"spustit všechna dostupná pole, můžete zadat „all“."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Nepotřebujete-li nebo nechcete-li spouštět pole pro kořenový souborový "
-"systém, ponechte odpověď prázdnou, případně zadejte „none“. To může nastat "
-"třeba v případě, že používáte automatický start přímo v jádře, nebo pokud k "
-"zavedení systému žádná pole nepotřebujete."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Vyskytla se chyba: uzel zařízení neexistuje"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Vyskytla se chyba: není blokovým zařízením"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Vyskytla se chyba: není MD polem"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Vyskytla se chyba: pole není uvedeno v souboru mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Spustit pole neuvedená v mdadm.conf?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Zadané pole (${array}) není uvedeno v konfiguračním souboru ${config} a tím "
-"pádem nemůže být spuštěno při zavádění systému. Napravit to můžete opravou "
-"konfiguračního souboru a znovuvytvořením počátečního ramdisku."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Hodláte-li pokračovat, přečtěte si prosím /usr/share/doc/mdadm/README."
-"upgrading-2.5.3.gz."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Toto varování je relevantní pouze pokud k zavedení systému potřebujete, aby "
-"se pole spustila z počátečního ramdisku. Používáte-li automatické spouštění "
-"přímo v jádře, nebo pokud nepotřebujete pouštět žádná pole ještě z "
-"počátečního ramdisku, můžete jednoduše pokračovat. Jinou možností je "
-"nepokračovat dále a při dotazu na seznam polí, která se mají spouštět z "
-"počátečního ramdisku, zadat 'none'."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Chcete spouštět MD pole automaticky?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Po zavedení základního systému může mdadm spustit všechna dosud nespuštěná "
-"MD (RAID) pole uvedená v souboru /etc/mdadm/mdadm.conf. Pokud nemáte "
-"zakompilovanou podporu multiple device (MD) přímo v jádře (kdy se všechna MD "
-"pole označená typem oblasti 0xfd spustí zcela automaticky), pravděpodobně "
-"budete chtít tuto možnost povolit."
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Má mdadm spouštět měsíční kontroly redundance MD polí?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -204,7 +50,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -214,13 +60,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Chcete spustit daemon pro monitorování MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -230,19 +76,19 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Povolení této možnosti je doporučeno."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Příjemce emailových upozornění:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
@@ -250,6 +96,145 @@ msgstr ""
 "Zadejte prosím emailovou adresu uživatele, který má dostávat emailová "
 "upozornění při výskytu významných MD událostí."
 
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "MD pole vyžadovaná pro kořenový souborový systém:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Zadejte prosím mezerami oddělený seznam zařízení, případně „all“ nebo "
+#~ "„none“. Počáteční „/dev/“ můžete vynechat a zadat jen např. „md0 md1“ "
+#~ "nebo „md/1 md/d0“."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "pro vnitřní použití - pouze kvůli zobrazení dlouhého popisu."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Pokud je kořenový souborový systém umístěn na MD (RAID) svazku, musí být "
+#~ "tento spuštěn během zavádění systému co nejdříve. Pokud se kořenový "
+#~ "souborový systém nachází na logickém svazku LVM, který je vytvořen nad MD "
+#~ "polem, musí se spustit všechna související pole."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Jestliže přesně víte, která pole jsou potřeba pro připojení kořenového "
+#~ "souborového systému a zároveň chcete pozdržet spuštění ostatních polí na "
+#~ "pozdější dobu, zadejte zde prosím pole, která se mají spustit. Chcete-li "
+#~ "spustit všechna dostupná pole, můžete zadat „all“."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Nepotřebujete-li nebo nechcete-li spouštět pole pro kořenový souborový "
+#~ "systém, ponechte odpověď prázdnou, případně zadejte „none“. To může "
+#~ "nastat třeba v případě, že používáte automatický start přímo v jádře, "
+#~ "nebo pokud k zavedení systému žádná pole nepotřebujete."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Vyskytla se chyba: uzel zařízení neexistuje"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Vyskytla se chyba: není blokovým zařízením"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Vyskytla se chyba: není MD polem"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Vyskytla se chyba: pole není uvedeno v souboru mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Spustit pole neuvedená v mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Zadané pole (${array}) není uvedeno v konfiguračním souboru ${config} a "
+#~ "tím pádem nemůže být spuštěno při zavádění systému. Napravit to můžete "
+#~ "opravou konfiguračního souboru a znovuvytvořením počátečního ramdisku."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Hodláte-li pokračovat, přečtěte si prosím /usr/share/doc/mdadm/README."
+#~ "upgrading-2.5.3.gz."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Toto varování je relevantní pouze pokud k zavedení systému potřebujete, "
+#~ "aby se pole spustila z počátečního ramdisku. Používáte-li automatické "
+#~ "spouštění přímo v jádře, nebo pokud nepotřebujete pouštět žádná pole "
+#~ "ještě z počátečního ramdisku, můžete jednoduše pokračovat. Jinou možností "
+#~ "je nepokračovat dále a při dotazu na seznam polí, která se mají spouštět "
+#~ "z počátečního ramdisku, zadat 'none'."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Chcete spouštět MD pole automaticky?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Po zavedení základního systému může mdadm spustit všechna dosud "
+#~ "nespuštěná MD (RAID) pole uvedená v souboru /etc/mdadm/mdadm.conf. Pokud "
+#~ "nemáte zakompilovanou podporu multiple device (MD) přímo v jádře (kdy se "
+#~ "všechna MD pole označená typem oblasti 0xfd spustí zcela automaticky), "
+#~ "pravděpodobně budete chtít tuto možnost povolit."
+
 #~ msgid "Initialise the superblock if you reuse hard disks"
 #~ msgstr "Při znovupoužití starších disků inicializujte superblok"
 
diff -pruN 3.2.3-2/debian/po/da.po 3.2.3-2ubuntu1/debian/po/da.po
--- 3.2.3-2/debian/po/da.po	2012-01-18 18:30:48.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/da.po	2012-02-10 00:05:28.000000000 +0000
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2011-04-03 17:30+01:00\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <debian-l10n-danish@lists.debian.org> \n"
@@ -16,168 +16,15 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "MD arrays krævet for rodfilsystemet:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Indtast venligst »all«, »none« eller en mellemrumsadskilt liste af enheder "
-"såsom »md0 md1« eller »md/1 md/d0« (det foranstillede »/dev/« kan udelades)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "for intern brug - kun den lange beskrivelse er krævet."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Hvis systemets rodfilsystem er placeret på en MD-array (RAID), skal det "
-"startes tidligt under opstartssekvensen. Hvis den er placeret på en logisk "
-"diskenhed (LVM), som er på MD, skal alle indgående arrays startes."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Hvis du ved præcis hvilke arrays som er krævet, for at få rodfilsystemet op, "
-"og du ønsker at udsætte start af alle andre arrays til et senere tidspunkt i "
-"opstartssekvensen, så indtast her de arrays som skal startes. Alternativt "
-"kan du indtaste »all« for at starte alle tilgængelige arrays."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Hvis du ikke har brug for eller ønsker at starte nogen arrays for "
-"rodfilsystemet, så efterlad svaret tomt (eller indtast »none«). Dette kan "
-"være tilfældet, hvis du bruger automatisk start af kernen eller ikke skal "
-"bruge arrays til at starte op med."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Der opstod en fejl: Enhedsknude findes ikke"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Der opstod en fejl: Ikke en blokenhed"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Der opstod en fejl: Ikke en MD array"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Der opstod en fejl: Array er ikke anført i mdadm.conf-filen"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Start arrays er ikke anført i mdadm.conf?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Den angivne array (${array}) er ikke anført i konfigurationsfilen "
-"(${config}). Den kan derfor ikke startes under opstarten, med mindre du "
-"retter i konfigurationsfilen og gendanner den oprindleige ramdisk."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Referer venligst til /usr/share/doc/mdadm/README.upgrading-2.5.3.gz hvis du "
-"agter at fortsætte."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Denne advarsel er kun relevant hvis du skal have arrays til at blive startet "
-"fra den oprindelige ramdisk for at kunne starte op. Hvis du bruger den "
-"automatiske opstart i kernen, eller ikke skal bruge at arrays startes så "
-"tidligt som den oprindelige ramdisk indlæses, så kan du bare fortsætte. "
-"Alternativt så vælg at fortsætte og indtaste »none« når du bliver spurgt om "
-"hvilke arrays, der skal startes fra den oprindelige ramdisk."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Ønsker du at starte MD arrays automatisk?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Når først basissystemet er startet op, kan mdadm starte alle MD arrays "
-"(RAID'er) angivet i /etc/mdadm/mdadm.conf, som endnu ikke er blevet startet. "
-"Dette anbefales med mindre understøttelse af flere enheder (MD) er "
-"kompileret ind i kernen og alle partitioner er markeret som tilhørende MD "
-"arrays, med type 0xfd (da disse og kun disse vil blive startet op automatisk "
-"af kernen)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Skal mdadm køre månedlig redundanskontrol af MD arrays?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -196,7 +43,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -206,13 +53,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Ønsker du at starte MD-overvågningsdæmonen?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -222,22 +69,162 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Aktivering af denne indstilling anbefales."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Modtager af e-post-påmindelser:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Indtast venligst e-post-adressen på brugeren, som skal modtage e-post-"
 "påmindelser for vigtige MD-hændelser."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "MD arrays krævet for rodfilsystemet:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Indtast venligst »all«, »none« eller en mellemrumsadskilt liste af "
+#~ "enheder såsom »md0 md1« eller »md/1 md/d0« (det foranstillede »/dev/« kan "
+#~ "udelades)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "for intern brug - kun den lange beskrivelse er krævet."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Hvis systemets rodfilsystem er placeret på en MD-array (RAID), skal det "
+#~ "startes tidligt under opstartssekvensen. Hvis den er placeret på en "
+#~ "logisk diskenhed (LVM), som er på MD, skal alle indgående arrays startes."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Hvis du ved præcis hvilke arrays som er krævet, for at få rodfilsystemet "
+#~ "op, og du ønsker at udsætte start af alle andre arrays til et senere "
+#~ "tidspunkt i opstartssekvensen, så indtast her de arrays som skal startes. "
+#~ "Alternativt kan du indtaste »all« for at starte alle tilgængelige arrays."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Hvis du ikke har brug for eller ønsker at starte nogen arrays for "
+#~ "rodfilsystemet, så efterlad svaret tomt (eller indtast »none«). Dette kan "
+#~ "være tilfældet, hvis du bruger automatisk start af kernen eller ikke skal "
+#~ "bruge arrays til at starte op med."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Der opstod en fejl: Enhedsknude findes ikke"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Der opstod en fejl: Ikke en blokenhed"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Der opstod en fejl: Ikke en MD array"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Der opstod en fejl: Array er ikke anført i mdadm.conf-filen"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Start arrays er ikke anført i mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Den angivne array (${array}) er ikke anført i konfigurationsfilen "
+#~ "(${config}). Den kan derfor ikke startes under opstarten, med mindre du "
+#~ "retter i konfigurationsfilen og gendanner den oprindleige ramdisk."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Referer venligst til /usr/share/doc/mdadm/README.upgrading-2.5.3.gz hvis "
+#~ "du agter at fortsætte."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Denne advarsel er kun relevant hvis du skal have arrays til at blive "
+#~ "startet fra den oprindelige ramdisk for at kunne starte op. Hvis du "
+#~ "bruger den automatiske opstart i kernen, eller ikke skal bruge at arrays "
+#~ "startes så tidligt som den oprindelige ramdisk indlæses, så kan du bare "
+#~ "fortsætte. Alternativt så vælg at fortsætte og indtaste »none« når du "
+#~ "bliver spurgt om hvilke arrays, der skal startes fra den oprindelige "
+#~ "ramdisk."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Ønsker du at starte MD arrays automatisk?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Når først basissystemet er startet op, kan mdadm starte alle MD arrays "
+#~ "(RAID'er) angivet i /etc/mdadm/mdadm.conf, som endnu ikke er blevet "
+#~ "startet. Dette anbefales med mindre understøttelse af flere enheder (MD) "
+#~ "er kompileret ind i kernen og alle partitioner er markeret som tilhørende "
+#~ "MD arrays, med type 0xfd (da disse og kun disse vil blive startet op "
+#~ "automatisk af kernen)."
diff -pruN 3.2.3-2/debian/po/de.po 3.2.3-2ubuntu1/debian/po/de.po
--- 3.2.3-2/debian/po/de.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/de.po	2012-02-10 00:05:28.000000000 +0000
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm 2.6.9-3\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2009-06-24 17:35+0200\n"
 "Last-Translator: Mario Joussen <joussen@debian.org>\n"
 "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -22,170 +22,9 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Fr das Wurzeldateisystem bentigte MD folgende Verbnde:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Bitte geben Sie all, none oder eine leerzeichenseparierte Gerteliste "
-"wie zum Beispiel md0 md1 oder md/1 md/d0 ein (das fhrende /dev kann "
-"weggelassen werden)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr ""
-"fr internen Gebrauch - es wird nur die ausfhrliche Beschreibung bentigt."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Wenn das Wurzeldateisystem Ihres Systems auf einem MD-Verbund (RAID) liegt, "
-"muss es frhzeitig whrend des Bootvorgangs gestartet werden. Wenn sich Ihr "
-"Wurzeldateisystem auf einem logischen Laufwerk (LVM) befindet, das sich "
-"wiederum auf einem MD Verbund befindet, mssen alle zugehrigen Verbnde "
-"gestartet werden."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Wenn Sie genau wissen, welche Verbnde bentigt werden, um das "
-"Wurzeldateisystem zu starten, und Sie den Start der anderen Verbnde auf "
-"einen spteren Zeitpunkt in der Bootreihenfolge verschieben wollen, geben "
-"Sie die zu startenden Verbnde hier ein. Alternativ geben Sie all ein, um "
-"alle verfgbaren Verbnde zu starten."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Falls Sie keine RAID-Verbnde fr das Wurzeldateisystem bentigen oder "
-"starten wollen, lassen Sie die Antwort leer (oder geben none ein). Dies "
-"knnte der Fall sein, wenn Sie entweder die Autostartfunktion des Kernels "
-"verwenden oder keine Verbnde zum Booten bentigen."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Ein Fehler ist aufgetreten: Gerteknoten existiert nicht"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Ein Fehler ist aufgetreten: kein Blockgert"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Ein Fehler ist aufgetreten: kein RAID-Verbund"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr ""
-"Ein Fehler ist aufgetreten: Verbund nicht in der Datei mdadm.conf aufgefhrt"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Nicht in mdadm.conf aufgefhrte Verbnde starten?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Der angegebene Verbund (${array}) ist in der Konfigurationsdatei ${config} "
-"nicht aufgefhrt. Deshalb kann er whrend des Bootvorgangs nicht gestartet "
-"werden, es sei denn, Sie korrigieren die Konfigurationsdatei und erzeugen "
-"die initiale Ramdisk neu."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Bitte lesen Sie /usr/share/doc/mdadm/README.upgrading-2.5.3.gz falls Sie "
-"beabsichtigen fortzufahren."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Diese Warnung ist nur von Bedeutung, wenn Sie RAID-Verbnde, die von der "
-"initialen Ramdisk gestartet werden, bentigen, um booten zu knnen. Falls "
-"Sie die Autostartfunktion des Kernels verwenden oder kein RAID-Verbund zum "
-"frhen Zeitpunkt des Ladens der initialen Ramdisk gestartet werden muss, "
-"knnen Sie einfach fortfahren. Alternativ whlen Sie, nicht fortzufahren und "
-"geben none ein, wenn Sie gefragt werden, welche RAID-Verbnde von der "
-"initialen Ramdisk gestartet werden sollen."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Mchten Sie die RAID-Verbnde automatisch starten?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Sobald das Grundsystem hochgefahren ist, kann mdadm alle in /etc/mdadm/mdadm."
-"conf angegebenen MD-Verbnde (RAID) starten, die noch nicht gestartet "
-"wurden. Dies ist empfohlen, es sei denn, die MD-Untersttzung wurde in den "
-"Kernel einkompiliert und alle Partitionen, die zu MD-Verbnden gehren, "
-"wurden mit dem Typ 0xfd markiert (weil diese und nur diese automatisch vom "
-"Kernel gestartet werden)."
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "Soll mdadm monatlich die Redundanzberprfung auf den RAID-Verbnden "
@@ -193,7 +32,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -212,7 +51,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -222,13 +61,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Mchten Sie den RAID-berwachungsdmon starten?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -238,19 +77,19 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Das Aktivieren dieser Option ist empfohlen."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Empfnger der E-Mail-Benachrichtungen:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
@@ -258,6 +97,154 @@ msgstr ""
 "Geben Sie bitte die E-Mail-Adresse des Benutzers an, der die E-Mail-"
 "Benachrichtigung fr wichtigen MD-Ereignisse erhalten soll."
 
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Fr das Wurzeldateisystem bentigte MD folgende Verbnde:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Bitte geben Sie all, none oder eine leerzeichenseparierte Gerteliste "
+#~ "wie zum Beispiel md0 md1 oder md/1 md/d0 ein (das fhrende /dev "
+#~ "kann weggelassen werden)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr ""
+#~ "fr internen Gebrauch - es wird nur die ausfhrliche Beschreibung "
+#~ "bentigt."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Wenn das Wurzeldateisystem Ihres Systems auf einem MD-Verbund (RAID) "
+#~ "liegt, muss es frhzeitig whrend des Bootvorgangs gestartet werden. Wenn "
+#~ "sich Ihr Wurzeldateisystem auf einem logischen Laufwerk (LVM) befindet, "
+#~ "das sich wiederum auf einem MD Verbund befindet, mssen alle zugehrigen "
+#~ "Verbnde gestartet werden."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Wenn Sie genau wissen, welche Verbnde bentigt werden, um das "
+#~ "Wurzeldateisystem zu starten, und Sie den Start der anderen Verbnde auf "
+#~ "einen spteren Zeitpunkt in der Bootreihenfolge verschieben wollen, geben "
+#~ "Sie die zu startenden Verbnde hier ein. Alternativ geben Sie all ein, "
+#~ "um alle verfgbaren Verbnde zu starten."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Falls Sie keine RAID-Verbnde fr das Wurzeldateisystem bentigen oder "
+#~ "starten wollen, lassen Sie die Antwort leer (oder geben none ein). Dies "
+#~ "knnte der Fall sein, wenn Sie entweder die Autostartfunktion des Kernels "
+#~ "verwenden oder keine Verbnde zum Booten bentigen."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Ein Fehler ist aufgetreten: Gerteknoten existiert nicht"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Ein Fehler ist aufgetreten: kein Blockgert"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Ein Fehler ist aufgetreten: kein RAID-Verbund"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr ""
+#~ "Ein Fehler ist aufgetreten: Verbund nicht in der Datei mdadm.conf "
+#~ "aufgefhrt"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Nicht in mdadm.conf aufgefhrte Verbnde starten?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Der angegebene Verbund (${array}) ist in der Konfigurationsdatei "
+#~ "${config} nicht aufgefhrt. Deshalb kann er whrend des Bootvorgangs "
+#~ "nicht gestartet werden, es sei denn, Sie korrigieren die "
+#~ "Konfigurationsdatei und erzeugen die initiale Ramdisk neu."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Bitte lesen Sie /usr/share/doc/mdadm/README.upgrading-2.5.3.gz falls Sie "
+#~ "beabsichtigen fortzufahren."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Diese Warnung ist nur von Bedeutung, wenn Sie RAID-Verbnde, die von der "
+#~ "initialen Ramdisk gestartet werden, bentigen, um booten zu knnen. Falls "
+#~ "Sie die Autostartfunktion des Kernels verwenden oder kein RAID-Verbund "
+#~ "zum frhen Zeitpunkt des Ladens der initialen Ramdisk gestartet werden "
+#~ "muss, knnen Sie einfach fortfahren. Alternativ whlen Sie, nicht "
+#~ "fortzufahren und geben none ein, wenn Sie gefragt werden, welche RAID-"
+#~ "Verbnde von der initialen Ramdisk gestartet werden sollen."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Mchten Sie die RAID-Verbnde automatisch starten?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Sobald das Grundsystem hochgefahren ist, kann mdadm alle in /etc/mdadm/"
+#~ "mdadm.conf angegebenen MD-Verbnde (RAID) starten, die noch nicht "
+#~ "gestartet wurden. Dies ist empfohlen, es sei denn, die MD-Untersttzung "
+#~ "wurde in den Kernel einkompiliert und alle Partitionen, die zu MD-"
+#~ "Verbnden gehren, wurden mit dem Typ 0xfd markiert (weil diese und nur "
+#~ "diese automatisch vom Kernel gestartet werden)."
+
 #~ msgid "${msg}"
 #~ msgstr "${msg}"
 
diff -pruN 3.2.3-2/debian/po/es.po 3.2.3-2ubuntu1/debian/po/es.po
--- 3.2.3-2/debian/po/es.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/es.po	2012-02-10 00:05:28.000000000 +0000
@@ -39,7 +39,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm 2.5.6-6\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-04-25 17:47+0200\n"
 "Last-Translator: Javier Fernndez-Sanguino <jfs@debian.org>\n"
 "Language-Team: Debian Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -48,170 +48,9 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-15\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Arrays MD necesarios para el sistema de ficheros raz:"
-
-# No se traduce all y none porque no aparecen en la plantilla para traducir los elementos individuales
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Introduzca all (todos),  none (ninguno) o una lista de dispositivos "
-"separados por espacios como por ejemplo puede slo introducir md0 md1 o "
-"md/1 md/d0 (no tiene que preceder los nombres de dispositivos con /dev)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "para uso interno. Slo se utiliza la descripcin larga."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Si el sistema de ficheros raz de su sistema est en un array MD (RAID) "
-"tiene que inicializarse antes durante de la secuencia de arranque. Si est "
-"en un volumen lgico (LVM), que est definido sobre un MD, todos los arrays "
-"que lo forman tienen que haberse inicializado."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Introduzca los arrays a iniciar aqu, si sabe con exactitud cules son "
-"necesarios para arrancar el sistema de ficheros raz y quiere posponer el "
-"arranque de todos los dems arrays a un punto posterior de la secuencia de "
-"arranque. Tambin puede introducir all (todos) para, sencillamente, "
-"iniciar todos los arrays disponibles."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Puede dejar la respuesta en blanco (o introducir none) si no necesita o "
-"desea arrancar los arrays para el sistema de ficheros raz. Este puede ser "
-"su caso si est utilizando el autoarranque del ncleo o no necesita ningn "
-"array para el arranque."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Se produjo un error: el nodo de dispositivo no existe"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Se produjo un error: no es un dispositivo de bloques"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Se produjo un error: no es un array MD"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr ""
-"Se produjo un error: el array no est en la lista definida en el archivo "
-"mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Desea arrancar los arrays no listados en mdadm.conf?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"El array que ha especificado (${array}) no est listado en el fichero de "
-"configuracin ${config}. Este array no podr iniciarse durante el arranque "
-"del sistema a no ser que corrija el fichero de configuracin y regenere el "
-"disco de ram inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Si desea continuar debera leer /usr/share/doc/mdadm/README.upgrading-2.5.3."
-"gz."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Este aviso slo es relevante si necesita que los arrays se inicien en el "
-"disco de RAM inicial para poder arrancar el sistema. Si utiliza el "
-"autoarranque del ncleo o no necesita que los arrays estn arrancados tan "
-"pronto como se cargue el disco de RAM, puede continuar simplemente. Tambin "
-"puede decidir no continuar e introducir none cuando se le pregunte qu "
-"arrays deberan arrancarse del disco de RAM inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Desea iniciar los arrays MD de forma automtica?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Mdadm puede iniciar todos los arrays MD (RAIDs) especificados en /etc/mdadm/"
-"mdadm.conf una vez se haya arrancado el sistema base, siempre que stos no "
-"se hayan arrancado an. Esto es probablemente lo que desea a no ser que haya "
-"compilado el soporte de dispositivos mltiples (MD, multiple devices) en "
-"el ncleo y marcado todas las particiones que son parte de los arrays MD con "
-"el tipo 0xfd (ya que stas, y slo stas, se arrancarn de forma "
-"automtica por el ncleo)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "Debera mdadm ejecutar comprobaciones de redundancia mensuales de los "
@@ -219,7 +58,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -239,7 +78,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -249,13 +88,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Desea arrancar el demonio de monitorizacin MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -266,19 +105,19 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Es opcional habilitar esta opcin."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Destinatario de las notificaciones por correo:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
@@ -287,5 +126,152 @@ msgstr ""
 "recibir las notificaciones por correo de eventos relevantes en los "
 "dispositivos MD."
 
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Arrays MD necesarios para el sistema de ficheros raz:"
+
+# No se traduce all y none porque no aparecen en la plantilla para traducir los elementos individuales
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Introduzca all (todos),  none (ninguno) o una lista de dispositivos "
+#~ "separados por espacios como por ejemplo puede slo introducir md0 md1 o "
+#~ "md/1 md/d0 (no tiene que preceder los nombres de dispositivos con /"
+#~ "dev)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "para uso interno. Slo se utiliza la descripcin larga."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Si el sistema de ficheros raz de su sistema est en un array MD (RAID) "
+#~ "tiene que inicializarse antes durante de la secuencia de arranque. Si "
+#~ "est en un volumen lgico (LVM), que est definido sobre un MD, todos los "
+#~ "arrays que lo forman tienen que haberse inicializado."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Introduzca los arrays a iniciar aqu, si sabe con exactitud cules son "
+#~ "necesarios para arrancar el sistema de ficheros raz y quiere posponer el "
+#~ "arranque de todos los dems arrays a un punto posterior de la secuencia "
+#~ "de arranque. Tambin puede introducir all (todos) para, sencillamente, "
+#~ "iniciar todos los arrays disponibles."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Puede dejar la respuesta en blanco (o introducir none) si no necesita o "
+#~ "desea arrancar los arrays para el sistema de ficheros raz. Este puede "
+#~ "ser su caso si est utilizando el autoarranque del ncleo o no necesita "
+#~ "ningn array para el arranque."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Se produjo un error: el nodo de dispositivo no existe"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Se produjo un error: no es un dispositivo de bloques"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Se produjo un error: no es un array MD"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr ""
+#~ "Se produjo un error: el array no est en la lista definida en el archivo "
+#~ "mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Desea arrancar los arrays no listados en mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "El array que ha especificado (${array}) no est listado en el fichero de "
+#~ "configuracin ${config}. Este array no podr iniciarse durante el "
+#~ "arranque del sistema a no ser que corrija el fichero de configuracin y "
+#~ "regenere el disco de ram inicial."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Si desea continuar debera leer /usr/share/doc/mdadm/README."
+#~ "upgrading-2.5.3.gz."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Este aviso slo es relevante si necesita que los arrays se inicien en el "
+#~ "disco de RAM inicial para poder arrancar el sistema. Si utiliza el "
+#~ "autoarranque del ncleo o no necesita que los arrays estn arrancados tan "
+#~ "pronto como se cargue el disco de RAM, puede continuar simplemente. "
+#~ "Tambin puede decidir no continuar e introducir none cuando se le "
+#~ "pregunte qu arrays deberan arrancarse del disco de RAM inicial."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Desea iniciar los arrays MD de forma automtica?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Mdadm puede iniciar todos los arrays MD (RAIDs) especificados en /etc/"
+#~ "mdadm/mdadm.conf una vez se haya arrancado el sistema base, siempre que "
+#~ "stos no se hayan arrancado an. Esto es probablemente lo que desea a no "
+#~ "ser que haya compilado el soporte de dispositivos mltiples (MD, "
+#~ "multiple devices) en el ncleo y marcado todas las particiones que son "
+#~ "parte de los arrays MD con el tipo 0xfd (ya que stas, y slo stas, se "
+#~ "arrancarn de forma automtica por el ncleo)."
+
 #~ msgid "${msg}"
 #~ msgstr "${msg}"
diff -pruN 3.2.3-2/debian/po/eu.po 3.2.3-2ubuntu1/debian/po/eu.po
--- 3.2.3-2/debian/po/eu.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/eu.po	2012-02-10 00:05:28.000000000 +0000
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm-debconf\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: Y2008-04-30 11:00+0100\n"
 "Last-Translator: Piarres Beobide <pi@beobide.net>\n"
 "Language-Team: Euskara <debian-l10n-basque@lists.debian.org>\n"
@@ -16,169 +16,16 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Erro fitxategi-sistemarentzat beharrezko MD array-ak:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Mesedez idatzi 'denak', 'batez', edo zuriunez bereziriko gailuen zerrenda, "
-"adibidez 'md0 md1' edo 'md/1 md/d0' (hasierako '/dev/' baztertu daiteke)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "barne erabilerako - deskribapen luzea bakarrik behar da."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Sistemaren erro fitxategi-sistema MD array (RAID) batetan kokaturik badago, "
-"berau abio sekuentziaren hasieran abiarazi behar da. MD batetan kokaturiko "
-"bolumen logiko (LVM) batetan badago osatzen duten array guztiak abiarazi "
-"behar dira."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Erro fitxategi-sistema erabiltzeko beharrezkoak diren arrayak zehazki jakin "
-"eta beste array-en abiaraztea abioaren beranduagoko puntu batetara atzeratu "
-"nahi baduzu, idatzi abiarazi beharreko array-ak hemen. Bestela idatzi "
-"'denak' array erabilgarri guztiak abiarazteko."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Ez baduzu erro fitxategi sistemarako array-rik abiarazi behar, hutsik utzi "
-"ezazu (edo 'batez' idatzi). Hau abioan array-rik behar ez duzulako edo "
-"kernel auto-abioa erabiltzen duzulako izan daiteke."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Errore bat gertatu da: gailu nodoa ez dago"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Errore bat gertatu da: ez da bloke gailu bat"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Errore bat gertatu da: ez da MD array bat"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr ""
-"Errore bat gertatu da: array-a ez dago mdadm.conf fitxategian zerrendaturik"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Abiarazi mdadm.conf fitxategian ez dauden array-ak?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Zehazturiko (${array}) array-a ez dago (${config}) konfigurazio fitxategian "
-"zerrendaturiko. Horregatik ezin da abioan abiarazi zuk konfigurazio "
-"fitxategia konpondu eta abio ramdiskoa bersortu arte."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Mesedez irakurri /usr/share/doc/mdadm/README.upgrading-2.5.3.gz aurrera "
-"jarraitu nahi baduzu."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Abisu hau abiarazi ahal izateko ramdisk.etik array-ak baiaraztea behar "
-"baduzu bakarrik da garrantzitsua. Kernel auto-abioa erabiltzen baduzu edo ez "
-"baduzu ramdisk-etik hasieran array-rik kargatzea behar aurrera jarraitu "
-"dezakezu. Bestela ez jarraitzea hautatu eta 'batez' idatzi hasierako ramdisk-"
-"etik kargatu beharreko array-ez galdetzean."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "MD array-ak automatikoki abiarazi nahi al dituzu?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Behin oinarri sistema abiarazi denean, mdadm-ek /etc/mdadm/mdadm.conf-en "
-"konfiguraturiko eta oraindik abiarazi ez diren MD array (RAID) guztiak "
-"abiarazi ditzake. Hau gomendagarria da ez bada gailu anitzeko (MD) onarpena "
-"kernelan konpilaturik eta partizio guztiak MD array partaide bezala "
-"markaturik badaude, 0xfd mota erabiliaz (horrela hauek eta hauek bakarrik "
-"abiaraziko ditu automatikoki kernelak)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "Mdadm-ek hilabetero egin behar al du MD array-en erredundantzia egiaztapena?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -197,7 +44,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -207,13 +54,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "MD monitorizazio deabrua abiarazi nahi al duzu?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -223,22 +70,162 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Aukera hau gaitzea gomendagarria da."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Eposta berri-emateen hartzailea:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Mesedez idatzi MD gertaera garrantzitsuen berri emate mezuak jaso behar "
 "dituen erabiltzailearen eposta helbidea."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Erro fitxategi-sistemarentzat beharrezko MD array-ak:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Mesedez idatzi 'denak', 'batez', edo zuriunez bereziriko gailuen "
+#~ "zerrenda, adibidez 'md0 md1' edo 'md/1 md/d0' (hasierako '/dev/' baztertu "
+#~ "daiteke)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "barne erabilerako - deskribapen luzea bakarrik behar da."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Sistemaren erro fitxategi-sistema MD array (RAID) batetan kokaturik "
+#~ "badago, berau abio sekuentziaren hasieran abiarazi behar da. MD batetan "
+#~ "kokaturiko bolumen logiko (LVM) batetan badago osatzen duten array "
+#~ "guztiak abiarazi behar dira."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Erro fitxategi-sistema erabiltzeko beharrezkoak diren arrayak zehazki "
+#~ "jakin eta beste array-en abiaraztea abioaren beranduagoko puntu batetara "
+#~ "atzeratu nahi baduzu, idatzi abiarazi beharreko array-ak hemen. Bestela "
+#~ "idatzi 'denak' array erabilgarri guztiak abiarazteko."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Ez baduzu erro fitxategi sistemarako array-rik abiarazi behar, hutsik "
+#~ "utzi ezazu (edo 'batez' idatzi). Hau abioan array-rik behar ez duzulako "
+#~ "edo kernel auto-abioa erabiltzen duzulako izan daiteke."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Errore bat gertatu da: gailu nodoa ez dago"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Errore bat gertatu da: ez da bloke gailu bat"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Errore bat gertatu da: ez da MD array bat"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr ""
+#~ "Errore bat gertatu da: array-a ez dago mdadm.conf fitxategian "
+#~ "zerrendaturik"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Abiarazi mdadm.conf fitxategian ez dauden array-ak?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Zehazturiko (${array}) array-a ez dago (${config}) konfigurazio "
+#~ "fitxategian zerrendaturiko. Horregatik ezin da abioan abiarazi zuk "
+#~ "konfigurazio fitxategia konpondu eta abio ramdiskoa bersortu arte."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Mesedez irakurri /usr/share/doc/mdadm/README.upgrading-2.5.3.gz aurrera "
+#~ "jarraitu nahi baduzu."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Abisu hau abiarazi ahal izateko ramdisk.etik array-ak baiaraztea behar "
+#~ "baduzu bakarrik da garrantzitsua. Kernel auto-abioa erabiltzen baduzu edo "
+#~ "ez baduzu ramdisk-etik hasieran array-rik kargatzea behar aurrera "
+#~ "jarraitu dezakezu. Bestela ez jarraitzea hautatu eta 'batez' idatzi "
+#~ "hasierako ramdisk-etik kargatu beharreko array-ez galdetzean."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "MD array-ak automatikoki abiarazi nahi al dituzu?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Behin oinarri sistema abiarazi denean, mdadm-ek /etc/mdadm/mdadm.conf-en "
+#~ "konfiguraturiko eta oraindik abiarazi ez diren MD array (RAID) guztiak "
+#~ "abiarazi ditzake. Hau gomendagarria da ez bada gailu anitzeko (MD) "
+#~ "onarpena kernelan konpilaturik eta partizio guztiak MD array partaide "
+#~ "bezala markaturik badaude, 0xfd mota erabiliaz (horrela hauek eta hauek "
+#~ "bakarrik abiaraziko ditu automatikoki kernelak)."
diff -pruN 3.2.3-2/debian/po/fi.po 3.2.3-2ubuntu1/debian/po/fi.po
--- 3.2.3-2/debian/po/fi.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/fi.po	2012-02-10 00:05:28.000000000 +0000
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-14 11:24+0200\n"
 "Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
 "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -13,166 +13,15 @@ msgstr ""
 "X-Poedit-Language: Finnish\n"
 "X-Poedit-Country: FINLAND\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Juuritiedostojärjestelmän tarvitsemat MD-pakat:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Syötä ”all” (kaikki), ”none” (ei mitään) tai välilyönnein eroteltu lista "
-"laitteista, esimerkiksi ”md0 md1” tai ”md/1 md/d0” (edeltävä /dev/ voidaan "
-"jättää pois)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "vain sisäiseen käyttöön - vain pitkä kuvaus on tarpeellinen."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Jos järjestelmän juuritiedostojärjestelmä sijaitsee MD-levypakassa (RAID), "
-"pakka tulee käynnistää aikaisessa vaiheessa käynnistettäessä järjestelmää. "
-"Jos se sijaitsee loogisella taltiolla (LVM), joka on MD-pakassa, kaikki "
-"taltioon liittyvät pakat tulee käynnistää."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Jos tiedät tarkalleen mitä pakkoja tarvitaan juuritiedostojärjestelmän "
-"käynnistämiseen ja haluat viivästyttää muiden pakkojen käynnistystä, syötä "
-"käynnistettävät pakat tähän. Vaihtoehtoisesti voit käynnistää kaikki pakat "
-"syöttämällä ”all”."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Jos mitään pakkoja ei tarvitse käynnistää juuritiedostojärjestelmän "
-"käyttämiseksi, jätä kenttä tyhjäksi (tai syötä ”none”). Tämä voi olla "
-"tilanne, jos käytät ytimen autokäynnistystä tai et tarvitse mitään pakkoja "
-"käynnistykseen."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Tapahtui virhe: laitetiedostoa ei ole olemassa"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Tapahtui virhe: ei lohkolaite"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Tapahtui virhe: ei MD-pakka"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Tapahtui virhe: pakkaa ei ole listattu tiedostossa mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Käynnistetäänkö pakat, joita ei ole listattu tiedostossa mdadm.conf?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Annettua pakkaa (${array}) ei ole listattu asetustiedostossa (${config}). "
-"Niinpä sitä ei voida käynnistää käynnistettäessä järjestelmä, ellei "
-"asetustiedostoa korjata ja käynnistysmuistilevyä (initrd) luoda uudelleen."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr "Lue /usr/share/doc/mdadm/README.upgrading-2.5.3.gz, jos aiot jatkaa."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Tämä varoitus on aiheellinen vain, jos järjestelmän käynnistäminen vaatii "
-"pakkojen käynnistämistä käynnistysmuistilevyltä. Jos ytimen autokäynnistys "
-"on käytössä tai pakkoja ei tarvita siinä vaiheessa, kun käynnistysmuistilevy "
-"ladataan, voit jatkaa. Vaihtoehtoisesti voit olla jatkamatta ja syöttää "
-"”none” kysyttäessä käynnistysmuistilevyltä käynnistettäviä pakkoja."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Tulisiko MD-pakat käynnistää automaattisesti?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Kun perusjärjestelmä on käynnistynyt, mdadm voi käynnistää kaikki "
-"tiedostossa /etc/mdadm/mdadm.conf luetellut MD-pakat (RAIDit), joita ei ole "
-"vielä käynnistetty. Tämä on suositeltavaa, paitsi jos MD-tuki on käännetty "
-"ytimeen ja kaikki osiot on merkitty kuulumaan MD-pakkoihin tyypillä 0xfd "
-"(koska ydin käynnistää automaattisesti nämä ja vain nämä)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Tulisiko mdadm:n tarkistaa kuukausittain MD-pakkojen eheys?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -191,7 +40,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -201,13 +50,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Haluatko käynnistää MD-seurannan?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -217,22 +66,161 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Tämän valitseminen on suositeltavaa."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Sähköpostiviestien vastaanottaja:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Anna sähköpostiosoite, johon sähköpostitiedotteet tärkeistä MD-tapahtumista "
 "lähetetään."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Juuritiedostojärjestelmän tarvitsemat MD-pakat:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Syötä ”all” (kaikki), ”none” (ei mitään) tai välilyönnein eroteltu lista "
+#~ "laitteista, esimerkiksi ”md0 md1” tai ”md/1 md/d0” (edeltävä /dev/ "
+#~ "voidaan jättää pois)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "vain sisäiseen käyttöön - vain pitkä kuvaus on tarpeellinen."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Jos järjestelmän juuritiedostojärjestelmä sijaitsee MD-levypakassa "
+#~ "(RAID), pakka tulee käynnistää aikaisessa vaiheessa käynnistettäessä "
+#~ "järjestelmää. Jos se sijaitsee loogisella taltiolla (LVM), joka on MD-"
+#~ "pakassa, kaikki taltioon liittyvät pakat tulee käynnistää."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Jos tiedät tarkalleen mitä pakkoja tarvitaan juuritiedostojärjestelmän "
+#~ "käynnistämiseen ja haluat viivästyttää muiden pakkojen käynnistystä, "
+#~ "syötä käynnistettävät pakat tähän. Vaihtoehtoisesti voit käynnistää "
+#~ "kaikki pakat syöttämällä ”all”."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Jos mitään pakkoja ei tarvitse käynnistää juuritiedostojärjestelmän "
+#~ "käyttämiseksi, jätä kenttä tyhjäksi (tai syötä ”none”). Tämä voi olla "
+#~ "tilanne, jos käytät ytimen autokäynnistystä tai et tarvitse mitään "
+#~ "pakkoja käynnistykseen."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Tapahtui virhe: laitetiedostoa ei ole olemassa"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Tapahtui virhe: ei lohkolaite"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Tapahtui virhe: ei MD-pakka"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Tapahtui virhe: pakkaa ei ole listattu tiedostossa mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr ""
+#~ "Käynnistetäänkö pakat, joita ei ole listattu tiedostossa mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Annettua pakkaa (${array}) ei ole listattu asetustiedostossa (${config}). "
+#~ "Niinpä sitä ei voida käynnistää käynnistettäessä järjestelmä, ellei "
+#~ "asetustiedostoa korjata ja käynnistysmuistilevyä (initrd) luoda uudelleen."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Lue /usr/share/doc/mdadm/README.upgrading-2.5.3.gz, jos aiot jatkaa."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Tämä varoitus on aiheellinen vain, jos järjestelmän käynnistäminen vaatii "
+#~ "pakkojen käynnistämistä käynnistysmuistilevyltä. Jos ytimen "
+#~ "autokäynnistys on käytössä tai pakkoja ei tarvita siinä vaiheessa, kun "
+#~ "käynnistysmuistilevy ladataan, voit jatkaa. Vaihtoehtoisesti voit olla "
+#~ "jatkamatta ja syöttää ”none” kysyttäessä käynnistysmuistilevyltä "
+#~ "käynnistettäviä pakkoja."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Tulisiko MD-pakat käynnistää automaattisesti?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Kun perusjärjestelmä on käynnistynyt, mdadm voi käynnistää kaikki "
+#~ "tiedostossa /etc/mdadm/mdadm.conf luetellut MD-pakat (RAIDit), joita ei "
+#~ "ole vielä käynnistetty. Tämä on suositeltavaa, paitsi jos MD-tuki on "
+#~ "käännetty ytimeen ja kaikki osiot on merkitty kuulumaan MD-pakkoihin "
+#~ "tyypillä 0xfd (koska ydin käynnistää automaattisesti nämä ja vain nämä)."
diff -pruN 3.2.3-2/debian/po/fr.po 3.2.3-2ubuntu1/debian/po/fr.po
--- 3.2.3-2/debian/po/fr.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/fr.po	2012-02-10 00:05:28.000000000 +0000
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-15 20:42+0100\n"
 "Last-Translator: Florentin Duneau <fduneau@gmail.com>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -21,175 +21,15 @@ msgstr ""
 "Plural-Forms:  nplurals=2; plural=(n > 1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Ensembles MD requis par le système de fichiers racine :"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Veuillez indiquer « all », « none » ou une liste de périphériques, séparés "
-"par des espaces, par exemple, « md0 md1 » ou « md/1 md/d0 » (vous pouvez "
-"omettre « /dev/ »)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr ""
-"Pour une utilisation interne - seule la description longue est nécessaire"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Si le système de fichiers racine se trouve sur un ensemble MD (RAID), il "
-"doit être lancé au début de la procédure de démarrage. Si le système de "
-"fichiers racine se trouve sur un volume logique (« LVM »), qui se trouve "
-"aussi sur un volume MD, tous les composants de l'ensemble doivent être "
-"démarrés."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Si vous savez exactement quels sont les ensembles RAID nécessaires au "
-"démarrage du système de fichiers racine et si vous souhaitez différer le "
-"démarrage de tous les autres ensembles, veuillez les indiquer ici. Vous "
-"pouvez aussi indiquer « all » pour démarrer tous les ensembles existants."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Si vous n'avez pas besoin ou ne souhaitez pas démarrer d'ensemble RAID pour "
-"le système de fichiers racine, veuillez laissez l'entrée vide (ou entrez "
-"« none »). Ceci peut être le cas si vous utilisez l'option de démarrage "
-"automatique (« autostart ») du noyau ou si vous n'avez besoin d'aucun "
-"ensemble pour démarrer."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Erreur : périphérique inconnu"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Erreur : ce n'est pas un périphérique en mode bloc"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Erreur : ce n'est pas un ensemble RAID"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Erreur : ensemble non mentionné dans le fichier mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Faut-il démarrer les ensembles RAID non mentionnés dans mdadm.conf ?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"L'ensemble (${array}) que vous avez spécifié n'est pas mentionné dans le "
-"fichier de configuration ${config}. Il ne sera donc pas démarré à moins que "
-"vous corrigiez le fichier de configuration et que vous génériez de nouveau "
-"le disque mémoire initial (« ramdisk »)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Veuillez consulter /usr/share/doc/mdadm/README.upgrading-2.5.3.gz si vous "
-"souhaitez continuer."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Cet avertissement n'a de signification que si des ensembles RAID doivent "
-"être lancés à partir du disque mémoire initial afin de pouvoir démarrer le "
-"système. Si vous utilisez le démarrage automatique par le noyau, ou si vous "
-"n'avez pas besoin de lancer d'ensemble RAID depuis le disque mémoire "
-"initial, vous pouvez simplement poursuivre. Vous pouvez aussi choisir de ne "
-"pas poursuivre et entrer « none » lorsqu'il vous sera demandé le nom des "
-"ensembles RAID à démarrer à partir du disque mémoire initial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Faut-il démarrer automatiquement les ensembles RAID ?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Lorsque le système de base a démarré, mdadm peut démarrer tous les ensembles "
-"(RAID) indiqués dans /etc/mdadm/mdadm.conf qui n'ont pas encore été "
-"démarrés. Cela est recommandé, sauf si la gestion MD a été compilée dans le "
-"noyau et que toutes les partitions faisant partie d'un ensemble RAID ont été "
-"marquées avec le type 0xfd (car seul ce type de partition sera démarré "
-"automatiquement par le noyau)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Faut-il vérifier chaque mois la redondance des ensembles RAID ?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -208,7 +48,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -218,13 +58,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Faut-il démarrer le démon de surveillance MD ?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -234,22 +74,168 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Il est recommandé d'activer cette option."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Destinataire des notifications par courriel :"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Veuillez indiquer l'adresse électronique de l'utilisateur qui doit recevoir "
 "les notifications lors d'importants événements MD."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Ensembles MD requis par le système de fichiers racine :"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Veuillez indiquer « all », « none » ou une liste de périphériques, "
+#~ "séparés par des espaces, par exemple, « md0 md1 » ou « md/1 md/d0 » (vous "
+#~ "pouvez omettre « /dev/ »)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr ""
+#~ "Pour une utilisation interne - seule la description longue est nécessaire"
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Si le système de fichiers racine se trouve sur un ensemble MD (RAID), il "
+#~ "doit être lancé au début de la procédure de démarrage. Si le système de "
+#~ "fichiers racine se trouve sur un volume logique (« LVM »), qui se trouve "
+#~ "aussi sur un volume MD, tous les composants de l'ensemble doivent être "
+#~ "démarrés."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Si vous savez exactement quels sont les ensembles RAID nécessaires au "
+#~ "démarrage du système de fichiers racine et si vous souhaitez différer le "
+#~ "démarrage de tous les autres ensembles, veuillez les indiquer ici. Vous "
+#~ "pouvez aussi indiquer « all » pour démarrer tous les ensembles existants."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Si vous n'avez pas besoin ou ne souhaitez pas démarrer d'ensemble RAID "
+#~ "pour le système de fichiers racine, veuillez laissez l'entrée vide (ou "
+#~ "entrez « none »). Ceci peut être le cas si vous utilisez l'option de "
+#~ "démarrage automatique (« autostart ») du noyau ou si vous n'avez besoin "
+#~ "d'aucun ensemble pour démarrer."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Erreur : périphérique inconnu"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Erreur : ce n'est pas un périphérique en mode bloc"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Erreur : ce n'est pas un ensemble RAID"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Erreur : ensemble non mentionné dans le fichier mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr ""
+#~ "Faut-il démarrer les ensembles RAID non mentionnés dans mdadm.conf ?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "L'ensemble (${array}) que vous avez spécifié n'est pas mentionné dans le "
+#~ "fichier de configuration ${config}. Il ne sera donc pas démarré à moins "
+#~ "que vous corrigiez le fichier de configuration et que vous génériez de "
+#~ "nouveau le disque mémoire initial (« ramdisk »)."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Veuillez consulter /usr/share/doc/mdadm/README.upgrading-2.5.3.gz si vous "
+#~ "souhaitez continuer."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Cet avertissement n'a de signification que si des ensembles RAID doivent "
+#~ "être lancés à partir du disque mémoire initial afin de pouvoir démarrer "
+#~ "le système. Si vous utilisez le démarrage automatique par le noyau, ou si "
+#~ "vous n'avez pas besoin de lancer d'ensemble RAID depuis le disque mémoire "
+#~ "initial, vous pouvez simplement poursuivre. Vous pouvez aussi choisir de "
+#~ "ne pas poursuivre et entrer « none » lorsqu'il vous sera demandé le nom "
+#~ "des ensembles RAID à démarrer à partir du disque mémoire initial."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Faut-il démarrer automatiquement les ensembles RAID ?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Lorsque le système de base a démarré, mdadm peut démarrer tous les "
+#~ "ensembles (RAID) indiqués dans /etc/mdadm/mdadm.conf qui n'ont pas encore "
+#~ "été démarrés. Cela est recommandé, sauf si la gestion MD a été compilée "
+#~ "dans le noyau et que toutes les partitions faisant partie d'un ensemble "
+#~ "RAID ont été marquées avec le type 0xfd (car seul ce type de partition "
+#~ "sera démarré automatiquement par le noyau)."
diff -pruN 3.2.3-2/debian/po/gl.po 3.2.3-2ubuntu1/debian/po/gl.po
--- 3.2.3-2/debian/po/gl.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/gl.po	2012-02-10 00:05:28.000000000 +0000
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-06 23:45+0000\n"
 "Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -15,168 +15,16 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Arrays MD necesarios para o sistema de ficheiros raíz"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Introduza \"all\" (todos), \"none\" (ningún) ou unha lista de dispositivos "
-"separados por espazos, tales coma \"md0 md1\" ou \"md/1 md/0\" (pódese "
-"omitir o \"/dev/\" do principio)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "para uso interno - só se precisa da descrición longa."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Se o sistema de ficheiros raíz do sistema está ubicado nun array MD (RAID), "
-"hai que o iniciar no principio da secuencia de inicio. Se está ubicado nun "
-"volume lóxico (LVM) que está nun MD, hai que iniciar os arrays constituíntes."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Se sabe exactamente que arrays son necesarios para erguer o sistema de "
-"ficheiros raíz, e se quere pospor o inicio dos demáis arrays ata un punto "
-"posterior da secuencia de inicio, introduza aquí os arrays a iniciar. "
-"Alternativamente, introduza \"all\" para iniciar tódolos arrays dispoñibles."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Se non quere ou precisa de iniciar ningún array para o sistema de ficheiros "
-"raíz, deixe a resposta en branco (ou introduza \"none\"). Este pode ser o "
-"caso se está a empregar o autoinicio do núcleo ou non precisa de ningún "
-"array para o inicio."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Houbo un erro: o nodo do dispositivo non existe"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Houbo un erro: non é un dispositivo de bloques"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Houbo un erro: non é un array MD"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Houbo un erro: o array non figura no ficheiro mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "¿Iniciar os arrays que non figuran en mdadm.conf?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"O array indicado (${array}) non figura no ficheiro de configuración "
-"(${config}). Polo tanto, non se pode arrincar no inicio do sistema, a menos "
-"que corrixa o ficheiro de configuración e volva crear o disco RAM inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Consulte /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se quere continuar."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Este aviso só é relevante se precisa de iniciar arrays desde o disco RAM "
-"inicial para poder iniciar o sistema. Se emprega autoinicio do núcleo ou non "
-"precisa de iniciar arrays tan pronto como se cargue o disco RAM inicial, "
-"pode continuar. De xeito alternativo, escolla non continuar e introduza "
-"\"none\" cando se lle pregunte que arrays quere iniciar do disco RAM inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "¿Quere iniciar os arrays MD automaticamente?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Despois do inicio do sistema base, mdadm pode iniciar tódolos arrays MD "
-"(RAIDs) especificados en /etc/mdadm/mdadm.conf que non estean aínda "
-"iniciados. Recoméndase isto a menos que o soporte de dispositivos múltiples "
-"(MD) estea compilado no núcleo e tódalas particións estean marcadas coma "
-"parte de arrays MD, con tipo 0xfd (xa que esas, e só esas, as ha iniciar "
-"automaticamente o núcleo)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "¿Debería mdadm facer comprobacións mensuais de redundancia dos arrays MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -195,7 +43,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -205,13 +53,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "¿Quere iniciar o servizo de monitorización de MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -221,19 +69,19 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Recoméndase activar esta opción."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Destinatario para os avisos por email:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
@@ -241,5 +89,147 @@ msgstr ""
 "Introduza o enderezo de email do usuario que debe recibir os avisos por "
 "email de eventos importantes de MD."
 
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Arrays MD necesarios para o sistema de ficheiros raíz"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Introduza \"all\" (todos), \"none\" (ningún) ou unha lista de "
+#~ "dispositivos separados por espazos, tales coma \"md0 md1\" ou \"md/1 "
+#~ "md/0\" (pódese omitir o \"/dev/\" do principio)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "para uso interno - só se precisa da descrición longa."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Se o sistema de ficheiros raíz do sistema está ubicado nun array MD "
+#~ "(RAID), hai que o iniciar no principio da secuencia de inicio. Se está "
+#~ "ubicado nun volume lóxico (LVM) que está nun MD, hai que iniciar os "
+#~ "arrays constituíntes."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Se sabe exactamente que arrays son necesarios para erguer o sistema de "
+#~ "ficheiros raíz, e se quere pospor o inicio dos demáis arrays ata un punto "
+#~ "posterior da secuencia de inicio, introduza aquí os arrays a iniciar. "
+#~ "Alternativamente, introduza \"all\" para iniciar tódolos arrays "
+#~ "dispoñibles."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Se non quere ou precisa de iniciar ningún array para o sistema de "
+#~ "ficheiros raíz, deixe a resposta en branco (ou introduza \"none\"). Este "
+#~ "pode ser o caso se está a empregar o autoinicio do núcleo ou non precisa "
+#~ "de ningún array para o inicio."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Houbo un erro: o nodo do dispositivo non existe"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Houbo un erro: non é un dispositivo de bloques"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Houbo un erro: non é un array MD"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Houbo un erro: o array non figura no ficheiro mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "¿Iniciar os arrays que non figuran en mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "O array indicado (${array}) non figura no ficheiro de configuración "
+#~ "(${config}). Polo tanto, non se pode arrincar no inicio do sistema, a "
+#~ "menos que corrixa o ficheiro de configuración e volva crear o disco RAM "
+#~ "inicial."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Consulte /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se quere "
+#~ "continuar."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Este aviso só é relevante se precisa de iniciar arrays desde o disco RAM "
+#~ "inicial para poder iniciar o sistema. Se emprega autoinicio do núcleo ou "
+#~ "non precisa de iniciar arrays tan pronto como se cargue o disco RAM "
+#~ "inicial, pode continuar. De xeito alternativo, escolla non continuar e "
+#~ "introduza \"none\" cando se lle pregunte que arrays quere iniciar do "
+#~ "disco RAM inicial."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "¿Quere iniciar os arrays MD automaticamente?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Despois do inicio do sistema base, mdadm pode iniciar tódolos arrays MD "
+#~ "(RAIDs) especificados en /etc/mdadm/mdadm.conf que non estean aínda "
+#~ "iniciados. Recoméndase isto a menos que o soporte de dispositivos "
+#~ "múltiples (MD) estea compilado no núcleo e tódalas particións estean "
+#~ "marcadas coma parte de arrays MD, con tipo 0xfd (xa que esas, e só esas, "
+#~ "as ha iniciar automaticamente o núcleo)."
+
 #~ msgid "${msg}"
 #~ msgstr "${msg}"
diff -pruN 3.2.3-2/debian/po/it.po 3.2.3-2ubuntu1/debian/po/it.po
--- 3.2.3-2/debian/po/it.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/it.po	2012-02-10 00:05:28.000000000 +0000
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm italian debconf\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-11-19 11:02+0100\n"
 "Last-Translator: Luca Monducci <luca.mo@tiscali.it>\n"
 "Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
@@ -16,171 +16,15 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Array MD necessari per il file system di root:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Inserire \"all\", \"none\" oppure un elenco dei device separati da uno "
-"spazio, per esempio \"md0 md1\" o \"md/1 md/d0\" (il \"/dev/\" iniziale può "
-"essere omesso)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "uso interno - è necessaria solo la descrizione lunga."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Se il file system di root è su un array MD (RAID), è necessario attivare "
-"tale array all'inizio della sequenza d'avvio. Se è su un volume logico "
-"(LVM), il quale è su un MD, è necessario attivare tutti gli array che "
-"costituiscono il volume."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Se si conoscono esattamente quali sono gli array da attivare per il file "
-"system di root e si vuole rimandare l'attivazione di tutti gli altri array a "
-"una fase successiva della sequenza d'avvio, inserire adesso gli array da "
-"attivare. In alternativa, inserire \"all\" per attivare tutti gli array "
-"disponibili."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Se non si ha bisogno o non si vuole attivare nessun array per il file system "
-"di root, lasciare la risposta in bianco (oppure inserire \"none\"). Questo "
-"potrebbe essere il caso se si utilizza l'attivazione automatica da kernel "
-"oppure se non si ha bisogno di alcun array per l'avvio."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Errore: il nodo del device non esiste"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Errore: non è un device a blocchi"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Errore: non è un array MD"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Errore: array non elencato nel file mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Avviare gli array non elencati in mdadm.conf?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"L'array specificato (${array}) non è presente nel file di configurazione "
-"(${config}): quindi non può essere attivato durante l'avvio senza correggere "
-"il file di configurazione e ricreare il ramdisk iniziale."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Fare riferimento a /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se si "
-"intende proseguire."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Questo avviso è pertinente solo se è necessario attivare gli array dal "
-"ramdisk iniziale per permettere l'avvio. Con l'avvio automatico da kernel o "
-"se non è necessario attivare gli array così presto come al caricamento del "
-"ramdisk iniziale, si può proseguire. In alternativa, scegliere di non "
-"continuare e inserire \"none\" quando viene chiesto quali array attivare dal "
-"ramdisk iniziale."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Avviare gli array MD automaticamente?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Una volta avviato il sistema di base, mdadm può attivare tutti gli array MD "
-"(RAID) specificati in /etc/mdadm/mdadm.conf non ancora attivi. Questa è la "
-"configurazione consigliata tranne quando il supporto per i device multidisco "
-"(MD) è compilato nel kernel e tutte le partizioni appartenenti agli array MD "
-"sono marcate con tipo 0xfd (come quelle che sono attivate automaticamente "
-"dal kernel)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Far eseguire a mdadm i controlli mensili di ridondanza sugli array MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -199,7 +43,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -209,13 +53,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Avviare il demone di monitoraggio MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -225,22 +69,164 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Si raccomanda l'attivazione di questa funzione."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Destinatario delle email di notifica:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Inserire l'indirizzo email dell'utente che deve ricevere le notifiche di "
 "eventi importanti legati al MD."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Array MD necessari per il file system di root:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Inserire \"all\", \"none\" oppure un elenco dei device separati da uno "
+#~ "spazio, per esempio \"md0 md1\" o \"md/1 md/d0\" (il \"/dev/\" iniziale "
+#~ "può essere omesso)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "uso interno - è necessaria solo la descrizione lunga."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Se il file system di root è su un array MD (RAID), è necessario attivare "
+#~ "tale array all'inizio della sequenza d'avvio. Se è su un volume logico "
+#~ "(LVM), il quale è su un MD, è necessario attivare tutti gli array che "
+#~ "costituiscono il volume."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Se si conoscono esattamente quali sono gli array da attivare per il file "
+#~ "system di root e si vuole rimandare l'attivazione di tutti gli altri "
+#~ "array a una fase successiva della sequenza d'avvio, inserire adesso gli "
+#~ "array da attivare. In alternativa, inserire \"all\" per attivare tutti "
+#~ "gli array disponibili."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Se non si ha bisogno o non si vuole attivare nessun array per il file "
+#~ "system di root, lasciare la risposta in bianco (oppure inserire \"none"
+#~ "\"). Questo potrebbe essere il caso se si utilizza l'attivazione "
+#~ "automatica da kernel oppure se non si ha bisogno di alcun array per "
+#~ "l'avvio."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Errore: il nodo del device non esiste"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Errore: non è un device a blocchi"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Errore: non è un array MD"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Errore: array non elencato nel file mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Avviare gli array non elencati in mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "L'array specificato (${array}) non è presente nel file di configurazione "
+#~ "(${config}): quindi non può essere attivato durante l'avvio senza "
+#~ "correggere il file di configurazione e ricreare il ramdisk iniziale."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Fare riferimento a /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se si "
+#~ "intende proseguire."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Questo avviso è pertinente solo se è necessario attivare gli array dal "
+#~ "ramdisk iniziale per permettere l'avvio. Con l'avvio automatico da kernel "
+#~ "o se non è necessario attivare gli array così presto come al caricamento "
+#~ "del ramdisk iniziale, si può proseguire. In alternativa, scegliere di non "
+#~ "continuare e inserire \"none\" quando viene chiesto quali array attivare "
+#~ "dal ramdisk iniziale."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Avviare gli array MD automaticamente?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Una volta avviato il sistema di base, mdadm può attivare tutti gli array "
+#~ "MD (RAID) specificati in /etc/mdadm/mdadm.conf non ancora attivi. Questa "
+#~ "è la configurazione consigliata tranne quando il supporto per i device "
+#~ "multidisco (MD) è compilato nel kernel e tutte le partizioni appartenenti "
+#~ "agli array MD sono marcate con tipo 0xfd (come quelle che sono attivate "
+#~ "automaticamente dal kernel)."
diff -pruN 3.2.3-2/debian/po/ja.po 3.2.3-2ubuntu1/debian/po/ja.po
--- 3.2.3-2/debian/po/ja.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/ja.po	2012-02-10 00:05:28.000000000 +0000
@@ -16,7 +16,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm 2.6.3+200709292116+4450e59-4\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-07 05:52+0900\n"
 "Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
 "Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
@@ -25,167 +25,15 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "ルートファイルシステムに必要な MD アレイ:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"'all' または 'none'、あるいはデバイスのリストを 'md0 md1' や 'md/1 md/d0' の"
-"ようにスペースで区切って入力してください (前に付く '/dev/' は省略可能です)。"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "内部での利用について - でも、長い説明が必要です。"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"あなたのシステムのルートファイルシステムが MD アレイ (RAID) 上に配置されてい"
-"るならば、ブートシーケンスの初期段階で MD アレイを開始する必要があります。"
-"ルートファイルシステムが MD のような論理ボリューム (LVM) 上にある場合は、構成"
-"しているアレイ全ての開始が必要です。"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"どのアレイがルートファイルシステムの立ち上げに必要かを正確に知っており、ブー"
-"トシーケンスの後の時点まで意図しているもの以外全てのアレイ起動を遅らせたい場"
-"合、ここで最初に起動するアレイを入力してください。そうでない場合、'all' と入"
-"力して単に全ての利用可能なアレイを最初に立ち上げてください。"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"ルートファイルシステムのために、どのアレイも必要ない、あるいはどのアレイも起"
-"動したくは無いという場合は、空白のままに (あるいは 'none' と入力) してくださ"
-"い。これは、カーネルで自動的に起動される場合や起動時にはアレイは不要であると"
-"いう場合です。"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "エラーが発生しました: デバイスノードが存在しません"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "エラーが発生しました: ブロックデバイスではありません"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "エラーが発生しました: MD アレイではありません"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "エラーが発生しました: mdadm.conf ファイルに記述されていないアレイです"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "mdadm.conf に記述されていないアレイを起動しますか?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"指定したアレイ (${array}) は設定ファイル (${config}) に記述されていません。そ"
-"のため、設定ファイルを修正して initrd を再生成しなければブート時に起動できま"
-"せん。"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"続行したい場合は、/usr/share/doc/mdadm/README.upgrading-2.5.3.gz を参照してく"
-"ださい。"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"この警告は、ブートできるようにアレイを initrd から起動する必要がある場合だけ"
-"関係します。カーネルで自動的にアレイを起動するようにしている場合、あるいは "
-"initrd がロードされる程早い段階でどのアレイも起動したくはない場合はそのまま続"
-"行できます。他の選択肢としては、起動の続行を中止し、どのアレイを initrd から"
-"起動するかを尋ねられた際に 'none' と入力します。"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "MD アレイを自動的に起動しますか?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"一旦ベースシステムが起動すると、mdadm は /etc/mdadm/mdadm.conf で指定されたま"
-"だ起動していない全ての MD アレイ (RAID) を起動できます。複数のデバイス (MD) "
-"をサポートするようにカーネルをコンパイルしており、MD アレイのすべてのパーティ"
-"ションをパーティションタイプ 0xfd と設定しない限り、これを推奨します (このよ"
-"うな設定にした場合のみ、アレイは自動的にカーネルから起動されます) 。"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "mdadm は、毎月 MD アレイの冗長性チェックを行いますか?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -203,7 +51,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -212,13 +60,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "MD 監視デーモンを起動しますか?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -228,19 +76,19 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "この機能を有効にするのをお勧めします。"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "メール通知の宛先:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
@@ -248,6 +96,146 @@ msgstr ""
 "MD 関連の重大なイベントが発生した際、メールでの通知を受け取る必要があるユーザ"
 "のメールアドレスを入力してください。"
 
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "ルートファイルシステムに必要な MD アレイ:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "'all' または 'none'、あるいはデバイスのリストを 'md0 md1' や 'md/1 md/d0' "
+#~ "のようにスペースで区切って入力してください (前に付く '/dev/' は省略可能で"
+#~ "す)。"
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "内部での利用について - でも、長い説明が必要です。"
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "あなたのシステムのルートファイルシステムが MD アレイ (RAID) 上に配置されて"
+#~ "いるならば、ブートシーケンスの初期段階で MD アレイを開始する必要がありま"
+#~ "す。ルートファイルシステムが MD のような論理ボリューム (LVM) 上にある場合"
+#~ "は、構成しているアレイ全ての開始が必要です。"
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "どのアレイがルートファイルシステムの立ち上げに必要かを正確に知っており、"
+#~ "ブートシーケンスの後の時点まで意図しているもの以外全てのアレイ起動を遅らせ"
+#~ "たい場合、ここで最初に起動するアレイを入力してください。そうでない場"
+#~ "合、'all' と入力して単に全ての利用可能なアレイを最初に立ち上げてください。"
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "ルートファイルシステムのために、どのアレイも必要ない、あるいはどのアレイも"
+#~ "起動したくは無いという場合は、空白のままに (あるいは 'none' と入力) してく"
+#~ "ださい。これは、カーネルで自動的に起動される場合や起動時にはアレイは不要で"
+#~ "あるという場合です。"
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "エラーが発生しました: デバイスノードが存在しません"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "エラーが発生しました: ブロックデバイスではありません"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "エラーが発生しました: MD アレイではありません"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr ""
+#~ "エラーが発生しました: mdadm.conf ファイルに記述されていないアレイです"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "mdadm.conf に記述されていないアレイを起動しますか?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "指定したアレイ (${array}) は設定ファイル (${config}) に記述されていませ"
+#~ "ん。そのため、設定ファイルを修正して initrd を再生成しなければブート時に起"
+#~ "動できません。"
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "続行したい場合は、/usr/share/doc/mdadm/README.upgrading-2.5.3.gz を参照し"
+#~ "てください。"
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "この警告は、ブートできるようにアレイを initrd から起動する必要がある場合だ"
+#~ "け関係します。カーネルで自動的にアレイを起動するようにしている場合、あるい"
+#~ "は initrd がロードされる程早い段階でどのアレイも起動したくはない場合はその"
+#~ "まま続行できます。他の選択肢としては、起動の続行を中止し、どのアレイを "
+#~ "initrd から起動するかを尋ねられた際に 'none' と入力します。"
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "MD アレイを自動的に起動しますか?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "一旦ベースシステムが起動すると、mdadm は /etc/mdadm/mdadm.conf で指定され"
+#~ "たまだ起動していない全ての MD アレイ (RAID) を起動できます。複数のデバイ"
+#~ "ス (MD) をサポートするようにカーネルをコンパイルしており、MD アレイのすべ"
+#~ "てのパーティションをパーティションタイプ 0xfd と設定しない限り、これを推奨"
+#~ "します (このような設定にした場合のみ、アレイは自動的にカーネルから起動され"
+#~ "ます) 。"
+
 #~ msgid ""
 #~ "WARNING! If you are using hard disks which have RAID superblocks from "
 #~ "earlier installations in different RAID arrays, you MUST zero each "
diff -pruN 3.2.3-2/debian/po/nl.po 3.2.3-2ubuntu1/debian/po/nl.po
--- 3.2.3-2/debian/po/nl.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/nl.po	2012-02-10 00:05:28.000000000 +0000
@@ -16,7 +16,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm_2.6.3+200709292116+4450e59-4\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-19 14:04+0100\n"
 "Last-Translator: Frans Pop <elendil@planet.nl>\n"
 "Language-Team: Dutch <debian-l10n-dutch@lists.debian.org>\n"
@@ -26,171 +26,15 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Voor het basisbestandssysteem benodigde RAID-reeksen:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Geef in 'all' (alle), 'none' (geen) of één of meerdere apparaatbestanden "
-"(gescheiden door spaties), bijvoorbeeld \"md0 md1\" of \"md/1 md/d0\" (de "
-"prefix '/dev/' kan dus worden weggelaten)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "Voor intern gebruik - alleen de lange omschrijving wordt gebruikt."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Als het basisbestandssysteem van uw systeem zich op een RAID-volume bevindt, "
-"dient dit vroeg in de opstartcyclus geactiveerd te worden. Als het zich op "
-"een logisch volume (LVM) op RAID bevindt, dienen alle betrokken reeksen "
-"geactiveerd te worden."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Als u precies weet welke reeksen benodigd zijn voor het basisbestandssysteem "
-"en u het activeren van alle overige reeksen wilt uitstellen tot later in de "
-"opstartprocedure, geef dan hier de te activeren reeksen in. Anders kunt u "
-"'all' ingeven om alle beschikbare reeksen te activeren."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Als u geen reeksen hoeft of wenst te activeren voor het "
-"basisbestandssysteem, laat dan het antwoord leeg (of geef 'none' in). Dit "
-"kan het geval zijn als u \"kernel autostart\" gebruikt of geen reeksen nodig "
-"heeft om uw systeem op te starten."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Er is een fout opgetreden: apparaatbestand bestaat niet"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Er is een fout opgetreden: geen blokapparaat"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Er is een fout opgetreden: geen RAID reeks"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Er is een fout opgetreden: reeks komt niet voor in bestand mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Reeksen activeren die niet in mdadm.conf voorkomen?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"De reeks die u heeft opgegeven (${array}) komt niet voor in het "
-"configuratiebestand (${config}). Tenzij u het configuratiebestand corrigeert "
-"en de initiële ramdisk opnieuw aanmaakt, kan deze reeks tijdens het "
-"opstarten van het systeem niet worden geactiveerd."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Zie /usr/share/doc/mdadm/README.upgrading-2.5.3.gz als u van plan bent "
-"verder te gaan."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Deze waarschuwing is alleen relevant als de reeksen geactiveerd moeten "
-"worden vanuit een initiële ramdisk om het systeem te kunnen opstarten. Als u "
-"\"kernel autostart\" gebruikt of er geen reeksen zijn die vanuit de initiële "
-"ramdisk gestart moeten worden, kunt u gewoon doorgaan. Kies anders nu om "
-"niet door te gaan en geef 'none' in bij de vraag welke reeksen vanuit de "
-"initiële ramdisk gestart moeten worden."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "RAID-apparaten automatisch activeren?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Nadat het basissysteem eenmaal is opgestart, kan mdadm zorgdragen voor het "
-"activeren van alle RAID-reeksen die voorkomen in /etc/mdadm/mdadm.conf, maar "
-"nog niet zijn geactiveerd. Dit wordt aanbevolen tenzij \"multiple device"
-"\" (MD) ondersteuning is meegecompileerd in de kernel en alle partities die "
-"deel uitmaken van RAID-reeksen zijn gedefinieerd als type 0xfd (aangezien ze "
-"alleen dan automatisch door de kernel geactiveerd zullen worden)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Maandelijkse redundantiecontrole van RAID-reeksen uitvoeren?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -208,7 +52,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -218,13 +62,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Wilt u de achtergronddienst voor de RAID-monitor starten?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -235,22 +79,166 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Gebruik van deze optie wordt aanbevolen."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Adres voor e-mailberichten:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Wat is het e-mailadres van de gebruiker die de e-mailberichten voor "
 "belangrijke gebeurtenissen met betrekking tot RAID dient te ontvangen."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Voor het basisbestandssysteem benodigde RAID-reeksen:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Geef in 'all' (alle), 'none' (geen) of één of meerdere apparaatbestanden "
+#~ "(gescheiden door spaties), bijvoorbeeld \"md0 md1\" of \"md/1 md/d0\" (de "
+#~ "prefix '/dev/' kan dus worden weggelaten)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "Voor intern gebruik - alleen de lange omschrijving wordt gebruikt."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Als het basisbestandssysteem van uw systeem zich op een RAID-volume "
+#~ "bevindt, dient dit vroeg in de opstartcyclus geactiveerd te worden. Als "
+#~ "het zich op een logisch volume (LVM) op RAID bevindt, dienen alle "
+#~ "betrokken reeksen geactiveerd te worden."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Als u precies weet welke reeksen benodigd zijn voor het "
+#~ "basisbestandssysteem en u het activeren van alle overige reeksen wilt "
+#~ "uitstellen tot later in de opstartprocedure, geef dan hier de te "
+#~ "activeren reeksen in. Anders kunt u 'all' ingeven om alle beschikbare "
+#~ "reeksen te activeren."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Als u geen reeksen hoeft of wenst te activeren voor het "
+#~ "basisbestandssysteem, laat dan het antwoord leeg (of geef 'none' in). Dit "
+#~ "kan het geval zijn als u \"kernel autostart\" gebruikt of geen reeksen "
+#~ "nodig heeft om uw systeem op te starten."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Er is een fout opgetreden: apparaatbestand bestaat niet"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Er is een fout opgetreden: geen blokapparaat"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Er is een fout opgetreden: geen RAID reeks"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr ""
+#~ "Er is een fout opgetreden: reeks komt niet voor in bestand mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Reeksen activeren die niet in mdadm.conf voorkomen?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "De reeks die u heeft opgegeven (${array}) komt niet voor in het "
+#~ "configuratiebestand (${config}). Tenzij u het configuratiebestand "
+#~ "corrigeert en de initiële ramdisk opnieuw aanmaakt, kan deze reeks "
+#~ "tijdens het opstarten van het systeem niet worden geactiveerd."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Zie /usr/share/doc/mdadm/README.upgrading-2.5.3.gz als u van plan bent "
+#~ "verder te gaan."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Deze waarschuwing is alleen relevant als de reeksen geactiveerd moeten "
+#~ "worden vanuit een initiële ramdisk om het systeem te kunnen opstarten. "
+#~ "Als u \"kernel autostart\" gebruikt of er geen reeksen zijn die vanuit de "
+#~ "initiële ramdisk gestart moeten worden, kunt u gewoon doorgaan. Kies "
+#~ "anders nu om niet door te gaan en geef 'none' in bij de vraag welke "
+#~ "reeksen vanuit de initiële ramdisk gestart moeten worden."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "RAID-apparaten automatisch activeren?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Nadat het basissysteem eenmaal is opgestart, kan mdadm zorgdragen voor "
+#~ "het activeren van alle RAID-reeksen die voorkomen in /etc/mdadm/mdadm."
+#~ "conf, maar nog niet zijn geactiveerd. Dit wordt aanbevolen tenzij "
+#~ "\"multiple device\" (MD) ondersteuning is meegecompileerd in de kernel en "
+#~ "alle partities die deel uitmaken van RAID-reeksen zijn gedefinieerd als "
+#~ "type 0xfd (aangezien ze alleen dan automatisch door de kernel geactiveerd "
+#~ "zullen worden)."
diff -pruN 3.2.3-2/debian/po/POTFILES.in 3.2.3-2ubuntu1/debian/po/POTFILES.in
--- 3.2.3-2/debian/po/POTFILES.in	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/POTFILES.in	2012-01-29 05:36:30.000000000 +0000
@@ -1 +1,2 @@
 [type: gettext/rfc822deb] mdadm.templates
+[type: gettext/rfc822deb] mdadm-udeb.templates
diff -pruN 3.2.3-2/debian/po/pt_BR.po 3.2.3-2ubuntu1/debian/po/pt_BR.po
--- 3.2.3-2/debian/po/pt_BR.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/pt_BR.po	2012-02-10 00:05:28.000000000 +0000
@@ -15,7 +15,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2006-09-24 19:22-0300\n"
 "Last-Translator: Felipe Augusto van de Wiel (faw) <faw@cathedrallabs.org>\n"
 "Language-Team: l10n portuguese <debian-l10n-portuguese@lists.debian.org>\n"
@@ -25,207 +25,9 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "pt_BR utf-8\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-#, fuzzy
-#| msgid "MD arrays needed for the root filesystem:"
-msgid "MD arrays needed for the root file system:"
-msgstr "Dispositivos MD necessários para o sistema de arquivos raiz:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-#, fuzzy
-#| msgid ""
-#| "Please enter a space-separated list of devices, 'all', or 'none'. You may "
-#| "omit the leading '/dev/' and just enter e.g. \"md0 md1\", or \"md/1 md/"
-#| "d0\"."
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Por favor, informe uma lista separada por espaços dos dispositivos, 'all' ou "
-"'none'. Você pode omitir a parte inicial '/dev/' e apenas informar, por "
-"exemplo, \"md0 md1\", ou \"md/1 md/d0\"."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "para uso interno - apenas a descrição longa é necessária."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-#, fuzzy
-#| msgid ""
-#| "If your system has its root filesystem on an MD array (RAID), it needs to "
-#| "be started early during the boot sequence. If your root filesystem is on "
-#| "a logical volume (LVM), which is on MD, all constituent arrays need to be "
-#| "started."
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Se o seu sistema tem o sistema de arquivos raiz em um dispositivo MD (RAID), "
-"este precisa ser iniciado mais cedo durante a seqüência de inicialização. Se "
-"o sistema de arquivos raiz está em um volume lógico (LVM), que está em um "
-"MD, todos os dispositivos que o constituem precisam ser iniciados."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-#, fuzzy
-#| msgid ""
-#| "If you know exactly which arrays are needed to bring up the root "
-#| "filesystem, and you want to postpone starting all other arrays to a later "
-#| "point in the boot sequence, enter the arrays to start here. "
-#| "Alternatively, enter 'all' to simply start all available arrays."
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Se você sabe exatamente quais dispositivos são necessários para ativar o "
-"sistema de arquivos raiz, e você deseja adiar o início de todos os outros "
-"dispositivos para um ponto posterior na seqüência de inicialização, informe "
-"os dispositivos a serem iniciados aqui. Como alternativa, informe 'all' para "
-"simplesmente iniciar todos os dispositivos disponíveis."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-#, fuzzy
-#| msgid ""
-#| "If you do not need or want to start any arrays for the root filesystem, "
-#| "leave the answer blank (or enter 'none'). This may be the case if you are "
-#| "using kernel autostart or do not need any arrays to boot."
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Se você não precisa ou não quer iniciar quaisquer dispositivos para o "
-"sistema de arquivos raiz, deixe a resposta em branco (ou informe 'none'). "
-"Este pode ser o caso se você está usando \"kernel autostart\" ou não precisa "
-"de quaisquer dispositivos para a inicialização."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Um erro ocorreu: o dispositivo (\"device node\") não existe"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Um erro ocorreu: não é um dispositivo de blocos"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Um erro ocorreu: não é um dispositivo MD"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Um erro ocorreu: dispositivo não listado no arquivo mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-#, fuzzy
-#| msgid "Proceed with starting arrays not listed in mdadm.conf?"
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Continuar com o início de dispositivos não listados no mdadm.conf?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-#, fuzzy
-#| msgid ""
-#| "The array you have specified (${array}) is not listed in the "
-#| "configuration file ${config}. Therefore it cannot be started during boot, "
-#| "unless you correct the configuration file and recreate the initial "
-#| "ramdisk."
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"O dispositivo que você especificou (${array}) não está listado no arquivo de "
-"configuração ${config}. Portanto não pode ser iniciado durante a "
-"inicialização, a menos que você corrija o arquivo de configuração e recrie o "
-"\"ramdisk\" inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Por favor, veja /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se você "
-"pretende continuar."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Este aviso só é relevante se você precisa de dispositivos que sejam "
-"iniciados a partir do \"ramdisk\" inicial para que seja possível inicializar "
-"o computador. Se você usa \"kernel autostarting\", ou não precisa de "
-"quaisquer dispositivos sendo iniciados tão logo o \"ramdisk\" inicial seja "
-"carregado, você pode simplesmente continuar. Alternativamente, escolha não "
-"continuar e informe 'none' quando perguntado quais dispositivos iniciar a "
-"partir do \"ramdisk\" inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Você deseja iniciar os dispositivos MD automaticamente?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-#, fuzzy
-#| msgid ""
-#| "Once the base system has come up, mdadm can start all MD arrays (RAIDs) "
-#| "specified in /etc/mdadm/mdadm.conf, which have not yet been started. "
-#| "Unless you have compiled multiple device (MD) support into the kernel and "
-#| "marked all partitions part of MD arrays with type 0xfd (as those and only "
-#| "those will be started automatically by the kernel), this is probably what "
-#| "you want."
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Uma vez que o sistema básico esteja disponível, mdadm pode iniciar todos os "
-"dispositivos MD (RAID) especificados em /etc/mdadm/mdadm.conf, que ainda não "
-"foram iniciados. A menos que você tenha compilado o suporte a múltiplos "
-"dispositivos (MD) embutido no kernel e marcado todas as partições que fazem "
-"parte de dispositivos MD com o tipo 0xfd (como as únicas a serem iniciadas "
-"automaticamente pelo kernel), você provavelmente quer ativar esta opção."
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "O mdadm deve, mensalmente, executar checagens de redundância dos "
@@ -233,15 +35,8 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 #, fuzzy
-#| msgid ""
-#| "If your kernel supports it (>> 2.6.14), mdadm can periodically check the "
-#| "redundancy of your MD arrays (RAIDs). This may be a resource-intensive "
-#| "process, depending on your setup, but it could help prevent rare cases of "
-#| "data loss. Note that this is a read-only check unless errors are found; "
-#| "if errors are found, mdadm will try to correct them, which may result in "
-#| "write access to the media."
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -260,11 +55,8 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 #, fuzzy
-#| msgid ""
-#| "The default, if turned on, is to run the checks on the first Sunday of "
-#| "every month at 01:06 o'clock."
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -274,18 +66,14 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Você deseja iniciar o \"daemon\" de monitoramento MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 #, fuzzy
-#| msgid ""
-#| "The MD (RAID) monitor daemon sends email notifications in response to "
-#| "important MD events (such as a disk failure). You probably want to enable "
-#| "it."
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -296,23 +84,20 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr ""
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Destinatário para os e-mails de notificações:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 #, fuzzy
-#| msgid ""
-#| "Please enter the email address of the user who should get the email "
-#| "notification for important MD events."
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
@@ -320,6 +105,159 @@ msgstr ""
 "Por favor, informe o endereço de e-mail do usuário que deverá receber os e-"
 "mails de notificações para estes eventos MD importantes."
 
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#, fuzzy
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Dispositivos MD necessários para o sistema de arquivos raiz:"
+
+#, fuzzy
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Por favor, informe uma lista separada por espaços dos dispositivos, 'all' "
+#~ "ou 'none'. Você pode omitir a parte inicial '/dev/' e apenas informar, "
+#~ "por exemplo, \"md0 md1\", ou \"md/1 md/d0\"."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "para uso interno - apenas a descrição longa é necessária."
+
+#, fuzzy
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Se o seu sistema tem o sistema de arquivos raiz em um dispositivo MD "
+#~ "(RAID), este precisa ser iniciado mais cedo durante a seqüência de "
+#~ "inicialização. Se o sistema de arquivos raiz está em um volume lógico "
+#~ "(LVM), que está em um MD, todos os dispositivos que o constituem precisam "
+#~ "ser iniciados."
+
+#, fuzzy
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Se você sabe exatamente quais dispositivos são necessários para ativar o "
+#~ "sistema de arquivos raiz, e você deseja adiar o início de todos os outros "
+#~ "dispositivos para um ponto posterior na seqüência de inicialização, "
+#~ "informe os dispositivos a serem iniciados aqui. Como alternativa, informe "
+#~ "'all' para simplesmente iniciar todos os dispositivos disponíveis."
+
+#, fuzzy
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Se você não precisa ou não quer iniciar quaisquer dispositivos para o "
+#~ "sistema de arquivos raiz, deixe a resposta em branco (ou informe 'none'). "
+#~ "Este pode ser o caso se você está usando \"kernel autostart\" ou não "
+#~ "precisa de quaisquer dispositivos para a inicialização."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Um erro ocorreu: o dispositivo (\"device node\") não existe"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Um erro ocorreu: não é um dispositivo de blocos"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Um erro ocorreu: não é um dispositivo MD"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Um erro ocorreu: dispositivo não listado no arquivo mdadm.conf"
+
+#, fuzzy
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Continuar com o início de dispositivos não listados no mdadm.conf?"
+
+#, fuzzy
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "O dispositivo que você especificou (${array}) não está listado no arquivo "
+#~ "de configuração ${config}. Portanto não pode ser iniciado durante a "
+#~ "inicialização, a menos que você corrija o arquivo de configuração e "
+#~ "recrie o \"ramdisk\" inicial."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Por favor, veja /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se você "
+#~ "pretende continuar."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Este aviso só é relevante se você precisa de dispositivos que sejam "
+#~ "iniciados a partir do \"ramdisk\" inicial para que seja possível "
+#~ "inicializar o computador. Se você usa \"kernel autostarting\", ou não "
+#~ "precisa de quaisquer dispositivos sendo iniciados tão logo o \"ramdisk\" "
+#~ "inicial seja carregado, você pode simplesmente continuar. "
+#~ "Alternativamente, escolha não continuar e informe 'none' quando "
+#~ "perguntado quais dispositivos iniciar a partir do \"ramdisk\" inicial."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Você deseja iniciar os dispositivos MD automaticamente?"
+
+#, fuzzy
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Uma vez que o sistema básico esteja disponível, mdadm pode iniciar todos "
+#~ "os dispositivos MD (RAID) especificados em /etc/mdadm/mdadm.conf, que "
+#~ "ainda não foram iniciados. A menos que você tenha compilado o suporte a "
+#~ "múltiplos dispositivos (MD) embutido no kernel e marcado todas as "
+#~ "partições que fazem parte de dispositivos MD com o tipo 0xfd (como as "
+#~ "únicas a serem iniciadas automaticamente pelo kernel), você provavelmente "
+#~ "quer ativar esta opção."
+
 #~ msgid "${msg}"
 #~ msgstr "${msg}"
 
diff -pruN 3.2.3-2/debian/po/pt.po 3.2.3-2ubuntu1/debian/po/pt.po
--- 3.2.3-2/debian/po/pt.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/pt.po	2012-02-10 00:05:28.000000000 +0000
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm 2.6.3+200709292116+4450e59-4\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-21 00:15+0000\n"
 "Last-Translator: Pedro Ribeiro <p.m42.ribeiro@gmail.com>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -16,171 +16,16 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Grupos MD necessários para o sistema de ficheiros raiz:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Por favor, introduza 'all', 'none', ou uma lista de dispositivos separados "
-"por espaços, tais como 'md0 md1' ou 'md/1 md/d0' (o '/dev/' inicial pode ser "
-"omitido)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "para uso interno - apenas a descrição longa é necessária"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Se o sistema de ficheiros de raiz do sistema estiver num grupo MD (RAID), "
-"necessita de ser iniciado mais cedo na sequência de arranque. Se o seu "
-"sistema de ficheiros de raiz estiver num volume lógico (LVM) que está no MD, "
-"todos os grupos constituintes necessitam de ser iniciados."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Se souber exactamente que grupos são necessários para iniciar o sistema de "
-"ficheiros raiz, e quiser adiar o inicio de todos os outros grupos para mais "
-"tarde no processo de arranque, introduza os grupos aqui. Alternativamente, "
-"introduza 'all' para iniciar todos os grupos disponíveis."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Se não necessita ou deseja iniciar grupos para o sistema de ficheiros raiz, "
-"deixe a resposta em branco (ou introduza 'none'). Isto vale no caso de usar "
-"o auto-arranque do kernel ou não necessitar de grupos para o arranque do "
-"sistema."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Ocorreu um erro: o nó do dispositivo não existe"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Ocorreu um erro: não é um dispositivo de bloco"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Ocorreu um erro: não é um grupo MD"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Ocorreu um erro: o grupo não está listado no ficheiro mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Iniciar grupos não listados no mdadm.conf?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"O grupo especificado (${array}) não está listado no ficheiro de configuração "
-"(${config}). Portanto, não pode ser iniciado durante o processo de arranque, "
-"a não ser que corrija o ficheiro de configuração e recrie o ramdisk inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Por favor leia o ficheiro /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se "
-"quiser continuar."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Este aviso só é relevante se houver necessidade de iniciar grupos a partir "
-"do ramdisk durante o arranque do sistema. Se usar o auto-arranque do kernel, "
-"ou não necessitar de iniciar os grupos tão cedo no processo de arranque do "
-"sistema, pode simplesmente continuar. Em alternativa, escolha não continuar "
-"e introduza 'none' quando perguntado sobre quais grupos iniciar a partir do "
-"ramdisk inicial."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Quer iniciar os grupos MD automaticamente?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Após o arranque do sistema de base, o mdadm pode iniciar todos os grupos MD "
-"(RAIDs) especificados em /etc/mdadm/mdadm.conf, que ainda não tiverem sido "
-"iniciados. Isto é o recomendado a não ser que tenha compilado o suporte para "
-"dispositivos múltiplos (MD) no kernel e marcado todas as partições que são "
-"parte de grupos MD com o tipo 0xfd (apenas estas serão iniciadas "
-"automaticamente pelo kernel)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "O mdadm deve correr verificações de redundância nos grupos MD mensalmente?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -199,7 +44,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -209,13 +54,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Quer iniciar o deamon de monitorização do MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -226,19 +71,19 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "É recomendado activar esta opção."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Destinatário de email para notificações:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
@@ -246,5 +91,147 @@ msgstr ""
 "Por favor, introduza o endereço de email do utilizador que deve receber as "
 "notificações de eventos MD importantes."
 
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Grupos MD necessários para o sistema de ficheiros raiz:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Por favor, introduza 'all', 'none', ou uma lista de dispositivos "
+#~ "separados por espaços, tais como 'md0 md1' ou 'md/1 md/d0' (o '/dev/' "
+#~ "inicial pode ser omitido)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "para uso interno - apenas a descrição longa é necessária"
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Se o sistema de ficheiros de raiz do sistema estiver num grupo MD (RAID), "
+#~ "necessita de ser iniciado mais cedo na sequência de arranque. Se o seu "
+#~ "sistema de ficheiros de raiz estiver num volume lógico (LVM) que está no "
+#~ "MD, todos os grupos constituintes necessitam de ser iniciados."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Se souber exactamente que grupos são necessários para iniciar o sistema "
+#~ "de ficheiros raiz, e quiser adiar o inicio de todos os outros grupos para "
+#~ "mais tarde no processo de arranque, introduza os grupos aqui. "
+#~ "Alternativamente, introduza 'all' para iniciar todos os grupos "
+#~ "disponíveis."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Se não necessita ou deseja iniciar grupos para o sistema de ficheiros "
+#~ "raiz, deixe a resposta em branco (ou introduza 'none'). Isto vale no caso "
+#~ "de usar o auto-arranque do kernel ou não necessitar de grupos para o "
+#~ "arranque do sistema."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Ocorreu um erro: o nó do dispositivo não existe"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Ocorreu um erro: não é um dispositivo de bloco"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Ocorreu um erro: não é um grupo MD"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Ocorreu um erro: o grupo não está listado no ficheiro mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Iniciar grupos não listados no mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "O grupo especificado (${array}) não está listado no ficheiro de "
+#~ "configuração (${config}). Portanto, não pode ser iniciado durante o "
+#~ "processo de arranque, a não ser que corrija o ficheiro de configuração e "
+#~ "recrie o ramdisk inicial."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Por favor leia o ficheiro /usr/share/doc/mdadm/README.upgrading-2.5.3.gz "
+#~ "se quiser continuar."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Este aviso só é relevante se houver necessidade de iniciar grupos a "
+#~ "partir do ramdisk durante o arranque do sistema. Se usar o auto-arranque "
+#~ "do kernel, ou não necessitar de iniciar os grupos tão cedo no processo de "
+#~ "arranque do sistema, pode simplesmente continuar. Em alternativa, escolha "
+#~ "não continuar e introduza 'none' quando perguntado sobre quais grupos "
+#~ "iniciar a partir do ramdisk inicial."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Quer iniciar os grupos MD automaticamente?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Após o arranque do sistema de base, o mdadm pode iniciar todos os grupos "
+#~ "MD (RAIDs) especificados em /etc/mdadm/mdadm.conf, que ainda não tiverem "
+#~ "sido iniciados. Isto é o recomendado a não ser que tenha compilado o "
+#~ "suporte para dispositivos múltiplos (MD) no kernel e marcado todas as "
+#~ "partições que são parte de grupos MD com o tipo 0xfd (apenas estas serão "
+#~ "iniciadas automaticamente pelo kernel)."
+
 #~ msgid "${msg}"
 #~ msgstr "${msg}"
diff -pruN 3.2.3-2/debian/po/ru.po 3.2.3-2ubuntu1/debian/po/ru.po
--- 3.2.3-2/debian/po/ru.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/ru.po	2012-02-10 00:05:28.000000000 +0000
@@ -15,7 +15,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 2.6.3+200709292116+4450e59-4\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-07 21:02+0300\n"
 "Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
 "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
@@ -27,171 +27,16 @@ msgstr ""
 "Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "MD-массивы, необходимые для корневой файловой системы:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Введите список устройств через пробел, слово 'all' или 'none'. Вы можете не "
-"указывать начальную часть пути типа '/dev/', а просто вводить имена "
-"устройств, например 'md0 md1' или 'md/1 md/d0'."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr ""
-"для внутреннего пользования - нужно использовать только длинное описание."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Если в системе корневая файловая система расположена на MD-массиве (RAID), "
-"он должен быть запущен в самом начале процесса загрузки. Если корневая "
-"файловая система расположена на логическом томе (LVM), который расположен на "
-"MD, то должны быть запущены все составляющие массивы."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Если вы точно знаете, какие массивы требуются для получения работоспособной "
-"корневой файловой системы и хотите отложить запуск остальных массивов на "
-"более поздний момент в процессе загрузки, то введите их здесь. Иначе, "
-"введите слово 'all', чтобы просто запустить все доступные массивы."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Если вам это не нужно, или вы хотите запускать все массивы для корневой "
-"файловой системы, оставьте это поле пустым (или введите слово 'none'). Этот "
-"вариант подходит, если вы используете автоматический запуск из ядра или если "
-"для загрузки массивы ненужны."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Произошла ошибка: нода устройства не существует"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Произошла ошибка: устройство не является блочным"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Произошла ошибка: это не MD-массив"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Произошла ошибка: массив не описан в файле mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Запустить массивы, неописанные в mdadm.conf?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Указанный вами массив (${array}) не описан в конфигурационном файле "
-"(${config}). Поэтому он не может быть запущен при старте машины, пока вы не "
-"исправите конфигурационный файл и не пересоздадите первоначальный ramdisk."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Если вы намерены продолжить, прочитайте /usr/share/doc/mdadm/README."
-"upgrading-2.5.3.gz."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Данное предупреждение уместно только, если вам требуется запускать массивы "
-"из первоначального ramdisk для загрузки машины. Если вы используете "
-"автоматический запуск из ядра или вам не нужны массивы для загрузки на этапе "
-"загрузки первоначального ramdisk, вы можете просто продолжить. Иначе, "
-"выберите не продолжать и введите 'none', когда вам предложат выбрать массивы "
-"для запуска из первоначального ramdisk."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Запускать MD-массивы автоматически?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"После старта базовой системы, mdadm может запустить все MD-массивы (RAIDы), "
-"указанные в файле /etc/mdadm/mdadm.conf, которые ещё не запущены. Нужно "
-"ответить утвердительно, если вы не включили поддержку MD в ядро (в противном "
-"случае ядро само выполняет автоматический запуск MD-массивов из разделов с "
-"типом 0xfd и только с ним)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "Должен ли mdadm запускать ежемесячную проверку избыточности на MD-массивах?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -209,7 +54,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -219,13 +64,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Запускать демон-монитор MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -235,22 +80,164 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Рекомендуется ответить утвердительно."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Получатель уведомительных писем:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Введите адрес электронной почты пользователя, который будет получать "
 "почтовые уведомления о важных изменениях в состоянии MD."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "MD-массивы, необходимые для корневой файловой системы:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Введите список устройств через пробел, слово 'all' или 'none'. Вы можете "
+#~ "не указывать начальную часть пути типа '/dev/', а просто вводить имена "
+#~ "устройств, например 'md0 md1' или 'md/1 md/d0'."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr ""
+#~ "для внутреннего пользования - нужно использовать только длинное описание."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Если в системе корневая файловая система расположена на MD-массиве "
+#~ "(RAID), он должен быть запущен в самом начале процесса загрузки. Если "
+#~ "корневая файловая система расположена на логическом томе (LVM), который "
+#~ "расположен на MD, то должны быть запущены все составляющие массивы."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Если вы точно знаете, какие массивы требуются для получения "
+#~ "работоспособной корневой файловой системы и хотите отложить запуск "
+#~ "остальных массивов на более поздний момент в процессе загрузки, то "
+#~ "введите их здесь. Иначе, введите слово 'all', чтобы просто запустить все "
+#~ "доступные массивы."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Если вам это не нужно, или вы хотите запускать все массивы для корневой "
+#~ "файловой системы, оставьте это поле пустым (или введите слово 'none'). "
+#~ "Этот вариант подходит, если вы используете автоматический запуск из ядра "
+#~ "или если для загрузки массивы ненужны."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Произошла ошибка: нода устройства не существует"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Произошла ошибка: устройство не является блочным"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Произошла ошибка: это не MD-массив"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Произошла ошибка: массив не описан в файле mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Запустить массивы, неописанные в mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Указанный вами массив (${array}) не описан в конфигурационном файле "
+#~ "(${config}). Поэтому он не может быть запущен при старте машины, пока вы "
+#~ "не исправите конфигурационный файл и не пересоздадите первоначальный "
+#~ "ramdisk."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Если вы намерены продолжить, прочитайте /usr/share/doc/mdadm/README."
+#~ "upgrading-2.5.3.gz."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Данное предупреждение уместно только, если вам требуется запускать "
+#~ "массивы из первоначального ramdisk для загрузки машины. Если вы "
+#~ "используете автоматический запуск из ядра или вам не нужны массивы для "
+#~ "загрузки на этапе загрузки первоначального ramdisk, вы можете просто "
+#~ "продолжить. Иначе, выберите не продолжать и введите 'none', когда вам "
+#~ "предложат выбрать массивы для запуска из первоначального ramdisk."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Запускать MD-массивы автоматически?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "После старта базовой системы, mdadm может запустить все MD-массивы "
+#~ "(RAIDы), указанные в файле /etc/mdadm/mdadm.conf, которые ещё не "
+#~ "запущены. Нужно ответить утвердительно, если вы не включили поддержку MD "
+#~ "в ядро (в противном случае ядро само выполняет автоматический запуск MD-"
+#~ "массивов из разделов с типом 0xfd и только с ним)."
diff -pruN 3.2.3-2/debian/po/sk.po 3.2.3-2ubuntu1/debian/po/sk.po
--- 3.2.3-2/debian/po/sk.po	2012-01-18 18:35:43.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/sk.po	2012-02-10 00:05:28.000000000 +0000
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm 3.2.2-1\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2011-09-18 11:22+0200\n"
 "Last-Translator: Slavko <linux@slavino.sk>\n"
 "Language-Team: Slovak <debian-l10n-slovak@lists.debian.org>\n"
@@ -19,167 +19,15 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Polia MD, potrebné pre koreň súborového systému:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Prosím, zadajte „all”, „none” alebo medzerou oddelený zoznam zariadení, "
-"napr. „md0 md1” alebo „md/1 md/d0” (počiatočné „/dev/” môže byť vynechané)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "na interné použitie – potrebný je len dlhý popis."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Ak je koreň súborového systému umiestnený na poli MD (RAID), musí byť "
-"spustený počas zavádzania systému. Ak je koreň umiestnený na logickom zväzku "
-"(LVM), ktorý je na MD, musia byť spustené všetky súvisiace polia."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Ak viete presne, ktoré polia sú potrebné na pripojenie koreňa súborového "
-"systému a chcete odložiť štart všetkých ostatných polí na neskorší okamih "
-"zavádzania, zadajte tu polia, ktoré majú byť spustené. Alebo zadajte „all”, "
-"čím budú jednoducho spustené všetky dostupné polia."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Ak pre koreň súborového systému nepotrebujete alebo nechcete spúšťať žiadne "
-"polia, nechajte odpoveď prázdnu (alebo zadajte „none”). Tento prípad môže "
-"nastať, ak používate automatický štart polí priamo v jadre alebo "
-"nepotrebujete pri zavádzaní žiadne polia."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Nastala chyba: uzol zariadenia neexistuje"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Nastala chyba: nie je blokové zariadenie"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Nastala chyba: nie je pole MD"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Nastala chyba: pole nie je uvedené v súbore mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Spustiť polia, ktoré nie sú uvedené v mdadm.conf?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Zadané pole (${array}) nie je uvedené v konfiguračnom súbore (${config}), a "
-"preto nemôže byť spustené počas zavádzania, až kým neopravíte konfiguračný "
-"súbor a nevytvoríte nový počiatočný ramdisk (initrd)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Ak chcete pokračovať, prečítajte si /usr/share/doc/mdadm/README."
-"upgrading-2.5.3.gz."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Toto varovanie je dôležité, len ak potrebujete aby boli polia spúšťané z "
-"počiatočného ramdisku, aby boli dostupné počas zavádzania. Ak používate "
-"automatické spúšťanie polí priamo z jadra, alebo ak nepotrebujte aby boli "
-"polia spúšťané tak skoro (z počiatočného ramdisku), môžete prosto "
-"pokračovať. Alebo môžete zvoliť nepokračovať a odpovedať „none” na otázku, "
-"ktoré polia majú byť spúšťané z počiatočného ramdisku."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Chcete spúšťať polia MD automaticky?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Po zavedení základného systému môže mdadm spustiť všetky polia MD (RAIDy) "
-"definované v /etc/mdadm/mdadm.conf, ktoré ešte neboli spustené. Toto je "
-"odporúčané, ibaže máte v jadre zakompilovanú podporu multiple device (MD) a "
-"všetky partície sú označené ako patriace do polí MD s typom 0xfd (pretože "
-"tieto a len tieto budú automaticky spúšťané jadrom)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Má mdadm spúšťať mesačnú kontrolu redundancie polí MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -197,7 +45,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -207,13 +55,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Chcete spustiť démona monitorovania MD?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -223,22 +71,160 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Povolenie tejto možnosti je odporúčané."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Príjemca emailových upozornení:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Prosím, zadajte emailovú adresu používateľa, ktorý má dostávať emailové "
 "upozornenia na dôležité udalosti MD."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Polia MD, potrebné pre koreň súborového systému:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Prosím, zadajte „all”, „none” alebo medzerou oddelený zoznam zariadení, "
+#~ "napr. „md0 md1” alebo „md/1 md/d0” (počiatočné „/dev/” môže byť "
+#~ "vynechané)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "na interné použitie – potrebný je len dlhý popis."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Ak je koreň súborového systému umiestnený na poli MD (RAID), musí byť "
+#~ "spustený počas zavádzania systému. Ak je koreň umiestnený na logickom "
+#~ "zväzku (LVM), ktorý je na MD, musia byť spustené všetky súvisiace polia."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Ak viete presne, ktoré polia sú potrebné na pripojenie koreňa súborového "
+#~ "systému a chcete odložiť štart všetkých ostatných polí na neskorší okamih "
+#~ "zavádzania, zadajte tu polia, ktoré majú byť spustené. Alebo zadajte "
+#~ "„all”, čím budú jednoducho spustené všetky dostupné polia."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Ak pre koreň súborového systému nepotrebujete alebo nechcete spúšťať "
+#~ "žiadne polia, nechajte odpoveď prázdnu (alebo zadajte „none”). Tento "
+#~ "prípad môže nastať, ak používate automatický štart polí priamo v jadre "
+#~ "alebo nepotrebujete pri zavádzaní žiadne polia."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Nastala chyba: uzol zariadenia neexistuje"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Nastala chyba: nie je blokové zariadenie"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Nastala chyba: nie je pole MD"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Nastala chyba: pole nie je uvedené v súbore mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Spustiť polia, ktoré nie sú uvedené v mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Zadané pole (${array}) nie je uvedené v konfiguračnom súbore (${config}), "
+#~ "a preto nemôže byť spustené počas zavádzania, až kým neopravíte "
+#~ "konfiguračný súbor a nevytvoríte nový počiatočný ramdisk (initrd)."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Ak chcete pokračovať, prečítajte si /usr/share/doc/mdadm/README."
+#~ "upgrading-2.5.3.gz."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Toto varovanie je dôležité, len ak potrebujete aby boli polia spúšťané z "
+#~ "počiatočného ramdisku, aby boli dostupné počas zavádzania. Ak používate "
+#~ "automatické spúšťanie polí priamo z jadra, alebo ak nepotrebujte aby boli "
+#~ "polia spúšťané tak skoro (z počiatočného ramdisku), môžete prosto "
+#~ "pokračovať. Alebo môžete zvoliť nepokračovať a odpovedať „none” na "
+#~ "otázku, ktoré polia majú byť spúšťané z počiatočného ramdisku."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Chcete spúšťať polia MD automaticky?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Po zavedení základného systému môže mdadm spustiť všetky polia MD (RAIDy) "
+#~ "definované v /etc/mdadm/mdadm.conf, ktoré ešte neboli spustené. Toto je "
+#~ "odporúčané, ibaže máte v jadre zakompilovanú podporu multiple device (MD) "
+#~ "a všetky partície sú označené ako patriace do polí MD s typom 0xfd "
+#~ "(pretože tieto a len tieto budú automaticky spúšťané jadrom)."
diff -pruN 3.2.3-2/debian/po/sv.po 3.2.3-2ubuntu1/debian/po/sv.po
--- 3.2.3-2/debian/po/sv.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/sv.po	2012-02-10 00:05:28.000000000 +0000
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm_2.6.7-3_sv\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-07-23 18:34+0200\n"
 "Last-Translator: Martin gren <martin.agren@gmail.com>\n"
 "Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
@@ -25,167 +25,15 @@ msgstr ""
 "X-Generator: KBabel 1.11.4\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "MD-kedjor som behvs fr rotfilsystemet:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Ange \"all\", \"none\" eller en blankstegsseparerad lista p enheter, ssom "
-"\"md0 md1\" eller \"md/1 md/0\" (det inledande \"/dev\" kan uteslutas)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "fr intern anvndning - endast den lnga beskrivningen behvs."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Om ditt system har sitt rotfilsystem p en MD-kedja (RAID) behver den "
-"startas upp tidigt under uppstartssekvensen. Om ditt rotfilsystem finns p "
-"en logisk volym (LVM), vilket r p MD, behver alla bestende kedjor "
-"startas."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Om du vet exakt vilka kedjor som behvs fr att ta upp rotfilsystemet, och "
-"du vill skjuta upp uppstarten fr alla andra kedjor till en senare tidspunkt "
-"i uppstartssekvensen, ange vilka kedjor som ska starta hr. Alternativt, "
-"ange \"all\" fr att helt enkelt starta alla tillgngliga kedjor."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Om du inte behver eller vill starta ngra kedjor fr rotfilsystemet, lmna "
-"svaret blankt (eller ange \"none\"). Detta kan vara fallet om du anvnder "
-"krnans automatstart eller inte behver ngra kedjor fr att starta upp."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Ett fel intrffade: enhetsnoden finns inte"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Ett fel intrffade: inte en blockenhet"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Ett fel intrffade: inte en MD-kedja"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Ett fel intrffade: kedjan r inte listad i filen mdadm.conf"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr "Starta kedjor som inte r listade i mdadm.conf?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Kedjan du har angivit (${array}) r inte listad i konfigurationsfilen "
-"(${config}). Drfr kan den inte startas under systemets uppstart, svida du "
-"inte rttar till konfigurationsfilen och terskapar den initiala ramdisken."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Referera till /usr/share/doc/mdadm/README.upgrading-2.5.3.gz om du tnker "
-"fortstta."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Den hr varningen r endast relevant om du behver kedjor som ska startas "
-"frn den initiala ramdisken fr att kunna starta upp systemet. Om du "
-"anvnder krnans automatstart, eller inte behver starta ngra kedjor s "
-"tidigt som nr de initiala ramdisken lses in, kan du helt enkelt fortstta. "
-"Alternativt, vlj att inte fortstta och ange \"none\" nr frgan om vilka "
-"kedjor som ska startas frn den initiala ramdisken stlls."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Vill du starta MD-kedjor automatiskt?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Nr grundsystemet har startats upp kan mdadm starta alla MD-kedjor (RAID) "
-"som har angivits i /etc/mdadm/mdadm.conf och som nnu inte har startats. "
-"Detta rekommenderas svida inte std fr multipla enheter (MD) har byggts in "
-"i krnan och alla partitioner markerats som del av MD-kedjor med typen 0xfd "
-"(eftersom de och endast de kommer att startas upp automatiskt av krnan)."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr "Ska mdadm kra mnatliga redundanskontroller av MD-kedjorna?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -204,7 +52,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -214,13 +62,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Vill du starta MD-vervakningsdemonen?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -230,22 +78,164 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Att aktivera denna funktion rekommenderas."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Mottagare av e-postnotifieringar:"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Ange e-postadressen till den anvndare som ska ta emot e-postnotifieringar "
 "fr dessa viktiga MD-hndelser."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "MD-kedjor som behvs fr rotfilsystemet:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Ange \"all\", \"none\" eller en blankstegsseparerad lista p enheter, "
+#~ "ssom \"md0 md1\" eller \"md/1 md/0\" (det inledande \"/dev\" kan "
+#~ "uteslutas)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "fr intern anvndning - endast den lnga beskrivningen behvs."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Om ditt system har sitt rotfilsystem p en MD-kedja (RAID) behver den "
+#~ "startas upp tidigt under uppstartssekvensen. Om ditt rotfilsystem finns "
+#~ "p en logisk volym (LVM), vilket r p MD, behver alla bestende kedjor "
+#~ "startas."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Om du vet exakt vilka kedjor som behvs fr att ta upp rotfilsystemet, "
+#~ "och du vill skjuta upp uppstarten fr alla andra kedjor till en senare "
+#~ "tidspunkt i uppstartssekvensen, ange vilka kedjor som ska starta hr. "
+#~ "Alternativt, ange \"all\" fr att helt enkelt starta alla tillgngliga "
+#~ "kedjor."
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Om du inte behver eller vill starta ngra kedjor fr rotfilsystemet, "
+#~ "lmna svaret blankt (eller ange \"none\"). Detta kan vara fallet om du "
+#~ "anvnder krnans automatstart eller inte behver ngra kedjor fr att "
+#~ "starta upp."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Ett fel intrffade: enhetsnoden finns inte"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Ett fel intrffade: inte en blockenhet"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Ett fel intrffade: inte en MD-kedja"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr "Ett fel intrffade: kedjan r inte listad i filen mdadm.conf"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr "Starta kedjor som inte r listade i mdadm.conf?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Kedjan du har angivit (${array}) r inte listad i konfigurationsfilen "
+#~ "(${config}). Drfr kan den inte startas under systemets uppstart, svida "
+#~ "du inte rttar till konfigurationsfilen och terskapar den initiala "
+#~ "ramdisken."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Referera till /usr/share/doc/mdadm/README.upgrading-2.5.3.gz om du tnker "
+#~ "fortstta."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Den hr varningen r endast relevant om du behver kedjor som ska startas "
+#~ "frn den initiala ramdisken fr att kunna starta upp systemet. Om du "
+#~ "anvnder krnans automatstart, eller inte behver starta ngra kedjor s "
+#~ "tidigt som nr de initiala ramdisken lses in, kan du helt enkelt "
+#~ "fortstta. Alternativt, vlj att inte fortstta och ange \"none\" nr "
+#~ "frgan om vilka kedjor som ska startas frn den initiala ramdisken stlls."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Vill du starta MD-kedjor automatiskt?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Nr grundsystemet har startats upp kan mdadm starta alla MD-kedjor (RAID) "
+#~ "som har angivits i /etc/mdadm/mdadm.conf och som nnu inte har startats. "
+#~ "Detta rekommenderas svida inte std fr multipla enheter (MD) har byggts "
+#~ "in i krnan och alla partitioner markerats som del av MD-kedjor med typen "
+#~ "0xfd (eftersom de och endast de kommer att startas upp automatiskt av "
+#~ "krnan)."
diff -pruN 3.2.3-2/debian/po/templates.pot 3.2.3-2ubuntu1/debian/po/templates.pot
--- 3.2.3-2/debian/po/templates.pot	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/templates.pot	2012-02-10 00:05:28.000000000 +0000
@@ -8,146 +8,24 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr ""
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr ""
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr ""
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -159,7 +37,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -167,13 +45,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -181,20 +59,50 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr ""
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr ""
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
diff -pruN 3.2.3-2/debian/po/vi.po 3.2.3-2ubuntu1/debian/po/vi.po
--- 3.2.3-2/debian/po/vi.po	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/po/vi.po	2012-02-10 00:05:28.000000000 +0000
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: mdadm 2.6.3+200709292116+4450e59-4\n"
 "Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
-"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"POT-Creation-Date: 2012-02-09 16:05-0800\n"
 "PO-Revision-Date: 2008-02-23 17:40+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -17,173 +17,16 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.7b3\n"
 
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid "MD arrays needed for the root file system:"
-msgstr "Các mảng MD cần thiết cho hệ thống tập tin gốc:"
-
-#. Type: string
-#. Description
-#: ../mdadm.templates:2001
-msgid ""
-"Please enter 'all', 'none', or a space-separated list of devices such as "
-"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
-msgstr ""
-"Hãy nhập « all » (tất cả), « none » (không có), hoặc một danh sách các thiết "
-"bị định giới bằng dấu cách như « md0 md1 » hoặc « md/1 md/d0 » (có thể bỏ "
-"sót phần « /dev/ » đi trước)."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid "for internal use - only the long description is needed."
-msgstr "để sử dụng nội bộ — chỉ cần thiết mô tả dài."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If the system's root file system is located on an MD array (RAID), it needs "
-"to be started early during the boot sequence. If it is located on a logical "
-"volume (LVM), which is on MD, all constituent arrays need to be started."
-msgstr ""
-"Nếu hệ thống tập tin gốc của hệ thống nằm trên một mảng MD (RAID) thì cần "
-"phải khởi chạy nó sớm trong tiến trình khởi động. Nếu nó nằm trên một khối "
-"tin hợp lý (LVM) mà lần lượt nằm trên một MD thì cần phải khởi chạy tất cả "
-"các mảng thành phần."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you know exactly which arrays are needed to bring up the root file "
-"system, and you want to postpone starting all other arrays to a later point "
-"in the boot sequence, enter the arrays to start here. Alternatively, enter "
-"'all' to simply start all available arrays."
-msgstr ""
-"Nếu bạn biết chính xác những mảng nào cần thiết để kích hoạt hệ thống tập "
-"tin gốc, và bạn muốn hoãn việc khởi chạy các mảng khác tới một điểm sau "
-"trong dãy khởi động, hãy nhập vào đây các mảng cần khởi chạy. Hoặc nhập « "
-"all » (tất cả) để khởi chạy đơn giản tất cả các mảng sẵn sàng. "
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:3001
-msgid ""
-"If you do not need or want to start any arrays for the root file system, "
-"leave the answer blank (or enter 'none'). This may be the case if you are "
-"using kernel autostart or do not need any arrays to boot."
-msgstr ""
-"Nếu bạn không cần hoặc muốn khởi chạy mảng nào cho hệ thống tập tin gốc, hãy "
-"bỏ trống câu trả lời này (hoặc nhập « none » [không có]). Trường hợp này có "
-"thể xảy ra nếu bạn sử dụng khả năng tự động khởi động hạt nhân (kernel "
-"autostart), hoặc không cần mảng nào để khởi động máy tính."
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:4001
-msgid "An error occurred: device node does not exist"
-msgstr "Gặp lỗi: nút thiết bị không tồn tại"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:5001
-msgid "An error occurred: not a block device"
-msgstr "Gặp lỗi: không phải là một thiết bị khối"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:6001
-msgid "An error occurred: not an MD array"
-msgstr "Gặp lỗi: không phải là một mảng MD"
-
-#. Type: text
-#. Description
-#: ../mdadm.templates:7001
-msgid "An error occurred: array not listed in mdadm.conf file"
-msgstr "Gặp lỗi: mảng không được liệt kê trong tập tin cấu hình « mdadm.conf »"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid "Start arrays not listed in mdadm.conf?"
-msgstr ""
-"Khởi chạy các mảng không được liệt kê trong tập tin cấu hình « mdadm.conf » "
-"không?"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"The specified array (${array}) is not listed in the configuration file "
-"(${config}). Therefore, it cannot be started during boot, unless you correct "
-"the configuration file and recreate the initial ramdisk."
-msgstr ""
-"Mảng bạn đã xác định (${array}) không được liệt kê trong tập tin cấu hình "
-"${config}. Vì vậy nó không thể được khởi chạy trong khi khởi động, nếu bạn "
-"không sửa tập tin cấu hình và tạo lại đĩa RAM đầu tiên."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
-"to continue."
-msgstr ""
-"Hãy tham chiếu đến tài liệu Đọc Đi « /usr/share/doc/mdadm/README."
-"upgrading-2.5.3.gz » nếu bạn định tiếp tục."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:8001
-msgid ""
-"This warning is only relevant if you need arrays to be started from the "
-"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
-"not need any arrays to be started as early as the initial ramdisk is loaded, "
-"you can simply continue. Alternatively, choose not to continue and enter "
-"'none' when prompted which arrays to start from the initial ramdisk."
-msgstr ""
-"Cảnh báo này chỉ là thích hợp nếu bạn cần thiết mảng được khởi chạy từ đĩa "
-"RAM đầu tiên, để có thể khởi động được. Nếu bạn sử dụng khả năng tự động "
-"khởi chạy hạt nhân (kernel autostart), hoặc không cần mảng nào được khởi "
-"chạy một khi nạp đĩa RAM đầu tiên, bạn đơn giản có thể tiếp tục lại. Hoặc "
-"chọn không tiếp tục, và nhập « none » (không có) khi được nhắc nhập những "
-"mảng nào cần khởi chạy từ đĩa RAM đầu tiên."
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:9001
-msgid "Do you want to start MD arrays automatically?"
-msgstr "Bạn có muốn tự động khởi chạy các mảng MD không?"
-
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:9001
-msgid ""
-"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
-"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
-"recommended unless multiple device (MD) support is compiled into the kernel "
-"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
-"those and only those will be started automatically by the kernel)."
-msgstr ""
-"Một khi hệ thống cơ bản được khởi động thì mdadm có khả năng khởi chạy tất "
-"cả các mảng MD (RAID) được xác định trong tập tin cấu hinh « /etc/mdadm/"
-"mdadm.conf » mà chưa được khởi chạy. Thủ tục này khuyến khích nếu hỗ trợ đa "
-"thiết bị (MD) không được biên dịch vào hát nhân và tất cả các phân vùng được "
-"đánh dấu là thuộc về mảng MD, với kiểu 0xfd (vì chúng, và chỉ chúng sẽ được "
-"tự động khởi chạy bởi hạt nhân).r"
-
-#. Type: boolean
-#. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
 msgstr ""
 "mdadm có nên chạy việc kiểm tra thừa hàng tháng trên những mảng MD không?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "If the kernel supports it (versions greater than 2.6.14), mdadm can "
 "periodically check the redundancy of MD arrays (RAIDs). This may be a "
@@ -201,7 +44,7 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:10001
+#: ../mdadm.templates:1001
 msgid ""
 "The default, if turned on, is to check on the first Sunday of every month at "
 "01:06."
@@ -211,13 +54,13 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Do you want to start the MD monitoring daemon?"
 msgstr "Bạn có muốn khởi chạy trình nền theo dõi MD không?"
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid ""
 "The MD (RAID) monitor daemon sends email notifications in response to "
 "important MD events (such as a disk failure)."
@@ -227,22 +70,165 @@ msgstr ""
 
 #. Type: boolean
 #. Description
-#: ../mdadm.templates:11001
+#: ../mdadm.templates:2001
 msgid "Enabling this option is recommended."
 msgstr "Khuyên bạn hiệu lực tùy chọn này."
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid "Recipient for email notifications:"
 msgstr "Người nhận thư thông báo :"
 
 #. Type: string
 #. Description
-#: ../mdadm.templates:12001
+#: ../mdadm.templates:3001
 msgid ""
 "Please enter the email address of the user who should get the email "
 "notifications for important MD events."
 msgstr ""
 "Hãy nhập địa chỉ thư của người dùng nên nhận thư thông báo về dữ kiện MD "
 "quan trọng."
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid "Do you want to boot your system if your RAID becomes degraded?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If your root filesystem is on a RAID, and a disk is missing at boot, it can "
+"either boot with the degraded array, or hold the system at a recovery shell."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"Running a system with a degraded RAID could result in permanent data loss if "
+"it suffers another hardware fault."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm-udeb.templates:1001
+msgid ""
+"If you do not have access to the server console to use the recovery shell, "
+"you might answer \"yes\" to enable the system to boot unattended."
+msgstr ""
+
+#~ msgid "MD arrays needed for the root file system:"
+#~ msgstr "Các mảng MD cần thiết cho hệ thống tập tin gốc:"
+
+#~ msgid ""
+#~ "Please enter 'all', 'none', or a space-separated list of devices such as "
+#~ "'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+#~ msgstr ""
+#~ "Hãy nhập « all » (tất cả), « none » (không có), hoặc một danh sách các "
+#~ "thiết bị định giới bằng dấu cách như « md0 md1 » hoặc « md/1 md/d0 » (có "
+#~ "thể bỏ sót phần « /dev/ » đi trước)."
+
+#~ msgid "for internal use - only the long description is needed."
+#~ msgstr "để sử dụng nội bộ — chỉ cần thiết mô tả dài."
+
+#~ msgid ""
+#~ "If the system's root file system is located on an MD array (RAID), it "
+#~ "needs to be started early during the boot sequence. If it is located on a "
+#~ "logical volume (LVM), which is on MD, all constituent arrays need to be "
+#~ "started."
+#~ msgstr ""
+#~ "Nếu hệ thống tập tin gốc của hệ thống nằm trên một mảng MD (RAID) thì cần "
+#~ "phải khởi chạy nó sớm trong tiến trình khởi động. Nếu nó nằm trên một "
+#~ "khối tin hợp lý (LVM) mà lần lượt nằm trên một MD thì cần phải khởi chạy "
+#~ "tất cả các mảng thành phần."
+
+#~ msgid ""
+#~ "If you know exactly which arrays are needed to bring up the root file "
+#~ "system, and you want to postpone starting all other arrays to a later "
+#~ "point in the boot sequence, enter the arrays to start here. "
+#~ "Alternatively, enter 'all' to simply start all available arrays."
+#~ msgstr ""
+#~ "Nếu bạn biết chính xác những mảng nào cần thiết để kích hoạt hệ thống tập "
+#~ "tin gốc, và bạn muốn hoãn việc khởi chạy các mảng khác tới một điểm sau "
+#~ "trong dãy khởi động, hãy nhập vào đây các mảng cần khởi chạy. Hoặc nhập « "
+#~ "all » (tất cả) để khởi chạy đơn giản tất cả các mảng sẵn sàng. "
+
+#~ msgid ""
+#~ "If you do not need or want to start any arrays for the root file system, "
+#~ "leave the answer blank (or enter 'none'). This may be the case if you are "
+#~ "using kernel autostart or do not need any arrays to boot."
+#~ msgstr ""
+#~ "Nếu bạn không cần hoặc muốn khởi chạy mảng nào cho hệ thống tập tin gốc, "
+#~ "hãy bỏ trống câu trả lời này (hoặc nhập « none » [không có]). Trường hợp "
+#~ "này có thể xảy ra nếu bạn sử dụng khả năng tự động khởi động hạt nhân "
+#~ "(kernel autostart), hoặc không cần mảng nào để khởi động máy tính."
+
+#~ msgid "An error occurred: device node does not exist"
+#~ msgstr "Gặp lỗi: nút thiết bị không tồn tại"
+
+#~ msgid "An error occurred: not a block device"
+#~ msgstr "Gặp lỗi: không phải là một thiết bị khối"
+
+#~ msgid "An error occurred: not an MD array"
+#~ msgstr "Gặp lỗi: không phải là một mảng MD"
+
+#~ msgid "An error occurred: array not listed in mdadm.conf file"
+#~ msgstr ""
+#~ "Gặp lỗi: mảng không được liệt kê trong tập tin cấu hình « mdadm.conf »"
+
+#~ msgid "Start arrays not listed in mdadm.conf?"
+#~ msgstr ""
+#~ "Khởi chạy các mảng không được liệt kê trong tập tin cấu hình « mdadm.conf "
+#~ "» không?"
+
+#~ msgid ""
+#~ "The specified array (${array}) is not listed in the configuration file "
+#~ "(${config}). Therefore, it cannot be started during boot, unless you "
+#~ "correct the configuration file and recreate the initial ramdisk."
+#~ msgstr ""
+#~ "Mảng bạn đã xác định (${array}) không được liệt kê trong tập tin cấu hình "
+#~ "${config}. Vì vậy nó không thể được khởi chạy trong khi khởi động, nếu "
+#~ "bạn không sửa tập tin cấu hình và tạo lại đĩa RAM đầu tiên."
+
+#~ msgid ""
+#~ "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you "
+#~ "intend to continue."
+#~ msgstr ""
+#~ "Hãy tham chiếu đến tài liệu Đọc Đi « /usr/share/doc/mdadm/README."
+#~ "upgrading-2.5.3.gz » nếu bạn định tiếp tục."
+
+#~ msgid ""
+#~ "This warning is only relevant if you need arrays to be started from the "
+#~ "initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+#~ "not need any arrays to be started as early as the initial ramdisk is "
+#~ "loaded, you can simply continue. Alternatively, choose not to continue "
+#~ "and enter 'none' when prompted which arrays to start from the initial "
+#~ "ramdisk."
+#~ msgstr ""
+#~ "Cảnh báo này chỉ là thích hợp nếu bạn cần thiết mảng được khởi chạy từ "
+#~ "đĩa RAM đầu tiên, để có thể khởi động được. Nếu bạn sử dụng khả năng tự "
+#~ "động khởi chạy hạt nhân (kernel autostart), hoặc không cần mảng nào được "
+#~ "khởi chạy một khi nạp đĩa RAM đầu tiên, bạn đơn giản có thể tiếp tục lại. "
+#~ "Hoặc chọn không tiếp tục, và nhập « none » (không có) khi được nhắc nhập "
+#~ "những mảng nào cần khởi chạy từ đĩa RAM đầu tiên."
+
+#~ msgid "Do you want to start MD arrays automatically?"
+#~ msgstr "Bạn có muốn tự động khởi chạy các mảng MD không?"
+
+#~ msgid ""
+#~ "Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+#~ "specified in /etc/mdadm/mdadm.conf which have not yet been started. This "
+#~ "is recommended unless multiple device (MD) support is compiled into the "
+#~ "kernel and all partitions are marked as belonging to MD arrays, with type "
+#~ "0xfd (as those and only those will be started automatically by the "
+#~ "kernel)."
+#~ msgstr ""
+#~ "Một khi hệ thống cơ bản được khởi động thì mdadm có khả năng khởi chạy "
+#~ "tất cả các mảng MD (RAID) được xác định trong tập tin cấu hinh « /etc/"
+#~ "mdadm/mdadm.conf » mà chưa được khởi chạy. Thủ tục này khuyến khích nếu "
+#~ "hỗ trợ đa thiết bị (MD) không được biên dịch vào hát nhân và tất cả các "
+#~ "phân vùng được đánh dấu là thuộc về mảng MD, với kiểu 0xfd (vì chúng, và "
+#~ "chỉ chúng sẽ được tự động khởi chạy bởi hạt nhân).r"
diff -pruN 3.2.3-2/debian/presubj 3.2.3-2ubuntu1/debian/presubj
--- 3.2.3-2/debian/presubj	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/presubj	1970-01-01 00:00:00.000000000 +0000
@@ -1,32 +0,0 @@
-Reporting bugs against mdadm
-============================
-Before reporting bugs against mdadm, please read the README documents, as well
-as the FAQ in /usr/share/doc/mdadm . Most issues that are reported against the
-mdadm package are adequately answered therein.
-
-In particular, please do not file bugs about mdadm assembling arrays too
-early, e.g. when the driver is not yet ready and device nodes do not exist.
-Check FAQ item 27 about use of the rootdelay parameter instead.
-
-Also, please check out http://bugs.debian.org/mdadm and make sure that the
-issue you are facing has not already been reported.
-
-If you are not sure that the answer you are seeking is in those files, or you
-are not sure that you are facing a genuine bug, please approach
-debian-user@lists.debian.org or linux-raid@vger.kernel.org with your
-question(s).
-
-Gathering information relevant to mdadm as root
-===============================================
-If you are not reporting bugs as root (which you should not), you will be
-prompted to give permission to run a script to collect relevant information
-from your system as the root user. Only the root user has access to some
-information that might be relevant to the bug report you are about to file.
-
-** Please give permission to run the script as root when asked momentarily.
-
-If you would rather obtain the same information manually, you can run
-  /usr/share/bug/mdadm/script 3>&1
-as root and include or attach the output.
-
- -- martin f. krafft <madduck@debian.org>  Mon, 20 Jul 2009 15:02:48 +0200
diff -pruN 3.2.3-2/debian/README.Debian 3.2.3-2ubuntu1/debian/README.Debian
--- 3.2.3-2/debian/README.Debian	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/README.Debian	2012-01-29 05:36:30.000000000 +0000
@@ -1,41 +1,6 @@
 mdadm for Debian
 ================
 
-Please make sure you read into /usr/share/doc/mdadm/NEWS.Debian.gz and the
-documents listed under "further reading" a little later in this file.
-
-The latest version of this document is available here:
-  http://git.debian.org/?p=pkg-mdadm/mdadm.gita=blob;f=debian/README.Debian;hb=HEAD
-
-Upgrading and the configuration file
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This version of mdadm now NEEDS /etc/mdadm/mdadm.conf, which it will try to
-generate during installation, if nonexistent.
-
-PLEASE MAKE SURE TO READ /usr/share/doc/mdadm/README.upgrading-2.5.3.gz !
-
-You can use the output of /usr/share/mdadm/mkconf to generate your very own
-mdadm.conf file, and look into
-/usr/share/doc/mdadm/examples/mdadm.conf-example for inspiration.
-
-Autostarting devices
-~~~~~~~~~~~~~~~~~~~~
-The mdadm.conf file controls which devices are to be started automatically by
-mdadm during boot (assuming AUTOSTART is set to true in /etc/default/mdadm),
-and various other parameters about how they are to be started. The file can
-also contain some control parameters for the mdadm monitor daemon. See
-mdadm.conf(5) for more information.
-
-Note: this only applies to modular kernels. If you use a monolithic kernel,
-you can control which devices are started automatically by changing the
-partition type: 0xfd for autostart, 0x83 to prevent autostart. mdadm does not
-actually care about the partition type, only the kernel does.
-
-Common recipes
-~~~~~~~~~~~~~~
-Check /usr/share/doc/mdadm/README.recipes.gz for some simple examples of how
-to do the most common stuff with mdadm.
-
 To RAID5 or not to RAID5
 ~~~~~~~~~~~~~~~~~~~~~~~~
 See http://www.miracleas.com/BAARF/BAARF2.html . The package maintainer could
diff -pruN 3.2.3-2/debian/README.initramfs-transition 3.2.3-2ubuntu1/debian/README.initramfs-transition
--- 3.2.3-2/debian/README.initramfs-transition	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/README.initramfs-transition	1970-01-01 00:00:00.000000000 +0000
@@ -1,50 +0,0 @@
-mdadm for Debian - initramfs transition
-=======================================
-
-If you are using monolithic kernels (no modules), you need not concern
-yourself with any of this.
-
-If you are using yaird or initrd-tools/mkinitrd, then the following
-information is irrelevant to you.
-
-The following information is about #367567. The gist is that the hooks and
-scripts to take care of MD arrays (RAIDs) during boot with an initramfs have
-been improved and moved into the mdadm package. mdrun has been deprecated on
-the way.
-
-initramfs-tools does *not* conflict with older mdadm but instead provides
-fallback code in case mdadm << 2.5-1 is installed (which does not provide the
-hooks yet). This decision was made in order to prevent the slight chance that
-mdadm would be removed due to the conflict. See #380089.
-
-Unless I've overlooked a detail, no interaction is required from the side of
-the user (apart from the new debconf question) to install and get mdadm
-running and integrated with initramfs-tools. It helps to ensure that
-update-initramfs produces output that squares with your own perception of what
-is needed to boot, and that the output of the script /usr/share/mdadm/mkconf
-is sane after installation and before you reboot.
-
-Also, you may want to provide yourself a safety net by making a copy of the
-initrd:
-
-  cp /boot/initrd.img-$(uname -r) /boot/initrd.img-$(uname -r).before-mdadm2
-
-and then to duplicate your main grub or lilo stanzas (rerun lilo!) and point
-them to the saved initrd. If things go haywire, you should be able to restore
-a working condition with the saved initrd.
-
-If you want to move to the new hooks and scripts without installing
-initramfs-tools 0.70, do this:
-
-  rm /usr/share/initramfs-tools/hooks/md
-  sed -i -e 's,^PREREQ=\"md\"$,PREREQ=\"mdadm\",' \
-    /usr/share/initramfs-tools/scripts/local-top/lvm
-  update-initramfs -u -k all
-
-If update-initramfs says something about initrd having been altered and
-refuses to do something, use -t unless you modified the initrd on purpose and
-don't want it overwritten.
-
-Again, please report success or failure to me.
-
- -- martin f. krafft <madduck@debian.org>  Mon, 23 Sep 2006 23:48:21 +0100
diff -pruN 3.2.3-2/debian/README.upgrading-2.5.3 3.2.3-2ubuntu1/debian/README.upgrading-2.5.3
--- 3.2.3-2/debian/README.upgrading-2.5.3	2012-01-14 16:11:51.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/README.upgrading-2.5.3	1970-01-01 00:00:00.000000000 +0000
@@ -1,134 +0,0 @@
-Upgrading to mdadm 2.5.3 from previous versions
-===============================================
-
-With version 2.5.3, the Debian mdadm package now requires a mdadm.conf file.
-This file should be in /etc/mdadm/mdadm.conf, although /etc/mdadm.conf will
-also be read if the former is not present, but it is less preferred.
-
-The reason the configuration file is now required is because it was impossible
-to come up with robust heuristics to replace the previously used mdrun, while
-addressing its primary deficiency of not honouring the super-minor field and
-randomly assembling devices (see #354705). mdrun has been deprecated and is no
-longer provided by this package.
-
-Systems without a mdadm.conf file
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If your system does not have an mdadm.conf file, the package creates one for
-you during the installation phase. Furthermore, a configuration file is
-created during the updating of the initramfs (initial ramdisk), if no file is
-found at the time. In both cases, the running system is used as a reference,
-meaning that the file is generated automatically in such a way as to reflect
-the running system.
-
-This should work in most cases. I strongly suggest, however, that you inspect
-the generated file (/etc/mdadm/mdadm.conf) before you reboot. If you find any
-anomaly or mistakes, correct them and proceed with the next step ("Systems
-with a mdadm.conf file").
-
-Systems with a mdadm.conf file
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If an existing configuration file is found, it is *ignored* until you checked
-it and gave mdadm permission to use it. Even though this is a nuisance to some
-users, it is a necessary measure: previous versions of mdadm did not
-necessarily use the information in this file, even if it existed; thus there
-is no guarantee that the file properly describes the system's configuration.
-
-Therefore, you are required to inspect /etc/mdadm/mdadm.conf or
-/etc/mdadm.conf (whichever one is present, the first gets priority if both are
-present) and ensure that all arrays are properly identified. Here are a number
-of recommended checks:
-
-  - Verify that all arrays referenced by /etc/fstab, /etc/crypttab, your LVM
-    metadata, and whatever other subsystem uses MD arrays (RAIDs) on your
-    machine have a corresponding line in the configuration file.
-
-    Make sure to verify that your bootloader refers to the proper device name,
-    in case your root filesystem is on an MD array.
-
-    In particular, verify that the device node name is exactly the same;
-    /dev/md6 is *not* identical to /dev/md/6. Partitionable arrays are
-    a slight exception: if /dev/md_d0p3 is referenced, you need an entry for
-    /dev/md_d0 in the configuration file.
-
-  - Compare your file with the output of /usr/share/mdadm/mkconf . In
-    particular, make sure that the UUID matches for each array, whenever
-    a UUID is specified. Also compare the values of super-minor, name, and
-    devices. Only one match identifier (UUID, super-minor, name, devices) is
-    needed for each array, but if multiple identifiers are specified, all must
-    match. See mdadm.conf(5).
-
-    Identifying arrays by UUID is the preferred method.
-
-Once you have verified that the configuration file is accurate, you need to
-let mdadm know, and update the initial ramdisk. This is accomplished with the
-following two commands:
-
-  rm -f /var/lib/mdadm/CONF-UNCHECKED
-  update-initramfs -u -k all
-
-Depending on your setup, mdadm should print an appropriate informational
-message. Please make sure that it is in accordance with what you would expect.
-
-What to do if my system does not boot anymore?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-First thing: don't panic! If your system does not boot anymore as a result of
-an mdadm upgrade, it is *very* unlikely that you lost any data.
-
-Having said that, it is important that you exercise great care and understand
-what you are doing. If you do not know how to revive a system that does not
-boot because it fails to assemble MD arrays (RAIDs), consider asking someone
-who does for help.
-
-If you are using initramfs (which is the default since Debian "etch"), it will
-probably be easy to revive the system. If you are experiencing problems with
-another initial ramdisk alternative, you will have to resort to using a rescue
-disk, such as the debian-installer CD/DVD, or a live system, such as Knoppix.
-
-With initramfs, specify 'break=mount' as a kernel boot command line option,
-and commence the boot process. Eventually, you will be dumped into a shell.
-From here, you can execute
-
-  ./scripts/local-top/mdadm
-
-and inspect the output. If you want to see what exactly the script is doing,
-run
-
-  sh -x ./scripts/local-top/mdadm
-
-instead.
-
-Your primary goal is the assembly of the array(s) needed to bring up your root
-filesystem. If the above script fails to do that, take note of its output (for
-a later bug report), and then proceed to simply assemble the array by hand.
-
-For instance, if your root array is on /dev/md1, which is made up of
-/dev/sd[abc]1, just run:
-
-  /sbin/mdadm -A --auto=yes /dev/md1 --run /dev/sd[abc]1
-  /sbin/mdadm -Q /dev/md1  # to verify
-
-If your root filesystem is on multiple arrays (e.g. on LVM), repeat for each
-constituent array.
-
-When you are done, hit ctrl-d and watch the system boot.
-
-When it is back up, carefully inspect your mdadm.conf file and ensure that
-INITRDSTART is properly set in /etc/default/mdadm; set it to 'all' to be safe.
-
-In case you are not using initramfs, you need to find out what's going wrong
-during the boot process. Both yaird and initrd use a single mdadm --assemble
-call to bring up the device holding the root filesystem. If that command
-fails, you may need to recreate the image and make sure it gets the right
-parameters.
-
-If you rely on the kernel to assemble the arrays (MD support built-in, not
-modular, and partitions of type 0xfd) and the process fails, the superblock
-information is probably not accurate. In such a case, try to assemble the
-arrays from a rescue disc or live system just as you would expect the kernel
-to do it. Afterwards, verify the superblock information (mdadm --examine).
-
-If you continue to experience problems, please file a bug report with all the
-relevant information. The reportbug tool will automatically include the most
-relevant data in the report.
-
- -- martin f. krafft <madduck@debian.org>  Wed, 02 Jul 2008 11:33:12 +0200
diff -pruN 3.2.3-2/debian/rules 3.2.3-2ubuntu1/debian/rules
--- 3.2.3-2/debian/rules	2012-01-18 18:33:55.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/rules	2012-02-10 00:11:11.000000000 +0000
@@ -6,30 +6,33 @@
 
 #export DH_VERBOSE=1
 
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
 TG_BRANCHES="debian/conffile-location debian/disable-udev-incr-assembly debian/no-Werror"
 -include /usr/share/topgit/tg2quilt.mk
 
+CXFLAGS = -ggdb
 RUNDIR = /run/mdadm
 RUNOPTS = MAP_DIR=$(RUNDIR) MDMON_DIR=$(RUNDIR) FAILED_SLOTS_DIR=$(RUNDIR)/failed-slots
 
-CXFLAGS = -ggdb
 CXFLAGS_UDEB := $(CXFLAGS) -fomit-frame-pointer
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
     CXFLAGS += -O0
     CXFLAGS_UDEB += -O0
 else
     CXFLAGS += -O2
-    CXFLAGS_UDEB += -Os
+    ifeq ($(DEB_HOST_ARCH),ppc64)
+      # work around link error
+      CXFLAGS_UDEB += -O2
+    else
+      CXFLAGS_UDEB += -Os
+    endif
 endif
 
 .PHONY: configure
 configure:
 
-debian/mdadm-startall.8: debian/mdadm-startall.sgml
-	docbook-to-man $< > $@
-
 build: configure build-stamp
-build-stamp: debian/mdadm-startall.8
+build-stamp:
 	dh_testdir
 	$(MAKE) -f debian/rules mdadm.udeb DEBIAN=yes
 	$(MAKE) clean
@@ -46,7 +49,7 @@ mdadm.udeb: configure
 mdadm: FLAGS = CXFLAGS="$(CXFLAGS)" CONFFILE=/etc/mdadm/mdadm.conf CONFFILE2=/etc/mdadm.conf
 mdadm: configure
 	dh_testdir
-	$(MAKE) $(FLAGS) all $(RUNOPTS)
+	$(MAKE) $(FLAGS) all man $(RUNOPTS)
 .PHONY: mdadm
 
 INTERPOLATED_FILES = debian/bugscript debian/mkconf
@@ -70,35 +73,45 @@ install: build $(INTERPOLATED_FILES)
 	dh_testdir
 	dh_clean -k
 	dh_installdirs
-
-	$(MAKE) install DESTDIR=$(DESTDIR)
+	chmod +x debian/install-rc
+	PACKAGE=mdadm-udeb debian/install-rc check.d
+	install -m0755 mdadm $(DESTDIR)/sbin
+	install -m0755 mdadm.udeb $(DESTDIR_UDEB)/sbin/mdadm
+	install -m0644 debian/mdadm.mdadm-blkid.udev \
+		$(DESTDIR_UDEB)/etc/udev/rules.d/65-mdadm-blkid.rules
 
 	install -m0755 debian/initramfs/hook \
 		$(DESTDIR)/usr/share/initramfs-tools/hooks/mdadm
-	install -m0755 debian/initramfs/script.local-top \
-		$(DESTDIR)/usr/share/initramfs-tools/scripts/local-top/mdadm
+
+	install -m0755 debian/initramfs/init-premount \
+		$(DESTDIR)/usr/share/initramfs-tools/scripts/init-premount/mdadm
+
+	install -m0755 debian/initramfs/mdadm-functions \
+		$(DESTDIR)/usr/share/initramfs-tools/scripts/mdadm-functions
+
+	install -m0755 debian/initramfs/local-premount \
+		$(DESTDIR)/usr/share/initramfs-tools/scripts/local-premount/mdadm
 
 	install -m0755 debian/mkconf $(DESTDIR)/usr/share/mdadm
 	install -m0755 debian/checkarray $(DESTDIR)/usr/share/mdadm
 	install -m0755 debian/bugscript $(DESTDIR)/usr/share/bug/mdadm/script
-	install -m0644 debian/presubj $(DESTDIR)/usr/share/bug/mdadm
-
-	install -m0755 debian/mdadm-startall $(DESTDIR)/sbin
-
+	install -m0755 debian/source_mdadm.py $(DESTDIR)/usr/share/apport/package-hooks/
 	install -m0755 mdadm.udeb $(DESTDIR_UDEB)/sbin/mdadm
-	install -m0644 udev-md-raid.rules $(DESTDIR_UDEB)/lib/udev/rules.d/64-md-raid.rules
+	install -D -m0644 udev-md-raid.rules $(DESTDIR_UDEB)/lib/udev/rules.d/64-md-raid.rules
 
 binary-indep: build install
 
 binary-arch: build install
 	dh_testdir
 	dh_testroot
-	dh_lintian
 	dh_installdebconf
+	echo >> debian/mdadm/DEBIAN/templates
+	po2debconf debian/mdadm-udeb.templates >> debian/mdadm/DEBIAN/templates
 	dh_installdocs
 	dh_installexamples debian/mdadd.sh
-	dh_installinit --init-script=mdadm-raid --no-start -- start 25 S . start 60 0 6 .
 	dh_installinit -- defaults 25
+	dh_installudev --priority=85
+	dh_installudev --priority=65 --name=mdadm-blkid
 	dh_installman
 	dh_installcron
 	dh_installchangelogs ChangeLog
diff -pruN 3.2.3-2/debian/source_mdadm.py 3.2.3-2ubuntu1/debian/source_mdadm.py
--- 3.2.3-2/debian/source_mdadm.py	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/debian/source_mdadm.py	2011-03-18 15:58:15.000000000 +0000
@@ -0,0 +1,55 @@
+'''apport package hook for mdadm
+
+(c) 2009 Canonical Ltd.
+Author: Steve Beattie <sbeattie@ubuntu.com>
+
+Based on the ideas in debian's /usr/share/bug/mdadm/script
+'''
+
+from apport.hookutils import *
+from os import path
+import re
+import glob
+import gzip
+import subprocess
+
+def get_initrd_files(pattern):
+    '''Extract listing of files from the current initrd which match a regex.
+
+       pattern should be a "re" object.  '''
+
+    (_, _, release, _, _) = os.uname()
+    try:
+        fd = gzip.GzipFile('/boot/initrd.img-' + release, 'rb')
+        cpio = subprocess.Popen(['cpio', '-t'], close_fds=True, stderr=subprocess.STDOUT,
+		                stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+    except OSError, e:
+        return 'Error: ' + str(e)
+
+    out = cpio.communicate(fd.read())[0]
+    if cpio.returncode != 0:
+       return 'Error: command %s failed with exit code %i %' % (
+           'cpio', cpio.returncode, out)
+
+    lines = ' '
+    for line in out.splitlines(True):
+        if pattern.search(line):
+            lines += ' ' + line
+    return lines
+
+def add_info(report):
+    attach_hardware(report)
+    attach_file(report, '/proc/mounts', 'ProcMounts')
+    attach_file_if_exists(report, '/etc/mdadm/mdadm.conf', 'mdadm.conf')
+    attach_file(report, '/proc/mdstat', 'ProcMDstat')
+    attach_file(report, '/proc/partitions', 'ProcPartitions')
+    attach_file(report, '/etc/blkid.tab', 'etc.blkid.tab')
+    attach_file_if_exists(report, '/boot/grub/menu.lst', 'GrubMenu.lst')
+    attach_file_if_exists(report, '/etc/lilo.conf', 'lilo.conf')
+
+    devices = glob.glob("/dev/[hs]d*")
+    for dev in devices:
+        report['MDadmExamine' + path_to_key(dev)] = command_output(['/sbin/mdadm', '-E', dev])
+
+    initrd_re = re.compile('md[a/]')
+    report['initrd.files'] = get_initrd_files(initrd_re)
diff -pruN 3.2.3-2/.pc/applied-patches 3.2.3-2ubuntu1/.pc/applied-patches
--- 3.2.3-2/.pc/applied-patches	2012-02-10 03:48:24.000000000 +0000
+++ 3.2.3-2ubuntu1/.pc/applied-patches	2012-02-10 03:48:25.000000000 +0000
@@ -1,3 +1,4 @@
 debian/conffile-location.diff
 debian/disable-udev-incr-assembly.diff
 debian/no-Werror.diff
+debian-changes-3.1.4-1+8efb9d1ubuntu4
diff -pruN 3.2.3-2/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/Assemble.c 3.2.3-2ubuntu1/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/Assemble.c
--- 3.2.3-2/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/Assemble.c	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/Assemble.c	2011-12-22 23:49:07.000000000 +0000
@@ -0,0 +1,1650 @@
+/*
+ * mdadm - manage Linux "md" devices aka RAID arrays.
+ *
+ * Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
+ *
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *    Author: Neil Brown
+ *    Email: <neilb@suse.de>
+ */
+
+#include	"mdadm.h"
+#include	<ctype.h>
+
+static int name_matches(char *found, char *required, char *homehost)
+{
+	/* See if the name found matches the required name, possibly
+	 * prefixed with 'homehost'
+	 */
+	char fnd[33];
+
+	strncpy(fnd, found, 32);
+	fnd[32] = 0;
+	if (strcmp(found, required)==0)
+		return 1;
+	if (homehost) {
+		int l = strlen(homehost);
+		if (l < 32 && fnd[l] == ':' &&
+		    strcmp(fnd+l+1, required)==0)
+			return 1;
+	}
+	return 0;
+}
+
+static int is_member_busy(char *metadata_version)
+{
+	/* check if the given member array is active */
+	struct mdstat_ent *mdstat = mdstat_read(1, 0);
+	struct mdstat_ent *ent;
+	int busy = 0;
+
+	for (ent = mdstat; ent; ent = ent->next) {
+		if (ent->metadata_version == NULL)
+			continue;
+		if (strncmp(ent->metadata_version, "external:", 9) != 0)
+			continue;
+		if (!is_subarray(&ent->metadata_version[9]))
+			continue;
+		/* Skip first char - it can be '/' or '-' */
+		if (strcmp(&ent->metadata_version[10], metadata_version+1) == 0) {
+			busy = 1;
+			break;
+		}
+	}
+	free_mdstat(mdstat);
+
+	return busy;
+}
+
+static int ident_matches(struct mddev_ident *ident,
+			 struct mdinfo *content,
+			 struct supertype *tst,
+			 char *homehost,
+			 char *update, char *devname)
+{
+
+	if (ident->uuid_set && (!update || strcmp(update, "uuid")!= 0) &&
+	    same_uuid(content->uuid, ident->uuid, tst->ss->swapuuid)==0 &&
+	    memcmp(content->uuid, uuid_zero, sizeof(int[4])) != 0) {
+		if (devname)
+			fprintf(stderr, Name ": %s has wrong uuid.\n",
+				devname);
+		return 0;
+	}
+	if (ident->name[0] && (!update || strcmp(update, "name")!= 0) &&
+	    name_matches(content->name, ident->name, homehost)==0) {
+		if (devname)
+			fprintf(stderr, Name ": %s has wrong name.\n",
+				devname);
+		return 0;
+	}
+	if (ident->super_minor != UnSet &&
+	    ident->super_minor != content->array.md_minor) {
+		if (devname)
+			fprintf(stderr, Name ": %s has wrong super-minor.\n",
+				devname);
+		return 0;
+	}
+	if (ident->level != UnSet &&
+	    ident->level != content->array.level) {
+		if (devname)
+			fprintf(stderr, Name ": %s has wrong raid level.\n",
+				devname);
+		return 0;
+	}
+	if (ident->raid_disks != UnSet &&
+	    ident->raid_disks!= content->array.raid_disks) {
+		if (devname)
+			fprintf(stderr, Name ": %s requires wrong number of drives.\n",
+				devname);
+		return 0;
+	}
+	if (ident->member && ident->member[0]) {
+		/* content->text_version must match */
+		char *s = strchr(content->text_version+1, '/');
+		if (s == NULL) {
+			if (devname)
+				fprintf(stderr, Name ": %s is not a container and one is required.\n",
+					devname);
+			return 0;
+		} else if (strcmp(ident->member, s+1) != 0) {
+			if (devname)
+				fprintf(stderr, Name ": skipping wrong member %s is %s\n",
+					content->text_version, devname);
+			return 0;
+		}
+	}
+	return 1;
+}
+			 
+
+int Assemble(struct supertype *st, char *mddev,
+	     struct mddev_ident *ident,
+	     struct mddev_dev *devlist,
+	     char *backup_file, int invalid_backup,
+	     int readonly, int runstop,
+	     char *update, char *homehost, int require_homehost,
+	     int verbose, int force, int freeze_reshape)
+{
+	/*
+	 * The task of Assemble is to find a collection of
+	 * devices that should (according to their superblocks)
+	 * form an array, and to give this collection to the MD driver.
+	 * In Linux-2.4 and later, this involves submitting a
+	 * SET_ARRAY_INFO ioctl with no arg - to prepare
+	 * the array - and then submit a number of
+	 * ADD_NEW_DISK ioctls to add disks into
+	 * the array.  Finally RUN_ARRAY might
+	 * be submitted to start the array.
+	 *
+	 * Much of the work of Assemble is in finding and/or
+	 * checking the disks to make sure they look right.
+	 *
+	 * If mddev is not set, then scan must be set and we
+	 *  read through the config file for dev+uuid mapping
+	 *  We recurse, setting mddev, for each device that
+	 *    - isn't running
+	 *    - has a valid uuid (or any uuid if !uuidset)
+	 *
+	 * If mddev is set, we try to determine state of md.
+	 *   check version - must be at least 0.90.0
+	 *   check kernel version.  must be at least 2.4.
+	 *    If not, we can possibly fall back on START_ARRAY
+	 *   Try to GET_ARRAY_INFO.
+	 *     If possible, give up
+	 *     If not, try to STOP_ARRAY just to make sure
+	 *
+	 * If !uuidset and scan, look in conf-file for uuid
+	 *       If not found, give up
+	 * If !devlist and scan and uuidset, get list of devs from conf-file
+	 *
+	 * For each device:
+	 *   Check superblock - discard if bad
+	 *   Check uuid (set if we don't have one) - discard if no match
+	 *   Check superblock similarity if we have a superblock - discard if different
+	 *   Record events, devicenum
+	 * This should give us a list of devices for the array
+	 * We should collect the most recent event number
+	 *
+	 * Count disks with recent enough event count
+	 * While force && !enough disks
+	 *    Choose newest rejected disks, update event count
+	 *     mark clean and rewrite superblock
+	 * If recent kernel:
+	 *    SET_ARRAY_INFO
+	 *    foreach device with recent events : ADD_NEW_DISK
+	 *    if runstop == 1 || "enough" disks and runstop==0 -> RUN_ARRAY
+	 * If old kernel:
+	 *    Check the device numbers in superblock are right
+	 *    update superblock if any changes
+	 *    START_ARRAY
+	 *
+	 */
+	int mdfd;
+	int clean;
+	int auto_assem = (mddev == NULL && !ident->uuid_set &&
+			  ident->super_minor == UnSet && ident->name[0] == 0
+			  && (ident->container == NULL || ident->member == NULL));
+	int old_linux = 0;
+	int vers = vers; /* Keep gcc quite - it really is initialised */
+	struct {
+		char *devname;
+		int uptodate; /* set once we decide that this device is as
+			       * recent as everything else in the array.
+			       */
+		struct mdinfo i;
+	} *devices;
+	char *devmap;
+	int *best = NULL; /* indexed by raid_disk */
+	int bestcnt = 0;
+	int devcnt = 0;
+	unsigned int okcnt, sparecnt, rebuilding_cnt;
+	unsigned int req_cnt;
+	int i;
+	int most_recent = 0;
+	int chosen_drive;
+	int change = 0;
+	int inargv = 0;
+	int report_missmatch;
+#ifndef MDASSEMBLE
+	int bitmap_done;
+#endif
+	int start_partial_ok = (runstop >= 0) && 
+		(force || devlist==NULL || auto_assem);
+	unsigned int num_devs;
+	struct mddev_dev *tmpdev;
+	struct mdinfo info;
+	struct mdinfo *content = NULL;
+	char *avail;
+	int nextspare = 0;
+	char *name = NULL;
+	int trustworthy;
+	char chosen_name[1024];
+	struct domainlist *domains = NULL;
+
+	if (get_linux_version() < 2004000)
+		old_linux = 1;
+
+	/*
+	 * If any subdevs are listed, then any that don't
+	 * match ident are discarded.  Remainder must all match and
+	 * become the array.
+	 * If no subdevs, then we scan all devices in the config file, but
+	 * there must be something in the identity
+	 */
+
+	if (!devlist &&
+	    ident->uuid_set == 0 &&
+	    (ident->super_minor < 0 || ident->super_minor == UnSet) &&
+	    ident->name[0] == 0 &&
+	    (ident->container == NULL || ident->member == NULL) &&
+	    ident->devices == NULL) {
+		fprintf(stderr, Name ": No identity information available for %s - cannot assemble.\n",
+			mddev ? mddev : "further assembly");
+		return 1;
+	}
+
+	if (devlist == NULL)
+		devlist = conf_get_devs();
+	else if (mddev)
+		inargv = 1;
+
+	report_missmatch = ((inargv && verbose >= 0) || verbose > 0);
+ try_again:
+	/* We come back here when doing auto-assembly and attempting some
+	 * set of devices failed.  Those are now marked as ->used==2 and
+	 * we ignore them and try again
+	 */
+
+	tmpdev = devlist; num_devs = 0;
+	while (tmpdev) {
+		if (tmpdev->used)
+			tmpdev->used = 2;
+		else
+			num_devs++;
+		tmpdev = tmpdev->next;
+	}
+
+	if (!st && ident->st) st = ident->st;
+
+	if (verbose>0)
+	    fprintf(stderr, Name ": looking for devices for %s\n",
+		    mddev ? mddev : "further assembly");
+
+	/* first walk the list of devices to find a consistent set
+	 * that match the criterea, if that is possible.
+	 * We flag the ones we like with 'used'.
+	 */
+	for (tmpdev = devlist;
+	     tmpdev;
+	     tmpdev = tmpdev ? tmpdev->next : NULL) {
+		char *devname = tmpdev->devname;
+		int dfd;
+		struct stat stb;
+		struct supertype *tst;
+		struct dev_policy *pol = NULL;
+		int found_container = 0;
+
+		if (tmpdev->used > 1) continue;
+
+		if (ident->devices &&
+		    !match_oneof(ident->devices, devname)) {
+			if (report_missmatch)
+				fprintf(stderr, Name ": %s is not one of %s\n", devname, ident->devices);
+			continue;
+		}
+
+		tst = dup_super(st);
+
+		dfd = dev_open(devname, O_RDONLY|O_EXCL);
+		if (dfd < 0) {
+			if (report_missmatch)
+				fprintf(stderr, Name ": cannot open device %s: %s\n",
+					devname, strerror(errno));
+			tmpdev->used = 2;
+		} else if (fstat(dfd, &stb)< 0) {
+			/* Impossible! */
+			fprintf(stderr, Name ": fstat failed for %s: %s\n",
+				devname, strerror(errno));
+			tmpdev->used = 2;
+		} else if ((stb.st_mode & S_IFMT) != S_IFBLK) {
+			fprintf(stderr, Name ": %s is not a block device.\n",
+				devname);
+			tmpdev->used = 2;
+		} else if (must_be_container(dfd)) {
+			if (st) {
+				/* already found some components, this cannot
+				 * be another one.
+				 */
+				if (report_missmatch)
+					fprintf(stderr, Name ": %s is a container, but we are looking for components\n",
+						devname);
+				tmpdev->used = 2;
+#if !defined(MDASSEMBLE) || defined(MDASSEMBLE) && defined(MDASSEMBLE_AUTO)
+			} if (!tst && (tst = super_by_fd(dfd, NULL)) == NULL) {
+				if (report_missmatch)
+					fprintf(stderr, Name ": not a recognisable container: %s\n",
+						devname);
+				tmpdev->used = 2;
+#endif
+			} else if (!tst->ss->load_container
+				   || tst->ss->load_container(tst, dfd, NULL)) {
+				if (report_missmatch)
+					fprintf(stderr, Name ": no correct container type: %s\n",
+						devname);
+				tmpdev->used = 2;
+			} else if (auto_assem &&
+				   !conf_test_metadata(tst->ss->name, (pol = devnum_policy(stb.st_rdev)),
+						       tst->ss->match_home(tst, homehost) == 1)) {
+				if (report_missmatch)
+					fprintf(stderr, Name ": %s has metadata type %s for which "
+						"auto-assembly is disabled\n",
+						devname, tst->ss->name);
+				tmpdev->used = 2;
+			} else
+				found_container = 1;
+		} else {
+			if (!tst && (tst = guess_super(dfd)) == NULL) {
+				if (report_missmatch)
+					fprintf(stderr, Name ": no recogniseable superblock on %s\n",
+						devname);
+				tmpdev->used = 2;
+			} else if (tst->ss->load_super(tst,dfd, NULL)) {
+				if (report_missmatch)
+					fprintf(stderr, Name ": no RAID superblock on %s\n",
+						devname);
+				tmpdev->used = 2;
+			} else if (tst->ss->compare_super == NULL) {
+				if (report_missmatch)
+					fprintf(stderr, Name ": Cannot assemble %s metadata on %s\n",
+						tst->ss->name, devname);
+				tmpdev->used = 2;
+			} else if (auto_assem && st == NULL &&
+				   !conf_test_metadata(tst->ss->name, (pol = devnum_policy(stb.st_rdev)),
+						       tst->ss->match_home(tst, homehost) == 1)) {
+				if (report_missmatch)
+					fprintf(stderr, Name ": %s has metadata type %s for which "
+						"auto-assembly is disabled\n",
+						devname, tst->ss->name);
+				tmpdev->used = 2;
+			}
+		}
+		if (dfd >= 0) close(dfd);
+		if (tmpdev->used == 2) {
+			if (auto_assem || !inargv)
+				/* Ignore unrecognised devices during auto-assembly */
+				goto loop;
+			if (ident->uuid_set || ident->name[0] ||
+			    ident->super_minor != UnSet)
+				/* Ignore unrecognised device if looking for
+				 * specific array */
+				goto loop;
+			    
+
+			fprintf(stderr, Name ": %s has no superblock - assembly aborted\n",
+				devname);
+			if (st)
+				st->ss->free_super(st);
+			dev_policy_free(pol);
+			domain_free(domains);
+			return 1;
+		}
+
+		if (found_container) {
+			/* tmpdev is a container.  We need to be either
+			 * looking for a member, or auto-assembling
+			 */
+
+			if (ident->container) {
+				if (ident->container[0] == '/' &&
+				    !same_dev(ident->container, devname)) {
+					if (report_missmatch)
+						fprintf(stderr, Name ": %s is not the container required (%s)\n",
+							devname, ident->container);
+					goto loop;
+				}
+				if (ident->container[0] != '/') {
+					/* we have a uuid */
+					int uuid[4];
+
+					content = &info;
+					tst->ss->getinfo_super(tst, content, NULL);
+
+					if (!parse_uuid(ident->container, uuid) ||
+					    !same_uuid(content->uuid, uuid, tst->ss->swapuuid)) {
+						if (report_missmatch)
+							fprintf(stderr, Name ": %s has wrong UUID to be required container\n",
+								devname);
+						goto loop;
+					}
+				}
+			}
+			/* It is worth looking inside this container.
+			 */
+			if (verbose > 0)
+				fprintf(stderr, Name ": looking in container %s\n",
+					devname);
+
+			for (content = tst->ss->container_content(tst, NULL);
+			     content;
+			     content = content->next) {
+
+				if (!ident_matches(ident, content, tst,
+						   homehost, update,
+						   report_missmatch ? devname : NULL))
+					/* message already printed */;
+				else if (is_member_busy(content->text_version)) {
+					if (report_missmatch)
+						fprintf(stderr, Name ": member %s in %s is already assembled\n",
+							content->text_version,
+							devname);
+				} else if (content->array.state & (1<<MD_SB_BLOCK_VOLUME)) {
+					/* do not assemble arrays with unsupported configurations */
+					fprintf(stderr, Name ": Cannot activate member %s in %s.\n",
+						content->text_version,
+						devname);
+				} else
+					break;
+			}
+			if (!content) {
+				tmpdev->used = 2;
+				goto loop; /* empty container */
+			}
+
+			st = tst; tst = NULL;
+			if (!auto_assem && inargv && tmpdev->next != NULL) {
+				fprintf(stderr, Name ": %s is a container, but is not "
+					"only device given: confused and aborting\n",
+					devname);
+				st->ss->free_super(st);
+				dev_policy_free(pol);
+				domain_free(domains);
+				return 1;
+			}
+			if (verbose > 0)
+				fprintf(stderr, Name ": found match on member %s in %s\n",
+					content->text_version, devname);
+
+			/* make sure we finished the loop */
+			tmpdev = NULL;
+			goto loop;
+		} else {
+
+			content = &info;
+			tst->ss->getinfo_super(tst, content, NULL);
+
+			if (!ident_matches(ident, content, tst,
+					   homehost, update,
+					   report_missmatch ? devname : NULL))
+				goto loop;
+				
+			if (st == NULL)
+				st = dup_super(tst);
+			if (st->minor_version == -1)
+				st->minor_version = tst->minor_version;
+
+			if (memcmp(content->uuid, uuid_zero,
+				   sizeof(int[4])) == 0) {
+				/* this is a floating spare.  It cannot define
+				 * an array unless there are no more arrays of
+				 * this type to be found.  It can be included
+				 * in an array of this type though.
+				 */
+				tmpdev->used = 3;
+				goto loop;
+			}
+
+			if (st->ss != tst->ss ||
+			    st->minor_version != tst->minor_version ||
+			    st->ss->compare_super(st, tst) != 0) {
+				/* Some mismatch. If exactly one array matches this host,
+				 * we can resolve on that one.
+				 * Or, if we are auto assembling, we just ignore the second
+				 * for now.
+				 */
+				if (auto_assem)
+					goto loop;
+				if (homehost) {
+					int first = st->ss->match_home(st, homehost);
+					int last = tst->ss->match_home(tst, homehost);
+					if (first != last &&
+					    (first == 1 || last == 1)) {
+						/* We can do something */
+						if (first) {/* just ignore this one */
+							if (report_missmatch)
+								fprintf(stderr, Name ": %s misses out due to wrong homehost\n",
+									devname);
+							goto loop;
+						} else { /* reject all those sofar */
+							struct mddev_dev *td;
+							if (report_missmatch)
+								fprintf(stderr, Name ": %s overrides previous devices due to good homehost\n",
+									devname);
+							for (td=devlist; td != tmpdev; td=td->next)
+								if (td->used == 1)
+									td->used = 0;
+							tmpdev->used = 1;
+							goto loop;
+						}
+					}
+				}
+				fprintf(stderr, Name ": superblock on %s doesn't match others - assembly aborted\n",
+					devname);
+				tst->ss->free_super(tst);
+				st->ss->free_super(st);
+				dev_policy_free(pol);
+				domain_free(domains);
+				return 1;
+			}
+			tmpdev->used = 1;
+		}
+	loop:
+		/* Collect domain information from members only */
+		if (tmpdev && tmpdev->used == 1) {
+			if (!pol)
+				pol = devnum_policy(stb.st_rdev);
+			domain_merge(&domains, pol, tst?tst->ss->name:NULL);
+		}
+		dev_policy_free(pol);
+		pol = NULL;
+		if (tst)
+			tst->ss->free_super(tst);
+	}
+
+	/* Check if we found some imsm spares but no members */
+	if ((auto_assem ||
+	     (ident->uuid_set &&
+	      memcmp(uuid_zero, ident->uuid,sizeof(uuid_zero)) == 0)) &&
+	    (!st || !st->sb))
+		for (tmpdev = devlist; tmpdev; tmpdev = tmpdev->next) {
+			if (tmpdev->used != 3)
+				continue;
+			tmpdev->used = 1;
+			content = &info;
+
+			if (!st->sb) {
+				/* we need sb from one of the spares */
+				int dfd = dev_open(tmpdev->devname, O_RDONLY);
+				if (dfd < 0 ||
+				    st->ss->load_super(st, dfd, NULL))
+					tmpdev->used = 2;
+				if (dfd > 0)
+					close(dfd);
+			}
+		}
+
+	/* Now reject spares that don't match domains of identified members */
+	for (tmpdev = devlist; tmpdev; tmpdev = tmpdev->next) {
+		struct stat stb;
+		if (tmpdev->used != 3)
+			continue;
+		if (stat(tmpdev->devname, &stb)< 0) {
+			fprintf(stderr, Name ": fstat failed for %s: %s\n",
+				tmpdev->devname, strerror(errno));
+			tmpdev->used = 2;
+		} else {
+			struct dev_policy *pol = devnum_policy(stb.st_rdev);
+			int dt = domain_test(domains, pol, NULL);
+			if (inargv && dt != 0)
+				/* take this spare as domains match
+				 * if there are any */
+				tmpdev->used = 1;
+			else if (!inargv && dt == 1)
+				/* device wasn't explicitly listed, so need
+				 * explicit domain match - which we have */
+				tmpdev->used = 1;
+			else
+				/* if domains don't match mark as unused */
+				tmpdev->used = 0;
+			dev_policy_free(pol);
+		}
+	}
+	domain_free(domains);
+	
+	if (!st || !st->sb || !content)
+		return 2;
+
+	/* Now need to open the array device.  Use create_mddev */
+	if (content == &info)
+		st->ss->getinfo_super(st, content, NULL);
+
+	trustworthy = FOREIGN;
+	name = content->name;
+	switch (st->ss->match_home(st, homehost)
+		?: st->ss->match_home(st, "any")) {
+	case 1:
+		trustworthy = LOCAL;
+		name = strchr(content->name, ':');
+		if (name)
+			name++;
+		else
+			name = content->name;
+		break;
+	}
+	if (!auto_assem)
+		/* If the array is listed in mdadm.conf or on
+		 * command line, then we trust the name
+		 * even if the array doesn't look local
+		 */
+		trustworthy = LOCAL;
+
+	if (name[0] == 0 &&
+	    content->array.level == LEVEL_CONTAINER) {
+		name = content->text_version;
+		trustworthy = METADATA;
+	}
+
+	if (name[0] && trustworthy != LOCAL &&
+	    ! require_homehost &&
+	    conf_name_is_free(name))
+		trustworthy = LOCAL;
+
+	if (trustworthy == LOCAL &&
+	    strchr(name, ':'))
+		/* Ignore 'host:' prefix of name */
+		name = strchr(name, ':')+1;
+
+	mdfd = create_mddev(mddev, name, ident->autof, trustworthy,
+			    chosen_name);
+	if (mdfd < 0) {
+		st->ss->free_super(st);
+		if (auto_assem)
+			goto try_again;
+		return 1;
+	}
+	mddev = chosen_name;
+	vers = md_get_version(mdfd);
+	if (vers < 9000) {
+		fprintf(stderr, Name ": Assemble requires driver version 0.90.0 or later.\n"
+			"    Upgrade your kernel or try --build\n");
+		close(mdfd);
+		return 1;
+	}
+	if (mddev_busy(fd2devnum(mdfd))) {
+		fprintf(stderr, Name ": %s already active, cannot restart it!\n",
+			mddev);
+		for (tmpdev = devlist ;
+		     tmpdev && tmpdev->used != 1;
+		     tmpdev = tmpdev->next)
+			;
+		if (tmpdev && auto_assem)
+			fprintf(stderr, Name ":   %s needed for %s...\n",
+				mddev, tmpdev->devname);
+		close(mdfd);
+		mdfd = -3;
+		st->ss->free_super(st);
+		if (auto_assem)
+			goto try_again;
+		return 1;
+	}
+	ioctl(mdfd, STOP_ARRAY, NULL); /* just incase it was started but has no content */
+
+#ifndef MDASSEMBLE
+	if (content != &info) {
+		/* This is a member of a container.  Try starting the array. */
+		int err;
+		err = assemble_container_content(st, mdfd, content, runstop,
+						 chosen_name, verbose,
+						 backup_file, freeze_reshape);
+		close(mdfd);
+		return err;
+	}
+	bitmap_done = 0;
+#endif
+	/* Ok, no bad inconsistancy, we can try updating etc */
+	devices = malloc(num_devs * sizeof(*devices));
+	devmap = calloc(num_devs * content->array.raid_disks, 1);
+	for (tmpdev = devlist; tmpdev; tmpdev=tmpdev->next) if (tmpdev->used == 1) {
+		char *devname = tmpdev->devname;
+		struct stat stb;
+		/* looks like a good enough match to update the super block if needed */
+#ifndef MDASSEMBLE
+		if (update) {
+			int dfd;
+			/* prepare useful information in info structures */
+			struct stat stb2;
+			struct supertype *tst;
+			int err;
+			fstat(mdfd, &stb2);
+
+			if (strcmp(update, "uuid")==0 &&
+			    !ident->uuid_set) {
+				int rfd;
+				if ((rfd = open("/dev/urandom", O_RDONLY)) < 0 ||
+				    read(rfd, ident->uuid, 16) != 16) {
+					*(__u32*)(ident->uuid) = random();
+					*(__u32*)(ident->uuid+1) = random();
+					*(__u32*)(ident->uuid+2) = random();
+					*(__u32*)(ident->uuid+3) = random();
+				}
+				if (rfd >= 0) close(rfd);
+			}
+			dfd = dev_open(devname, O_RDWR|O_EXCL);
+
+			tst = dup_super(st);
+			if (dfd < 0 || tst->ss->load_super(tst, dfd, NULL) != 0) {
+				fprintf(stderr, Name ": cannot re-read metadata from %s - aborting\n",
+					devname);
+				if (dfd >= 0)
+					close(dfd);
+				close(mdfd);
+				free(devices);
+				free(devmap);
+				return 1;
+			}
+			tst->ss->getinfo_super(tst, content, devmap + devcnt * content->array.raid_disks);
+
+			memcpy(content->uuid, ident->uuid, 16);
+			strcpy(content->name, ident->name);
+			content->array.md_minor = minor(stb2.st_rdev);
+
+			if (strcmp(update, "byteorder") == 0)
+				err = 0;
+			else
+				err = tst->ss->update_super(tst, content, update,
+							    devname, verbose,
+							    ident->uuid_set,
+							    homehost);
+			if (err < 0) {
+				fprintf(stderr,
+					Name ": --update=%s not understood"
+					" for %s metadata\n",
+					update, tst->ss->name);
+				tst->ss->free_super(tst);
+				free(tst);
+				close(mdfd);
+				close(dfd);
+				free(devices);
+				free(devmap);
+				return 1;
+			}
+			if (strcmp(update, "uuid")==0 &&
+			    !ident->uuid_set) {
+				ident->uuid_set = 1;
+				memcpy(ident->uuid, content->uuid, 16);
+			}
+			if (tst->ss->store_super(tst, dfd))
+				fprintf(stderr, Name ": Could not re-write superblock on %s.\n",
+					devname);
+			close(dfd);
+
+			if (strcmp(update, "uuid")==0 &&
+			    ident->bitmap_fd >= 0 && !bitmap_done) {
+				if (bitmap_update_uuid(ident->bitmap_fd,
+						       content->uuid,
+						       tst->ss->swapuuid) != 0)
+					fprintf(stderr, Name ": Could not update uuid on external bitmap.\n");
+				else
+					bitmap_done = 1;
+			}
+			tst->ss->free_super(tst);
+		} else
+#endif
+		{
+			struct supertype *tst = dup_super(st);
+			int dfd;
+			dfd = dev_open(devname, O_RDWR|O_EXCL);
+
+			if (dfd < 0 || tst->ss->load_super(tst, dfd, NULL) != 0) {
+				fprintf(stderr, Name ": cannot re-read metadata from %s - aborting\n",
+					devname);
+				if (dfd >= 0)
+					close(dfd);
+				close(mdfd);
+				free(devices);
+				free(devmap);
+				return 1;
+			}
+			tst->ss->getinfo_super(tst, content, devmap + devcnt * content->array.raid_disks);
+			tst->ss->free_super(tst);
+			close(dfd);
+		}
+
+		stat(devname, &stb);
+
+		if (verbose > 0)
+			fprintf(stderr, Name ": %s is identified as a member of %s, slot %d.\n",
+				devname, mddev, content->disk.raid_disk);
+		devices[devcnt].devname = devname;
+		devices[devcnt].uptodate = 0;
+		devices[devcnt].i = *content;
+		devices[devcnt].i.disk.major = major(stb.st_rdev);
+		devices[devcnt].i.disk.minor = minor(stb.st_rdev);
+		if (most_recent < devcnt) {
+			if (devices[devcnt].i.events
+			    > devices[most_recent].i.events)
+				most_recent = devcnt;
+		}
+		if (content->array.level == LEVEL_MULTIPATH)
+			/* with multipath, the raid_disk from the superblock is meaningless */
+			i = devcnt;
+		else
+			i = devices[devcnt].i.disk.raid_disk;
+		if (i+1 == 0) {
+			if (nextspare < content->array.raid_disks)
+				nextspare = content->array.raid_disks;
+			i = nextspare++;
+		} else {
+			if (i >= content->array.raid_disks &&
+			    i >= nextspare)
+				nextspare = i+1;
+		}
+		if (i < 10000) {
+			if (i >= bestcnt) {
+				int newbestcnt = i+10;
+				int *newbest = malloc(sizeof(int)*newbestcnt);
+				int c;
+				for (c=0; c < newbestcnt; c++)
+					if (c < bestcnt)
+						newbest[c] = best[c];
+					else
+						newbest[c] = -1;
+				if (best)free(best);
+				best = newbest;
+				bestcnt = newbestcnt;
+			}
+			if (best[i] >=0 &&
+			    devices[best[i]].i.events
+			    == devices[devcnt].i.events
+			    && (devices[best[i]].i.disk.minor
+				!= devices[devcnt].i.disk.minor)
+			    && st->ss == &super0
+			    && content->array.level != LEVEL_MULTIPATH) {
+				/* two different devices with identical superblock.
+				 * Could be a mis-detection caused by overlapping
+				 * partitions.  fail-safe.
+				 */
+				fprintf(stderr, Name ": WARNING %s and %s appear"
+					" to have very similar superblocks.\n"
+					"      If they are really different, "
+					"please --zero the superblock on one\n"
+					"      If they are the same or overlap,"
+					" please remove one from %s.\n",
+					devices[best[i]].devname, devname,
+					inargv ? "the list" :
+					   "the\n      DEVICE list in mdadm.conf"
+					);
+				close(mdfd);
+				free(devices);
+				free(devmap);
+				return 1;
+			}
+			if (best[i] == -1
+			    || (devices[best[i]].i.events
+				< devices[devcnt].i.events))
+				best[i] = devcnt;
+		}
+		devcnt++;
+	}
+
+	if (devcnt == 0) {
+		fprintf(stderr, Name ": no devices found for %s\n",
+			mddev);
+		if (st)
+			st->ss->free_super(st);
+		close(mdfd);
+		free(devices);
+		free(devmap);
+		return 1;
+	}
+
+	if (update && strcmp(update, "byteorder")==0)
+		st->minor_version = 90;
+
+	st->ss->getinfo_super(st, content, NULL);
+	clean = content->array.state & 1;
+
+	/* now we have some devices that might be suitable.
+	 * I wonder how many
+	 */
+	avail = malloc(content->array.raid_disks);
+	memset(avail, 0, content->array.raid_disks);
+	okcnt = 0;
+	sparecnt=0;
+	rebuilding_cnt=0;
+	for (i=0; i< bestcnt; i++) {
+		int j = best[i];
+		int event_margin = 1; /* always allow a difference of '1'
+				       * like the kernel does
+				       */
+		if (j < 0) continue;
+		/* note: we ignore error flags in multipath arrays
+		 * as they don't make sense
+		 */
+		if (content->array.level != LEVEL_MULTIPATH)
+			if (!(devices[j].i.disk.state & (1<<MD_DISK_ACTIVE))) {
+				if (!(devices[j].i.disk.state
+				      & (1<<MD_DISK_FAULTY))) {
+					devices[j].uptodate = 1;
+					sparecnt++;
+				}
+				continue;
+			}
+		/* If this devices thinks that 'most_recent' has failed, then
+		 * we must reject this device.
+		 */
+		if (j != most_recent &&
+		    content->array.raid_disks > 0 &&
+		    devices[most_recent].i.disk.raid_disk >= 0 &&
+		    devmap[j * content->array.raid_disks + devices[most_recent].i.disk.raid_disk] == 0) {
+			if (verbose > -1)
+				fprintf(stderr, Name ": ignoring %s as it reports %s as failed\n",
+					devices[j].devname, devices[most_recent].devname);
+			best[i] = -1;
+			continue;
+		}
+		if (devices[j].i.events+event_margin >=
+		    devices[most_recent].i.events) {
+			devices[j].uptodate = 1;
+			if (i < content->array.raid_disks) {
+				if (devices[j].i.recovery_start == MaxSector ||
+				    (content->reshape_active &&
+				     j >= content->array.raid_disks - content->delta_disks)) {
+					okcnt++;
+					avail[i]=1;
+				} else
+					rebuilding_cnt++;
+			} else
+				sparecnt++;
+		}
+	}
+	free(devmap);
+	while (force && !enough(content->array.level, content->array.raid_disks,
+				content->array.layout, 1,
+				avail, okcnt)) {
+		/* Choose the newest best drive which is
+		 * not up-to-date, update the superblock
+		 * and add it.
+		 */
+		int fd;
+		struct supertype *tst;
+		unsigned long long current_events;
+		chosen_drive = -1;
+		for (i = 0; i < content->array.raid_disks && i < bestcnt; i++) {
+			int j = best[i];
+			if (j>=0 &&
+			    !devices[j].uptodate &&
+			    devices[j].i.recovery_start == MaxSector &&
+			    (chosen_drive < 0 ||
+			     devices[j].i.events
+			     > devices[chosen_drive].i.events))
+				chosen_drive = j;
+		}
+		if (chosen_drive < 0)
+			break;
+		current_events = devices[chosen_drive].i.events;
+	add_another:
+		if (verbose >= 0)
+			fprintf(stderr, Name ": forcing event count in %s(%d) from %d upto %d\n",
+				devices[chosen_drive].devname,
+				devices[chosen_drive].i.disk.raid_disk,
+				(int)(devices[chosen_drive].i.events),
+				(int)(devices[most_recent].i.events));
+		fd = dev_open(devices[chosen_drive].devname, O_RDWR|O_EXCL);
+		if (fd < 0) {
+			fprintf(stderr, Name ": Couldn't open %s for write - not updating\n",
+				devices[chosen_drive].devname);
+			devices[chosen_drive].i.events = 0;
+			continue;
+		}
+		tst = dup_super(st);
+		if (tst->ss->load_super(tst,fd, NULL)) {
+			close(fd);
+			fprintf(stderr, Name ": RAID superblock disappeared from %s - not updating.\n",
+				devices[chosen_drive].devname);
+			devices[chosen_drive].i.events = 0;
+			continue;
+		}
+		content->events = devices[most_recent].i.events;
+		tst->ss->update_super(tst, content, "force-one",
+				     devices[chosen_drive].devname, verbose,
+				     0, NULL);
+
+		if (tst->ss->store_super(tst, fd)) {
+			close(fd);
+			fprintf(stderr, Name ": Could not re-write superblock on %s\n",
+				devices[chosen_drive].devname);
+			devices[chosen_drive].i.events = 0;
+			tst->ss->free_super(tst);
+			continue;
+		}
+		close(fd);
+		devices[chosen_drive].i.events = devices[most_recent].i.events;
+		devices[chosen_drive].uptodate = 1;
+		avail[chosen_drive] = 1;
+		okcnt++;
+		tst->ss->free_super(tst);
+
+		/* If there are any other drives of the same vintage,
+		 * add them in as well.  We can't lose and we might gain
+		 */
+		for (i = 0; i < content->array.raid_disks && i < bestcnt ; i++) {
+			int j = best[i];
+			if (j >= 0 &&
+			    !devices[j].uptodate &&
+			    devices[j].i.events == current_events) {
+				chosen_drive = j;
+				goto add_another;
+			}
+		}
+	}
+
+	/* Now we want to look at the superblock which the kernel will base things on
+	 * and compare the devices that we think are working with the devices that the
+	 * superblock thinks are working.
+	 * If there are differences and --force is given, then update this chosen
+	 * superblock.
+	 */
+	chosen_drive = -1;
+	st->ss->free_super(st);
+	for (i=0; chosen_drive < 0 && i<bestcnt; i++) {
+		int j = best[i];
+		int fd;
+
+		if (j<0)
+			continue;
+		if (!devices[j].uptodate)
+			continue;
+		if (devices[j].i.events < devices[most_recent].i.events)
+			continue;
+		chosen_drive = j;
+		if ((fd=dev_open(devices[j].devname, O_RDONLY|O_EXCL))< 0) {
+			fprintf(stderr, Name ": Cannot open %s: %s\n",
+				devices[j].devname, strerror(errno));
+			close(mdfd);
+			free(devices);
+			return 1;
+		}
+		if (st->ss->load_super(st,fd, NULL)) {
+			close(fd);
+			fprintf(stderr, Name ": RAID superblock has disappeared from %s\n",
+				devices[j].devname);
+			close(mdfd);
+			free(devices);
+			return 1;
+		}
+		close(fd);
+	}
+	if (st->sb == NULL) {
+		fprintf(stderr, Name ": No suitable drives found for %s\n", mddev);
+		close(mdfd);
+		free(devices);
+		return 1;
+	}
+	st->ss->getinfo_super(st, content, NULL);
+#ifndef MDASSEMBLE
+	sysfs_init(content, mdfd, 0);
+#endif
+	for (i=0; i<bestcnt; i++) {
+		int j = best[i];
+		unsigned int desired_state;
+
+		if (i < content->array.raid_disks)
+			desired_state = (1<<MD_DISK_ACTIVE) | (1<<MD_DISK_SYNC);
+		else
+			desired_state = 0;
+
+		if (j<0)
+			continue;
+		if (!devices[j].uptodate)
+			continue;
+
+		devices[j].i.disk.state = desired_state;
+		if (!(devices[j].i.array.state & 1))
+			clean = 0;
+
+		if (st->ss->update_super(st, &devices[j].i, "assemble", NULL,
+					 verbose, 0, NULL)) {
+			if (force) {
+				if (verbose >= 0)
+					fprintf(stderr, Name ": "
+						"clearing FAULTY flag for device %d in %s for %s\n",
+						j, mddev, devices[j].devname);
+				change = 1;
+			} else {
+				if (verbose >= -1)
+					fprintf(stderr, Name ": "
+						"device %d in %s has wrong state in superblock, but %s seems ok\n",
+						i, mddev, devices[j].devname);
+			}
+		}
+#if 0
+		if (!(super.disks[i].i.disk.state & (1 << MD_DISK_FAULTY))) {
+			fprintf(stderr, Name ": devices %d of %s is not marked FAULTY in superblock, but cannot be found\n",
+				i, mddev);
+		}
+#endif
+	}
+	if (force && !clean &&
+	    !enough(content->array.level, content->array.raid_disks,
+		    content->array.layout, clean,
+		    avail, okcnt)) {
+		change += st->ss->update_super(st, content, "force-array",
+					devices[chosen_drive].devname, verbose,
+					       0, NULL);
+		clean = 1;
+	}
+
+	if (change) {
+		int fd;
+		fd = dev_open(devices[chosen_drive].devname, O_RDWR|O_EXCL);
+		if (fd < 0) {
+			fprintf(stderr, Name ": Could not open %s for write - cannot Assemble array.\n",
+				devices[chosen_drive].devname);
+			close(mdfd);
+			free(devices);
+			return 1;
+		}
+		if (st->ss->store_super(st, fd)) {
+			close(fd);
+			fprintf(stderr, Name ": Could not re-write superblock on %s\n",
+				devices[chosen_drive].devname);
+			close(mdfd);
+			free(devices);
+			return 1;
+		}
+		if (verbose >= 0)
+			fprintf(stderr, Name ": Marking array %s as 'clean'\n",
+				mddev);
+		close(fd);
+	}
+
+	/* If we are in the middle of a reshape we may need to restore saved data
+	 * that was moved aside due to the reshape overwriting live data
+	 * The code of doing this lives in Grow.c
+	 */
+#ifndef MDASSEMBLE
+	if (content->reshape_active) {
+		int err = 0;
+		int *fdlist = malloc(sizeof(int)* bestcnt);
+		if (verbose > 0)
+			fprintf(stderr, Name ":%s has an active reshape - checking "
+				"if critical section needs to be restored\n",
+				chosen_name);
+		for (i=0; i<bestcnt; i++) {
+			int j = best[i];
+			if (j >= 0) {
+				fdlist[i] = dev_open(devices[j].devname, O_RDWR|O_EXCL);
+				if (fdlist[i] < 0) {
+					fprintf(stderr, Name ": Could not open %s for write - cannot Assemble array.\n",
+						devices[j].devname);
+					err = 1;
+					break;
+				}
+			} else
+				fdlist[i] = -1;
+		}
+		if (!err) {
+			if (st->ss->external && st->ss->recover_backup)
+				err = st->ss->recover_backup(st, content);
+			else
+				err = Grow_restart(st, content, fdlist, bestcnt,
+						   backup_file, verbose > 0);
+			if (err && invalid_backup) {
+				if (verbose > 0)
+					fprintf(stderr, Name ": continuing"
+						" without restoring backup\n");
+				err = 0;
+			}
+		}
+		while (i>0) {
+			i--;
+			if (fdlist[i]>=0) close(fdlist[i]);
+		}
+		if (err) {
+			fprintf(stderr, Name ": Failed to restore critical section for reshape, sorry.\n");
+			if (backup_file == NULL)
+				fprintf(stderr,"      Possibly you needed to specify the --backup-file\n");
+			close(mdfd);
+			free(devices);
+			return err;
+		}
+	}
+#endif
+	/* count number of in-sync devices according to the superblock.
+	 * We must have this number to start the array without -s or -R
+	 */
+	req_cnt = content->array.working_disks;
+
+	/* Almost ready to actually *do* something */
+	if (!old_linux) {
+		int rv;
+
+		/* First, fill in the map, so that udev can find our name
+		 * as soon as we become active.
+		 */
+		map_update(NULL, fd2devnum(mdfd), content->text_version,
+			   content->uuid, chosen_name);
+
+		rv = set_array_info(mdfd, st, content);
+		if (rv) {
+			fprintf(stderr, Name ": failed to set array info for %s: %s\n",
+				mddev, strerror(errno));
+			ioctl(mdfd, STOP_ARRAY, NULL);
+			close(mdfd);
+			free(devices);
+			return 1;
+		}
+		if (ident->bitmap_fd >= 0) {
+			if (ioctl(mdfd, SET_BITMAP_FILE, ident->bitmap_fd) != 0) {
+				fprintf(stderr, Name ": SET_BITMAP_FILE failed.\n");
+				ioctl(mdfd, STOP_ARRAY, NULL);
+				close(mdfd);
+				free(devices);
+				return 1;
+			}
+		} else if (ident->bitmap_file) {
+			/* From config file */
+			int bmfd = open(ident->bitmap_file, O_RDWR);
+			if (bmfd < 0) {
+				fprintf(stderr, Name ": Could not open bitmap file %s\n",
+					ident->bitmap_file);
+				ioctl(mdfd, STOP_ARRAY, NULL);
+				close(mdfd);
+				free(devices);
+				return 1;
+			}
+			if (ioctl(mdfd, SET_BITMAP_FILE, bmfd) != 0) {
+				fprintf(stderr, Name ": Failed to set bitmapfile for %s\n", mddev);
+				close(bmfd);
+				ioctl(mdfd, STOP_ARRAY, NULL);
+				close(mdfd);
+				free(devices);
+				return 1;
+			}
+			close(bmfd);
+		}
+
+		/* First, add the raid disks, but add the chosen one last */
+		for (i=0; i<= bestcnt; i++) {
+			int j;
+			if (i < bestcnt) {
+				j = best[i];
+				if (j == chosen_drive)
+					continue;
+			} else
+				j = chosen_drive;
+
+			if (j >= 0 /* && devices[j].uptodate */) {
+				int dfd = dev_open(devices[j].devname,
+						   O_RDWR|O_EXCL);
+				if (dfd >= 0) {
+					remove_partitions(dfd);
+					close(dfd);
+				}
+				rv = add_disk(mdfd, st, content, &devices[j].i);
+
+				if (rv) {
+					fprintf(stderr, Name ": failed to add "
+						        "%s to %s: %s\n",
+						devices[j].devname,
+						mddev,
+						strerror(errno));
+					if (i < content->array.raid_disks
+					    || i == bestcnt)
+						okcnt--;
+					else
+						sparecnt--;
+				} else if (verbose > 0)
+					fprintf(stderr, Name ": added %s "
+						        "to %s as %d\n",
+						devices[j].devname, mddev,
+						devices[j].i.disk.raid_disk);
+			} else if (verbose > 0 && i < content->array.raid_disks)
+				fprintf(stderr, Name ": no uptodate device for "
+					        "slot %d of %s\n",
+					i, mddev);
+		}
+
+		if (content->array.level == LEVEL_CONTAINER) {
+			if (verbose >= 0) {
+				fprintf(stderr, Name ": Container %s has been "
+					"assembled with %d drive%s",
+					mddev, okcnt+sparecnt, okcnt+sparecnt==1?"":"s");
+				if (okcnt < (unsigned)content->array.raid_disks)
+					fprintf(stderr, " (out of %d)",
+						content->array.raid_disks);
+				fprintf(stderr, "\n");
+			}
+			st->ss->free_super(st);
+			sysfs_uevent(content, "change");
+			wait_for(chosen_name, mdfd);
+			close(mdfd);
+			free(devices);
+			return 0;
+		}
+
+		if (runstop == 1 ||
+		    (runstop <= 0 &&
+		     ( enough(content->array.level, content->array.raid_disks,
+			      content->array.layout, clean, avail, okcnt) &&
+		       (okcnt + rebuilding_cnt >= req_cnt || start_partial_ok)
+			     ))) {
+			/* This array is good-to-go.
+			 * If a reshape is in progress then we might need to
+			 * continue monitoring it.  In that case we start
+			 * it read-only and let the grow code make it writable.
+			 */
+			int rv;
+#ifndef MDASSEMBLE
+			if (content->reshape_active &&
+			    content->delta_disks <= 0) {
+				rv = sysfs_set_str(content, NULL,
+						   "array_state", "readonly");
+				if (rv == 0)
+					rv = Grow_continue(mdfd, st, content,
+							   backup_file,
+							   freeze_reshape);
+			} else
+#endif
+				rv = ioctl(mdfd, RUN_ARRAY, NULL);
+			if (rv == 0) {
+				if (verbose >= 0) {
+					fprintf(stderr, Name ": %s has been started with %d drive%s",
+						mddev, okcnt, okcnt==1?"":"s");
+					if (okcnt < (unsigned)content->array.raid_disks)
+						fprintf(stderr, " (out of %d)", content->array.raid_disks);
+					if (rebuilding_cnt)
+						fprintf(stderr, "%s %d rebuilding", sparecnt?",":" and", rebuilding_cnt);
+					if (sparecnt)
+						fprintf(stderr, " and %d spare%s", sparecnt, sparecnt==1?"":"s");
+					fprintf(stderr, ".\n");
+				}
+				if (content->reshape_active &&
+				    content->array.level >= 4 &&
+				    content->array.level <= 6) {
+					/* might need to increase the size
+					 * of the stripe cache - default is 256
+					 */
+					if (256 < 4 * (content->array.chunk_size/4096)) {
+						struct mdinfo *sra = sysfs_read(mdfd, 0, 0);
+						if (sra)
+							sysfs_set_num(sra, NULL,
+								      "stripe_cache_size",
+								      (4 * content->array.chunk_size / 4096) + 1);
+						sysfs_free(sra);
+					}
+				}
+				if (okcnt < (unsigned)content->array.raid_disks) {
+					/* If any devices did not get added
+					 * because the kernel rejected them based
+					 * on event count, try adding them
+					 * again providing the action policy is
+					 * 're-add' or greater.  The bitmap
+					 * might allow them to be included, or
+					 * they will become spares.
+					 */
+					for (i = 0; i < bestcnt; i++) {
+						int j = best[i];
+						if (j >= 0 && !devices[j].uptodate) {
+							if (!disk_action_allows(&devices[j].i, st->ss->name, act_re_add))
+								continue;
+							rv = add_disk(mdfd, st, content,
+								      &devices[j].i);
+							if (rv == 0 && verbose >= 0)
+								fprintf(stderr,
+									Name ": %s has been re-added.\n",
+									devices[j].devname);
+						}
+					}
+				}
+				wait_for(mddev, mdfd);
+				close(mdfd);
+				if (auto_assem) {
+					int usecs = 1;
+					/* There is a nasty race with 'mdadm --monitor'.
+					 * If it opens this device before we close it,
+					 * it gets an incomplete open on which IO
+					 * doesn't work and the capacity is
+					 * wrong.
+					 * If we reopen (to check for layered devices)
+					 * before --monitor closes, we loose.
+					 *
+					 * So: wait upto 1 second for there to be
+					 * a non-zero capacity.
+					 */
+					while (usecs < 1000) {
+						mdfd = open(mddev, O_RDONLY);
+						if (mdfd >= 0) {
+							unsigned long long size;
+							if (get_dev_size(mdfd, NULL, &size) &&
+							    size > 0)
+								break;
+							close(mdfd);
+						}
+						usleep(usecs);
+						usecs <<= 1;
+					}
+				}
+				free(devices);
+				return 0;
+			}
+			fprintf(stderr, Name ": failed to RUN_ARRAY %s: %s\n",
+				mddev, strerror(errno));
+
+			if (!enough(content->array.level, content->array.raid_disks,
+				    content->array.layout, 1, avail, okcnt))
+				fprintf(stderr, Name ": Not enough devices to "
+					"start the array.\n");
+			else if (!enough(content->array.level,
+					 content->array.raid_disks,
+					 content->array.layout, clean,
+					 avail, okcnt))
+				fprintf(stderr, Name ": Not enough devices to "
+					"start the array while not clean "
+					"- consider --force.\n");
+
+			if (auto_assem)
+				ioctl(mdfd, STOP_ARRAY, NULL);
+			close(mdfd);
+			free(devices);
+			return 1;
+		}
+		if (runstop == -1) {
+			fprintf(stderr, Name ": %s assembled from %d drive%s",
+				mddev, okcnt, okcnt==1?"":"s");
+			if (okcnt != (unsigned)content->array.raid_disks)
+				fprintf(stderr, " (out of %d)", content->array.raid_disks);
+			fprintf(stderr, ", but not started.\n");
+			close(mdfd);
+			free(devices);
+			return 0;
+		}
+		if (verbose >= -1) {
+			fprintf(stderr, Name ": %s assembled from %d drive%s", mddev, okcnt, okcnt==1?"":"s");
+			if (rebuilding_cnt)
+				fprintf(stderr, "%s %d rebuilding", sparecnt?", ":" and ", rebuilding_cnt);
+			if (sparecnt)
+				fprintf(stderr, " and %d spare%s", sparecnt, sparecnt==1?"":"s");
+			if (!enough(content->array.level, content->array.raid_disks,
+				    content->array.layout, 1, avail, okcnt))
+				fprintf(stderr, " - not enough to start the array.\n");
+			else if (!enough(content->array.level,
+					 content->array.raid_disks,
+					 content->array.layout, clean,
+					 avail, okcnt))
+				fprintf(stderr, " - not enough to start the "
+					"array while not clean - consider "
+					"--force.\n");
+			else {
+				if (req_cnt == (unsigned)content->array.raid_disks)
+					fprintf(stderr, " - need all %d to start it", req_cnt);
+				else
+					fprintf(stderr, " - need %d of %d to start", req_cnt, content->array.raid_disks);
+				fprintf(stderr, " (use --run to insist).\n");
+			}
+		}
+		if (auto_assem)
+			ioctl(mdfd, STOP_ARRAY, NULL);
+		close(mdfd);
+		free(devices);
+		return 1;
+	} else {
+		/* The "chosen_drive" is a good choice, and if necessary, the superblock has
+		 * been updated to point to the current locations of devices.
+		 * so we can just start the array
+		 */
+		unsigned long dev;
+		dev = makedev(devices[chosen_drive].i.disk.major,
+			    devices[chosen_drive].i.disk.minor);
+		if (ioctl(mdfd, START_ARRAY, dev)) {
+		    fprintf(stderr, Name ": Cannot start array: %s\n",
+			    strerror(errno));
+		}
+
+	}
+	close(mdfd);
+	free(devices);
+	return 0;
+}
+
+#ifndef MDASSEMBLE
+int assemble_container_content(struct supertype *st, int mdfd,
+			       struct mdinfo *content, int runstop,
+			       char *chosen_name, int verbose,
+			       char *backup_file, int freeze_reshape)
+{
+	struct mdinfo *dev, *sra;
+	int working = 0, preexist = 0;
+	int expansion = 0;
+	struct map_ent *map = NULL;
+	int old_raid_disks;
+
+	sysfs_init(content, mdfd, 0);
+
+	sra = sysfs_read(mdfd, 0, GET_VERSION);
+	if (sra == NULL || strcmp(sra->text_version, content->text_version) != 0)
+		if (sysfs_set_array(content, md_get_version(mdfd)) != 0) {
+			if (sra)
+				sysfs_free(sra);
+			return 1;
+		}
+
+	if (st->ss->external && content->recovery_blocked)
+		block_subarray(content);
+
+	if (sra)
+		sysfs_free(sra);
+	old_raid_disks = content->array.raid_disks - content->delta_disks;
+	for (dev = content->devs; dev; dev = dev->next)
+		if (sysfs_add_disk(content, dev, 1) == 0) {
+			if (dev->disk.raid_disk >= old_raid_disks &&
+			    content->reshape_active)
+				expansion++;
+			else
+				working++;
+		} else if (errno == EEXIST)
+			preexist++;
+	if (working == 0)
+		return 1;/* Nothing new, don't try to start */
+
+	map_update(&map, fd2devnum(mdfd),
+		   content->text_version,
+		   content->uuid, chosen_name);
+
+	if (runstop > 0 ||
+		 (working + preexist + expansion) >=
+			content->array.working_disks) {
+		int err;
+		int start_reshape;
+
+		/* There are two types of reshape: container wide or sub-array specific
+		 * Check if metadata requests blocking container wide reshapes
+		 */
+		start_reshape = (content->reshape_active &&
+				 !((content->reshape_active == CONTAINER_RESHAPE) &&
+				   (content->array.state & (1<<MD_SB_BLOCK_CONTAINER_RESHAPE))));
+		if (start_reshape) {
+			int spare = content->array.raid_disks + expansion;
+			if (restore_backup(st, content,
+					   working,
+					   spare, backup_file, verbose) == 1)
+				return 1;
+
+			err = sysfs_set_str(content, NULL,
+					    "array_state", "readonly");
+			if (err)
+				return 1;
+
+			if (st->ss->external) {
+				if (!mdmon_running(st->container_dev))
+					start_mdmon(st->container_dev);
+				ping_monitor_by_id(st->container_dev);
+				if (mdmon_running(st->container_dev) &&
+						st->update_tail == NULL)
+					st->update_tail = &st->updates;
+			}
+
+			err = Grow_continue(mdfd, st, content, backup_file,
+					    freeze_reshape);
+		} else switch(content->array.level) {
+		case LEVEL_LINEAR:
+		case LEVEL_MULTIPATH:
+		case 0:
+			err = sysfs_set_str(content, NULL, "array_state",
+					    "active");
+			break;
+		default:
+			err = sysfs_set_str(content, NULL, "array_state",
+				      "readonly");
+			/* start mdmon if needed. */
+			if (!err) {
+				if (!mdmon_running(st->container_dev))
+					start_mdmon(st->container_dev);
+				ping_monitor_by_id(st->container_dev);
+			}
+			break;
+		}
+		if (!err)
+			sysfs_set_safemode(content, content->safe_mode_delay);
+		if (verbose >= 0) {
+			if (err)
+				fprintf(stderr, Name
+					": array %s now has %d device%s",
+					chosen_name, working + preexist,
+					working + preexist == 1 ? "":"s");
+			else
+				fprintf(stderr, Name
+					": Started %s with %d device%s",
+					chosen_name, working + preexist,
+					working + preexist == 1 ? "":"s");
+			if (preexist)
+				fprintf(stderr, " (%d new)", working);
+			if (expansion)
+				fprintf(stderr, " ( + %d for expansion)",
+					expansion);
+			fprintf(stderr, "\n");
+		}
+		if (!err)
+			wait_for(chosen_name, mdfd);
+		return err;
+		/* FIXME should have an O_EXCL and wait for read-auto */
+	} else {
+		if (verbose >= 0) {
+			fprintf(stderr, Name
+				": %s assembled with %d device%s",
+				chosen_name, preexist + working,
+				preexist + working == 1 ? "":"s");
+			if (preexist)
+				fprintf(stderr, " (%d new)", working);
+			fprintf(stderr, " but not started\n");
+		}
+		return 1;
+	}
+}
+#endif
+
diff -pruN 3.2.3-2/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/config.c 3.2.3-2ubuntu1/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/config.c
--- 3.2.3-2/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/config.c	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/config.c	2011-12-15 04:13:08.000000000 +0000
@@ -0,0 +1,1131 @@
+/*
+ * mdadm - manage Linux "md" devices aka RAID arrays.
+ *
+ * Copyright (C) 2001-2009 Neil Brown <neilb@suse.de>
+ *
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *    Author: Neil Brown
+ *    Email: <neilb@suse.de>
+ */
+
+#include	"mdadm.h"
+#include	"dlink.h"
+#include	<dirent.h>
+#include	<glob.h>
+#include	<fnmatch.h>
+#include	<ctype.h>
+#include	<pwd.h>
+#include	<grp.h>
+
+/*
+ * Read the config file
+ *
+ * conf_get_uuids gets a list of devicename+uuid pairs
+ * conf_get_devs gets device names after expanding wildcards
+ *
+ * Each keeps the returned list and frees it when asked to make
+ * a new list.
+ *
+ * The format of the config file needs to be fairly extensible.
+ * Now, arrays only have names and uuids and devices merely are.
+ * But later arrays might want names, and devices might want superblock
+ * versions, and who knows what else.
+ * I like free format, abhore backslash line continuation, adore
+ *   indentation for structure and am ok about # comments.
+ *
+ * So, each line that isn't blank or a #comment must either start
+ *  with a key word, and not be indented, or must start with a
+ *  non-key-word and must be indented.
+ *
+ * Keywords are DEVICE and ARRAY ... and several others.
+ * DEV{ICE} introduces some devices that might contain raid components.
+ * e.g.
+ *   DEV style=0 /dev/sda* /dev/hd*
+ *   DEV style=1 /dev/sd[b-f]*
+ * ARR{AY} describes an array giving md device and attributes like uuid=whatever
+ * e.g.
+ *   ARRAY /dev/md0 uuid=whatever name=something
+ * Spaces separate words on each line.  Quoting, with "" or '' protects them,
+ * but may not wrap over lines
+ *
+ */
+
+#ifndef CONFFILE
+#define CONFFILE "/etc/mdadm.conf"
+#endif
+#ifndef CONFFILE2
+/* for Debian compatibility .... */
+#define CONFFILE2 "/etc/mdadm/mdadm.conf"
+#endif
+char DefaultConfFile[] = CONFFILE;
+char DefaultAltConfFile[] = CONFFILE2;
+
+enum linetype { Devices, Array, Mailaddr, Mailfrom, Program, CreateDev,
+		Homehost, AutoMode, Policy, PartPolicy, LTEnd };
+char *keywords[] = {
+	[Devices]  = "devices",
+	[Array]    = "array",
+	[Mailaddr] = "mailaddr",
+	[Mailfrom] = "mailfrom",
+	[Program]  = "program",
+	[CreateDev]= "create",
+	[Homehost] = "homehost",
+	[AutoMode] = "auto",
+	[Policy]   = "policy",
+	[PartPolicy]="part-policy",
+	[LTEnd]    = NULL
+};
+
+/*
+ * match_keyword returns an index into the keywords array, or -1 for no match
+ * case is ignored, and at least three characters must be given
+ */
+
+int match_keyword(char *word)
+{
+	int len = strlen(word);
+	int n;
+
+	if (len < 3) return -1;
+	for (n=0; keywords[n]; n++) {
+		if (strncasecmp(word, keywords[n], len)==0)
+			return n;
+	}
+	return -1;
+}
+
+/*
+ * conf_line reads one logical line from the conffile.
+ * It skips comments and continues until it finds a line that starts
+ * with a non blank/comment.  This character is pushed back for the next call
+ * A doubly linked list of words is returned.
+ * the first word will be a keyword.  Other words will have had quotes removed.
+ */
+
+char *conf_line(FILE *file)
+{
+	char *w;
+	char *list;
+
+	w = conf_word(file, 1);
+	if (w == NULL) return NULL;
+
+	list = dl_strdup(w);
+	free(w);
+	dl_init(list);
+
+	while ((w = conf_word(file,0))){
+		char *w2 = dl_strdup(w);
+		free(w);
+		dl_add(list, w2);
+	}
+/*    printf("got a line\n");*/
+	return list;
+}
+
+void free_line(char *line)
+{
+	char *w;
+	for (w=dl_next(line); w != line; w=dl_next(line)) {
+		dl_del(w);
+		dl_free(w);
+	}
+	dl_free(line);
+}
+
+
+struct conf_dev {
+    struct conf_dev *next;
+    char *name;
+} *cdevlist = NULL;
+
+struct mddev_dev *load_partitions(void)
+{
+	FILE *f = fopen("/proc/partitions", "r");
+	char buf[1024];
+	struct mddev_dev *rv = NULL;
+	if (f == NULL) {
+		fprintf(stderr, Name ": cannot open /proc/partitions\n");
+		return NULL;
+	}
+	while (fgets(buf, 1024, f)) {
+		int major, minor;
+		char *name, *mp;
+		struct mddev_dev *d;
+
+		buf[1023] = '\0';
+		if (buf[0] != ' ')
+			continue;
+		major = strtoul(buf, &mp, 10);
+		if (mp == buf || *mp != ' ')
+			continue;
+		minor = strtoul(mp, NULL, 10);
+
+		name = map_dev(major, minor, 1);
+		if (!name)
+			continue;
+		d = malloc(sizeof(*d));
+		d->devname = strdup(name);
+		d->next = rv;
+		d->used = 0;
+		rv = d;
+	}
+	fclose(f);
+	return rv;
+}
+
+struct mddev_dev *load_containers(void)
+{
+	struct mdstat_ent *mdstat = mdstat_read(1, 0);
+	struct mdstat_ent *ent;
+	struct mddev_dev *d;
+	struct mddev_dev *rv = NULL;
+
+	if (!mdstat)
+		return NULL;
+
+	for (ent = mdstat; ent; ent = ent->next)
+		if (ent->metadata_version &&
+		    strncmp(ent->metadata_version, "external:", 9) == 0 &&
+		    !is_subarray(&ent->metadata_version[9])) {
+			d = malloc(sizeof(*d));
+			if (!d)
+				continue;
+			if (asprintf(&d->devname, "/dev/%s", ent->dev) < 0) {
+				free(d);
+				continue;
+			}
+			d->next = rv;
+			d->used = 0;
+			rv = d;
+		}
+	free_mdstat(mdstat);
+
+	return rv;
+}
+
+struct createinfo createinfo = {
+	.autof = 2, /* by default, create devices with standard names */
+	.symlinks = 1,
+#ifdef DEBIAN
+	.gid = 6, /* disk */
+	.mode = 0660,
+#else
+	.mode = 0600,
+#endif
+};
+
+int parse_auto(char *str, char *msg, int config)
+{
+	int autof;
+	if (str == NULL || *str == 0)
+		autof = 2;
+	else if (strcasecmp(str,"no")==0)
+		autof = 1;
+	else if (strcasecmp(str,"yes")==0)
+		autof = 2;
+	else if (strcasecmp(str,"md")==0)
+		autof = config?5:3;
+	else {
+		/* There might be digits, and maybe a hypen, at the end */
+		char *e = str + strlen(str);
+		int num = 4;
+		int len;
+		while (e > str && isdigit(e[-1]))
+			e--;
+		if (*e) {
+			num = atoi(e);
+			if (num <= 0) num = 1;
+		}
+		if (e > str && e[-1] == '-')
+			e--;
+		len = e - str;
+		if ((len == 2 && strncasecmp(str,"md",2)==0)) {
+			autof = config ? 5 : 3;
+		} else if ((len == 3 && strncasecmp(str,"yes",3)==0)) {
+			autof = 2;
+		} else if ((len == 3 && strncasecmp(str,"mdp",3)==0)) {
+			autof = config ? 6 : 4;
+		} else if ((len == 1 && strncasecmp(str,"p",1)==0) ||
+			   (len >= 4 && strncasecmp(str,"part",4)==0)) {
+			autof = 6;
+		} else {
+			fprintf(stderr, Name ": %s arg of \"%s\" unrecognised: use no,yes,md,mdp,part\n"
+				"        optionally followed by a number.\n",
+				msg, str);
+			exit(2);
+		}
+		autof |= num << 3;
+	}
+	return autof;
+}
+
+static void createline(char *line)
+{
+	char *w;
+	char *ep;
+
+	for (w=dl_next(line); w!=line; w=dl_next(w)) {
+		if (strncasecmp(w, "auto=", 5) == 0)
+			createinfo.autof = parse_auto(w+5, "auto=", 1);
+		else if (strncasecmp(w, "owner=", 6) == 0) {
+			if (w[6] == 0) {
+				fprintf(stderr, Name ": missing owner name\n");
+				continue;
+			}
+			createinfo.uid = strtoul(w+6, &ep, 10);
+			if (*ep != 0) {
+				struct passwd *pw;
+				/* must be a name */
+				pw = getpwnam(w+6);
+				if (pw)
+					createinfo.uid = pw->pw_uid;
+				else
+					fprintf(stderr, Name ": CREATE user %s not found\n", w+6);
+			}
+		} else if (strncasecmp(w, "group=", 6) == 0) {
+			if (w[6] == 0) {
+				fprintf(stderr, Name ": missing group name\n");
+				continue;
+			}
+			createinfo.gid = strtoul(w+6, &ep, 10);
+			if (*ep != 0) {
+				struct group *gr;
+				/* must be a name */
+				gr = getgrnam(w+6);
+				if (gr)
+					createinfo.gid = gr->gr_gid;
+				else
+					fprintf(stderr, Name ": CREATE group %s not found\n", w+6);
+			}
+		} else if (strncasecmp(w, "mode=", 5) == 0) {
+			if (w[5] == 0) {
+				fprintf(stderr, Name ": missing CREATE mode\n");
+				continue;
+			}
+			createinfo.mode = strtoul(w+5, &ep, 8);
+			if (*ep != 0) {
+				createinfo.mode = 0600;
+				fprintf(stderr, Name ": unrecognised CREATE mode %s\n",
+					w+5);
+			}
+		} else if (strncasecmp(w, "metadata=", 9) == 0) {
+			/* style of metadata to use by default */
+			int i;
+			for (i=0; superlist[i] && !createinfo.supertype; i++)
+				createinfo.supertype =
+					superlist[i]->match_metadata_desc(w+9);
+			if (!createinfo.supertype)
+				fprintf(stderr, Name ": metadata format %s unknown, ignoring\n",
+					w+9);
+		} else if (strncasecmp(w, "symlinks=yes", 12) == 0)
+			createinfo.symlinks = 1;
+		else if  (strncasecmp(w, "symlinks=no", 11) == 0)
+			createinfo.symlinks = 0;
+		else {
+			fprintf(stderr, Name ": unrecognised word on CREATE line: %s\n",
+				w);
+		}
+	}
+}
+
+void devline(char *line)
+{
+	char *w;
+	struct conf_dev *cd;
+
+	for (w=dl_next(line); w != line; w=dl_next(w)) {
+		if (w[0] == '/' || strcasecmp(w, "partitions") == 0 ||
+		    strcasecmp(w, "containers") == 0) {
+			cd = malloc(sizeof(*cd));
+			cd->name = strdup(w);
+			cd->next = cdevlist;
+			cdevlist = cd;
+		} else {
+			fprintf(stderr, Name ": unreconised word on DEVICE line: %s\n",
+				w);
+		}
+	}
+}
+
+struct mddev_ident *mddevlist = NULL;
+struct mddev_ident **mddevlp = &mddevlist;
+
+static int is_number(char *w)
+{
+	/* check if there are 1 or more digits and nothing else */
+	int digits = 0;
+	while (*w && isdigit(*w)) {
+		digits++;
+		w++;
+	}
+	return (digits && ! *w);
+}
+
+void arrayline(char *line)
+{
+	char *w;
+
+	struct mddev_ident mis;
+	struct mddev_ident *mi;
+
+	mis.uuid_set = 0;
+	mis.super_minor = UnSet;
+	mis.level = UnSet;
+	mis.raid_disks = UnSet;
+	mis.spare_disks = 0;
+	mis.devices = NULL;
+	mis.devname = NULL;
+	mis.spare_group = NULL;
+	mis.autof = 0;
+	mis.next = NULL;
+	mis.st = NULL;
+	mis.bitmap_fd = -1;
+	mis.bitmap_file = NULL;
+	mis.name[0] = 0;
+	mis.container = NULL;
+	mis.member = NULL;
+
+	for (w=dl_next(line); w!=line; w=dl_next(w)) {
+		if (w[0] == '/' || strchr(w, '=') == NULL) {
+			/* This names the device, or is '<ignore>'.
+			 * The rules match those in create_mddev.
+			 * 'w' must be:
+			 *  /dev/md/{anything}
+			 *  /dev/mdNN
+			 *  /dev/md_dNN
+			 *  <ignore>
+			 *  or anything that doesn't start '/' or '<'
+			 */
+			if (strcasecmp(w, "<ignore>") == 0 ||
+			    strncmp(w, "/dev/md/", 8) == 0 ||
+			    (w[0] != '/' && w[0] != '<') ||
+			    (strncmp(w, "/dev/md", 7) == 0 && 
+			     is_number(w+7)) ||
+			    (strncmp(w, "/dev/md_d", 9) == 0 &&
+			     is_number(w+9))
+				) {
+				/* This is acceptable */;
+				if (mis.devname)
+					fprintf(stderr, Name ": only give one "
+						"device per ARRAY line: %s and %s\n",
+						mis.devname, w);
+				else
+					mis.devname = w;
+			}else {
+				fprintf(stderr, Name ": %s is an invalid name for "
+					"an md device - ignored.\n", w);
+			}
+		} else if (strncasecmp(w, "uuid=", 5)==0 ) {
+			if (mis.uuid_set)
+				fprintf(stderr, Name ": only specify uuid once, %s ignored.\n",
+					w);
+			else {
+				if (parse_uuid(w+5, mis.uuid))
+					mis.uuid_set = 1;
+				else
+					fprintf(stderr, Name ": bad uuid: %s\n", w);
+			}
+		} else if (strncasecmp(w, "super-minor=", 12)==0 ) {
+			if (mis.super_minor != UnSet)
+				fprintf(stderr, Name ": only specify super-minor once, %s ignored.\n",
+					w);
+			else {
+				char *endptr;
+				int minor = strtol(w+12, &endptr, 10);
+
+				if (w[12]==0 || endptr[0]!=0 || minor < 0)
+					fprintf(stderr, Name ": invalid super-minor number: %s\n",
+						w);
+				else
+					mis.super_minor = minor;
+			}
+		} else if (strncasecmp(w, "name=", 5)==0) {
+			if (mis.name[0])
+				fprintf(stderr, Name ": only specify name once, %s ignored.\n",
+					w);
+			else if (strlen(w+5) > 32)
+				fprintf(stderr, Name ": name too long, ignoring %s\n", w);
+			else
+				strcpy(mis.name, w+5);
+
+		} else if (strncasecmp(w, "bitmap=", 7) == 0) {
+			if (mis.bitmap_file)
+				fprintf(stderr, Name ": only specify bitmap file once. %s ignored\n",
+					w);
+			else
+				mis.bitmap_file = strdup(w+7);
+
+		} else if (strncasecmp(w, "devices=", 8 ) == 0 ) {
+			if (mis.devices)
+				fprintf(stderr, Name ": only specify devices once (use a comma separated list). %s ignored\n",
+					w);
+			else
+				mis.devices = strdup(w+8);
+		} else if (strncasecmp(w, "spare-group=", 12) == 0 ) {
+			if (mis.spare_group)
+				fprintf(stderr, Name ": only specify one spare group per array. %s ignored.\n",
+					w);
+			else
+				mis.spare_group = strdup(w+12);
+		} else if (strncasecmp(w, "level=", 6) == 0 ) {
+			/* this is mainly for compatability with --brief output */
+			mis.level = map_name(pers, w+6);
+		} else if (strncasecmp(w, "disks=", 6) == 0 ) {
+			/* again, for compat */
+			mis.raid_disks = atoi(w+6);
+		} else if (strncasecmp(w, "num-devices=", 12) == 0 ) {
+			/* again, for compat */
+			mis.raid_disks = atoi(w+12);
+		} else if (strncasecmp(w, "spares=", 7) == 0 ) {
+			/* for warning if not all spares present */
+			mis.spare_disks = atoi(w+7);
+		} else if (strncasecmp(w, "metadata=", 9) == 0) {
+			/* style of metadata on the devices. */
+			int i;
+
+			for(i=0; superlist[i] && !mis.st; i++)
+				mis.st = superlist[i]->match_metadata_desc(w+9);
+
+			if (!mis.st)
+				fprintf(stderr, Name ": metadata format %s unknown, ignored.\n", w+9);
+		} else if (strncasecmp(w, "auto=", 5) == 0 ) {
+			/* whether to create device special files as needed */
+			mis.autof = parse_auto(w+5, "auto type", 0);
+		} else if (strncasecmp(w, "member=", 7) == 0) {
+			/* subarray within a container */
+			mis.member = strdup(w+7);
+		} else if (strncasecmp(w, "container=", 10) == 0) {
+			/* the container holding this subarray.  Either a device name
+			 * or a uuid */
+			mis.container = strdup(w+10);
+		} else {
+			fprintf(stderr, Name ": unrecognised word on ARRAY line: %s\n",
+				w);
+		}
+	}
+	if (mis.uuid_set == 0 && mis.devices == NULL &&
+	    mis.super_minor == UnSet && mis.name[0] == 0 &&
+	    (mis.container == NULL || mis.member == NULL))
+		fprintf(stderr, Name ": ARRAY line %s has no identity information.\n", mis.devname);
+	else {
+		mi = malloc(sizeof(*mi));
+		*mi = mis;
+		mi->devname = mis.devname ? strdup(mis.devname) : NULL;
+		mi->next = NULL;
+		*mddevlp = mi;
+		mddevlp = &mi->next;
+	}
+}
+
+static char *alert_email = NULL;
+void mailline(char *line)
+{
+	char *w;
+
+	for (w=dl_next(line); w != line ; w=dl_next(w)) {
+		if (alert_email == NULL)
+			alert_email = strdup(w);
+		else
+			fprintf(stderr, Name ": excess address on MAIL line: %s - ignored\n",
+				w);
+	}
+}
+
+static char *alert_mail_from = NULL;
+void mailfromline(char *line)
+{
+	char *w;
+
+	for (w=dl_next(line); w != line ; w=dl_next(w)) {
+		if (alert_mail_from == NULL)
+			alert_mail_from = strdup(w);
+		else {
+			char *t = NULL;
+
+			if (xasprintf(&t, "%s %s", alert_mail_from, w) > 0) {
+				free(alert_mail_from);
+				alert_mail_from = t;
+			}
+		}
+	}
+}
+
+
+static char *alert_program = NULL;
+void programline(char *line)
+{
+	char *w;
+
+	for (w=dl_next(line); w != line ; w=dl_next(w)) {
+		if (alert_program == NULL)
+			alert_program = strdup(w);
+		else
+			fprintf(stderr, Name ": excess program on PROGRAM line: %s - ignored\n",
+				w);
+	}
+}
+
+static char *home_host = NULL;
+static int require_homehost = 1;
+void homehostline(char *line)
+{
+	char *w;
+
+	for (w=dl_next(line); w != line ; w=dl_next(w)) {
+		if (strcasecmp(w, "<ignore>")==0)
+			require_homehost = 0;
+		else if (home_host == NULL) {
+			if (strcasecmp(w, "<none>")==0)
+				home_host = strdup("");
+			else
+				home_host = strdup(w);
+		}else
+			fprintf(stderr, Name ": excess host name on HOMEHOST line: %s - ignored\n",
+				w);
+	}
+}
+
+char auto_yes[] = "yes";
+char auto_no[] = "no";
+char auto_homehost[] = "homehost";
+
+static int auto_seen = 0;
+void autoline(char *line)
+{
+	char *w;
+	char *seen;
+	int super_cnt;
+	char *dflt = auto_yes;
+	int homehost = 0;
+	int i;
+
+	if (auto_seen) {
+		fprintf(stderr, Name ": AUTO line may only be give once."
+			"  Subsequent lines ignored\n");
+		return;
+	}
+	/* Parse the 'auto' line creating policy statements for the 'auto' policy.
+	 *
+	 * The default is 'yes' but the 'auto' line might over-ride that.
+	 * Words in the line are processed in order with the first
+	 * match winning.
+	 * word can be:
+	 *   +version   - that version can be assembled
+	 *   -version   - that version cannot be auto-assembled
+	 *   yes or +all - any other version can be assembled
+	 *   no or -all  - no other version can be assembled.
+	 *   homehost   - any array associated by 'homehost' to this
+	 *                host can be assembled.
+	 *
+	 * Thus:
+	 *   +ddf -0.90 homehost -all
+	 * will auto-assemble any ddf array, no 0.90 array, and
+	 * any other array (imsm, 1.x) if and only if it is identified
+	 * as belonging to this host.
+	 *
+	 * We translate that to policy by creating 'auto=yes' when we see
+	 * a '+version' line, 'auto=no' if we see '-version' before 'homehost',
+	 * or 'auto=homehost' if we see '-version' after 'homehost'.
+	 * When we see yes, no, +all or -all we stop an any version that hasn't
+	 * been seen gets an appropriate auto= entry.
+	 */
+
+	for (super_cnt = 0; superlist[super_cnt]; super_cnt++)
+		;
+	seen = calloc(super_cnt, 1);
+
+	for (w = dl_next(line); w != line ; w = dl_next(w)) {
+		char *val;
+
+		if (strcasecmp(w, "yes") == 0) {
+			dflt = auto_yes;
+			break;
+		}
+		if (strcasecmp(w, "no") == 0) {
+			if (homehost)
+				dflt = auto_homehost;
+			else
+				dflt = auto_no;
+			break;
+		}
+		if (strcasecmp(w, "homehost") == 0) {
+			homehost = 1;
+			continue;
+		}
+		if (w[0] == '+')
+			val = auto_yes;
+		else if (w[0] == '-') {
+			if (homehost)
+				val = auto_homehost;
+			else
+				val = auto_no;
+		} else
+			continue;
+
+		if (strcasecmp(w+1, "all") == 0) {
+			dflt = val;
+			break;
+		}
+		for (i = 0; superlist[i]; i++) {
+			const char *version = superlist[i]->name;
+			if (strcasecmp(w+1, version) == 0)
+				break;
+			/* 1 matches 1.x, 0 matches 0.90 */
+			if (version[1] == '.' &&
+			    strlen(w+1) == 1 &&
+			    w[1] == version[0])
+				break;
+			/* 1.anything matches 1.x */
+			if (strcmp(version, "1.x") == 0 &&
+			    strncmp(w+1, "1.", 2) == 0)
+				break;
+		}
+		if (superlist[i] == NULL)
+			/* ignore this word */
+			continue;
+		if (seen[i])
+			/* already know about this metadata */
+			continue;
+		policy_add(rule_policy, pol_auto, val, pol_metadata, superlist[i]->name, NULL);
+		seen[i] = 1;
+	}
+	for (i = 0; i < super_cnt; i++)
+		if (!seen[i])
+			policy_add(rule_policy, pol_auto, dflt, pol_metadata, superlist[i]->name, NULL);
+
+	free(seen);
+}
+
+int loaded = 0;
+
+static char *conffile = NULL;
+void set_conffile(char *file)
+{
+	conffile = file;
+}
+
+void load_conffile(void)
+{
+	FILE *f;
+	char *line;
+
+	if (loaded) return;
+	if (conffile == NULL)
+		conffile = DefaultConfFile;
+
+	if (strcmp(conffile, "none") == 0) {
+		loaded = 1;
+		return;
+	}
+	if (strcmp(conffile, "partitions")==0) {
+		char *list = dl_strdup("DEV");
+		dl_init(list);
+		dl_add(list, dl_strdup("partitions"));
+		devline(list);
+		free_line(list);
+		loaded = 1;
+		return;
+	}
+	f = fopen(conffile, "r");
+	/* Debian chose to relocate mdadm.conf into /etc/mdadm/.
+	 * To allow Debian users to compile from clean source and still
+	 * have a working mdadm, we read /etc/mdadm/mdadm.conf
+	 * if /etc/mdadm.conf doesn't exist
+	 */
+	if (f == NULL &&
+	    conffile == DefaultConfFile) {
+		f = fopen(DefaultAltConfFile, "r");
+		if (f)
+			conffile = DefaultAltConfFile;
+	}
+	if (f == NULL)
+		return;
+
+	loaded = 1;
+	while ((line=conf_line(f))) {
+		switch(match_keyword(line)) {
+		case Devices:
+			devline(line);
+			break;
+		case Array:
+			arrayline(line);
+			break;
+		case Mailaddr:
+			mailline(line);
+			break;
+		case Mailfrom:
+			mailfromline(line);
+			break;
+		case Program:
+			programline(line);
+			break;
+		case CreateDev:
+			createline(line);
+			break;
+		case Homehost:
+			homehostline(line);
+			break;
+		case AutoMode:
+			autoline(line);
+			break;
+		case Policy:
+			policyline(line, rule_policy);
+			break;
+		case PartPolicy:
+			policyline(line, rule_part);
+			break;
+		default:
+			fprintf(stderr, Name ": Unknown keyword %s\n", line);
+		}
+		free_line(line);
+	}
+
+	fclose(f);
+
+/*    printf("got file\n"); */
+}
+
+char *conf_get_mailaddr(void)
+{
+	load_conffile();
+	return alert_email;
+}
+
+char *conf_get_mailfrom(void)
+{
+	load_conffile();
+	return alert_mail_from;
+}
+
+char *conf_get_program(void)
+{
+	load_conffile();
+	return alert_program;
+}
+
+char *conf_get_homehost(int *require_homehostp)
+{
+	load_conffile();
+	if (require_homehostp)
+		*require_homehostp = require_homehost;
+	return home_host;
+}
+
+struct createinfo *conf_get_create_info(void)
+{
+	load_conffile();
+	return &createinfo;
+}
+
+struct mddev_ident *conf_get_ident(char *dev)
+{
+	struct mddev_ident *rv;
+	load_conffile();
+	rv = mddevlist;
+	while (dev && rv && (rv->devname == NULL
+			     || !devname_matches(dev, rv->devname)))
+		rv = rv->next;
+	return rv;
+}
+
+static void append_dlist(struct mddev_dev **dlp, struct mddev_dev *list)
+{
+	while (*dlp)
+		dlp = &(*dlp)->next;
+	*dlp = list;
+}
+
+struct mddev_dev *conf_get_devs()
+{
+	glob_t globbuf;
+	struct conf_dev *cd;
+	int flags = 0;
+	static struct mddev_dev *dlist = NULL;
+	unsigned int i;
+
+	while (dlist) {
+		struct mddev_dev *t = dlist;
+		dlist = dlist->next;
+		free(t->devname);
+		free(t);
+	}
+
+	load_conffile();
+
+	if (cdevlist == NULL) {
+		/* default to 'partitions' and 'containers' */
+		dlist = load_partitions();
+		append_dlist(&dlist, load_containers());
+	}
+
+	for (cd=cdevlist; cd; cd=cd->next) {
+		if (strcasecmp(cd->name, "partitions")==0)
+			append_dlist(&dlist, load_partitions());
+		else if (strcasecmp(cd->name, "containers")==0)
+			append_dlist(&dlist, load_containers());
+		else {
+			glob(cd->name, flags, NULL, &globbuf);
+			flags |= GLOB_APPEND;
+		}
+	}
+	if (flags & GLOB_APPEND) {
+		for (i=0; i<globbuf.gl_pathc; i++) {
+			struct mddev_dev *t = malloc(sizeof(*t));
+			t->devname = strdup(globbuf.gl_pathv[i]);
+			t->next = dlist;
+			t->used = 0;
+			dlist = t;
+/*	printf("one dev is %s\n", t->devname);*/
+		}
+		globfree(&globbuf);
+	}
+
+	return dlist;
+}
+
+int conf_test_dev(char *devname)
+{
+	struct conf_dev *cd;
+	if (cdevlist == NULL)
+		/* allow anything by default */
+		return 1;
+	for (cd = cdevlist ; cd ; cd = cd->next) {
+		if (strcasecmp(cd->name, "partitions") == 0)
+			return 1;
+		if (fnmatch(cd->name, devname, FNM_PATHNAME) == 0)
+			return 1;
+	}
+	return 0;
+}
+
+int conf_test_metadata(const char *version, struct dev_policy *pol, int is_homehost)
+{
+	/* If anyone said 'yes', that sticks.
+	 * else if homehost applies, use that
+	 * else if there is a 'no', say 'no'.
+	 * else 'yes'.
+	 */
+	struct dev_policy *p;
+	int no=0, found_auto=0;
+	load_conffile();
+
+	pol = pol_find(pol, pol_auto);
+	pol_for_each(p, pol, version) {
+		if (strcmp(p->value, "yes") == 0)
+			return 1;
+		if (strcmp(p->value, "auto") == 0)
+			found_auto = 1;
+		if (strcmp(p->value, "no") == 0)
+			no = 1;
+	}
+	if (is_homehost && found_auto)
+		return 1;
+	if (no)
+		return 0;
+	return 1;
+}
+
+int match_oneof(char *devices, char *devname)
+{
+    /* check if one of the comma separated patterns in devices
+     * matches devname
+     */
+
+    while (devices && *devices) {
+	char patn[1024];
+	char *p = devices;
+	devices = strchr(devices, ',');
+	if (!devices)
+	    devices = p + strlen(p);
+	if (devices-p < 1024) {
+		strncpy(patn, p, devices-p);
+		patn[devices-p] = 0;
+		if (fnmatch(patn, devname, FNM_PATHNAME)==0)
+			return 1;
+	}
+	if (*devices == ',')
+		devices++;
+    }
+    return 0;
+}
+
+int devname_matches(char *name, char *match)
+{
+	/* See if the given array name matches the
+	 * given match from config file.
+	 *
+	 * First strip and /dev/md/ or /dev/, then
+	 * see if there might be a numeric match of
+	 *  mdNN with NN
+	 * then just strcmp
+	 */
+	if (strncmp(name, "/dev/md/", 8) == 0)
+		name += 8;
+	else if (strncmp(name, "/dev/", 5) == 0)
+		name += 5;
+
+	if (strncmp(match, "/dev/md/", 8) == 0)
+		match += 8;
+	else if (strncmp(match, "/dev/", 5) == 0)
+		match += 5;
+
+
+	if (strncmp(name, "md", 2) == 0 &&
+	    isdigit(name[2]))
+		name += 2;
+	if (strncmp(match, "md", 2) == 0 &&
+	    isdigit(match[2]))
+		match += 2;
+
+	return (strcmp(name, match) == 0);
+}
+
+int conf_name_is_free(char *name)
+{
+	/* Check if this name is already take by an ARRAY entry in
+	 * the config file.
+	 * It can be taken either by a match on devname, name, or
+	 * even super-minor.
+	 */
+	struct mddev_ident *dev;
+
+	load_conffile();
+	for (dev = mddevlist; dev; dev = dev->next) {
+		char nbuf[100];
+		if (dev->devname && devname_matches(name, dev->devname))
+			return 0;
+		if (dev->name[0] && devname_matches(name, dev->name))
+			return 0;
+		sprintf(nbuf, "%d", dev->super_minor);
+		if (dev->super_minor != UnSet &&
+		    devname_matches(name, nbuf))
+			return 0;
+	}
+	return 1;
+}
+
+struct mddev_ident *conf_match(struct supertype *st,
+			       struct mdinfo *info,
+			       char *devname,
+			       int verbose, int *rvp)
+{
+	struct mddev_ident *array_list, *match;
+	array_list = conf_get_ident(NULL);
+	match = NULL;
+	for (; array_list; array_list = array_list->next) {
+		if (array_list->uuid_set &&
+		    same_uuid(array_list->uuid, info->uuid, st->ss->swapuuid)
+		    == 0) {
+			if (verbose >= 2 && array_list->devname)
+				fprintf(stderr, Name
+					": UUID differs from %s.\n",
+					array_list->devname);
+			continue;
+		}
+		if (array_list->name[0] &&
+		    strcasecmp(array_list->name, info->name) != 0) {
+			if (verbose >= 2 && array_list->devname)
+				fprintf(stderr, Name
+					": Name differs from %s.\n",
+					array_list->devname);
+			continue;
+		}
+		if (array_list->devices &&
+		    !match_oneof(array_list->devices, devname)) {
+			if (verbose >= 2 && array_list->devname)
+				fprintf(stderr, Name
+					": Not a listed device for %s.\n",
+					array_list->devname);
+			continue;
+		}
+		if (array_list->super_minor != UnSet &&
+		    array_list->super_minor != info->array.md_minor) {
+			if (verbose >= 2 && array_list->devname)
+				fprintf(stderr, Name
+					": Different super-minor to %s.\n",
+					array_list->devname);
+			continue;
+		}
+		if (!array_list->uuid_set &&
+		    !array_list->name[0] &&
+		    !array_list->devices &&
+		    array_list->super_minor == UnSet) {
+			if (verbose >= 2 && array_list->devname)
+				fprintf(stderr, Name
+					": %s doesn't have any identifying"
+					" information.\n",
+					array_list->devname);
+			continue;
+		}
+		/* FIXME, should I check raid_disks and level too?? */
+
+		if (match) {
+			if (verbose >= 0) {
+				if (match->devname && array_list->devname)
+					fprintf(stderr, Name
+						": we match both %s and %s - "
+						"cannot decide which to use.\n",
+						match->devname,
+						array_list->devname);
+				else
+					fprintf(stderr, Name
+						": multiple lines in mdadm.conf"
+						" match\n");
+			}
+			if (rvp)
+				*rvp = 2;
+			match = NULL;
+			break;
+		}
+		match = array_list;
+	}
+	return match;
+}
+
+int conf_verify_devnames(struct mddev_ident *array_list)
+{
+	struct mddev_ident *a1, *a2;
+
+	for (a1 = array_list; a1; a1 = a1->next) {
+		if (!a1->devname)
+			continue;
+		for (a2 = a1->next; a2; a2 = a2->next) {
+			if (!a2->devname)
+				continue;
+			if (strcmp(a1->devname, a2->devname) != 0)
+				continue;
+
+			if (a1->uuid_set && a2->uuid_set) {
+				char nbuf[64];
+				__fname_from_uuid(a1->uuid, 0, nbuf, ':');
+				fprintf(stderr,
+					Name ": Devices %s and ",
+					nbuf);
+				__fname_from_uuid(a2->uuid, 0, nbuf, ':');
+				fprintf(stderr,
+					"%s have the same name: %s\n",
+					nbuf, a1->devname);
+			} else
+				fprintf(stderr, Name ": Device %s given twice"
+					" in config file\n", a1->devname);
+			return 1;
+		}
+	}
+
+	return 0;
+}
diff -pruN 3.2.3-2/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/ReadMe.c 3.2.3-2ubuntu1/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/ReadMe.c
--- 3.2.3-2/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/ReadMe.c	1970-01-01 00:00:00.000000000 +0000
+++ 3.2.3-2ubuntu1/.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/ReadMe.c	2012-02-10 03:48:25.000000000 +0000
@@ -0,0 +1,602 @@
+/*
+ * mdadm - manage Linux "md" devices aka RAID arrays.
+ *
+ * Copyright (C) 2001-2010 Neil Brown <neilb@suse.de>
+ *
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *    Author: Neil Brown
+ *    Email: <neilb@suse.de>
+ */
+
+#include "mdadm.h"
+
+char Version[] = Name " - v3.2.3 - 23rd December 2011\n";
+
+/*
+ * File: ReadMe.c
+ *
+ * This file contains general comments about the implementation
+ * and the various usage messages that can be displayed by mdadm
+ *
+ * mdadm is a single program that can be used to control Linux md devices.
+ * It is intended to provide all the functionality of the mdtools and
+ * raidtools but with a very different interface.
+ * mdadm can perform all functions without a configuration file.
+ * There is the option of using a configuration file, but not in the same
+ * way that raidtools uses one
+ * raidtools uses a configuration file to describe how to create a RAID
+ * array, and also uses this file partially to start a previously
+ * created RAID array.  Further, raidtools requires the configuration
+ * file for such things as stopping a raid array which needs to know
+ * nothing about the array.
+ *
+ * The configuration file that can be used by mdadm lists two
+ * different things:
+ * 1/ a mapping from uuid to md device to identify which arrays are
+ *    expect and what names (numbers) they should be given
+ * 2/ a list of devices that should be scanned for md sub-devices
+ *
+ *
+ */
+
+/*
+ * mdadm has 7 major modes of operation:
+ * 1/ Create
+ *     This mode is used to create a new array with a superblock
+ *     It can progress in several step create-add-add-run
+ *     or it can all happen with one command
+ * 2/ Assemble
+ *     This mode is used to assemble the parts of a previously created
+ *     array into an active array.  Components can be explicitly given
+ *     or can be searched for.  mdadm (optionally) check that the components
+ *     do form a bona-fide array, and can, on request, fiddle superblock
+ *     version numbers so as to assemble a faulty array.
+ * 3/ Build
+ *     This is for building legacy arrays without superblocks
+ * 4/ Manage
+ *     This is for doing something to one or more devices
+ *     in an array, such as add,remove,fail.
+ *     run/stop/readonly/readwrite are also available
+ * 5/ Misc
+ *     This is for doing things to individual devices.
+ *     They might be parts of an array so
+ *       zero-superblock, examine  might be appropriate
+ *     They might be md arrays so
+ *       run,stop,rw,ro,detail  might be appropriate
+ *     Also query will treat it as either
+ * 6/ Monitor
+ *     This mode never exits but just monitors arrays and reports changes.
+ * 7/ Grow
+ *     This mode allows for changing of key attributes of a raid array, such
+ *     as size, number of devices, and possibly even layout.
+ *     At the time if writing, there is only minimal support.
+ */
+
+char short_options[]="-ABCDEFGIQhVXYWZ:vqbc:i:l:p:m:n:x:u:c:d:z:U:N:sarfRSow1tye:";
+char short_bitmap_options[]=
+                   "-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sarfRSow1tye:";
+char short_bitmap_auto_options[]=
+                   "-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sa:rfRSow1tye:";
+
+struct option long_options[] = {
+    {"manage",    0, 0, ManageOpt},
+    {"misc",      0, 0, MiscOpt},
+    {"assemble",  0, 0, 'A'},
+    {"build",     0, 0, 'B'},
+    {"create",    0, 0, 'C'},
+    {"detail",    0, 0, 'D'},
+    {"examine",   0, 0, 'E'},
+    {"follow",    0, 0, 'F'},
+    {"grow",      0, 0, 'G'},
+    {"incremental",0,0, 'I'},
+    {"zero-superblock", 0, 0, 'K'}, /* deliberately no a short_option */
+    {"query",	  0, 0, 'Q'},
+    {"examine-bitmap", 0, 0, 'X'},
+    {"auto-detect", 0, 0, AutoDetect},
+    {"detail-platform", 0, 0, DetailPlatform},
+    {"kill-subarray", 1, 0, KillSubarray},
+    {"update-subarray", 1, 0, UpdateSubarray},
+    {"udev-rules", 2, 0, UdevRules},
+
+    /* synonyms */
+    {"monitor",   0, 0, 'F'},
+
+    /* after those will normally come the name of the md device */
+    {"help",      0, 0, 'h'},
+    {"help-options",0,0, HelpOptions},
+    {"version",	  0, 0, 'V'},
+    {"verbose",   0, 0, 'v'},
+    {"quiet",	  0, 0, 'q'},
+
+    /* For create or build: */
+    {"chunk",	  1, 0, ChunkSize},
+    {"rounding",  1, 0, ChunkSize}, /* for linear, chunk is really a
+				     * rounding number */
+    {"level",     1, 0, 'l'}, /* 0,1,4,5,6,linear */
+    {"parity",    1, 0, Layout}, /* {left,right}-{a,}symmetric */
+    {"layout",    1, 0, Layout},
+    {"raid-disks",1, 0, 'n'},
+    {"raid-devices",1, 0, 'n'},
+    {"spare-disks",1,0, 'x'},
+    {"spare-devices",1,0, 'x'},
+    {"size",	  1, 0, 'z'},
+    {"auto",	  1, 0, Auto}, /* also for --assemble */
+    {"assume-clean",0,0, AssumeClean },
+    {"metadata",  1, 0, 'e'}, /* superblock format */
+    {"bitmap",	  1, 0, Bitmap},
+    {"bitmap-chunk", 1, 0, BitmapChunk},
+    {"write-behind", 2, 0, WriteBehind},
+    {"write-mostly",0, 0, WriteMostly},
+    {"re-add",    0, 0,  ReAdd},
+    {"homehost",  1, 0,  HomeHost},
+    {"symlinks",  1, 0,  Symlinks},
+
+    /* For assemble */
+    {"uuid",      1, 0, 'u'},
+    {"super-minor",1,0, SuperMinor},
+    {"name",	  1, 0, 'N'},
+    {"config",    1, 0, ConfigFile},
+    {"scan",      0, 0, 's'},
+    {"force",	  0, 0, Force},
+    {"update",	  1, 0, 'U'},
+    {"freeze-reshape", 0, 0, FreezeReshape},
+
+    /* Management */
+    {"add",       0, 0, Add},
+    {"remove",    0, 0, Remove},
+    {"fail",      0, 0, Fail},
+    {"set-faulty",0, 0, Fail},
+    {"run",       0, 0, 'R'},
+    {"stop",      0, 0, 'S'},
+    {"readonly",  0, 0, 'o'},
+    {"readwrite", 0, 0, 'w'},
+    {"no-degraded",0,0,  NoDegraded },
+    {"wait",	  0, 0,  WaitOpt},
+    {"wait-clean", 0, 0, Waitclean },
+
+    /* For Detail/Examine */
+    {"brief",	  0, 0, Brief},
+    {"export",	  0, 0, 'Y'},
+    {"sparc2.2",  0, 0, Sparc22},
+    {"test",      0, 0, 't'},
+
+    /* For Follow/monitor */
+    {"mail",      1, 0, EMail},
+    {"program",   1, 0, ProgramOpt},
+    {"alert",     1, 0, ProgramOpt},
+    {"increment", 1, 0, Increment},
+    {"delay",     1, 0, 'd'},
+    {"daemonise", 0, 0, Fork},
+    {"daemonize", 0, 0, Fork},
+    {"oneshot",   0, 0, '1'},
+    {"pid-file",  1, 0, 'i'},
+    {"syslog",    0, 0, 'y'},
+    {"no-sharing", 0, 0, NoSharing},
+
+    /* For Grow */
+    {"backup-file", 1,0, BackupFile},
+    {"invalid-backup",0,0,InvalidBackup},
+    {"array-size", 1, 0, 'Z'},
+    {"continue", 0, 0, Continue},
+
+    /* For Incremental */
+    {"rebuild-map", 0, 0, RebuildMapOpt},
+    {"path", 1, 0, IncrementalPath},
+
+    {0, 0, 0, 0}
+};
+
+char Usage[] =
+"Usage: mdadm --help\n"
+"  for help\n"
+;
+
+char Help[] =
+"mdadm is used for building, managing, and monitoring\n"
+"Linux md devices (aka RAID arrays)\n"
+"Usage: mdadm --create device options...\n"
+"            Create a new array from unused devices.\n"
+"       mdadm --assemble device options...\n"
+"            Assemble a previously created array.\n"
+"       mdadm --build device options...\n"
+"            Create or assemble an array without metadata.\n"
+"       mdadm --manage device options...\n"
+"            make changes to an existing array.\n"
+"       mdadm --misc options... devices\n"
+"            report on or modify various md related devices.\n"
+"       mdadm --grow options device\n"
+"            resize/reshape an active array\n"
+"       mdadm --incremental device\n"
+"            add/remove a device to/from an array as appropriate\n"
+"       mdadm --monitor options...\n"
+"            Monitor one or more array for significant changes.\n"
+"       mdadm device options...\n"
+"            Shorthand for --manage.\n"
+"Any parameter that does not start with '-' is treated as a device name\n"
+"or, for --examine-bitmap, a file name.\n"
+"The first such name is often the name of an md device.  Subsequent\n"
+"names are often names of component devices.\n"
+"\n"
+" For detailed help on the above major modes use --help after the mode\n"
+" e.g.\n"
+"         mdadm --assemble --help\n"
+" For general help on options use\n"
+"         mdadm --help-options\n"
+;
+
+char OptionHelp[] =
+"Any parameter that does not start with '-' is treated as a device name\n"
+"or, for --examine-bitmap, a file name.\n"
+"The first such name is often the name of an md device.  Subsequent\n"
+"names are often names of component devices.\n"
+"\n"
+"Some common options are:\n"
+"  --help        -h   : General help message or, after above option,\n"
+"                       mode specific help message\n"
+"  --help-options     : This help message\n"
+"  --version     -V   : Print version information for mdadm\n"
+"  --verbose     -v   : Be more verbose about what is happening\n"
+"  --quiet       -q   : Don't print un-necessary messages\n"
+"  --brief       -b   : Be less verbose, more brief\n"
+"  --export      -Y   : With --detail, use key=value format for easy\n"
+"                       import into environment\n"
+"  --force       -f   : Override normal checks and be more forceful\n"
+"\n"
+"  --assemble    -A   : Assemble an array\n"
+"  --build       -B   : Build an array without metadata\n"
+"  --create      -C   : Create a new array\n"
+"  --detail      -D   : Display details of an array\n"
+"  --examine     -E   : Examine superblock on an array component\n"
+"  --examine-bitmap -X: Display the detail of a bitmap file\n"
+"  --monitor     -F   : monitor (follow) some arrays\n"
+"  --grow        -G   : resize/ reshape and array\n"
+"  --incremental -I   : add/remove a single device to/from an array as appropriate\n"
+"  --query       -Q   : Display general information about how a\n"
+"                       device relates to the md driver\n"
+"  --auto-detect      : Start arrays auto-detected by the kernel\n"
+;
+/*
+"\n"
+" For create or build:\n"
+"  --bitmap=     -b   : File to store bitmap in - may pre-exist for --build\n"
+"  --chunk=      -c   : chunk size of kibibytes\n"
+"  --rounding=        : rounding factor for linear array (==chunk size)\n"
+"  --level=      -l   : raid level: 0,1,4,5,6,linear,mp.  0 or linear for build\n"
+"  --parity=     -p   : raid5/6 parity algorithm: {left,right}-{,a}symmetric\n"
+"  --layout=          : same as --parity\n"
+"  --raid-devices= -n : number of active devices in array\n"
+"  --spare-devices= -x: number of spares (eXtras) devices in initial array\n"
+"  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6/10 - optional\n"
+"  --force       -f   : Honour devices as listed on command line.  Don't\n"
+"                     : insert a missing drive for RAID5.\n"
+"  --assume-clean     : Assume the array is already in-sync. This is dangerous.\n"
+"  --bitmap-chunk=    : chunksize of bitmap in bitmap file (Kilobytes)\n"
+"  --delay=      -d   : seconds between bitmap updates\n"
+"  --write-behind=    : number of simultaneous write-behind requests to allow (requires bitmap)\n"
+"  --name=       -N   : Textual name for array - max 32 characters\n"
+"\n"
+" For assemble:\n"
+"  --bitmap=     -b   : File to find bitmap information in\n"
+"  --uuid=       -u   : uuid of array to assemble. Devices which don't\n"
+"                       have this uuid are excluded\n"
+"  --super-minor= -m  : minor number to look for in super-block when\n"
+"                       choosing devices to use.\n"
+"  --name=       -N   : Array name to look for in super-block.\n"
+"  --config=     -c   : config file\n"
+"  --scan        -s   : scan config file for missing information\n"
+"  --force       -f   : Assemble the array even if some superblocks appear out-of-date\n"
+"  --update=     -U   : Update superblock: try '-A --update=?' for list of options.\n"
+"  --no-degraded      : Do not start any degraded arrays - default unless --scan.\n"
+"\n"
+" For detail or examine:\n"
+"  --brief       -b   : Just print device name and UUID\n"
+"\n"
+" For follow/monitor:\n"
+"  --mail=       -m   : Address to mail alerts of failure to\n"
+"  --program=    -p   : Program to run when an event is detected\n"
+"  --alert=           : same as --program\n"
+"  --delay=      -d   : seconds of delay between polling state. default=60\n"
+"\n"
+" General management:\n"
+"  --add         -a   : add, or hotadd subsequent devices\n"
+"  --remove      -r   : remove subsequent devices\n"
+"  --fail        -f   : mark subsequent devices a faulty\n"
+"  --set-faulty       : same as --fail\n"
+"  --run         -R   : start a partially built array\n"
+"  --stop        -S   : deactivate array, releasing all resources\n"
+"  --readonly    -o   : mark array as readonly\n"
+"  --readwrite   -w   : mark array as readwrite\n"
+"  --zero-superblock  : erase the MD superblock from a device.\n"
+"  --wait        -W   : wait for recovery/resync/reshape to finish.\n"
+;
+*/
+
+char Help_create[] =
+"Usage:  mdadm --create device -chunk=X --level=Y --raid-devices=Z devices\n"
+"\n"
+" This usage will initialise a new md array, associate some\n"
+" devices with it, and activate the array.   In order to create an\n"
+" array with some devices missing, use the special word 'missing' in\n"
+" place of the relevant device name.\n"
+"\n"
+" Before devices are added, they are checked to see if they already contain\n"
+" raid superblocks or filesystems.  They are also checked to see if\n"
+" the variance in device size exceeds 1%.\n"
+" If any discrepancy is found, the user will be prompted for confirmation\n"
+" before the array is created.  The presence of a '--run' can override this\n"
+" caution.\n"
+"\n"
+" If the --size option is given then only that many kilobytes of each\n"
+" device is used, no matter how big each device is.\n"
+" If no --size is given, the apparent size of the smallest drive given\n"
+" is used for raid level 1 and greater, and the full device is used for\n"
+" other levels.\n"
+"\n"
+" Options that are valid with --create (-C) are:\n"
+"  --bitmap=          : Create a bitmap for the array with the given filename\n"
+"  --chunk=      -c   : chunk size of kibibytes\n"
+"  --rounding=        : rounding factor for linear array (==chunk size)\n"
+"  --level=      -l   : raid level: 0,1,4,5,6,linear,multipath and synonyms\n"
+"  --parity=     -p   : raid5/6 parity algorithm: {left,right}-{,a}symmetric\n"
+"  --layout=          : same as --parity\n"
+"  --raid-devices= -n : number of active devices in array\n"
+"  --spare-devices= -x: number of spares (eXtras) devices in initial array\n"
+"  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6/10 - optional\n"
+"  --force       -f   : Honour devices as listed on command line.  Don't\n"
+"                     : insert a missing drive for RAID5.\n"
+"  --run         -R   : insist of running the array even if not all\n"
+"                     : devices are present or some look odd.\n"
+"  --readonly    -o   : start the array readonly - not supported yet.\n"
+"  --name=       -N   : Textual name for array - max 32 characters\n"
+"  --bitmap-chunk=    : bitmap chunksize in Kilobytes.\n"
+"  --delay=      -d   : bitmap update delay in seconds.\n"
+"\n"
+;
+
+char Help_build[] =
+"Usage:  mdadm --build device -chunk=X --level=Y --raid-devices=Z devices\n"
+"\n"
+" This usage is similar to --create.  The difference is that it creates\n"
+" a legacy array without a superblock.  With these arrays there is no\n"
+" different between initially creating the array and subsequently\n"
+" assembling the array, except that hopefully there is useful data\n"
+" there in the second case.\n"
+"\n"
+" The level may only be 0, raid0, or linear.\n"
+" All devices must be listed and the array will be started once complete.\n"
+" Options that are valid with --build (-B) are:\n"
+"  --bitmap=          : file to store/find bitmap information in.\n"
+"  --chunk=      -c   : chunk size of kibibytes\n"
+"  --rounding=        : rounding factor for linear array (==chunk size)\n"
+"  --level=      -l   : 0, raid0, or linear\n"
+"  --raid-devices= -n : number of active devices in array\n"
+"  --bitmap-chunk=    : bitmap chunksize in Kilobytes.\n"
+"  --delay=      -d   : bitmap update delay in seconds.\n"
+;
+
+char Help_assemble[] =
+"Usage: mdadm --assemble device options...\n"
+"       mdadm --assemble --scan options...\n"
+"\n"
+"This usage assembles one or more raid arrays from pre-existing\n"
+"components.\n"
+"For each array, mdadm needs to know the md device, the identity of\n"
+"the array, and a number of sub devices. These can be found in a number\n"
+"of ways.\n"
+"\n"
+"The md device is either given on the command line or is found listed\n"
+"in the config file.  The array identity is determined either from the\n"
+"--uuid or --super-minor commandline arguments, from the config file,\n"
+"or from the first component device on the command line.\n"
+"\n"
+"The different combinations of these are as follows:\n"
+" If the --scan option is not given, then only devices and identities\n"
+" listed on the command line are considered.\n"
+" The first device will be the array device, and the remainder will be\n"
+" examined when looking for components.\n"
+" If an explicit identity is given with --uuid or --super-minor, then\n"
+" only devices with a superblock which matches that identity is considered,\n"
+" otherwise every device listed is considered.\n"
+"\n"
+" If the --scan option is given, and no devices are listed, then\n"
+" every array listed in the config file is considered for assembly.\n"
+" The identity of candidate devices are determined from the config file.\n"
+"\n"
+" If the --scan option is given as well as one or more devices, then\n"
+" Those devices are md devices that are to be assembled.  Their identity\n"
+" and components are determined from the config file.\n"
+"\n"
+" If mdadm can not find all of the components for an array, it will assemble\n"
+" it but not activate it unless --run or --scan is given.  To preserve this\n"
+" behaviour even with --scan, add --no-degraded.  Note that \"all of the\n"
+" components\" means as many as were present the last time the array was running\n"
+" as recorded in the superblock.  If the array was already degraded, and\n"
+" the missing device is not a new problem, it will still be assembled.  It\n"
+" is only newly missing devices that cause the array not to be started.\n"
+"\n"
+"Options that are valid with --assemble (-A) are:\n"
+"  --bitmap=          : bitmap file to use wit the array\n"
+"  --uuid=       -u   : uuid of array to assemble. Devices which don't\n"
+"                       have this uuid are excluded\n"
+"  --super-minor= -m  : minor number to look for in super-block when\n"
+"                       choosing devices to use.\n"
+"  --name=       -N   : Array name to look for in super-block.\n"
+"  --config=     -c   : config file\n"
+"  --scan        -s   : scan config file for missing information\n"
+"  --run         -R   : Try to start the array even if not enough devices\n"
+"                       for a full array are present\n"
+"  --force       -f   : Assemble the array even if some superblocks appear\n"
+"                     : out-of-date.  This involves modifying the superblocks.\n"
+"  --update=     -U   : Update superblock: try '-A --update=?' for option list.\n"
+"  --no-degraded      : Assemble but do not start degraded arrays.\n"
+;
+
+char Help_manage[] =
+"Usage: mdadm arraydevice options component devices...\n"
+"\n"
+"This usage is for managing the component devices within an array.\n"
+"The --manage option is not needed and is assumed if the first argument\n"
+"is a device name or a management option.\n"
+"The first device listed will be taken to be an md array device, and\n"
+"subsequent devices are (potential) components of that array.\n"
+"\n"
+"Options that are valid with management mode are:\n"
+"  --add         -a   : hotadd subsequent devices to the array\n"
+"  --remove      -r   : remove subsequent devices, which must not be active\n"
+"  --fail        -f   : mark subsequent devices a faulty\n"
+"  --set-faulty       : same as --fail\n"
+"  --run         -R   : start a partially built array\n"
+"  --stop        -S   : deactivate array, releasing all resources\n"
+"  --readonly    -o   : mark array as readonly\n"
+"  --readwrite   -w   : mark array as readwrite\n"
+;
+
+char Help_misc[] =
+"Usage: mdadm misc_option  devices...\n"
+"\n"
+"This usage is for performing some task on one or more devices, which\n"
+"may be arrays or components, depending on the task.\n"
+"The --misc option is not needed (though it is allowed) and is assumed\n"
+"if the first argument in a misc option.\n"
+"\n"
+"Options that are valid with the miscellaneous mode are:\n"
+"  --query       -Q   : Display general information about how a\n"
+"                       device relates to the md driver\n"
+"  --detail      -D   : Display details of an array\n"
+"  --detail-platform  : Display hardware/firmware details\n"
+"  --examine     -E   : Examine superblock on an array component\n"
+"  --examine-bitmap -X: Display contents of a bitmap file\n"
+"  --zero-superblock  : erase the MD superblock from a device.\n"
+"  --run         -R   : start a partially built array\n"
+"  --stop        -S   : deactivate array, releasing all resources\n"
+"  --readonly    -o   : mark array as readonly\n"
+"  --readwrite   -w   : mark array as readwrite\n"
+"  --test        -t   : exit status 0 if ok, 1 if degrade, 2 if dead, 4 if missing\n"
+"  --wait        -W   : wait for resync/rebuild/recovery to finish\n"
+;
+
+char Help_monitor[] =
+"Usage: mdadm --monitor options devices\n"
+"\n"
+"This usage causes mdadm to monitor a number of md arrays by periodically\n"
+"polling their status and acting on any changes.\n"
+"If any devices are listed then those devices are monitored, otherwise\n"
+"all devices listed in the config file are monitored.\n"
+"The address for mailing advisories to, and the program to handle\n"
+"each change can be specified in the config file or on the command line.\n"
+"If no mail address or program are specified, then mdadm reports all\n"
+"state changes to stdout.\n"
+"\n"
+"Options that are valid with the monitor (-F --follow) mode are:\n"
+"  --mail=       -m   : Address to mail alerts of failure to\n"
+"  --program=    -p   : Program to run when an event is detected\n"
+"  --alert=           : same as --program\n"
+"  --syslog      -y   : Report alerts via syslog\n"
+"  --increment=  -r   : Report RebuildNN events in the given increment. default=20\n"
+"  --delay=      -d   : seconds of delay between polling state. default=60\n"
+"  --config=     -c   : specify a different config file\n"
+"  --scan        -s   : find mail-address/program in config file\n"
+"  --daemonise   -f   : Fork and continue in child, parent exits\n"
+"  --pid-file=   -i   : In daemon mode write pid to specified file instead of stdout\n"
+"  --oneshot     -1   : Check for degraded arrays, then exit\n"
+"  --test        -t   : Generate a TestMessage event against each array at startup\n"
+;
+
+char Help_grow[] =
+"Usage: mdadm --grow device options\n"
+"\n"
+"This usage causes mdadm to attempt to reconfigure a running array.\n"
+"This is only possibly if the kernel being used supports a particular\n"
+"reconfiguration.  This version supports changing the number of\n"
+"devices in a RAID1/5/6, changing the active size of all devices in\n"
+"a RAID1/4/5/6, adding or removing a write-intent bitmap, and changing\n"
+"the error mode for a 'FAULTY' array.\n"
+"\n"
+"Options that are valid with the grow (-G --grow) mode are:\n"
+"  --level=       -l   : Tell mdadm what level the array is so that it can\n"
+"                      : interpret '--layout' properly.\n"
+"  --layout=      -p   : For a FAULTY array, set/change the error mode.\n"
+"  --size=        -z   : Change the active size of devices in an array.\n"
+"                      : This is useful if all devices have been replaced\n"
+"                      : with larger devices.   Value is in Kilobytes, or\n"
+"                      : the special word 'max' meaning 'as large as possible'.\n"
+"  --raid-devices= -n  : Change the number of active devices in an array.\n"
+"  --bitmap=      -b   : Add or remove a write-intent bitmap.\n"
+"  --backup-file= file : A file on a differt device to store data for a\n"
+"                      : short time while increasing raid-devices on a\n"
+"                      : RAID4/5/6 array. Not needed when a spare is present.\n"
+"  --array-size=  -Z   : Change visible size of array.  This does not change\n"
+"                      : any data on the device, and is not stable across restarts.\n"
+;
+
+char Help_incr[] =
+"Usage: mdadm --incremental [-Rqrsf] device\n"
+"\n"
+"This usage allows for incremental assembly of md arrays.  Devices can be\n"
+"added one at a time as they are discovered.  Once an array has all expected\n"
+"devices, it will be started.\n"
+"\n"
+"Optionally, the process can be reversed by using the fail option.\n"
+"When fail mode is invoked, mdadm will see if the device belongs to an array\n"
+"and then both fail (if needed) and remove the device from that array.\n"
+"\n"
+"Options that are valid with incremental assembly (-I --incremental) are:\n"
+"  --run         -R : Run arrays as soon as a minimal number of devices are\n"
+"                   : present rather than waiting for all expected.\n"
+"  --quiet       -q : Don't print any information messages, just errors.\n"
+"  --rebuild-map -r : Rebuild the 'map' file that mdadm uses for tracking\n"
+"                   : partial arrays.\n"
+"  --scan        -s : Use with -R to start any arrays that have the minimal\n"
+"                   : required number of devices, but are not yet started.\n"
+"  --fail      -f  : First fail (if needed) and then remove device from\n"
+"                  : any array that it is a member of.\n"
+;
+
+char Help_config[] =
+"The /etc/mdadm/mdadm.conf config file:\n\n"
+" The config file contains, apart from blank lines and comment lines that\n"
+" start with a hash(#), four sorts of configuration lines: array lines, \n"
+" device lines, mailaddr lines and program lines.\n"
+" Each configuration line is constructed of a number of space separated\n"
+" words, and can be continued on subsequent physical lines by indenting\n"
+" those lines.\n"
+"\n"
+" A device line starts with the word 'device' and then has a number of words\n"
+" which identify devices.  These words should be names of devices in the\n"
+" filesystem, and can contain wildcards. There can be multiple words or each\n"
+" device line, and multiple device lines.  All devices so listed are checked\n"
+" for relevant super blocks when assembling arrays.\n"
+"\n"
+" An array line start with the word 'array'.  This is followed by the name of\n"
+" the array device in the filesystem, e.g. '/dev/md2'.  Subsequent words\n"
+" describe the identity of the array, used to recognise devices to include in the\n"
+" array.  The identity can be given as a UUID with a word starting 'uuid=', or\n"
+" as a minor-number stored in the superblock using 'super-minor=', or as a list\n"
+" of devices.  This is given as a comma separated list of names, possibly\n"
+" containing wildcards, preceded by 'devices='. If multiple critea are given,\n"
+" than a device must match all of them to be considered.\n"
+"\n"
+" A mailaddr line starts with the word 'mailaddr' and should contain exactly\n"
+" one Email address.  'mdadm --monitor --scan' will send alerts of failed drives\n"
+" to this Email address."
+"\n"
+" A program line starts with the word 'program' and should contain exactly\n"
+" one program name.  'mdadm --monitor --scan' will run this program when any\n"
+" event is detected.\n"
+"\n"
+;
+
diff -pruN 3.2.3-2/ReadMe.c 3.2.3-2ubuntu1/ReadMe.c
--- 3.2.3-2/ReadMe.c	2012-02-10 03:48:24.000000000 +0000
+++ 3.2.3-2ubuntu1/ReadMe.c	2012-02-10 03:48:25.000000000 +0000
@@ -372,7 +372,7 @@ char Help_build[] =
 "\n"
 " This usage is similar to --create.  The difference is that it creates\n"
 " a legacy array without a superblock.  With these arrays there is no\n"
-" different between initially creating the array and subsequently\n"
+" difference between initially creating the array and subsequently\n"
 " assembling the array, except that hopefully there is useful data\n"
 " there in the second case.\n"
 "\n"

