From 89dd7b5f30d48c708092a71b1c8285090fe91505 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 28 May 2012 00:02:35 +0000 Subject: Mon May 28 00:02:35 UTC 2012 --- .../conntrack-tools/01-config-file-path.patch | 11 + .../02-fix-compilation-of-timeout-extension.patch | 33 ++ community-testing/conntrack-tools/PKGBUILD | 53 +++ .../conntrack-tools/conntrack-tools.install | 9 + community-testing/conntrack-tools/conntrackd.conf | 3 + community-testing/conntrack-tools/conntrackd.rc | 34 ++ .../conntrack-tools/conntrackd.service | 8 + community-testing/libnetfilter_cttimeout/PKGBUILD | 26 ++ community-testing/multipath-tools/PKGBUILD | 41 +++ community-testing/multipath-tools/all-in-one.patch | 209 ++++++++++++ community-testing/multipath-tools/fix-build.patch | 140 ++++++++ .../multipath-tools/multipath-tools.install | 4 + community-testing/multipath-tools/multipath.conf | 8 + .../multipath-tools/multipath.conf.annotated | 362 +++++++++++++++++++++ community-testing/multipath-tools/multipathd.rc | 35 ++ 15 files changed, 976 insertions(+) create mode 100644 community-testing/conntrack-tools/01-config-file-path.patch create mode 100644 community-testing/conntrack-tools/02-fix-compilation-of-timeout-extension.patch create mode 100644 community-testing/conntrack-tools/PKGBUILD create mode 100644 community-testing/conntrack-tools/conntrack-tools.install create mode 100644 community-testing/conntrack-tools/conntrackd.conf create mode 100644 community-testing/conntrack-tools/conntrackd.rc create mode 100644 community-testing/conntrack-tools/conntrackd.service create mode 100644 community-testing/libnetfilter_cttimeout/PKGBUILD create mode 100644 community-testing/multipath-tools/PKGBUILD create mode 100644 community-testing/multipath-tools/all-in-one.patch create mode 100644 community-testing/multipath-tools/fix-build.patch create mode 100644 community-testing/multipath-tools/multipath-tools.install create mode 100644 community-testing/multipath-tools/multipath.conf create mode 100644 community-testing/multipath-tools/multipath.conf.annotated create mode 100644 community-testing/multipath-tools/multipathd.rc (limited to 'community-testing') diff --git a/community-testing/conntrack-tools/01-config-file-path.patch b/community-testing/conntrack-tools/01-config-file-path.patch new file mode 100644 index 000000000..8512cc9ab --- /dev/null +++ b/community-testing/conntrack-tools/01-config-file-path.patch @@ -0,0 +1,11 @@ +--- a/include/conntrackd.h 2012-05-26 15:29:15.630027223 +0200 ++++ b/include/conntrackd.h 2012-05-27 02:26:59.426811589 +0200 +@@ -50,7 +50,7 @@ + #define EXP_DUMP_INT_XML 47 /* dump internal cache in XML */ + #define EXP_DUMP_EXT_XML 48 /* dump external cache in XML */ + +-#define DEFAULT_CONFIGFILE "/etc/conntrackd/conntrackd.conf" ++#define DEFAULT_CONFIGFILE "/etc/conntrackd.conf" + #define DEFAULT_LOCKFILE "/var/lock/conntrackd.lock" + #define DEFAULT_LOGFILE "/var/log/conntrackd.log" + #define DEFAULT_STATS_LOGFILE "/var/log/conntrackd-stats.log" diff --git a/community-testing/conntrack-tools/02-fix-compilation-of-timeout-extension.patch b/community-testing/conntrack-tools/02-fix-compilation-of-timeout-extension.patch new file mode 100644 index 000000000..746934994 --- /dev/null +++ b/community-testing/conntrack-tools/02-fix-compilation-of-timeout-extension.patch @@ -0,0 +1,33 @@ +From 18efbc802479ce042378dc0cccc7577e1c6afa41 Mon Sep 17 00:00:00 2001 +From: Pablo Neira Ayuso +Date: Sat, 26 May 2012 20:58:16 +0200 +Subject: [PATCH] nfct: fix compilation of timeout extension +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +nfct-extensions/timeout.c: In function ‘nfct_timeout_cb’: +nfct-extensions/timeout.c:99:2: warning: passing argument 4 of ‘nfct_timeout_snprintf’ makes integer from pointer without a cast [enabled by default] +/usr/include/libnetfilter_cttimeout/libnetfilter_cttimeout.h:114:5: note: expected ‘unsigned int’ but argument is of type ‘struct nfct_timeout *’ + +Signed-off-by: Pablo Neira Ayuso +--- + src/nfct-extensions/timeout.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/nfct-extensions/timeout.c b/src/nfct-extensions/timeout.c +index a1a5c52..5b32023 100644 +--- a/src/nfct-extensions/timeout.c ++++ b/src/nfct-extensions/timeout.c +@@ -96,7 +96,7 @@ static int nfct_timeout_cb(const struct nlmsghdr *nlh, void *data) + goto err_free; + } + +- nfct_timeout_snprintf(buf, sizeof(buf), t, 0); ++ nfct_timeout_snprintf(buf, sizeof(buf), t, NFCT_TIMEOUT_O_DEFAULT, 0); + printf("%s\n", buf); + + err_free: +-- +1.7.2.5 + diff --git a/community-testing/conntrack-tools/PKGBUILD b/community-testing/conntrack-tools/PKGBUILD new file mode 100644 index 000000000..f8c8ba7ef --- /dev/null +++ b/community-testing/conntrack-tools/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 71335 2012-05-27 00:50:12Z seblu $ +# Maintainer: Sébastien Luttringer +# Contributor: Valere Monseur +# Contributor: Alessandro Sagratini +# Contributor: Kevin Edmonds + +pkgname=conntrack-tools +pkgver=1.2.0 +pkgrel=1 +pkgdesc='Userspace tools to interact with the Netfilter connection tracking system' +arch=('i686' 'x86_64') +url='http://www.netfilter.org/projects/conntrack-tools' +license=('GPL2') +depends=('libnetfilter_conntrack' 'libnetfilter_cttimeout') +backup=('etc/conntrackd.conf' 'etc/conf.d/conntrackd') +install=$pkgname.install +source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2" + 'conntrackd.rc' + 'conntrackd.conf' + 'conntrackd.service' + '01-config-file-path.patch' + '02-fix-compilation-of-timeout-extension.patch') +md5sums=('8e20330d6ca3a3f23552aa900b1d467c' + '478fe76da0202fcb5249bf65968d1c26' + 'd3e73e81b54e3e8166d357d434680684' + 'bd135eaefb47923bb8e8d26f084d3e9d' + '411fc0eb97c02595aab69b14c26c1d00' + '0144021bbec4d5b496ddd86a7ff7a257') + +build() { + cd $pkgname-$pkgver + for i in "$srcdir"/*.patch; do + patch -p1 -i "$i" + done + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + # install binaries + pushd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + popd + # initscripts & systemd + install -D -m 755 conntrackd.rc "$pkgdir/etc/rc.d/conntrackd" + install -D -m 644 conntrackd.conf "$pkgdir/etc/conf.d/conntrackd" + install -D -m 644 conntrackd.service \ + "$pkgdir/usr/lib/systemd/system/conntrackd.service" + # install empty configuration files + install -D -m 644 /dev/null "$pkgdir/etc/conntrackd.conf" +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community-testing/conntrack-tools/conntrack-tools.install b/community-testing/conntrack-tools/conntrack-tools.install new file mode 100644 index 000000000..d21a5f92c --- /dev/null +++ b/community-testing/conntrack-tools/conntrack-tools.install @@ -0,0 +1,9 @@ +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + [ $(vercmp "$2" '1.0.1-2') -gt 0 ] || cat < /dev/null && rm_daemon ${0##*/} && stat_done && exit 0 + stat_fail + ;; + restart) + $0 stop + $0 start + exit 0 + ;; + *) + echo "usage: ${0##*/} {start|stop|restart}" >&2 + ;; +esac + +exit 1 + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community-testing/conntrack-tools/conntrackd.service b/community-testing/conntrack-tools/conntrackd.service new file mode 100644 index 000000000..25a113785 --- /dev/null +++ b/community-testing/conntrack-tools/conntrackd.service @@ -0,0 +1,8 @@ +[Unit] +Description=Conntrack Daemon + +[Service] +ExecStart=/usr/sbin/conntrackd + +[Install] +WantedBy=multi-user.target diff --git a/community-testing/libnetfilter_cttimeout/PKGBUILD b/community-testing/libnetfilter_cttimeout/PKGBUILD new file mode 100644 index 000000000..53661d122 --- /dev/null +++ b/community-testing/libnetfilter_cttimeout/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 71339 2012-05-27 00:57:37Z seblu $ +# Maintainer: Sébastien Luttringer + +pkgname=libnetfilter_cttimeout +pkgver=1.0.0 +pkgrel=2 +pkgdesc='Library for the connection tracking timeout infrastructure' +arch=('i686' 'x86_64') +url='http://www.netfilter.org/projects/libnetfilter_cttimeout/' +license=('GPL2') +depends=('libmnl' 'linux>=3.4') +options=('!libtool') +source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2") +md5sums=('7697437fc9ebb6f6b83df56a633db7f9') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community-testing/multipath-tools/PKGBUILD b/community-testing/multipath-tools/PKGBUILD new file mode 100644 index 000000000..28d08b8f4 --- /dev/null +++ b/community-testing/multipath-tools/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 71284 2012-05-26 08:37:33Z bpiotrowski $ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Thomas S Hatch +# Contributor: Michael P +# Contributor: Matt Heagney + +pkgname=multipath-tools +pkgver=0.4.9 +pkgrel=7 +pkgdesc='Multipath tools for Linux' +arch=('i686' 'x86_64') +url="http://christophe.varoqui.free.fr/" +license=('GPL') +depends=('libaio' 'device-mapper') +backup=('etc/multipath.conf' 'etc/multipath.conf.annotated') +install=multipath-tools.install +options=(!emptydirs) +source=(http://christophe.varoqui.free.fr/multipath-tools/$pkgname-$pkgver.tar.bz2 + multipath.conf multipath.conf.annotated multipathd.rc all-in-one.patch) +md5sums=('a6d4b48afc28f1f50f5ee4b1b06d2765' + '9324ff0ba8330dcb21b2fcf64988026f' + 'be11462922eeeb9fcd2ba5f3f137b7d9' + '7c04ef96441363b0d43a2ebb13a87659' + '885c0ba9c90b73cc93aa3f78005f81d6') + +build() { + patch -Np1 -i all-in-one.patch + + # Needs to be fixed upstream. Refer to + # https://bbs.archlinux.org/viewtopic.php?pid=793814#p793814 + export LDFLAGS=${LDFLAGS/-Wl,--as-needed} + + make +} + +package() { + make LIB='usr/lib' DESTDIR="$pkgdir" bindir='/usr/bin' libudevdir='/usr/lib/udev' install + install -D -m 644 multipath.conf "$pkgdir"/etc/multipath.conf + install -D -m 644 multipath.conf.annotated "$pkgdir"/etc/multipath.conf.annotated + install -D -m 755 multipathd.rc "$pkgdir"/etc/rc.d/multipathd +} diff --git a/community-testing/multipath-tools/all-in-one.patch b/community-testing/multipath-tools/all-in-one.patch new file mode 100644 index 000000000..ff8f6824c --- /dev/null +++ b/community-testing/multipath-tools/all-in-one.patch @@ -0,0 +1,209 @@ +diff -rupN upstream/Makefile.inc devel/Makefile.inc +--- upstream/Makefile.inc 2010-05-22 14:01:58.000000000 +0200 ++++ devel/Makefile.inc 2012-05-26 10:14:46.969786387 +0200 +@@ -32,11 +32,10 @@ rcdir = $(prefix)/etc/init.d + syslibdir = $(prefix)/$(LIB) + libdir = $(prefix)/$(LIB)/multipath + +-GZIP = /bin/gzip -9 -c + INSTALL_PROGRAM = install + +-OPTFLAGS = -pipe -g -Wall -Wunused -Wstrict-prototypes +-CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" ++OPTFLAGS = -Wall -Wunused -Wstrict-prototypes ++CFLAGS += $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" + SHARED_FLAGS = -shared + + %.o: %.c +diff -rupN upstream/kpartx/Makefile devel/kpartx/Makefile +--- upstream/kpartx/Makefile 2010-05-22 14:01:58.000000000 +0200 ++++ devel/kpartx/Makefile 2012-05-26 10:23:38.909780754 +0200 +@@ -6,7 +6,7 @@ include ../Makefile.inc + + CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 + +-LDFLAGS = -ldevmapper ++LIBS = -ldevmapper + OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ + gpt.o mac.o crc32.o lopart.o xstrncpy.o devmapper.o + EXEC = kpartx +@@ -14,22 +14,22 @@ EXEC = kpartx + all: $(EXEC) + + $(EXEC): $(OBJS) +- $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) +- $(GZIP) $(EXEC).8 > $(EXEC).8.gz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) + + install: $(EXEC) $(EXEC).8 + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) + $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) +- $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d +- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)/etc/udev/rules.d/ ++ $(INSTALL_PROGRAM) -d $(DESTDIR)/usr/lib/udev/rules.d ++ $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)/usr/lib/udev/rules.d/66-kpartx.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) + + uninstall: + rm -f $(DESTDIR)$(bindir)/$(EXEC) +- rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz ++ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 ++ rm -f $(DESTDIR)/usr/lib/udev/rules.d/66-kpartx.rules + + clean: +- rm -f core *.o $(EXEC) *.gz ++ rm -f core *.o $(EXEC) +diff -rupN upstream/kpartx/kpartx.rules devel/kpartx/kpartx.rules +--- upstream/kpartx/kpartx.rules 2010-05-22 14:01:58.000000000 +0200 ++++ devel/kpartx/kpartx.rules 2012-05-26 10:30:32.769776372 +0200 +@@ -27,9 +27,9 @@ ENV{DM_PART}=="?*", \ + + # Create dm tables for partitions + ENV{DM_STATE}=="ACTIVE", ENV{DM_UUID}=="mpath-*", \ +- RUN+="/sbin/kpartx -a -p -part /dev/$name" ++ RUN+="/usr/sbin/kpartx -a -p -part /dev/$name" + ENV{DM_STATE}=="ACTIVE", ENV{DM_UUID}=="dmraid-*", \ +- RUN+="/sbin/kpartx -a -p -part /dev/$name" ++ RUN+="/usr/sbin/kpartx -a -p -part /dev/$name" + + LABEL="kpartx_end" + +diff -rupN upstream/multipath/Makefile devel/multipath/Makefile +--- upstream/multipath/Makefile 2010-05-22 14:01:58.000000000 +0200 ++++ devel/multipath/Makefile 2012-05-26 10:22:38.819781391 +0200 +@@ -7,32 +7,30 @@ include ../Makefile.inc + OBJS = main.o + + CFLAGS += -I$(multipathdir) +-LDFLAGS += -lpthread -ldevmapper -ldl -lmultipath -L$(multipathdir) ++LIBS = -lpthread -ldevmapper -ldl -L$(multipathdir) -lmultipath + + EXEC = multipath + + all: $(EXEC) + + $(EXEC): $(OBJS) +- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) +- $(GZIP) $(EXEC).8 > $(EXEC).8.gz +- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) + + install: + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ +- $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d +- $(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/ ++ $(INSTALL_PROGRAM) -d $(DESTDIR)/usr/lib/udev/rules.d ++ $(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/usr/lib/udev/rules.d/65-multipath.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(man5dir) + + uninstall: +- rm $(DESTDIR)/etc/udev/rules.d/multipath.rules +- rm $(DESTDIR)$(bindir)/$(EXEC) +- rm $(DESTDIR)$(mandir)/$(EXEC).8.gz +- rm $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz ++ rm -f $(DESTDIR)/usr/lib/udev/rules.d/65-multipath.rules ++ rm -f $(DESTDIR)$(bindir)/$(EXEC) ++ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 ++ rm -f $(DESTDIR)$(man5dir)/$(EXEC).conf.5 + + clean: +- rm -f core *.o $(EXEC) *.gz ++ rm -f core *.o $(EXEC) +diff -rupN upstream/multipath/multipath.rules devel/multipath/multipath.rules +--- upstream/multipath/multipath.rules 2010-05-22 14:01:58.000000000 +0200 ++++ devel/multipath/multipath.rules 2012-05-26 10:17:34.849784609 +0200 +@@ -1,7 +1,24 @@ +-# +-# udev rules for multipathing. +-# The persistent symlinks are created with the kpartx rules +-# ++# multipath wants the devmaps presented as meaninglful device names ++# so name them after their devmap name ++SUBSYSTEM!="block", GOTO="end_mpath" + +-# socket for uevents +-SUBSYSTEM=="block", RUN+="socket:/org/kernel/dm/multipath_event" ++ENV{MPATH_SBIN_PATH}="/sbin" ++TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin" ++ ++ACTION=="add", ENV{DEVTYPE}!="partition", \ ++ ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \ ++ PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -c $tempnode", \ ++ ENV{DM_MULTIPATH_DEVICE_PATH}="1" ++ ++ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{DEVTYPE}!="partition", \ ++ RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}" ++ ++RUN+="socket:/org/kernel/dm/multipath_event" ++KERNEL!="dm-*", GOTO="end_mpath" ++ACTION!="change", GOTO="end_mpath" ++ENV{DM_UUID}=="mpath-?*|part[0-9]*-mpath-?*", OPTIONS+="link_priority=10" ++ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath" ++ENV{DM_SUSPENDED}=="1", GOTO="end_mpath" ++ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath" ++RUN+="$env{MPATH_SBIN_PATH}/kpartx -a -p p $tempnode" ++LABEL="end_mpath" +diff -rupN upstream/multipath-tools.spec.in devel/multipath-tools.spec.in +--- upstream/multipath-tools.spec.in 2010-05-22 14:01:58.000000000 +0200 ++++ devel/multipath-tools.spec.in 2012-05-26 10:24:16.989780353 +0200 +@@ -47,8 +47,8 @@ rm -rf $RPM_BUILD_ROOT + %{prefix}/usr/share/man/man8/multipathd.8.gz + %{prefix}/usr/share/man/man5/multipath.conf.5.gz + %{prefix}/sbin/multipathd +-%{prefix}/etc/udev/rules.d/multipath.rules +-%{prefix}/etc/udev/rules.d/kpartx.rules ++%{prefix}/usr/lib/udev/rules.d/multipath.rules ++%{prefix}/usr/lib/udev/rules.d/kpartx.rules + %{prefix}/lib/udev/kpartx_id + %{prefix}/lib/multipath/*.so + +diff -rupN upstream/multipathd/Makefile devel/multipathd/Makefile +--- upstream/multipathd/Makefile 2010-05-22 14:01:58.000000000 +0200 ++++ devel/multipathd/Makefile 2012-05-26 10:14:46.969786387 +0200 +@@ -6,8 +6,8 @@ include ../Makefile.inc + # basic flags setting + # + CFLAGS += -I$(multipathdir) +-LDFLAGS += -lpthread -ldevmapper -lreadline -lncurses -ldl \ +- -lmultipath -L$(multipathdir) ++LIBS = -lpthread -ldevmapper -lreadline -lncurses -ldl \ ++ -L$(multipathdir) -lmultipath + + # + # debuging stuff +@@ -28,21 +28,20 @@ OBJS = main.o pidfile.o uxlsnr.o uxclnt. + all : $(EXEC) + + $(EXEC): $(OBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $(EXEC) $(OBJS) +- $(GZIP) $(EXEC).8 > $(EXEC).8.gz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) + + install: + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(rcdir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) + + uninstall: + rm -f $(DESTDIR)$(bindir)/$(EXEC) + rm -f $(DESTDIR)$(rcdir)/$(EXEC) +- rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz ++ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 + + clean: +- rm -f core *.o $(EXEC) *.gz ++ rm -f core *.o $(EXEC) + diff --git a/community-testing/multipath-tools/fix-build.patch b/community-testing/multipath-tools/fix-build.patch new file mode 100644 index 000000000..c6196f73b --- /dev/null +++ b/community-testing/multipath-tools/fix-build.patch @@ -0,0 +1,140 @@ +--- multipath-tools-0.4.9.orig/kpartx/Makefile 2010-05-22 05:01:58.000000000 -0700 ++++ multipath-tools-0.4.9/kpartx/Makefile 2010-11-28 12:14:25.763531104 -0800 +@@ -6,7 +6,7 @@ + + CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 + +-LDFLAGS = -ldevmapper ++LIBS = -ldevmapper + OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ + gpt.o mac.o crc32.o lopart.o xstrncpy.o devmapper.o + EXEC = kpartx +@@ -14,8 +14,7 @@ + all: $(EXEC) + + $(EXEC): $(OBJS) +- $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) +- $(GZIP) $(EXEC).8 > $(EXEC).8.gz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) + + install: $(EXEC) $(EXEC).8 + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) +@@ -23,13 +22,14 @@ + $(INSTALL_PROGRAM) -d $(DESTDIR)$(libudevdir) + $(INSTALL_PROGRAM) -m 755 kpartx_id $(DESTDIR)$(libudevdir) + $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d +- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)/etc/udev/rules.d/ ++ $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)/etc/udev/rules.d/66-kpartx.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) + + uninstall: + rm -f $(DESTDIR)$(bindir)/$(EXEC) +- rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz ++ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 ++ rm -f $(DESTDIR)/etc/udev/rules.d/66-kpartx.rules + + clean: +- rm -f core *.o $(EXEC) *.gz ++ rm -f core *.o $(EXEC) +--- multipath-tools-0.4.9.orig/Makefile.inc 2010-05-22 05:01:58.000000000 -0700 ++++ multipath-tools-0.4.9/Makefile.inc 2010-11-28 12:14:25.763531104 -0800 +@@ -32,11 +32,10 @@ + syslibdir = $(prefix)/$(LIB) + libdir = $(prefix)/$(LIB)/multipath + +-GZIP = /bin/gzip -9 -c + INSTALL_PROGRAM = install + +-OPTFLAGS = -pipe -g -Wall -Wunused -Wstrict-prototypes +-CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" ++OPTFLAGS = -Wall -Wunused -Wstrict-prototypes ++CFLAGS += $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" + SHARED_FLAGS = -shared + + %.o: %.c +--- multipath-tools-0.4.9.orig/multipath/Makefile 2010-05-22 05:01:58.000000000 -0700 ++++ multipath-tools-0.4.9/multipath/Makefile 2010-11-28 12:14:46.718697048 -0800 +@@ -7,32 +7,30 @@ + OBJS = main.o + + CFLAGS += -I$(multipathdir) +-LDFLAGS += -lpthread -ldevmapper -ldl -lmultipath -L$(multipathdir) ++LIBS = -lpthread -ldevmapper -ldl -L$(multipathdir) -lmultipath + + EXEC = multipath + + all: $(EXEC) + + $(EXEC): $(OBJS) +- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) +- $(GZIP) $(EXEC).8 > $(EXEC).8.gz +- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) + + install: + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ + $(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d +- $(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/ ++ $(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/65-multipath.rules + $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(man5dir) + + uninstall: +- rm $(DESTDIR)/etc/udev/rules.d/multipath.rules +- rm $(DESTDIR)$(bindir)/$(EXEC) +- rm $(DESTDIR)$(mandir)/$(EXEC).8.gz +- rm $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz ++ rm -f $(DESTDIR)/etc/udev/rules.d/65-multipath.rules ++ rm -f $(DESTDIR)$(bindir)/$(EXEC) ++ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 ++ rm -f $(DESTDIR)$(man5dir)/$(EXEC).conf.5 + + clean: +- rm -f core *.o $(EXEC) *.gz ++ rm -f core *.o $(EXEC) +--- multipath-tools-0.4.9.orig/multipathd/Makefile 2010-05-22 05:01:58.000000000 -0700 ++++ multipath-tools-0.4.9/multipathd/Makefile 2010-11-28 12:15:46.624171566 -0800 +@@ -6,8 +6,8 @@ + # basic flags setting + # + CFLAGS += -I$(multipathdir) +-LDFLAGS += -lpthread -ldevmapper -lreadline -lncurses -ldl \ +- -lmultipath -L$(multipathdir) ++LIBS = -lpthread -ldevmapper -lreadline -lncurses -ldl \ ++ -L$(multipathdir) -lmultipath + + # + # debuging stuff +@@ -28,21 +28,20 @@ + all : $(EXEC) + + $(EXEC): $(OBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $(EXEC) $(OBJS) +- $(GZIP) $(EXEC).8 > $(EXEC).8.gz ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC) + + install: + $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(rcdir) + $(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir) +- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir) ++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir) + + uninstall: + rm -f $(DESTDIR)$(bindir)/$(EXEC) + rm -f $(DESTDIR)$(rcdir)/$(EXEC) +- rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz ++ rm -f $(DESTDIR)$(mandir)/$(EXEC).8 + + clean: +- rm -f core *.o $(EXEC) *.gz ++ rm -f core *.o $(EXEC) + diff --git a/community-testing/multipath-tools/multipath-tools.install b/community-testing/multipath-tools/multipath-tools.install new file mode 100644 index 000000000..fa58bbc35 --- /dev/null +++ b/community-testing/multipath-tools/multipath-tools.install @@ -0,0 +1,4 @@ +post_install() { + + echo " * For full functonality ensure that the dm_multipath kernel module is loaded" +} diff --git a/community-testing/multipath-tools/multipath.conf b/community-testing/multipath-tools/multipath.conf new file mode 100644 index 000000000..6dacf093d --- /dev/null +++ b/community-testing/multipath-tools/multipath.conf @@ -0,0 +1,8 @@ +# +# Very Basic Multipath Configuration File +# + +defaults { + getuid_callout "/usr/lib/udev/scsi_id -g -u -d /dev/%n" +} + diff --git a/community-testing/multipath-tools/multipath.conf.annotated b/community-testing/multipath-tools/multipath.conf.annotated new file mode 100644 index 000000000..b79488413 --- /dev/null +++ b/community-testing/multipath-tools/multipath.conf.annotated @@ -0,0 +1,362 @@ +## +## This is a template multipath-tools configuration file +## Uncomment the lines relevent to your environment +## +# +## +## name : defaults +## desc : multipath-tools default settings +## +#defaults { +# # +# # name : udev_dir +# # desc : directory where udev creates its device nodes +# # default : /dev +# # +# udev_dir /dev +# +# # +# # name : polling_interval +# # scope : multipathd +# # desc : interval between two path checks in seconds +# # default : 5 +# # +# polling_interval 10 +# +# # +# # name : selector +# # scope : multipath +# # desc : the default path selector algorithm to use +# # these algorithms are offered by the kernel multipath target +# # values : "round-robin 0" +# # default : "round-robin 0" +# # +# selector "round-robin 0" +# +# # +# # name : path_grouping_policy +# # scope : multipath +# # desc : the default path grouping policy to apply to unspecified +# # multipaths +# # default : multibus +# # +# path_grouping_policy multibus +# +# # +# # name : getuid_callout +# # scope : multipath +# # desc : the default program and args to callout to obtain a unique +# # path identifier. Absolute path required +# # default : /usr/lib/udev/scsi_id -g -u -s +# # +# getuid_callout "/usr/lib/udev/scsi_id -g -u -s /block/%n" +# +# # +# # name : prio_callout +# # scope : multipath +# # desc : the default program and args to callout to obtain a path +# # priority value. The ALUA bits in SPC-3 provide an +# # exploitable prio value for example. "none" is a valid value +# # default : (null) +# # +# #prio_callout "/bin/true" +# +# # +# # name : path_checker +# # scope : multipath & multipathd +# # desc : the default method used to determine the paths' state +# # values : readsector0|tur|emc_clariion|hp_sw|directio +# # default : directio +# # +# #path_checker directio +# +# # +# # name : rr_min_io +# # scope : multipath +# # desc : the number of IO to route to a path before switching +# # to the next in the same path group +# # default : 1000 +# # +# rr_min_io 100 +# +# # +# # name : rr_weight +# # scope : multipath +# # desc : if set to priorities the multipath configurator will assign +# # path weights as "path prio * rr_min_io" +# # values : priorities|uniform +# # default : uniform +# # +# rr_weight priorities +# +# # +# # name : failback +# # scope : multipathd +# # desc : tell the daemon to manage path group failback, or not to. +# # 0 means immediate failback, values >0 means deffered failback +# # expressed in seconds. +# # values : manual|immediate|n > 0 +# # default : immediate +# # +# failback manual +# +# # +# # name : no_path_retry +# # scope : multipath & multipathd +# # desc : tell the number of retries until disable queueing, or +# # "fail" means immediate failure (no queueing), +# # "queue" means never stop queueing +# # values : queue|fail|n (>0) +# # default : (null) +# # +# #no_path_retry queue +# +# # +# # name : user_friendly_names +# # scope : multipath +# # desc : If set to "yes", using the bindings file +# # /var/lib/multipath/bindings to assign a persistent and +# # unique alias to the multipath, in the form of mpath. +# # If set to "no" use the WWID as the alias. In either case +# # this be will be overriden by any specific aliases in this +# # file. +# # values : yes|no +# # default : no +# user_friendly_names no +# +#} +# +## +## name : blacklist +## scope : multipath & multipathd +## desc : list of device names to discard as not multipath candidates +## default : cciss, fd, hd, md, dm, sr, scd, st, ram, raw, loop +## +#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 +# } +#} +## +## name : blacklist_exceptions +## scope : multipath & multipathd +## desc : list of device names to be treated as multipath candidates +## even if they are on the blacklist. +## Note: blacklist exceptions are only valid in the same class. +## It is not possible to blacklist devices using the devnode keyword +## and to exclude some devices of them using the wwid keyword. +## default : - +## +#blacklist_exceptions { +# devnode "^dasd[c-d]+[0-9]*" +# wwid "IBM.75000000092461.4d00.34" +# wwid "IBM.75000000092461.4d00.35" +# wwid "IBM.75000000092461.4d00.36" +#} +# +## +## name : multipaths +## scope : multipath & multipathd +## desc : list of multipaths finest-grained settings +## +#multipaths { +# # +# # name : multipath +# # scope : multipath & multipathd +# # desc : container for settings that apply to one specific multipath +# # +# multipath { +# # +# # name : wwid +# # scope : multipath & multipathd +# # desc : index of the container +# # +# wwid 3600508b4000156d700012000000b0000 +# +# # +# # name : alias +# # scope : multipath +# # desc : symbolic name for the multipath +# # +# alias yellow +# +# # +# # name : path_grouping_policy +# # scope : multipath +# # desc : path grouping policy to apply to this multipath +# # values : failover, multibus, group_by_serial +# # default : failover +# # +# path_grouping_policy multibus +# +# # +# # name : path_checker +# # scope : multipathd +# # desc : path checking alorithm to use to check path state +# # values : readsector0|tur|emc_clariion|hp_sw|directio +# # default : directio +# # +# # path_checker directio +# +# # +# # name : path_selector +# # desc : the path selector algorithm to use for this mpath +# # these algo are offered by the kernel mpath target +# # values : "round-robin 0" +# # default : "round-robin 0" +# # +# path_selector "round-robin 0" +# +# # +# # name : failback +# # scope : multipathd +# # desc : tell the daemon to manage path group failback, or not to. +# # 0 means immediate failback, values >0 means deffered failback +# # expressed in seconds. +# # values : manual|immediate|n > 0 +# # default : immediate +# # +# failback manual +# +# # +# # name : no_path_retry +# # scope : multipath & multipathd +# # desc : tell the number of retries until disable queueing, or +# # "fail" means immediate failure (no queueing), +# # "queue" means never stop queueing +# # values : queue|fail|n (>0) +# # default : (null) +# # +# #no_path_retry queue +# +# # +# # name : rr_min_io +# # scope : multipath +# # desc : the number of IO to route to a path before switching +# # to the next in the same path group +# # default : 1000 +# # +# rr_min_io 100 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# rr_weight priorities +# } +#} +# +## +## name : devices +## scope : multipath & multipathd +## desc : list of per storage controller settings +## overrides default settings (device_maps block) +## overriden by per multipath settings (multipaths block) +## +#devices { +# # +# # name : device +# # scope : multipath & multipathd +# # desc : settings for this specific storage controller +# # +# device { +# # +# # name : vendor, product +# # scope : multipath & multipathd +# # desc : index for the block +# # +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# +# # +# # name : path_grouping_policy +# # scope : multipath +# # desc : path grouping policy to apply to multipath hosted +# # by this storage controller +# # values : failover = 1 path per priority group +# # multibus = all valid paths in 1 priority +# # group +# # group_by_serial = 1 priority group per detected +# # serial number +# # default : failover +# # +# path_grouping_policy multibus +# +# # +# # name : getuid_callout +# # scope : multipath +# # desc : the program and args to callout to obtain a unique +# # path identifier. Absolute path required +# # default : /usr/lib/udev/scsi_id -g -u -s +# # +# getuid_callout "/usr/lib/udev/scsi_id -g -u -s /block/%n" +# +# # +# # name : prio_callout +# # scope : multipath +# # desc : the program and args to callout to obtain a path +# # weight. Weights are summed for each path group to +# # determine the next PG to use case of failure. +# # "none" is a valid value. +# # default : no callout, all paths equals +# # +# prio_callout "/sbin/mpath_prio_balance_units %d" +# +# # +# # name : path_checker +# # scope : multipathd +# # desc : path checking alorithm to use to check path state +# # values : readsector0|tur|emc_clariion|hp_sw|directio +# # default : directio +# # +# path_checker directio +# +# # +# # name : path_selector +# # desc : the path selector algorithm to use for this mpath +# # these algo are offered by the kernel mpath target +# # values : "round-robin 0" +# # default : "round-robin 0" +# # +# path_selector "round-robin 0" +# +# # +# # name : failback +# # scope : multipathd +# # desc : tell the daemon to manage path group failback, or not to. +# # 0 means immediate failback, values >0 means deffered failback +# # expressed in seconds. +# # values : manual|immediate|n > 0 +# # default : immediate +# # +# failback 30 +# +# # +# # name : rr_min_io +# # scope : multipath +# # desc : the number of IO to route to a path before switching +# # to the next in the same path group +# # default : 1000 +# # +# rr_min_io 100 +# +# # +# # name : product_blacklist +# # scope : multipath & multipathd +# # desc : product strings to blacklist for this vendor +# # default : none +# # +# product_blacklist LUN_Z +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# path_checker tur +# rr_weight priorities +# } +#} diff --git a/community-testing/multipath-tools/multipathd.rc b/community-testing/multipath-tools/multipathd.rc new file mode 100644 index 000000000..7f5ef5d6a --- /dev/null +++ b/community-testing/multipath-tools/multipathd.rc @@ -0,0 +1,35 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting multipathd" + /usr/bin/multipathd + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon multipathd + stat_done + fi + ;; + stop) + stat_busy "Stopping multipathd" + [ -f /var/run/multipathd.pid ] && kill `cat /var/run/multipathd.pid` >/dev/null 2>&1 + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon multipathd + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 -- cgit v1.2.3-54-g00ecf