summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-07-12 07:39:13 +0100
committerSam James <sam@gentoo.org>2021-07-12 07:39:13 +0100
commit9a01e5f5c63a9eb7b7e64497d19dca8cce093eed (patch)
tree60bd799097bea1dc1b1cb816d62b00878ce878a0 /sys-fs/multipath-tools
parentdev-perl/Net-DBus: amd64 stable wrt bug #801613 (diff)
downloadgentoo-9a01e5f5c63a9eb7b7e64497d19dca8cce093eed.tar.gz
gentoo-9a01e5f5c63a9eb7b7e64497d19dca8cce093eed.tar.bz2
gentoo-9a01e5f5c63a9eb7b7e64497d19dca8cce093eed.zip
sys-fs/multipath-tools: assorted (mostly build system) fixes
* Explicitly set LIB to ${EPREFIX}/$(get_libdir) to avoid guessing. * No longer set SYSTEMD in emake (upstream now use pkgconfig for this) * Respect PKG_CONFIG (now respects the 'PKGCONFIG' variable upstream) * Unrestrict tests (add missing cmocka dependency first). Passing here. * Don't compress man pages Bug: https://bugs.gentoo.org/801121 Closes: https://bugs.gentoo.org/780660 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs/multipath-tools')
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch226
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild88
2 files changed, 314 insertions, 0 deletions
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch
new file mode 100644
index 000000000000..d8521436d955
--- /dev/null
+++ b/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch
@@ -0,0 +1,226 @@
+From 80cca1a75f24ee239ace5577d49ccfec511480ca Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Mon, 12 Jul 2021 06:04:04 +0100
+Subject: [PATCH] Don't compress man pages
+
+---
+ kpartx/Makefile | 5 ++---
+ libdmmp/Makefile | 13 ++++---------
+ libmpathpersist/Makefile | 14 +++++---------
+ mpathpersist/Makefile | 5 ++---
+ multipath/Makefile | 10 ++++------
+ multipathd/Makefile | 5 ++---
+ 6 files changed, 19 insertions(+), 33 deletions(-)
+
+diff --git a/kpartx/Makefile b/kpartx/Makefile
+index 2906a98..cd351a4 100644
+--- a/kpartx/Makefile
++++ b/kpartx/Makefile
+@@ -21,7 +21,6 @@ all: $(EXEC)
+
+ $(EXEC): $(OBJS)
+ $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
+- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
+
+ install: $(EXEC) $(EXEC).8
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+@@ -33,11 +32,11 @@ install: $(EXEC) $(EXEC).8
+ $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
+ $(INSTALL_PROGRAM) -m 644 del-part-nodes.rules $(DESTDIR)$(libudevdir)/rules.d/68-del-part-nodes.rules
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
+- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
+
+ uninstall:
+ $(RM) $(DESTDIR)$(bindir)/$(EXEC)
+- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
++ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
+ $(RM) $(DESTDIR)$(libudevdir)/kpartx_id
+ $(RM) $(DESTDIR)$(libudevdir)/rules.d/11-dm-parts.rules
+ $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
+diff --git a/libdmmp/Makefile b/libdmmp/Makefile
+index 764a0bc..a859786 100644
+--- a/libdmmp/Makefile
++++ b/libdmmp/Makefile
+@@ -21,13 +21,13 @@ CFLAGS += $(LIB_CFLAGS) -fvisibility=hidden -I$(libdmmpdir) -I$(mpathcmddir) \
+ LIBDEPS += $(shell $(PKGCONFIG) --libs json-c) -L$(mpathcmddir) -lmpathcmd -lpthread
+
+ all: $(LIBS) doc
+-.PHONY: doc doc.gz clean install uninstall check speed_test dep_clean
++.PHONY: doc clean install uninstall check speed_test dep_clean
+
+ $(LIBS): $(OBJS)
+ $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS)
+ $(LN) $@ $(DEVLIB)
+
+-install: doc.gz
++install: doc
+ mkdir -p $(DESTDIR)$(usrlibdir)
+ $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(usrlibdir)/$(LIBS)
+ $(INSTALL_PROGRAM) -m 644 -D \
+@@ -41,7 +41,7 @@ install: doc.gz
+ $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
+ perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \
+ $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
+- $(INSTALL_PROGRAM) -m 644 -t $(DESTDIR)$(man3dir) docs/man/*.3.gz
++ $(INSTALL_PROGRAM) -m 644 -t $(DESTDIR)$(man3dir) docs/man/*.3
+
+ uninstall:
+ $(RM) $(DESTDIR)$(usrlibdir)/$(LIBS)
+@@ -55,7 +55,7 @@ uninstall:
+
+ clean: dep_clean
+ $(RM) core *.a *.o *.gz *.so *.so.*
+- $(RM) docs/man/*.gz
++ $(RM) docs/man/*
+ $(MAKE) -C test clean
+
+ include $(wildcard $(OBJS:.o=.d))
+@@ -66,13 +66,8 @@ check: all
+ speed_test: all
+ $(MAKE) -C test speed_test
+
+-doc.gz: doc $(patsubst %,%.gz,$(wildcard docs/man/*.3))
+-
+ doc: docs/man/dmmp_strerror.3
+
+-docs/man/%.3.gz: docs/man/%.3
+- gzip -c $< >$@
+-
+ docs/man/dmmp_strerror.3: $(HEADERS)
+ TEMPFILE=$(shell mktemp); \
+ cat $^ | perl docs/doc-preclean.pl >$$TEMPFILE; \
+diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile
+index 57103e5..37c765a 100644
+--- a/libmpathpersist/Makefile
++++ b/libmpathpersist/Makefile
+@@ -12,7 +12,7 @@ LIBDEPS += -lmultipath -lmpathcmd -ldevmapper -lpthread -ldl
+
+ OBJS = mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o
+
+-all: $(DEVLIB) man
++all: $(DEVLIB)
+
+ $(LIBS): $(OBJS) $(VERSION_SCRIPT)
+ $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ \
+@@ -21,10 +21,6 @@ $(LIBS): $(OBJS) $(VERSION_SCRIPT)
+ $(DEVLIB): $(LIBS)
+ $(LN) $(LIBS) $@
+
+-man:
+- $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz
+- $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz
+-
+ install: all
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir)
+ $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
+@@ -32,14 +28,14 @@ install: all
+ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(man3dir)
+ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(includedir)
+ $(LN) $(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB)
+- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3.gz $(DESTDIR)$(man3dir)
+- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3.gz $(DESTDIR)$(man3dir)
++ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3 $(DESTDIR)$(man3dir)
++ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3 $(DESTDIR)$(man3dir)
+ $(INSTALL_PROGRAM) -m 644 mpath_persist.h $(DESTDIR)$(includedir)
+
+ uninstall:
+ $(RM) $(DESTDIR)$(syslibdir)/$(LIBS)
+- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3.gz
+- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3.gz
++ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3
++ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3
+ $(RM) $(DESTDIR)$(includedir)/mpath_persist.h
+ $(RM) $(DESTDIR)$(syslibdir)/$(DEVLIB)
+
+diff --git a/mpathpersist/Makefile b/mpathpersist/Makefile
+index 5126801..0aba3cb 100644
+--- a/mpathpersist/Makefile
++++ b/mpathpersist/Makefile
+@@ -14,13 +14,12 @@ all: $(EXEC)
+
+ $(EXEC): $(OBJS)
+ $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) $(CFLAGS) $(LIBDEPS)
+- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
+
+ install:
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
+- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
+
+ clean: dep_clean
+ $(RM) core *.o $(EXEC) *.gz
+@@ -29,7 +28,7 @@ include $(wildcard $(OBJS:.o=.d))
+
+ uninstall:
+ $(RM) $(DESTDIR)$(bindir)/$(EXEC)
+- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
++ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
+
+ dep_clean:
+ $(RM) $(OBJS:.o=.d)
+diff --git a/multipath/Makefile b/multipath/Makefile
+index 0828a8f..55b6f7b 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -16,8 +16,6 @@ all: $(EXEC)
+
+ $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
+ $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
+- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
+- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz
+
+ install:
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+@@ -26,16 +24,16 @@ install:
+ $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
+- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
+ $(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)$(bindir)/$(EXEC)
+ $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
+ $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
+- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
+- $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
++ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
++ $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5
+
+ clean: dep_clean
+ $(RM) core *.o $(EXEC) *.gz
+diff --git a/multipathd/Makefile b/multipathd/Makefile
+index d053c1e..cf3339f 100644
+--- a/multipathd/Makefile
++++ b/multipathd/Makefile
+@@ -38,7 +38,6 @@ all : $(EXEC)
+
+ $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
+ $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(EXEC) $(LIBDEPS)
+- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
+
+ cli_handlers.o: cli_handlers.c
+ $(CC) $(CFLAGS) -Wno-unused-parameter -c -o $@ $<
+@@ -52,11 +51,11 @@ ifdef SYSTEMD
+ $(INSTALL_PROGRAM) -m 644 $(EXEC).socket $(DESTDIR)$(unitdir)
+ endif
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
+- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
++ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
+
+ uninstall:
+ $(RM) $(DESTDIR)$(bindir)/$(EXEC)
+- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
++ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
+ $(RM) $(DESTDIR)$(unitdir)/$(EXEC).service
+ $(RM) $(DESTDIR)$(unitdir)/$(EXEC).socket
+
+--
+2.32.0
+
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild
new file mode 100644
index 000000000000..8dff4dda6bf3
--- /dev/null
+++ b/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit linux-info systemd toolchain-funcs udev
+
+DESCRIPTION="Device mapper target autoconfig"
+HOMEPAGE="http://christophe.varoqui.free.fr/"
+SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="systemd rbd test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/json-c:=
+ dev-libs/libaio
+ dev-libs/userspace-rcu:=
+ >=sys-fs/lvm2-2.02.45
+ >=virtual/libudev-232-r3
+ sys-libs/readline:0=
+ rbd? ( sys-cluster/ceph )
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cmocka )"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~DM_MULTIPATH"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.5-respect-flags.patch
+ "${FILESDIR}"/${PN}-0.8.6-no-compress-man-pages.patch
+)
+
+src_prepare() {
+ default
+
+ # The upstream lacks any way to configure the build at present
+ # and ceph is a huge dependency, so we're using sed to make it
+ # optional until the upstream has a proper configure system
+ if ! use rbd ; then
+ sed \
+ -e "s/libcheckrbd.so/# libcheckrbd.so/" \
+ -e "s/-lrados//" \
+ -i libmultipath/checkers/Makefile \
+ || die
+ fi
+}
+
+src_compile() {
+ # LIBDM_API_FLUSH involves grepping files in /usr/include,
+ # so force the test to go the way we want #411337.
+ emake \
+ CC="$(tc-getCC)" \
+ LIB="${EPREFIX}/$(get_libdir)" \
+ LIBDM_API_FLUSH=1 \
+ PKGCONFIG="$(tc-getPKG_CONFIG)"
+}
+
+src_install() {
+ dodir /sbin /usr/share/man/man{3,5,8}
+ emake \
+ DESTDIR="${D}" \
+ LIB="${EPREFIX}/$(get_libdir)" \
+ RUN=run \
+ unitdir="$(systemd_get_systemunitdir)" \
+ libudevdir='${prefix}'/"$(get_udevdir)" \
+ pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \
+ install
+
+ newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
+ newinitd "${FILESDIR}"/multipath.rc multipath
+
+ einstalldocs
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "If you need multipath on your system, you must"
+ elog "add 'multipath' into your boot runlevel!"
+ fi
+}