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-firmware/intel-microcode
sys-fs/multipath-tools
sys-libs/binutils-libs sys-libs/binutils-libs
sys-libs/libcap sys-libs/libcap
sys-libs/zlib 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.9.tar.gz 534866 BLAKE2B b5ebf3c393f6b60e85678ac07378ae07056b6777409fc1bc4f4133cdd3f8c75a3d76f6e9342208df7fed8fe7812b089eba8f6b769e47e1dd6c8b7fd321bdbd30 SHA512 25f2a5d436af6a343804988cef45ca1574d4a981655a2b91563ddb89138619158befdf5af92d836a17c95d6dcf901072b614473c2129274e5dcdb1a1d64edb4d
DIST multipath-tools-0.8.7.tar.gz 523535 BLAKE2B 3f59af86f5b9f9ea524bf0c36e4a4bc3e01f557f2e18486b5278fe10e3bcf10dbc7568768c0e95529885bcdca6bcf04021ad5261bd1e6a3aeae5eb95b9d54801 SHA512 c01aea837b13429d17688455b813947342ca1cabba19b22e13ce640c77e68335a6d410280a8298595e239131e6fcbb655fa6de5ff9857eac99aa175046a450cd DIST multipath-tools-0.9.0.tar.gz 537311 BLAKE2B e7d4958d24d1e19da2b80be23585ad37f6b0c1b66dc1377014d825ddd2be10ea3b8c30162cb7a23b120427bf0c957c6cad8560018e1cb058c284f37afd5d50d4 SHA512 6c417f6d1d116fa43bedb9f77769ece9cbb7b35b78a9b3558c41df2360e52a65a07314b12ab7e4a7bbc867b9755250de9db96a2f7eb4a6a37f0b0b3f0bbc840e
DIST multipath-tools-0.8.8-no-compress-man-pages.patch.bz2 2493 BLAKE2B 08d77d6524861a590e07e3e9eedb1039c9b15b589becd912f17f37f728a751c7566699540c025aa1f8a0b2e04db551b0093d066f6e340a15309794fdde197483 SHA512 662f32ba5437be2a3cfffc5a466dccb7923668eeef5f23112b31d6c1b43eca2917579729e975cfbe4cd60ecfaf547f534d304626ac19d165bb2f1a3ae4bb1cc6 DIST multipath-tools-0.9.3.tar.gz 552442 BLAKE2B e2065119cdd68bd8c2b4420bd0de9ce370601597972dba32c076bfc4df6d0a1a65356454a2f96f95f27cf681387685edcbac2eb41258d4a7049a1ef62cdf0949 SHA512 4faa2ee5a96a9d5d752219931ebc885cb70ed6b022d45ede985ad7919c043a3aee166e6f126d32dffd187c5c32d5cbce91747d87d0b55557e2f7f68b279583da
DIST multipath-tools-0.8.8.tar.gz 527412 BLAKE2B 15e24a04ff1c41c8562033ca22214c015ab4c4a9e9833323830b665793c1964b6fcb7b710761bf501f0e99d461d6e6c7dfe80851a0ded4d99693a1561490598f SHA512 f09932da93b6ab06f0f911b09c605ea931fb8cb8b5530ef9999d21a41056fb48e944fc245dfe20096b2746ce1c9ebb5b548e1182079a3b52659d33263a441969

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 # Distributed under the terms of the GNU General Public License v2
EAPI="7" EAPI="7"
@ -11,7 +11,7 @@ SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" 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" IUSE="systemd rbd test"
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
@ -33,7 +33,6 @@ CONFIG_CHECK="~DM_MULTIPATH"
PATCHES=( PATCHES=(
"${FILESDIR}"/${PN}-0.8.7-respect-flags.patch "${FILESDIR}"/${PN}-0.8.7-respect-flags.patch
"${FILESDIR}"/${PN}-0.8.6-no-compress-man-pages.patch
) )
src_prepare() { 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 # Distributed under the terms of the GNU General Public License v2
EAPI="7" EAPI=8
inherit linux-info systemd toolchain-funcs udev 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" LICENSE="GPL-2"
SLOT="0" 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" IUSE="systemd test"
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
RDEPEND=" RDEPEND="
@ -21,42 +21,24 @@ RDEPEND="
dev-libs/userspace-rcu:= dev-libs/userspace-rcu:=
>=sys-fs/lvm2-2.02.45 >=sys-fs/lvm2-2.02.45
>=virtual/libudev-232-r3 >=virtual/libudev-232-r3
sys-libs/readline:0= sys-libs/readline:=
rbd? ( sys-cluster/ceph ) systemd? ( sys-apps/systemd )"
systemd? ( sys-apps/systemd )
"
DEPEND="${RDEPEND} DEPEND="${RDEPEND}
test? ( dev-util/cmocka )" test? ( dev-util/cmocka )"
BDEPEND="virtual/pkgconfig" BDEPEND="virtual/pkgconfig"
CONFIG_CHECK="~DM_MULTIPATH" CONFIG_CHECK="~DM_MULTIPATH"
PATCHES=( PATCHES=( "${FILESDIR}"/${PN}-0.9.0-respect-flags.patch )
"${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() { src_compile() {
tc-export CC
# LIBDM_API_FLUSH involves grepping files in /usr/include, # LIBDM_API_FLUSH involves grepping files in /usr/include,
# so force the test to go the way we want #411337. # so force the test to go the way we want #411337.
emake \ emake \
CC="$(tc-getCC)" \ prefix="${EPREFIX}" \
LIB="${EPREFIX}/$(get_libdir)" \ LIB="$(get_libdir)" \
LIBDM_API_FLUSH=1 \ LIBDM_API_FLUSH=1 \
PKGCONFIG="$(tc-getPKG_CONFIG)" PKGCONFIG="$(tc-getPKG_CONFIG)"
} }
@ -65,24 +47,30 @@ src_install() {
dodir /sbin /usr/share/man/man{3,5,8} dodir /sbin /usr/share/man/man{3,5,8}
emake \ emake \
DESTDIR="${D}" \ DESTDIR="${D}" \
LIB="${EPREFIX}/$(get_libdir)" \ prefix="${EPREFIX}" \
LIB="$(get_libdir)" \
RUN=run \ RUN=run \
unitdir="$(systemd_get_systemunitdir)" \ unitdir="$(systemd_get_systemunitdir)" \
libudevdir='${prefix}'/"$(get_udevdir)" \ libudevdir='$(prefix)'/$(get_udevdir) \
pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \ pkgconfdir='$(prefix)/usr/$(LIB)/pkgconfig' \
install install
einstalldocs
newinitd "${FILESDIR}"/multipathd-r1.rc multipathd newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
newinitd "${FILESDIR}"/multipath.rc multipath newinitd "${FILESDIR}"/multipath.rc multipath
einstalldocs find "${ED}" -type f -name '*.la' -delete || die
find "${ED}" -type f -name "*.la" -delete || die
} }
pkg_postinst() { pkg_postinst() {
udev_reload
if [[ -z ${REPLACING_VERSIONS} ]] ; then if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "If you need multipath on your system, you must" elog "If you need multipath on your system, you must"
elog "add 'multipath' into your boot runlevel!" elog "add 'multipath' into your boot runlevel!"
fi 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
}