diff options
author | Code Bling | 2020-10-10 19:48:25 -0400 |
---|---|---|
committer | Code Bling | 2020-10-10 19:48:25 -0400 |
commit | 3882174841931c62529e127c0a681af4afc2d624 (patch) | |
tree | de688cdd64bcde40983acfb833fd2c5a1eca9652 | |
download | aur-3882174841931c62529e127c0a681af4afc2d624.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | PKGBUILD | 49 | ||||
-rw-r--r-- | mdadm.conf | 67 | ||||
-rw-r--r-- | mdadm_udev_install | 25 |
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: |