Merge pull request #381 from flatcar/dongsu/multipath-tools-0.9.3

sys-fs/multipath-tools: update to 0.9.3
This commit is contained in:
Dongsu Park 2022-11-02 12:58:16 +01:00 committed by GitHub
commit fd0fd8c472
11 changed files with 142 additions and 370 deletions

View File

@ -155,6 +155,8 @@ sys-devel/patch
sys-firmware/intel-microcode
sys-fs/multipath-tools
sys-libs/binutils-libs
sys-libs/libcap
sys-libs/zlib

View File

@ -0,0 +1 @@
- multipath-tools ([CVE-2022-41973](https://nvd.nist.gov/vuln/detail/CVE-2022-41973), [CVE-2022-41974](https://nvd.nist.gov/vuln/detail/CVE-2022-41974))

View File

@ -0,0 +1 @@
- multipath-tools ([0.9.3](https://github.com/opensvc/multipath-tools/releases/tag/0.9.3)

View File

@ -1,4 +1,3 @@
DIST multipath-tools-0.8.6.tar.gz 519405 BLAKE2B 5aed36550c76bbde0e874e37356b6c5a80a80b876b56dadb69ce09f0fb049a7097fd1c0aca5076f816848e2c2660f96680d7f16d56918a25299017b39f76f777 SHA512 82e5b7307e599ba6b059679c3987a442fb5be4885f0a27c260a99a07cb336b88d48e314b4ec951944e0200e4731522d8da043d98fa566857ecc6d100791c0e38
DIST multipath-tools-0.8.7.tar.gz 523535 BLAKE2B 3f59af86f5b9f9ea524bf0c36e4a4bc3e01f557f2e18486b5278fe10e3bcf10dbc7568768c0e95529885bcdca6bcf04021ad5261bd1e6a3aeae5eb95b9d54801 SHA512 c01aea837b13429d17688455b813947342ca1cabba19b22e13ce640c77e68335a6d410280a8298595e239131e6fcbb655fa6de5ff9857eac99aa175046a450cd
DIST multipath-tools-0.8.8-no-compress-man-pages.patch.bz2 2493 BLAKE2B 08d77d6524861a590e07e3e9eedb1039c9b15b589becd912f17f37f728a751c7566699540c025aa1f8a0b2e04db551b0093d066f6e340a15309794fdde197483 SHA512 662f32ba5437be2a3cfffc5a466dccb7923668eeef5f23112b31d6c1b43eca2917579729e975cfbe4cd60ecfaf547f534d304626ac19d165bb2f1a3ae4bb1cc6
DIST multipath-tools-0.8.8.tar.gz 527412 BLAKE2B 15e24a04ff1c41c8562033ca22214c015ab4c4a9e9833323830b665793c1964b6fcb7b710761bf501f0e99d461d6e6c7dfe80851a0ded4d99693a1561490598f SHA512 f09932da93b6ab06f0f911b09c605ea931fb8cb8b5530ef9999d21a41056fb48e944fc245dfe20096b2746ce1c9ebb5b548e1182079a3b52659d33263a441969
DIST multipath-tools-0.8.9.tar.gz 534866 BLAKE2B b5ebf3c393f6b60e85678ac07378ae07056b6777409fc1bc4f4133cdd3f8c75a3d76f6e9342208df7fed8fe7812b089eba8f6b769e47e1dd6c8b7fd321bdbd30 SHA512 25f2a5d436af6a343804988cef45ca1574d4a981655a2b91563ddb89138619158befdf5af92d836a17c95d6dcf901072b614473c2129274e5dcdb1a1d64edb4d
DIST multipath-tools-0.9.0.tar.gz 537311 BLAKE2B e7d4958d24d1e19da2b80be23585ad37f6b0c1b66dc1377014d825ddd2be10ea3b8c30162cb7a23b120427bf0c957c6cad8560018e1cb058c284f37afd5d50d4 SHA512 6c417f6d1d116fa43bedb9f77769ece9cbb7b35b78a9b3558c41df2360e52a65a07314b12ab7e4a7bbc867b9755250de9db96a2f7eb4a6a37f0b0b3f0bbc840e
DIST multipath-tools-0.9.3.tar.gz 552442 BLAKE2B e2065119cdd68bd8c2b4420bd0de9ce370601597972dba32c076bfc4df6d0a1a65356454a2f96f95f27cf681387685edcbac2eb41258d4a7049a1ef62cdf0949 SHA512 4faa2ee5a96a9d5d752219931ebc885cb70ed6b022d45ede985ad7919c043a3aee166e6f126d32dffd187c5c32d5cbce91747d87d0b55557e2f7f68b279583da

View File

@ -1,12 +0,0 @@
--- multipath-tools-0.8.5-eecfcba/Makefile.inc
+++ multipath-tools-0.8.5-eecfcba/Makefile.inc
@@ -98,7 +98,8 @@
-Werror=implicit-function-declaration -Werror=format-security \
$(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
-CFLAGS := --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe \
+CFLAGS ?= $(OPTFLAGS) $(WARNFLAGS) -pipe
+CFLAGS += --std=gnu99 \
-DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
-MMD -MP
BIN_CFLAGS = -fPIE -DPIE

View File

@ -1,226 +0,0 @@
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

View File

@ -0,0 +1,15 @@
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -140,10 +140,9 @@
WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
-Werror=implicit-function-declaration -Werror=format-security \
$(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
-CPPFLAGS := $(FORTIFY_OPT) \
- -DBIN_DIR=\"$(bindir)\" -DMULTIPATH_DIR=\"$(plugindir)\" -DRUN_DIR=\"${RUN}\" \
+CPPFLAGS += -DBIN_DIR=\"$(bindir)\" -DMULTIPATH_DIR=\"$(plugindir)\" -DRUN_DIR=\"${RUN}\" \
-DCONFIG_DIR=\"$(configdir)\" -DEXTRAVERSION=\"$(EXTRAVERSION)\" -MMD -MP
-CFLAGS := --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe
+CFLAGS += -std=gnu99 $(WARNFLAGS)
BIN_CFLAGS = -fPIE -DPIE
LIB_CFLAGS = -fPIC
SHARED_FLAGS = -shared

View File

@ -1,90 +0,0 @@
# Copyright 1999-2022 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"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.8.8-no-compress-man-pages.patch.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~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.7-respect-flags.patch
"${WORKDIR}"/${PN}-0.8.8-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() {
tc-export CC
# LIBDM_API_FLUSH involves grepping files in /usr/include,
# so force the test to go the way we want #411337.
emake \
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
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@ -11,7 +11,7 @@ SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 x86"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv x86"
IUSE="systemd rbd test"
RESTRICT="!test? ( test )"
@ -33,7 +33,6 @@ CONFIG_CHECK="~DM_MULTIPATH"
PATCHES=(
"${FILESDIR}"/${PN}-0.8.7-respect-flags.patch
"${FILESDIR}"/${PN}-0.8.6-no-compress-man-pages.patch
)
src_prepare() {

View File

@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
EAPI=8
inherit linux-info systemd toolchain-funcs udev
@ -11,8 +11,8 @@ SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 x86"
IUSE="systemd rbd test"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="systemd test"
RESTRICT="!test? ( test )"
RDEPEND="
@ -21,42 +21,24 @@ RDEPEND="
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 )
"
sys-libs/readline:=
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
}
PATCHES=( "${FILESDIR}"/${PN}-0.9.0-respect-flags.patch )
src_compile() {
tc-export CC
# 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)" \
prefix="${EPREFIX}" \
LIB="$(get_libdir)" \
LIBDM_API_FLUSH=1 \
PKGCONFIG="$(tc-getPKG_CONFIG)"
}
@ -65,24 +47,30 @@ src_install() {
dodir /sbin /usr/share/man/man{3,5,8}
emake \
DESTDIR="${D}" \
LIB="${EPREFIX}/$(get_libdir)" \
prefix="${EPREFIX}" \
LIB="$(get_libdir)" \
RUN=run \
unitdir="$(systemd_get_systemunitdir)" \
libudevdir='${prefix}'/"$(get_udevdir)" \
pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \
libudevdir='$(prefix)'/$(get_udevdir) \
pkgconfdir='$(prefix)/usr/$(LIB)/pkgconfig' \
install
einstalldocs
newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
newinitd "${FILESDIR}"/multipath.rc multipath
einstalldocs
find "${ED}" -type f -name "*.la" -delete || die
find "${ED}" -type f -name '*.la' -delete || die
}
pkg_postinst() {
udev_reload
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "If you need multipath on your system, you must"
elog "add 'multipath' into your boot runlevel!"
fi
}
pkg_postrm() {
udev_reload
}

View File

@ -0,0 +1,95 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit linux-info systemd toolchain-funcs udev tmpfiles
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 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="systemd 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:=
systemd? ( sys-apps/systemd )"
DEPEND="${RDEPEND}
test? ( dev-util/cmocka )"
BDEPEND="virtual/pkgconfig"
CONFIG_CHECK="~DM_MULTIPATH"
src_prepare() {
default
sed -r -i -e '/^(CPPFLAGS|CFLAGS)\>/s,^(CPPFLAGS|CFLAGS)\>[[:space:]]+:=,\1 := $(GENTOO_\1),' \
"${S}"/Makefile.inc || die
}
src_compile() {
tc-export CC
# LIBDM_API_FLUSH involves grepping files in /usr/include,
# so force the test to go the way we want #411337.
emake \
prefix="${EPREFIX}/usr" \
LIB="$(get_libdir)" \
LIBDM_API_FLUSH=1 \
PKGCONFIG="$(tc-getPKG_CONFIG)" \
GENTOO_CFLAGS="${CFLAGS}" \
GENTOO_CPPFLAGS="${CPPFLAGS}" \
FAKEVAR=1
}
src_install() {
dodir /sbin
# Please clean this up > 0.9.3: https://github.com/opensvc/multipath-tools/pull/53
# $(prefix) doesn't work correctly in makefile in 0.9.3.
emake \
DESTDIR="${ED}" \
prefix="${EPREFIX}" \
LIB="$(get_libdir)" \
RUN=run \
unitdir="$(systemd_get_systemunitdir)" \
libudevdir="${EPREFIX}/$(get_udevdir)" \
pkgconfdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" \
GENTOO_CFLAGS="${CFLAGS}" \
GENTOO_CPPFLAGS="${CPPFLAGS}" \
install
rmdir "${ED}"/usr/include
rmdir "${ED}"/usr/share
mv "${ED}"/include "${ED}"/usr/include || die
mv "${ED}"/share "${ED}"/usr/share || die
einstalldocs
newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
newinitd "${FILESDIR}"/multipath.rc multipath
find "${ED}" -type f -name '*.la' -delete || die
}
pkg_postinst() {
tmpfiles_process /usr/lib/tmpfiles.d/multipath.conf
udev_reload
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "If you need multipath on your system, you must"
elog "add 'multipath' into your boot runlevel!"
fi
}
pkg_postrm() {
udev_reload
}