From 99822beef8cc3dca96457dd2aecd0723032b84d2 Mon Sep 17 00:00:00 2001 From: Nikos Giotis Date: Fri, 12 Apr 2019 22:44:58 +0700 Subject: system/multipath-tools: Updated for version 0.7.8. Signed-off-by: Willy Sudiarto Raharjo --- .../0002-multipathd-add-ncurses-to-linker.patch | 11 ++++ system/multipath-tools/README | 3 ++ system/multipath-tools/README.SLACKWARE | 60 +++++++++++++++++++++ system/multipath-tools/doinst.sh | 26 +++++++++ .../libmpathpersist.remove.empty.dir.patch.gz | Bin 322 -> 0 bytes system/multipath-tools/multipath-tools.SlackBuild | 40 +++++++++----- system/multipath-tools/multipath-tools.info | 10 ++-- system/multipath-tools/multipath.conf.new | 4 ++ .../multipath-tools/multipathd.slackware.patch.gz | Bin 374 -> 0 bytes system/multipath-tools/rc.multipathd.new | 44 +++++++++++++++ system/multipath-tools/rcdir.patch.gz | Bin 250 -> 0 bytes system/multipath-tools/slack-desc | 2 +- 12 files changed, 181 insertions(+), 19 deletions(-) create mode 100644 system/multipath-tools/0002-multipathd-add-ncurses-to-linker.patch create mode 100644 system/multipath-tools/README.SLACKWARE create mode 100644 system/multipath-tools/doinst.sh delete mode 100644 system/multipath-tools/libmpathpersist.remove.empty.dir.patch.gz create mode 100644 system/multipath-tools/multipath.conf.new delete mode 100644 system/multipath-tools/multipathd.slackware.patch.gz create mode 100644 system/multipath-tools/rc.multipathd.new delete mode 100644 system/multipath-tools/rcdir.patch.gz diff --git a/system/multipath-tools/0002-multipathd-add-ncurses-to-linker.patch b/system/multipath-tools/0002-multipathd-add-ncurses-to-linker.patch new file mode 100644 index 0000000000..f68c4af0b3 --- /dev/null +++ b/system/multipath-tools/0002-multipathd-add-ncurses-to-linker.patch @@ -0,0 +1,11 @@ +--- multipathd/Makefile.orig 2017-11-10 17:52:36.070562376 +0200 ++++ multipathd/Makefile 2017-11-10 18:10:47.854895039 +0200 +@@ -11,7 +11,7 @@ CFLAGS += $(BIN_CFLAGS) -I$(multipathdir + LDFLAGS += $(BIN_LDFLAGS) + LIBDEPS += -L$(multipathdir) -lmultipath -L$(mpathpersistdir) -lmpathpersist \ + -L$(mpathcmddir) -lmpathcmd -ludev -ldl -lurcu -lpthread \ +- -ldevmapper -lreadline ++ -ldevmapper -lreadline -lncurses + + ifdef SYSTEMD + CFLAGS += -DUSE_SYSTEMD=$(SYSTEMD) diff --git a/system/multipath-tools/README b/system/multipath-tools/README index d6b90af8ed..e56ff36245 100644 --- a/system/multipath-tools/README +++ b/system/multipath-tools/README @@ -1 +1,4 @@ Utilities used to drive the Device Mapper multipathing driver + +See README.SLACKWARE for details on how to configure and +start multipathd. diff --git a/system/multipath-tools/README.SLACKWARE b/system/multipath-tools/README.SLACKWARE new file mode 100644 index 0000000000..6f814df9af --- /dev/null +++ b/system/multipath-tools/README.SLACKWARE @@ -0,0 +1,60 @@ +README.SLACKWARE + +First you need to add this to /etc/rc.d/rc.modules.local + + /sbin/modprobe -v dm-multipath + +Also add any modules that may be needed for any storage devices +that may be not be configured up by udev, like eg. qla-2xxxx. + +To use multipath, you need to start the multipath daemon. +The recommended way is to add the following to /etc/rc.d/rc.local + + if [ -x /etc/rc.d/rc.multipathd ]; then + /etc/rc.d/rc.multipathd start + fi + +After starting multipathd you can see the multipaths like this + + multipath -ll + +You have to have the paths connected and presented before +seeing them with the above command. For some storage devices +after presenting them to the host, a host reboot may be +required for the devices and the paths to be show correctly. +This also applies to any volume increase; a host reboot may +be needed to pick up the new size. It seems to be depended +on the storage in hand. + +To blackist any devices that you don't want to be handled by +multipath like local hardware raid controllers, to your +/etc/multipath.conf and entry like this + + blacklist { + wwid 435456... + } + +To setup aliases to multipath devices add entries like these +to /etc/multipath.conf + + multipaths { + multipath { + wwid "534535..." + alias "storage0" + } + } + +Use the following to reload the configuration + + multipath -r + +Then the device will be available under /dev/mapper/storage0 +You can create partitions on this like this + + gdisk /dev/mapper/storage0 + +To make an xfs filesystem on the first partition + + mkfs.xfs /dev/mapper/storage0-part1 + +See the manpages for more details. diff --git a/system/multipath-tools/doinst.sh b/system/multipath-tools/doinst.sh new file mode 100644 index 0000000000..b845f6b1b1 --- /dev/null +++ b/system/multipath-tools/doinst.sh @@ -0,0 +1,26 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + if [ -e $OLD ]; then + cp -a $OLD ${NEW}.incoming + cat $NEW > ${NEW}.incoming + mv ${NEW}.incoming $NEW + fi + config $NEW +} + +preserve_perms etc/rc.d/rc.multipathd.new +preserve_perms etc/multipath.conf.new diff --git a/system/multipath-tools/libmpathpersist.remove.empty.dir.patch.gz b/system/multipath-tools/libmpathpersist.remove.empty.dir.patch.gz deleted file mode 100644 index b288f4f235..0000000000 Binary files a/system/multipath-tools/libmpathpersist.remove.empty.dir.patch.gz and /dev/null differ diff --git a/system/multipath-tools/multipath-tools.SlackBuild b/system/multipath-tools/multipath-tools.SlackBuild index e4428d9217..7148af368b 100644 --- a/system/multipath-tools/multipath-tools.SlackBuild +++ b/system/multipath-tools/multipath-tools.SlackBuild @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2014 Nikos Yotis +# Copyright 2014,2018 Nikos Yotis # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -19,8 +19,12 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 22-Oct-2018 +# Updated for version 0.7.8 + PRGNAM=multipath-tools -VERSION=${VERSION:-0.5.0} +VERSION=${VERSION:-0.7.8} +SRCNAM="index.html?p=multipath-tools%2F.git;a=snapshot;sf=tgz;h=refs%2Ftags%2F$VERSION" BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -57,13 +61,11 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 +tar xvf $CWD/$SRCNAM cd $PRGNAM-$VERSION -# Patches for slackware compatibility -zcat $CWD/multipathd.slackware.patch.gz | patch -p0 --verbose -zcat $CWD/rcdir.patch.gz | patch -p0 --verbose -zcat $CWD/libmpathpersist.remove.empty.dir.patch.gz | patch -p0 --verbose +# Patch for slackware compatibility +cat $CWD/0002-multipathd-add-ncurses-to-linker.patch | patch -p0 --verbose chown -R root:root . find -L . \ @@ -75,24 +77,36 @@ find -L . \ # Build cd $TMP/$PRGNAM-$VERSION CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" make -mkdir -p $PKG/usr/bin make install DESTDIR=$PKG +# Move everything in place +mv $PKG/usr/lib/ $PKG/ + +# Manpages mv $PKG/usr/share/man $PKG/usr/ +rm -rf $PKG/usr/share find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -rm -rf $PKG/usr/share -( - cd $PKG/lib${LIBDIRSUFFIX} - ln -sf libmpathpersist.so.0 libmpathpersist.so -) +# init script +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.multipathd.new > $PKG/etc/rc.d/rc.multipathd.new +chmod 755 $PKG/etc/rc.d/rc.multipathd.new + +# default config +cat $CWD/multipath.conf.new > $PKG/etc/multipath.conf.new +chmod 644 $PKG/etc/multipath.conf.new +# Docs mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + COPYING README README.alua $CWD/README.SLACKWARE \ + $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/multipath-tools/multipath-tools.info b/system/multipath-tools/multipath-tools.info index febf070bee..54ce6d7b3a 100644 --- a/system/multipath-tools/multipath-tools.info +++ b/system/multipath-tools/multipath-tools.info @@ -1,10 +1,10 @@ PRGNAM="multipath-tools" -VERSION="0.5.0" +VERSION="0.7.8" HOMEPAGE="http://christophe.varoqui.free.fr/" -DOWNLOAD="http://christophe.varoqui.free.fr/multipath-tools/multipath-tools-0.5.0.tar.bz2" -MD5SUM="faf261d4cc717bf4c979557dc7bf5f52" +DOWNLOAD="https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;sf=tgz;h=refs/tags/0.7.8" +MD5SUM="f8d0faed2913bc725c107b4f84f22a3a" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="" +REQUIRES="liburcu" MAINTAINER="Nikos Giotis" -EMAIL="nikos.giotis@gmail.com" \ No newline at end of file +EMAIL="nikos.giotis@gmail.com" diff --git a/system/multipath-tools/multipath.conf.new b/system/multipath-tools/multipath.conf.new new file mode 100644 index 0000000000..8cdf633c2b --- /dev/null +++ b/system/multipath-tools/multipath.conf.new @@ -0,0 +1,4 @@ +defaults { + find_multipaths yes +} + diff --git a/system/multipath-tools/multipathd.slackware.patch.gz b/system/multipath-tools/multipathd.slackware.patch.gz deleted file mode 100644 index 3d62dd673d..0000000000 Binary files a/system/multipath-tools/multipathd.slackware.patch.gz and /dev/null differ diff --git a/system/multipath-tools/rc.multipathd.new b/system/multipath-tools/rc.multipathd.new new file mode 100644 index 0000000000..e62690fa8f --- /dev/null +++ b/system/multipath-tools/rc.multipathd.new @@ -0,0 +1,44 @@ +#!/bin/sh + +# This is usually needed for detecting multipaths. The default 5 seems +# to work, but adjustment per case may be needed. +SLEEP=5 + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/sbin/multipathd + +test -x $DAEMON || exit 0 + +case "$1" in + start) + pgrep -f $DAEMON >/dev/null + if [ $? = 0 ]; then + echo 'multipathd is already running' + exit 1 + fi + echo -n "Starting multipath daemon: $DAEMON ." + $DAEMON + echo -n '.'; sleep $SLEEP; echo -n '. ' + pgrep -f $DAEMON >/dev/null + if [ $? = 0 ]; then + echo "ok" + else + echo "error!" + fi + ;; + stop) + echo -n "Stopping multipath daemon: multipathd ... " + $DAEMON shutdown || echo "daemon is not running" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: /etc/init.d/multipathd {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 + diff --git a/system/multipath-tools/rcdir.patch.gz b/system/multipath-tools/rcdir.patch.gz deleted file mode 100644 index 9547e76335..0000000000 Binary files a/system/multipath-tools/rcdir.patch.gz and /dev/null differ diff --git a/system/multipath-tools/slack-desc b/system/multipath-tools/slack-desc index 7d06cfb209..717e2c511c 100644 --- a/system/multipath-tools/slack-desc +++ b/system/multipath-tools/slack-desc @@ -10,9 +10,9 @@ multipath-tools: multipath-tools (Utilities to drive Device Mapper multipath dri multipath-tools: multipath-tools: This project is used to drive the Device Mapper multipathing driver. multipath-tools: +multipath-tools: Home: http://christophe.varoqui.free.fr/ multipath-tools: multipath-tools: -multipath-tools: Home: http://christophe.varoqui.free.fr/ multipath-tools: multipath-tools: multipath-tools: -- cgit v1.2.3