* update mdadm to 4.1

This commit is contained in:
Alexander Baldeck 2019-03-19 09:03:06 -05:00
parent 2634903b2b
commit d7954e904e
3 changed files with 100 additions and 25 deletions

View File

@ -2,52 +2,35 @@
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=mdadm
pkgver=4.0
pkgrel=2
pkgver=4.1
pkgrel=1
pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID"
arch=(x86_64 powerpc64le)
license=('GPL')
url="http://neil.brown.name/blog/mdadm"
url="http://git.kernel.org/cgit/utils/mdadm"
groups=('base')
conflicts=('mkinitcpio<0.7')
depends=('glibc')
backup=('etc/mdadm.conf')
source=("https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.0.tar."{xz,sign}
source=("https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.1.tar."{xz,sign}
mdadm.conf
mdadm_install
mdadm_hook
mdadm_udev_install
disable-werror.patch)
mdadm_udev_install)
replaces=('raidtools')
validpgpkeys=('6A86B80E1D22F21D0B26BA75397D82E0531A9C91') # Jes Sorensen
md5sums=('2cb4feffea9167ba71b5f346a0c0a40d'
md5sums=('51bf3651bd73a06c413a2f964f299598'
'SKIP'
'5a37c112aa07dccdde62f9fa5b888607'
'af2f73f0094ebee66f503ca4710c7142'
'fbfb7d07efcbaf5dc61af424c5f6e352'
'b6b0bfd6487c99264578630616dfe5eb'
'599745ed2bec4489e83991cff89c46ee')
prepare() {
cd $srcdir/$pkgname-$pkgver
patch -Np0 -i ../disable-werror.patch
}
'b6b0bfd6487c99264578630616dfe5eb')
build() {
cd $srcdir/$pkgname-$pkgver
make CXFLAGS="$CFLAGS" BINDIR=/usr/bin UDEVDIR=/usr/lib/udev
# build static mdassemble for Arch's initramfs
make MDASSEMBLE_AUTO=1 mdassemble
}
package() {
cd $srcdir/$pkgname-$pkgver
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 -m755 mdassemble $pkgdir/usr/bin/mdassemble
install -D -m644 ../mdadm.conf $pkgdir/etc/mdadm.conf
install -D -m644 ../mdadm_install $pkgdir/usr/lib/initcpio/install/mdadm
install -D -m644 ../mdadm_hook $pkgdir/usr/lib/initcpio/hooks/mdadm
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
}

67
mdadm/mdadm.conf Normal file
View File

@ -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

25
mdadm/mdadm_udev_install Normal file
View File

@ -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: