summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/debian/0001-fix-manpages.patch163
-rw-r--r--debian/patches/debian/0002-mdmonitor-service-simplify.patch17
-rw-r--r--debian/patches/debian/0003-host-name-in-default-mailfrom.patch17
-rw-r--r--debian/patches/debian/0004-exit-gracefully-when-md-device-not-found.patch23
-rw-r--r--debian/patches/debian/0005-sha1-includes.patch40
-rw-r--r--debian/patches/debian/0006-readlink-path.patch23
-rw-r--r--debian/patches/debian/0007-no-Werror.patch18
-rw-r--r--debian/patches/debian/0008-test-installed.patch30
-rw-r--r--debian/patches/debian/0009-randomize-timers.patch55
-rw-r--r--debian/patches/debian/0010-systemd-honor-debconf-daily-scan.patch17
-rw-r--r--debian/patches/debian/0011-mdcheck-fix-empty-spaces-in-timer-unit-files.patch34
-rw-r--r--debian/patches/series11
12 files changed, 448 insertions, 0 deletions
diff --git a/debian/patches/debian/0001-fix-manpages.patch b/debian/patches/debian/0001-fix-manpages.patch
new file mode 100644
index 0000000..5999e5c
--- /dev/null
+++ b/debian/patches/debian/0001-fix-manpages.patch
@@ -0,0 +1,163 @@
+Author: Felix Lechner <felix.lechner@lease-up.com>
+Description: Fix typos and macro issues in manpages
+ (Closes: #915182, #916946, #962946, #933773).
+
+diff -Naurp mdadm.orig/md.4 mdadm/md.4
+--- mdadm.orig/md.4
++++ mdadm/md.4
+@@ -363,9 +363,9 @@ tab(;);
+ ;Device #1;Device #2;Device #3;Device #4
+ 0x00;0;0;1;1
+ 0x01;2;2;3;3
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
+ :;:;:;:;:
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
+ 0x80;254;254;255;255
+ ;\\---------v---------/;\\---------v---------/
+ ;RAID1;RAID1
+@@ -392,9 +392,9 @@ C.
+ ;Dev #1;Dev #2;Dev #3;Dev #4;Dev #5
+ 0x00;0;0;1;1;2
+ 0x01;2;3;3;4;4
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
+ :;:;:;:;:;:
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.
+ 0x80;317;318;318;319;319
+ ;
+ .TE
+@@ -454,15 +454,15 @@ C.
+ ;
+ 0x00;0;1;2;3;\\
+ 0x01;4;5;6;7;> [#]
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ :;:;:;:;:;:
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ 0x40;252;253;254;255;/
+ 0x41;3;0;1;2;\\
+ 0x42;7;4;5;6;> [#]~
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ :;:;:;:;:;:
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ 0x80;255;252;253;254;/
+ ;
+ .TE
+@@ -493,15 +493,15 @@ C.
+ ;
+ 0x00;0;1;2;3;4;\\
+ 0x01;5;6;7;8;9;> [#]
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ :;:;:;:;:;:;:
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ 0x40;315;316;317;318;319;/
+ 0x41;4;0;1;2;3;\\
+ 0x42;9;5;6;7;8;> [#]~
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ :;:;:;:;:;:;:
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;:
+ 0x80;319;315;316;317;318;/
+ ;
+ .TE
+@@ -572,9 +572,9 @@ C.
+ 0x01;3;0;1;2;) AA~
+ 0x02;4;5;6;7;) AB
+ 0x03;7;4;5;6;) AB~
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
+ :;:;:;:;:; :
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
+ 0x79;251;252;253;254;) EX
+ 0x80;254;251;252;253;) EX~
+ ;
+@@ -605,9 +605,9 @@ C.
+ 0x01;4;0;1;2;3;) AA~
+ 0x02;5;6;7;8;9;) AB
+ 0x03;9;5;6;7;8;) AB~
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
+ :;:;:;:;:;:; :
+-\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
++;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;\.\.\.;) \.\.\.
+ 0x79;314;315;316;317;318;) EX
+ 0x80;318;314;315;316;317;) EX~
+ ;
+@@ -987,7 +987,7 @@ other device(s).
+ .I md
+ cannot control the timeout that the underlying devices use to
+ determine failure. Any changes desired to that timeout must be set
+-explictly on the underlying device, separately from using
++explicitly on the underlying device, separately from using
+ .IR mdadm .
+
+ If a FAILFAST request does fail, and if it is still safe to mark the
+diff -Naurp mdadm.orig/mdadm.8.in mdadm/mdadm.8.in
+--- mdadm.orig/mdadm.8.in
++++ mdadm/mdadm.8.in
+@@ -459,11 +459,10 @@ number of spare devices.
+ Amount (in Kilobytes) of space to use from each drive in RAID levels 1/4/5/6/10
+ and for RAID 0 on external metadata.
+ This must be a multiple of the chunk size, and must leave about 128Kb
+-of space at the end of the drive for the RAID superblock.
+-If this is not specified
+-(as it normally is not) the smallest drive (or partition) sets the
+-size, though if there is a variance among the drives of greater than 1%, a warning is
+-issued.
++of space at the end of the drive for the RAID superblock. When specified as
++\(acmax\(ac (as it often is) the smallest drive (or partition) sets the size.
++In that case, a warning will follow if the drives, as a group, have sizes that
++differ by more than one percent.
+
+ A suffix of 'K', 'M', 'G' or 'T' can be given to indicate Kilobytes,
+ Megabytes, Gigabytes or Terabytes respectively.
+@@ -1146,7 +1145,7 @@ out-of-date. If
+ cannot find enough working devices to start the array, but can find
+ some devices that are recorded as having failed, then it will mark
+ those devices as working so that the array can be started. This works only for
+-native. For external metadata it allows to start dirty degraded RAID 4, 5, 6.
++native. For external metadata it allows one to start dirty degraded RAID 4, 5, 6.
+ An array which requires
+ .B \-\-force
+ to be started may contain data corruption. Use it carefully.
+@@ -1829,7 +1828,7 @@ Details of
+ .B check
+ and
+ .B repair
+-can be found it
++can be found in
+ .IR md (4)
+ under
+ .BR "SCRUBBING AND MISMATCHES" .
+@@ -2955,7 +2954,8 @@ option in Grow mode. Currently this work
+ .B ppl
+ and
+ .B resync
+-policies and allows to enable or disable the RAID5 Partial Parity Log (PPL).
++policies and allows one to enable or disable the RAID5 Partial Parity
++Log (PPL).
+
+ .SH INCREMENTAL MODE
+
+diff -Naurp mdadm.orig/mdmon.8 mdadm/mdmon.8
+--- mdadm.orig/mdmon.8
++++ mdadm/mdmon.8
+@@ -115,7 +115,7 @@ container. Some array management comman
+ add are now only valid at the container level. Attempts to perform
+ these actions on member arrays are blocked with error messages like:
+ .IP
+-"mdadm: Cannot remove disks from a \'member\' array, perform this
++"mdadm: Cannot remove disks from a \(aqmember\(aq array, perform this
+ operation on the parent container"
+ .P
+ Containers are identified in /proc/mdstat with a metadata version string
diff --git a/debian/patches/debian/0002-mdmonitor-service-simplify.patch b/debian/patches/debian/0002-mdmonitor-service-simplify.patch
new file mode 100644
index 0000000..a8163d9
--- /dev/null
+++ b/debian/patches/debian/0002-mdmonitor-service-simplify.patch
@@ -0,0 +1,17 @@
+Author: Michael Tokarev <mjt@tls.msk.ru>
+Description: Simplify mdmonitor.service (Closes: #764647).
+ There isn't much for customization for mdadm --monitor.
+ it'll just do what it's supposed to do, so just run it.
+
+diff -Naurp mdadm.orig/systemd/mdmonitor.service mdadm/systemd/mdmonitor.service
+--- mdadm.orig/systemd/mdmonitor.service
++++ mdadm/systemd/mdmonitor.service
+@@ -11,7 +11,4 @@ DefaultDependencies=no
+ Documentation=man:mdadm(8)
+
+ [Service]
+-Environment= MDADM_MONITOR_ARGS=--scan
+-EnvironmentFile=-/run/sysconfig/mdadm
+-ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
+-ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
++ExecStart=BINDIR/mdadm --monitor --scan
diff --git a/debian/patches/debian/0003-host-name-in-default-mailfrom.patch b/debian/patches/debian/0003-host-name-in-default-mailfrom.patch
new file mode 100644
index 0000000..870e9d4
--- /dev/null
+++ b/debian/patches/debian/0003-host-name-in-default-mailfrom.patch
@@ -0,0 +1,17 @@
+Author: Felix Lechner <felix.lechner@lease-up.com>
+Description: Add host name to default MAILFROM (Closes: #1006464).
+ The host on which the error occurred is mentioned in the subject and also in
+ the message body, but some may find it useful in the From address, as well.
+
+diff -Naurp mdadm.orig/Monitor.c mdadm/Monitor.c
+--- mdadm.orig/Monitor.c
++++ mdadm/Monitor.c
+@@ -627,7 +627,7 @@ static void send_event_email(const struc
+ if (info.mailfrom)
+ fprintf(mp, "From: %s\n", info.mailfrom);
+ else
+- fprintf(mp, "From: %s monitoring <root>\n", Name);
+++ fprintf(mp, "From: %s monitoring <root@%s>\n", Name, info.hostname);
+ fprintf(mp, "To: %s\n", info.mailaddr);
+ fprintf(mp, "Subject: %s event on %s:%s\n\n", data->event_name, data->dev, info.hostname);
+ fprintf(mp, "This is an automatically generated mail message.\n");
diff --git a/debian/patches/debian/0004-exit-gracefully-when-md-device-not-found.patch b/debian/patches/debian/0004-exit-gracefully-when-md-device-not-found.patch
new file mode 100644
index 0000000..225a8a3
--- /dev/null
+++ b/debian/patches/debian/0004-exit-gracefully-when-md-device-not-found.patch
@@ -0,0 +1,23 @@
+Author: Felix Lechner <felix.lechner@lease-up.com>
+Description: Exit gracefully when md device not found (Closes: #970329).
+
+diff -Naurp mdadm.orig/Monitor.c mdadm/Monitor.c
+--- mdadm.orig/Monitor.c
++++ mdadm/Monitor.c
+@@ -554,8 +554,14 @@ static int check_array(struct state *st,
+ if (fd < 0)
+ goto disappeared;
+
+- if (st->devnm[0] == 0)
+- snprintf(st->devnm, MD_NAME_MAX, "%s", fd2devnm(fd));
++ if (st->devnm[0] == 0) {
++ char *found = fd2devnm(fd);
++ if (!found) {
++ alert(EVENT_DEVICE_DISAPPEARED, NULL, 0, dev, NULL);
++ goto out;
++ }
++ snprintf(st->devnm, MD_NAME_MAX, "%s", found);
++ }
+
+ for (mse2 = mdstat; mse2; mse2 = mse2->next)
+ if (strcmp(mse2->devnm, st->devnm) == 0) {
diff --git a/debian/patches/debian/0005-sha1-includes.patch b/debian/patches/debian/0005-sha1-includes.patch
new file mode 100644
index 0000000..8116f5f
--- /dev/null
+++ b/debian/patches/debian/0005-sha1-includes.patch
@@ -0,0 +1,40 @@
+Author: Michael Tokarev <mjt@tls.msk.ru>
+Description: Do not #include ansidecl.h from sha1.h, use system headers.
+ In 3.2.5 version of mdadm, new sha1 implementation has been included
+ which tries to include ansidecl.h header which is internal to some
+ other project. But this #include isn't really necessary, since this
+ implementation does not actually use any defines from ansidecl.h. So
+ just remove the #include, instead of adding a new external dependency.
+ .
+ References: http://www.spinics.net/lists/raid/msg38859.html
+ .
+ While at it, unconditionally include system headers like limits.h and
+ stdint.h, since on a Linux system these headers are available, and
+ these contains definitive information about real system types than
+ any guesses.
+
+diff -Naurp mdadm.orig/sha1.h mdadm/sha1.h
+--- mdadm.orig/sha1.h
++++ mdadm/sha1.h
+@@ -22,7 +22,7 @@
+
+ #include <stdio.h>
+
+-#if defined HAVE_LIMITS_H || _LIBC
++#if 1 /* defined HAVE_LIMITS_H || _LIBC */
+ # include <limits.h>
+ #endif
+
+@@ -33,9 +33,9 @@
+ the resulting executable. Locally running cross-compiled executables
+ is usually not possible. */
+
+-#ifdef _LIBC
+-# include <sys/types.h>
+-typedef u_int32_t sha1_uint32;
++#if 1 /* def _LIBC */
++# include <stdint.h>
++typedef uint32_t sha1_uint32;
+ typedef uintptr_t sha1_uintptr;
+ #else
+ # define INT_MAX_32_BITS 2147483647
diff --git a/debian/patches/debian/0006-readlink-path.patch b/debian/patches/debian/0006-readlink-path.patch
new file mode 100644
index 0000000..71ac02a
--- /dev/null
+++ b/debian/patches/debian/0006-readlink-path.patch
@@ -0,0 +1,23 @@
+Author: Michael Tokarev <mjt@tls.msk.ru>
+Description: readlink and basename are in /bin not /usr/bin on debian (Closes: #766416).
+ This is a debian-specific change, upstream ships
+ the rule to use /usr/bin/$foo while on debian
+ it is /bin/$foo
+
+diff -Naurp mdadm.orig/udev-md-raid-arrays.rules mdadm/udev-md-raid-arrays.rules
+--- mdadm.orig/udev-md-raid-arrays.rules
++++ mdadm/udev-md-raid-arrays.rules
+@@ -37,9 +37,9 @@ ENV{ID_FS_USAGE}=="filesystem|other", EN
+ ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service"
+
+ # Tell systemd to run mdmon for our container, if we need it.
+-ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/usr/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c"
+-ENV{MD_MON_THIS}=="?*", TEST=="/etc/initrd-release", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@initrd-%c.service"
+-ENV{MD_MON_THIS}=="?*", TEST!="/etc/initrd-release", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service"
+-ENV{RESHAPE_ACTIVE}=="yes", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdadm-grow-continue@%c.service"
++ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c"
++ENV{MD_MON_THIS}=="?*", TEST=="/etc/initrd-release", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@initrd-%c.service"
++ENV{MD_MON_THIS}=="?*", TEST!="/etc/initrd-release", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service"
++ENV{RESHAPE_ACTIVE}=="yes", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdadm-grow-continue@%c.service"
+
+ LABEL="md_end"
diff --git a/debian/patches/debian/0007-no-Werror.patch b/debian/patches/debian/0007-no-Werror.patch
new file mode 100644
index 0000000..f7466a5
--- /dev/null
+++ b/debian/patches/debian/0007-no-Werror.patch
@@ -0,0 +1,18 @@
+Author: Martin F. Krafft <madduck@debian.org>
+Description: Remove -Werror from compiler flags.
+ -Werror seems like a bad idea on released/packaged code because a toolchain
+ update (introducing new warnings) could break the build. We'll let upstream
+ use it to beautify the code, but remove it for out builds.
+
+diff -Naurp mdadm.orig/Makefile mdadm/Makefile
+--- mdadm.orig/Makefile
++++ mdadm/Makefile
+@@ -50,7 +50,7 @@ ifeq ($(origin CC),default)
+ CC := $(CROSS_COMPILE)gcc
+ endif
+ CXFLAGS ?= -ggdb
+-CWFLAGS ?= -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
++CWFLAGS ?= -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
+ ifdef WARN_UNUSED
+ CWFLAGS += -Wp -O3
+ endif
diff --git a/debian/patches/debian/0008-test-installed.patch b/debian/patches/debian/0008-test-installed.patch
new file mode 100644
index 0000000..dc962e9
--- /dev/null
+++ b/debian/patches/debian/0008-test-installed.patch
@@ -0,0 +1,30 @@
+Author: Felix Lechner <felix.lechner@lease-up.com>
+Description: Test installed files (Closes: #872118).
+ The test suite seems to check the executable bit on the local build product
+ 'mdadm' but runs all programs from the system PATH. This change should test
+ the installed version.
+ .
+ I believe this change tests the installed version, but that hypothesis is not
+ supported by much else. The autopkgtest restriction isolation-machine made it
+ difficult so far to run the test suite anywhere.
+ .
+ The entire setup is untested and may require further modification in order to
+ function.
+ .
+ Incorporates a suggestion from the fdisk maintainer to specify the fdisk
+ prerequisite explicitly.
+
+diff -Naurp mdadm.orig/tests/func.sh mdadm/tests/func.sh
+--- mdadm.orig/tests/func.sh
++++ mdadm/tests/func.sh
+@@ -101,10 +101,6 @@ check_env() {
+ echo "test: testing can only be done as 'root'."
+ exit 1
+ }
+- [ \! -x $mdadm ] && {
+- echo "test: please run make everything before perform testing."
+- exit 1
+- }
+ cmds=(mdadm lsblk df udevadm losetup mkfs.ext3 fsck seq)
+ for cmd in ${cmds[@]}
+ do
diff --git a/debian/patches/debian/0009-randomize-timers.patch b/debian/patches/debian/0009-randomize-timers.patch
new file mode 100644
index 0000000..dc129f2
--- /dev/null
+++ b/debian/patches/debian/0009-randomize-timers.patch
@@ -0,0 +1,55 @@
+Author: Dimitri John Ledkov <xnox@ubuntu.com>
+Description: Randomize md array check timers (LP: #1815201).
+
+diff -Naurp mdadm.orig/systemd/mdcheck_continue.timer mdadm/systemd/mdcheck_continue.timer
+--- mdadm.orig/systemd/mdcheck_continue.timer
++++ mdadm/systemd/mdcheck_continue.timer
+@@ -9,7 +9,9 @@
+ Description=MD array scrubbing - continuation
+
+ [Timer]
+-OnCalendar= 1:05:00
++OnCalendar=daily
++RandomizedDelaySec=12h
++Persistent=true
+
+ [Install]
+ WantedBy= mdmonitor.service
+diff -Naurp mdadm.orig/systemd/mdcheck_start.timer mdadm/systemd/mdcheck_start.timer
+--- mdadm.orig/systemd/mdcheck_start.timer
++++ mdadm/systemd/mdcheck_start.timer
+@@ -10,6 +10,8 @@ Description=MD array scrubbing
+
+ [Timer]
+ OnCalendar=Sun *-*-1..7 1:00:00
++RandomizedDelaySec=24h
++Persistent=true
+
+ [Install]
+ WantedBy= mdmonitor.service
+diff -Naurp mdadm.orig/systemd/mdmonitor-oneshot.service mdadm/systemd/mdmonitor-oneshot.service
+--- mdadm.orig/systemd/mdmonitor-oneshot.service
++++ mdadm/systemd/mdmonitor-oneshot.service
+@@ -10,7 +10,4 @@ Description=Reminder for degraded MD arr
+ Documentation=man:mdadm(8)
+
+ [Service]
+-Environment=MDADM_MONITOR_ARGS=--scan
+-EnvironmentFile=-/run/sysconfig/mdadm
+-ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
+-ExecStart=BINDIR/mdadm --monitor --oneshot $MDADM_MONITOR_ARGS
++ExecStart=BINDIR/mdadm --monitor --oneshot --scan
+diff -Naurp mdadm.orig/systemd/mdmonitor-oneshot.timer mdadm/systemd/mdmonitor-oneshot.timer
+--- mdadm.orig/systemd/mdmonitor-oneshot.timer
++++ mdadm/systemd/mdmonitor-oneshot.timer
+@@ -9,7 +9,9 @@
+ Description=Reminder for degraded MD arrays
+
+ [Timer]
+-OnCalendar= 2:00:00
++OnCalendar=daily
++RandomizedDelaySec=24h
++Persistent=true
+
+ [Install]
+ WantedBy= mdmonitor.service
diff --git a/debian/patches/debian/0010-systemd-honor-debconf-daily-scan.patch b/debian/patches/debian/0010-systemd-honor-debconf-daily-scan.patch
new file mode 100644
index 0000000..0273500
--- /dev/null
+++ b/debian/patches/debian/0010-systemd-honor-debconf-daily-scan.patch
@@ -0,0 +1,17 @@
+Author: dann frazier <dannf@ubuntu.com>
+Description: Honor the debconf mdadm/autoscan setting in the systemd timer
+ There was an mdadm/autoscan template added to allow users to disable this
+ feature via debconf. This is exposed as a variable in /etc/default/mdadm,
+ which was processed by a cronjob. Dropping the cronjob and moving to a
+ systemd timer, we need to add our own processing.
+
+diff -Naurp mdadm.orig/systemd/mdmonitor-oneshot.service mdadm/systemd/mdmonitor-oneshot.service
+--- mdadm.orig/systemd/mdmonitor-oneshot.service
++++ mdadm/systemd/mdmonitor-oneshot.service
+@@ -10,4 +10,5 @@ Description=Reminder for degraded MD arr
+ Documentation=man:mdadm(8)
+
+ [Service]
+-ExecStart=BINDIR/mdadm --monitor --oneshot --scan
++EnvironmentFile=-/etc/default/mdadm
++ExecStart=sh -c '[ "$AUTOSCAN" != "true" ] || BINDIR/mdadm --monitor --oneshot --scan'
diff --git a/debian/patches/debian/0011-mdcheck-fix-empty-spaces-in-timer-unit-files.patch b/debian/patches/debian/0011-mdcheck-fix-empty-spaces-in-timer-unit-files.patch
new file mode 100644
index 0000000..019d993
--- /dev/null
+++ b/debian/patches/debian/0011-mdcheck-fix-empty-spaces-in-timer-unit-files.patch
@@ -0,0 +1,34 @@
+Author: Eric Desrochers <eric.desrochers@canonical.com>
+Description: mdcheck fix empty spaces in timer unit files (LP: #1852747).
+ dh_installsystemd is failling thus FBTFS because of the spaces
+ in the systemd unit timer files directive.
+
+diff -Naurp mdadm.orig/systemd/mdcheck_continue.timer mdadm/systemd/mdcheck_continue.timer
+--- mdadm.orig/systemd/mdcheck_continue.timer
++++ mdadm/systemd/mdcheck_continue.timer
+@@ -14,4 +14,4 @@ RandomizedDelaySec=12h
+ Persistent=true
+
+ [Install]
+-WantedBy= mdmonitor.service
++WantedBy=mdmonitor.service
+diff -Naurp mdadm.orig/systemd/mdcheck_start.timer mdadm/systemd/mdcheck_start.timer
+--- mdadm.orig/systemd/mdcheck_start.timer
++++ mdadm/systemd/mdcheck_start.timer
+@@ -14,5 +14,5 @@ RandomizedDelaySec=24h
+ Persistent=true
+
+ [Install]
+-WantedBy= mdmonitor.service
+-Also= mdcheck_continue.timer
++WantedBy=mdmonitor.service
++Also=mdcheck_continue.timer
+diff -Naurp mdadm.orig/systemd/mdmonitor-oneshot.timer mdadm/systemd/mdmonitor-oneshot.timer
+--- mdadm.orig/systemd/mdmonitor-oneshot.timer
++++ mdadm/systemd/mdmonitor-oneshot.timer
+@@ -14,4 +14,4 @@ RandomizedDelaySec=24h
+ Persistent=true
+
+ [Install]
+-WantedBy= mdmonitor.service
++WantedBy=mdmonitor.service
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..b6e5be4
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,11 @@
+debian/0001-fix-manpages.patch
+debian/0002-mdmonitor-service-simplify.patch
+debian/0003-host-name-in-default-mailfrom.patch
+debian/0004-exit-gracefully-when-md-device-not-found.patch
+debian/0005-sha1-includes.patch
+debian/0006-readlink-path.patch
+debian/0007-no-Werror.patch
+debian/0008-test-installed.patch
+debian/0009-randomize-timers.patch
+debian/0010-systemd-honor-debconf-daily-scan.patch
+debian/0011-mdcheck-fix-empty-spaces-in-timer-unit-files.patch