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)