summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCode Bling2020-10-10 19:48:25 -0400
committerCode Bling2020-10-10 19:48:25 -0400
commit3882174841931c62529e127c0a681af4afc2d624 (patch)
treede688cdd64bcde40983acfb833fd2c5a1eca9652
downloadaur-3882174841931c62529e127c0a681af4afc2d624.tar.gz
Initial commit
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD49
-rw-r--r--mdadm.conf67
-rw-r--r--mdadm_udev_install25
4 files changed, 165 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..546ec8fa92f9
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = mdadm-kernel.org-git
+ pkgdesc = A tool for managing/monitoring Linux md device arrays, also known as Software RAID. Uses the kernel.org git repo as the upstream
+ pkgver = mdadm.4.1.r89.g5f41845
+ pkgrel = 1
+ url = https://git.kernel.org/cgit/utils/mdadm
+ arch = x86_64
+ license = GPL
+ makedepends = git
+ depends = glibc
+ provides = mdadm
+ conflicts = mdadm
+ conflicts = mkinitcpio<0.7
+ replaces = raidtools
+ backup = etc/mdadm.conf
+ source = git+https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git
+ source = mdadm.conf
+ source = mdadm_udev_install
+ validpgpkeys = 6A86B80E1D22F21D0B26BA75397D82E0531A9C91
+ sha256sums = SKIP
+ sha256sums = 4ce1e90690282f98e4828e11576fbd61be65e97a2cdae6c7eac7035ea5ee53e5
+ sha256sums = 170b0e5d548416c0adb9df4e6941bea6bc33d843419c997e45ecaf9e36a58f38
+
+pkgname = mdadm-kernel.org-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..84d6118d19ce
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=mdadm
+pkgver=4.1
+pkgrel=2
+pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID"
+arch=(x86_64)
+license=('GPL')
+url="https://git.kernel.org/cgit/utils/mdadm"
+conflicts=('mkinitcpio<0.7')
+makedepends=('git')
+depends=('glibc')
+replaces=('raidtools')
+backup=('etc/mdadm.conf')
+validpgpkeys=('6A86B80E1D22F21D0B26BA75397D82E0531A9C91') # Jes Sorensen
+source=("git+https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git#tag=${pkgname}-${pkgver}?signed"
+ 'mdadm.conf'
+ 'mdadm_udev_install')
+sha256sums=('SKIP'
+ '4ce1e90690282f98e4828e11576fbd61be65e97a2cdae6c7eac7035ea5ee53e5'
+ '170b0e5d548416c0adb9df4e6941bea6bc33d843419c997e45ecaf9e36a58f38')
+
+prepare() {
+ cd mdadm
+
+ git cherry-pick -n \
+ a4f7290c20c2ff78328c9db0b18029165cfb05b2 \
+ 7039d1f8200b9599b23db5953934fdb43b0442e0 \
+ 486720e0c2418e7e2e0a16221f7c42a308622254 \
+ 9f4218274cd4a1e1f356a1617f9a1d09960cf255 \
+ 761e3bd9f5e3aafa95ad3ae50a637dc67c8774f0
+}
+
+build() {
+ cd mdadm
+
+ make CXFLAGS="$CFLAGS" BINDIR=/usr/bin UDEVDIR=/usr/lib/udev
+}
+
+package() {
+ cd mdadm
+
+ make INSTALL=/usr/bin/install BINDIR=/usr/bin DESTDIR="$pkgdir" UDEVDIR=/usr/lib/udev install
+ make SYSTEMD_DIR="$pkgdir"/usr/lib/systemd/system install-systemd
+ install -D -m644 ../mdadm.conf "$pkgdir"/etc/mdadm.conf
+ install -D -m644 ../mdadm_udev_install "$pkgdir"/usr/lib/initcpio/install/mdadm_udev
+ ln -s /usr/lib/initcpio/install/mdadm_udev "$pkgdir"/usr/lib/initcpio/install/mdadm
+}
diff --git a/mdadm.conf b/mdadm.conf
new file mode 100644
index 000000000000..36eaa0cc0b46
--- /dev/null
+++ b/mdadm.conf
@@ -0,0 +1,67 @@
+# mdadm configuration file
+#
+# mdadm will function properly without the use of a configuration file,
+# but this file is useful for keeping track of arrays and member disks.
+# In general, a mdadm.conf file is created, and updated, after arrays
+# are created. This is the opposite behavior of /etc/raidtab which is
+# created prior to array construction.
+#
+#
+# the config file takes two types of lines:
+#
+# DEVICE lines specify a list of devices of where to look for
+# potential member disks
+#
+# ARRAY lines specify information about how to identify arrays so
+# so that they can be activated
+#
+
+
+# You can have more than one device line and use wild cards. The first
+# example includes SCSI the first partition of SCSI disks /dev/sdb,
+# /dev/sdc, /dev/sdd, /dev/sdj, /dev/sdk, and /dev/sdl. The second
+# line looks for array slices on IDE disks.
+#
+#DEVICE /dev/sd[bcdjkl]1
+#DEVICE /dev/hda1 /dev/hdb1
+#
+# The designation "partitions" will scan all partitions found in
+# /proc/partitions
+DEVICE partitions
+
+
+# ARRAY lines specify an array to assemble and a method of identification.
+# Arrays can currently be identified by using a UUID, superblock minor number,
+# or a listing of devices.
+#
+# super-minor is usually the minor number of the metadevice
+# UUID is the Universally Unique Identifier for the array
+# Each can be obtained using
+#
+# mdadm -D <md>
+#
+# To capture the UUIDs for all your RAID arrays to this file, run these:
+# to get a list of running arrays:
+# # mdadm -D --scan >>/etc/mdadm.conf
+# to get a list from superblocks:
+# # mdadm -E --scan >>/etc/mdadm.conf
+#
+#ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371
+#ARRAY /dev/md1 super-minor=1
+#ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1
+#
+# ARRAY lines can also specify a "spare-group" for each array. mdadm --monitor
+# will then move a spare between arrays in a spare-group if one array has a
+# failed drive but no spare
+#ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df spare-group=group1
+#ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 spare-group=group1
+#
+
+
+# When used in --follow (aka --monitor) mode, mdadm needs a
+# mail address and/or a program. To start mdadm's monitor mode, enable
+# mdadm.service in systemd.
+#
+# If the lines are not found, mdadm will exit quietly
+#MAILADDR root@mydomain.tld
+#PROGRAM /usr/sbin/handle-mdadm-events
diff --git a/mdadm_udev_install b/mdadm_udev_install
new file mode 100644
index 000000000000..c01cbaf2499e
--- /dev/null
+++ b/mdadm_udev_install
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+build() {
+ add_checked_modules -f 'dm-' 'drivers/md/*'
+
+ # check if a custom mdadm.conf exists
+ if grep -qw ^ARRAY "$BASEDIR/etc/mdadm.conf"; then
+ echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays."
+ add_file "/etc/mdadm.conf"
+ fi
+
+ add_binary "/usr/bin/mdadm"
+ add_file "/usr/lib/udev/rules.d/63-md-raid-arrays.rules"
+ add_file "/usr/lib/udev/rules.d/64-md-raid-assembly.rules"
+}
+
+help() {
+ cat <<HELPEOF
+This hook loads the necessary modules for a RAID array and uses incremental
+assembly via udev at runtime to create the devices. This hook will NOT work
+without the udev hook included on the image.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et: