diff options
-rw-r--r-- | abs/core/dmraid/PKGBUILD | 44 | ||||
-rw-r--r-- | abs/core/dmraid/dmraid.install | 14 | ||||
-rw-r--r-- | abs/core/dmraid/dmraid.service | 16 | ||||
-rw-r--r-- | abs/core/dmraid/dmraid_hook | 14 | ||||
-rw-r--r-- | abs/core/dmraid/dmraid_install | 22 | ||||
-rw-r--r-- | abs/core/dmraid/dmraid_tmpfiles | 1 |
6 files changed, 111 insertions, 0 deletions
diff --git a/abs/core/dmraid/PKGBUILD b/abs/core/dmraid/PKGBUILD new file mode 100644 index 0000000..39f3672 --- /dev/null +++ b/abs/core/dmraid/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 162150 2012-06-22 12:53:50Z dreisner $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +#Contributor: Urs Wolfer <uwolfer @ fwo.ch> + +pkgname=dmraid +pkgver=1.0.0.rc16.3 +pkgrel=7 +pkgdesc="Device mapper RAID interface" +url="http://people.redhat.com/~heinzm/sw/dmraid/" +conflicts=('mkinitcpio<0.7') +depends=('device-mapper>=2.0.54') +arch=('i686' 'x86_64') +license=('GPL') +source=(#ftp://ftp.archlinux.org/other/dmraid/$pkgname-$pkgver.tar.bz2 + http://people.redhat.com/~heinzm/sw/dmraid/src/$pkgname-1.0.0.rc16-3.tar.bz2 + dmraid_install + dmraid_hook + dmraid_tmpfiles + dmraid.service) +install=dmraid.install +md5sums=('819338fcef98e8e25819f0516722beeb' + '2297d23cee1aef23ec6ad8d6d1870356' + 'faec669dc85f87187b45b5d3968efe2c' + '56a8bb0ece8d206cd8efb504ee072ddd' + 'de0af1fdb9ed4c109b8119160167d2e9') + +build() { + cd "$pkgname/1.0.0.rc16-3/$pkgname" + ./configure --enable-led --enable-intel_led + make +} + +package() { + cd "$pkgname/1.0.0.rc16-3/$pkgname" + make DESTDIR="$pkgdir" prefix=/usr libdir=/usr/lib mandir=/usr/share/man includedir=/usr/include install + install -D -m644 "$srcdir"/dmraid_install "$pkgdir"/usr/lib/initcpio/install/dmraid + install -D -m644 "$srcdir"/dmraid_hook "$pkgdir"/usr/lib/initcpio/hooks/dmraid + install -D -m644 "$srcdir"/dmraid_tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/dmraid.conf + + # fix permissions + chmod 644 "$pkgdir"/usr/include/dmraid/* "$pkgdir"/usr/lib/libdmraid.a + + install -Dm644 "$srcdir/dmraid.service" "$pkgdir/usr/lib/systemd/system/dmraid.service" +} diff --git a/abs/core/dmraid/dmraid.install b/abs/core/dmraid/dmraid.install new file mode 100644 index 0000000..64899e7 --- /dev/null +++ b/abs/core/dmraid/dmraid.install @@ -0,0 +1,14 @@ +post_upgrade() { + if [ "$(vercmp $2 1.0.0.rc15)" -lt 0 ]; then + # important upgrade notice + echo ">>>" + echo ">>> IMPORTANT DMRAID UPGRADE NOTICE" + echo ">>> -------------------------------" + echo ">>> Version 1.0.0.rc15 and greater introduce a new name scheme:" + echo ">>> You need to add an additional 'p' in front of your number." + echo ">>> e.g. <yourname><number> --> <yourname>p<number>" + echo ">>> firsthd1 --> firsthdp1" + echo ">>> Please change your bootloader and fstab accordingly." + echo ">>>" + fi +} diff --git a/abs/core/dmraid/dmraid.service b/abs/core/dmraid/dmraid.service new file mode 100644 index 0000000..1fd142f --- /dev/null +++ b/abs/core/dmraid/dmraid.service @@ -0,0 +1,16 @@ +[Unit] +Description=Assemble FakeRAID arrays +DefaultDependencies=no +Requires=systemd-udev-settle.service +After=systemd-udev-settle.service +Before=basic.target shutdown.target +Conflicts=shutdown.target + +[Service] +ExecStart=/sbin/dmraid --ignorelocking --activate y -Z +Type=oneshot +TimeoutSec=0 +RemainAfterExit=true + +[Install] +WantedBy=basic.target diff --git a/abs/core/dmraid/dmraid_hook b/abs/core/dmraid/dmraid_hook new file mode 100644 index 0000000..37283e8 --- /dev/null +++ b/abs/core/dmraid/dmraid_hook @@ -0,0 +1,14 @@ +#!/usr/bin/ash + +run_hook() { + modprobe -a -q dm-mod dm-mirror >/dev/null 2>&1 + msg ":: Activating dmraid arrays..." + # prevent any event monitoring calls with -I + if [ "$quiet" = "y" ]; then + dmraid -ay -I -Z >/dev/null + else + dmraid -ay -I -Z + fi +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/abs/core/dmraid/dmraid_install b/abs/core/dmraid/dmraid_install new file mode 100644 index 0000000..d3238c1 --- /dev/null +++ b/abs/core/dmraid/dmraid_install @@ -0,0 +1,22 @@ +#!/bin/bash + +build() { + add_module 'dm-mod' + add_module 'dm-mirror' + + add_binary 'dmraid' + add_binary 'dmsetup' + add_file "/usr/lib/udev/rules.d/10-dm.rules" + add_file "/usr/lib/udev/rules.d/13-dm-disk.rules" + add_file "/usr/lib/udev/rules.d/95-dm-notify.rules" + + add_runscript +} + +help() { + cat <<HELPEOF +This hook loads the necessary modules for a dmraid root device. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/abs/core/dmraid/dmraid_tmpfiles b/abs/core/dmraid/dmraid_tmpfiles new file mode 100644 index 0000000..4f21ac1 --- /dev/null +++ b/abs/core/dmraid/dmraid_tmpfiles @@ -0,0 +1 @@ +d /run/lock/dmraid 1777 root root |