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)
