diff --git a/temp/multipath-tools/APKBUILD b/temp/multipath-tools/APKBUILD new file mode 100644 index 000000000..c91fdab29 --- /dev/null +++ b/temp/multipath-tools/APKBUILD @@ -0,0 +1,53 @@ +# Forked from Alpine to fix missing liburcu.so.6 error +# https://github.com/alpinelinux/aports/pull/8319 +pkgname=multipath-tools +pkgver=0.8.1 +pkgrel=1 +pkgdesc="Device Mapper Multipathing Driver" +url="http://christophe.varoqui.free.fr" +arch="all" +license="GPL" +depends="eudev" +makedepends="lvm2-dev libaio-dev readline-dev ncurses-dev eudev-dev + userspace-rcu-dev json-c-dev perl" +subpackages="$pkgname-doc $pkgname-openrc" +source="$pkgname-$pkgver.tar.gz::https://git.opensvc.com/gitweb.cgi?p=$pkgname/.git;a=snapshot;h=$pkgver;sf=tgz + multipath-tools.conf + multipath-tools.confd + multipath-tools.initd + fix-unknown-mode_t.patch + " +options="!check" +builddir="$srcdir/multipath-tools" + +prepare() { + # Rename unpacked directory with hash in the name to something sane... + mv "$srcdir"/multipath-tools-$pkgver-* "$builddir" + + default_prepare +} + +build() { + cd $builddir + + make prefix="/usr" \ + sysconfdir="/etc" \ + mandir="/usr/share/man" \ + infodir="/usr/share/info" +} + +package() { + cd $builddir + + make DESTDIR="$pkgdir" install + + install -D -m644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/multipath.conf + install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/multipathd + install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/multipathd +} + +sha512sums="1f87f974aace746ecac8af6ae330de16affe49cc89a5660b28be3b1c4a69f822da01042432176e64b5de6ad3a6568044954fdce8e3aa31e85611a595a4939947 multipath-tools-0.8.1.tar.gz +e81462b22c0cbc92ea935d7544b9f9a0c4ccbcf13f3bc03dadf6de96407c9cf49964c9bbf02f12a134e1255c66421c6fde39d54b15eef975e8df81bdc88b2213 multipath-tools.conf +303c62b7506b207ba2266310e7a701d76151e6f1544b44faf666dfabdc59c5aeb98544d380988e18b4a7b8235e4000380f025c4dd6c95d45a7b8b51bbf39dce5 multipath-tools.confd +1ca0a8be7ddd0d57b810ab4905bc35d6b89b924ef528a7ee77dad162b86b990e0b86ef714f63857def4a61e30bfabe7a3980f624d63b80108408dd876a7c468c multipath-tools.initd +079943d788d4ecf250a201f38cca4661c29499dd1ba9b74b471c66fe59785215fd096425d51e74664e5e68a21378179b081bc8d9503c7ed99bc3d7f785ecf8cd fix-unknown-mode_t.patch" diff --git a/temp/multipath-tools/fix-unknown-mode_t.patch b/temp/multipath-tools/fix-unknown-mode_t.patch new file mode 100644 index 000000000..e5f980e3f --- /dev/null +++ b/temp/multipath-tools/fix-unknown-mode_t.patch @@ -0,0 +1,18 @@ +Fixes the following error: + + In file included from alias.c:15:0: + file.h:9:47: error: unknown type name 'mode_t' + int ensure_directories_exist(const char *str, mode_t dir_mode); + ^~~~~~ + make[1]: *** [../Makefile.inc:134: alias.o] Error 1 + +--- a/libmultipath/alias.c ++++ b/libmultipath/alias.c +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #include "debug.h" + #include "uxsock.h" diff --git a/temp/multipath-tools/multipath-tools.conf b/temp/multipath-tools/multipath-tools.conf new file mode 100644 index 000000000..11194176d --- /dev/null +++ b/temp/multipath-tools/multipath-tools.conf @@ -0,0 +1,113 @@ +## +## This is a template multipath-tools configuration file +## Uncomment the lines relevent to your environment +## +#defaults { +# udev_dir /dev +# polling_interval 10 +# selector "round-robin 0" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# prio_callout /bin/true +# path_checker directio +# rr_min_io 100 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names no +#} +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z][[0-9]*]" +# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]" +# device { +# vendor DEC.* +# product MSA[15]00 +# } +#} +#blacklist_exceptions { +# devnode "^dasd[c-d]+[0-9]*" +# wwid "IBM.75000000092461.4d00.34" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_checker directio +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# rr_min_io 100 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# path_checker directio +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# rr_min_io 100 +# product_blacklist LUN_Z +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} + +#defaults { +# udev_dir /dev +# user_friendly_names yes +#} + +#blacklist { +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +# devnode "^sda" +# devnode "^sdb" +# devnode "^sdc" +# devnode "^sdd" +# devnode "^sda[0-9]" +# devnode "^sdb[0-9]" +# device { +# vendor DELL +# product "PERC|Universal" +# } +#} + +#devices { +# device { +# vendor DELL +# product MD3000i +# hardware_handler "1 rdac" +# path_checker rdac +# path_grouping_policy group_by_prio +# prio_callout "/sbin/mpath_prio_rdac /dev/%n" +# failback immediate +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# } +#} + +#multipaths { +# multipath { +# device { +# vendor DELL +# product MD3000i +# } +# } +#} + diff --git a/temp/multipath-tools/multipath-tools.confd b/temp/multipath-tools/multipath-tools.confd new file mode 100644 index 000000000..979aa96e2 --- /dev/null +++ b/temp/multipath-tools/multipath-tools.confd @@ -0,0 +1,2 @@ +rc_before="lvm" +rc_after="iscsid" diff --git a/temp/multipath-tools/multipath-tools.initd b/temp/multipath-tools/multipath-tools.initd new file mode 100644 index 000000000..14f28efcc --- /dev/null +++ b/temp/multipath-tools/multipath-tools.initd @@ -0,0 +1,37 @@ +#!/sbin/openrc-run +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/sys-fs/multipath-tools/files/rc-multipathd,v 1.5 2009/03/17 22:48:13 solar Exp $ + +depend() { + after firewall +} + +do_nodes() { + for dev in $(ls /dev/mapper/mpath*) + do + kpartx -a $dev + done +} + +undo_nodes() { + for dev in $(ls /dev/mapper/mpath*) + do + kpartx -d $dev + done +} + +start() { + ebegin "Starting multipathd" + start-stop-daemon --start --quiet --make-pidfile \ + --pidfile /var/run/multipathd.pid --exec /sbin/multipathd + do_nodes + eend $? +} + +stop() { + ebegin "Stopping multipathd" + undo_nodes + start-stop-daemon --stop --quiet --retry --pidfile /var/run/multipathd.pid + eend $? +}