summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-11-30 03:33:43 +0000
committerSam James <sam@gentoo.org>2023-11-30 03:33:43 +0000
commit5e721d53305d991c725ba026c81e752fd22039e4 (patch)
treeeb9254c0b262e1666526257208fb0dbea86737f5 /sys-fs/multipath-tools
parentsys-apps/lsb-release: add 3.3 (diff)
downloadgentoo-5e721d53305d991c725ba026c81e752fd22039e4.tar.gz
gentoo-5e721d53305d991c725ba026c81e752fd22039e4.tar.bz2
gentoo-5e721d53305d991c725ba026c81e752fd22039e4.zip
sys-fs/multipath-tools: add 0.9.7
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs/multipath-tools')
-rw-r--r--sys-fs/multipath-tools/Manifest1
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch49
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild102
3 files changed, 152 insertions, 0 deletions
diff --git a/sys-fs/multipath-tools/Manifest b/sys-fs/multipath-tools/Manifest
index a763dadedd39..1d6e24d94da3 100644
--- a/sys-fs/multipath-tools/Manifest
+++ b/sys-fs/multipath-tools/Manifest
@@ -1,3 +1,4 @@
DIST multipath-tools-0.9.3.tar.gz 552442 BLAKE2B e2065119cdd68bd8c2b4420bd0de9ce370601597972dba32c076bfc4df6d0a1a65356454a2f96f95f27cf681387685edcbac2eb41258d4a7049a1ef62cdf0949 SHA512 4faa2ee5a96a9d5d752219931ebc885cb70ed6b022d45ede985ad7919c043a3aee166e6f126d32dffd187c5c32d5cbce91747d87d0b55557e2f7f68b279583da
DIST multipath-tools-0.9.4.tar.gz 554381 BLAKE2B 297f002e23312415467d8c4935da3b7f449318cd68120c719f40f0f45a9ebebc27f1297b918068b63471b65f72c08ce3cc6cad9b7bafcb646bb163c6486194ea SHA512 5e0dcea610fc215e345444c04453a38f39c73e493c2bc53f6b3a90cd701266aabdf7c4693dfc321099af836d0019bf27355e265ad5db5deff48f8bb94ed4719d
DIST multipath-tools-0.9.5.tar.gz 557469 BLAKE2B 1a9b9b01c28c8a4e9d4ae9bc55896cb764308f5118ac2f8c983163c0b2e49c0c4a84536c7edd7464a1bcb8ca6aef92452d5c25d4a1d9d490e0e3077b10462171 SHA512 39c2e5d45542c6076eb3b17b9994629b4c1f74347aa43e0119001fa2d07d3a606fd5e617962906a11b313afb37a115bd8eec2ef24447e980e61b5900625f9146
+DIST multipath-tools-0.9.7.tar.gz 570416 BLAKE2B ed3f47d648685f691a69d83ad36f39b279f3a5b1cf1cb15151841ea26d629df3a33ab9a186bbf6922264805cc3bc37d09f22e611215f1972e33b26e08ff71bc2 SHA512 0f4c97179a3de5a0c77893fec229eb183293fed8e5e01a9945b261845ccf5d13f8ef2c2ff0c17c9345217d236275caed4765422ec95aed80821f11658bf96e26
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch b/sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch
new file mode 100644
index 000000000000..449746e1f661
--- /dev/null
+++ b/sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch
@@ -0,0 +1,49 @@
+diff --git a/Makefile.inc b/Makefile.inc
+index 6b45430..c47f82f 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -96,7 +96,7 @@ MODPROBE_UNIT := $(shell test "0$(SYSTEMD)" -lt 245 2>/dev/null || \
+ echo "modprobe@dm_multipath.service")
+
+ OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
+-WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
++WARNFLAGS := -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
+ -Werror=implicit-function-declaration -Werror=format-security \
+ $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) $(W_URCU_TYPE_LIMITS)
+ CPPFLAGS := $(FORTIFY_OPT) $(CPPFLAGS) $(D_URCU_VERSION) \
+diff --git a/create-config.mk b/create-config.mk
+index 4d318b9..1d4ff2d 100644
+--- a/create-config.mk
++++ b/create-config.mk
+@@ -64,7 +64,7 @@ check_var = $(shell \
+ # gcc 4.8 compiles blacklist.c only with -Wno-missing-field-initializers
+ TEST_MISSING_INITIALIZERS = $(shell \
+ echo 'struct A {int a, b;}; struct B {struct A a; int b;} b = {.a.a=1};' | \
+- $(CC) -c -Werror -Wmissing-field-initializers -o /dev/null -xc - >/dev/null 2>&1 \
++ $(CC) -c -Wmissing-field-initializers -o /dev/null -xc - >/dev/null 2>&1 \
+ || echo -Wno-missing-field-initializers)
+
+ # gcc 4.8.4 and certain versions of liburcu fail to compile this with -Werror=type-limits
+@@ -136,7 +136,7 @@ SYSTEMD := $(strip $(or $(shell $(PKG_CONFIG) --modversion libsystemd 2>/dev/nul
+ # Evaluates to "option" if yes, and "fallback" otherwise.
+ TEST_CC_OPTION = $(shell \
+ if echo 'int main(void){return 0;}' | \
+- $(CC) -o /dev/null -c -Werror "$(1)" -xc - >/dev/null 2>&1; \
++ $(CC) -o /dev/null -c "$(1)" -xc - >/dev/null 2>&1; \
+ then \
+ echo "$(1)"; \
+ else \
+@@ -148,11 +148,11 @@ TEST_CC_OPTION = $(shell \
+ # but it doesn't seem to make a difference wrt the compilation result.
+ FORTIFY_OPT := $(shell \
+ if /bin/echo -e '$(__HASH__)include <string.h>\nint main(void) { return 0; }' | \
+- $(CC) -o /dev/null $(OPTFLAGS) -c -Werror -D_FORTIFY_SOURCE=3 -xc - 2>/dev/null; \
++ $(CC) -o /dev/null $(OPTFLAGS) -c -D_FORTIFY_SOURCE=3 -xc - 2>/dev/null; \
+ then \
+ echo "-D_FORTIFY_SOURCE=3"; \
+ elif /bin/echo -e '$(__HASH__)include <string.h>\nint main(void) { return 0; }' | \
+- $(CC) -o /dev/null $(OPTFLAGS) -c -Werror -D_FORTIFY_SOURCE=2 -xc - 2>/dev/null; \
++ $(CC) -o /dev/null $(OPTFLAGS) -c -D_FORTIFY_SOURCE=2 -xc - 2>/dev/null; \
+ then \
+ echo "-D_FORTIFY_SOURCE=2"; \
+ fi)
diff --git a/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild b/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild
new file mode 100644
index 000000000000..c0f5549b9f60
--- /dev/null
+++ b/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info systemd tmpfiles 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 ~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
+ sys-libs/readline:=
+ >=virtual/libudev-232-r3
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~DM_MULTIPATH"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.7-remove-Werror.patch
+)
+
+myemake() {
+ local myemakeargs=(
+ prefix="${EPREFIX}"
+ usr_prefix="${EPREFIX}/usr"
+ LIB="$(get_libdir)"
+ RUN=run
+ plugindir="${EPREFIX}/$(get_libdir)/multipath"
+ unitdir="$(systemd_get_systemunitdir)"
+ libudevdir="${EPREFIX}$(get_udevdir)"
+ GENTOO_CFLAGS="${CFLAGS}"
+ GENTOO_CPPFLAGS="${CPPFLAGS}"
+ FORTIFY_OPT=
+ OPTFLAGS=
+ FAKEVAR=1
+ V=1
+ )
+
+ emake "${myemakeargs[@]}" "$@"
+}
+
+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
+ # Breaks with always_inline
+ filter-flags -fno-semantic-interposition
+ myemake
+}
+
+src_test() {
+ myemake test
+}
+
+src_install() {
+ dodir /sbin
+
+ myemake DESTDIR="${ED}" install
+
+ 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
+}