multipath-tools: enable libdmmp installation in alternative directory
authorMartin Wilck <mwilck@suse.com>
Mon, 15 May 2017 20:33:25 +0000 (22:33 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 21 Jun 2017 10:31:27 +0000 (12:31 +0200)
Introduce a new Makefile variable, usr_prefix, to be used for
libdmmp and the associated pkgconfig file.

Some distributions install those libraries which are  necessary
for booting (and mounting /usr) in a different location (/lib or
/lib64) than other libraries (/usr/lib or /usr/lib64). On such
distributions, installation to the different paths can be achieved
by setting "usr_prefix=/usr". This will affect only libdmmp at this
time, as all other libaries in the multipath-tools package may be
relevant for booting.

For distributions on which /lib and /lib64 are just symlinks to their
/usr counterparts, nothing changes.

Comments are welcome.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Makefile.inc
libdmmp/Makefile

index ec41dbf..29c290a 100644 (file)
@@ -47,6 +47,7 @@ endif
 
 prefix         =
 exec_prefix    = $(prefix)
+usr_prefix     = $(prefix)
 bindir         = $(exec_prefix)/sbin
 libudevdir     = $(prefix)/$(SYSTEMDPATH)/udev
 udevrulesdir   = $(libudevdir)/rules.d
@@ -55,6 +56,7 @@ man8dir               = $(prefix)/usr/share/man/man8
 man5dir                = $(prefix)/usr/share/man/man5
 man3dir                = $(prefix)/usr/share/man/man3
 syslibdir      = $(prefix)/$(LIB)
+usrlibdir      = $(usr_prefix)/$(LIB)
 libdir         = $(prefix)/$(LIB)/multipath
 unitdir                = $(prefix)/$(SYSTEMDPATH)/systemd/system
 mpathpersistdir        = $(TOPDIR)/libmpathpersist
@@ -62,7 +64,7 @@ mpathcmddir   = $(TOPDIR)/libmpathcmd
 thirdpartydir  = $(TOPDIR)/third-party
 libdmmpdir     = $(TOPDIR)/libdmmp
 includedir     = $(prefix)/usr/include
-pkgconfdir     = $(prefix)/$(LIB)/pkgconfig
+pkgconfdir     = $(usrlibdir)/pkgconfig
 
 GZIP           = gzip -9 -c
 RM             = rm -f
index a260871..bffc573 100644 (file)
@@ -27,15 +27,16 @@ $(LIBS): $(OBJS)
        $(LN) $@ $(DEVLIB)
 
 install:
-       $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
+       mkdir -p $(DESTDIR)$(usrlibdir)
+       $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(usrlibdir)/$(LIBS)
        $(INSTALL_PROGRAM) -m 644 -D \
                $(HEADERS) $(DESTDIR)$(includedir)/$(HEADERS)
-       $(LN) $(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB)
+       $(LN) $(LIBS) $(DESTDIR)$(usrlibdir)/$(DEVLIB)
        $(INSTALL_PROGRAM) -m 644 -D \
                $(PKGFILE).in $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
        perl -i -pe 's|__VERSION__|$(LIBDMMP_VERSION)|g' \
                $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
-       perl -i -pe 's|__LIBDIR__|$(syslibdir)|g' \
+       perl -i -pe 's|__LIBDIR__|$(usrlibdir)|g' \
                $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
        perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \
                $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
@@ -46,9 +47,9 @@ install:
        done
 
 uninstall:
-       $(RM) $(DESTDIR)$(syslibdir)/$(LIBS)
+       $(RM) $(DESTDIR)$(usrlibdir)/$(LIBS)
        $(RM) $(DESTDIR)$(includedir)/$(HEADERS)
-       $(RM) $(DESTDIR)$(syslibdir)/$(DEVLIB)
+       $(RM) $(DESTDIR)$(usrlibdir)/$(DEVLIB)
        @for file in $(DESTDIR)$(man3dir)/dmmp_*; do \
                $(RM) $$file; \
        done