From 45db029f99ca300eacf390700444fdc43e188866 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 27 Mar 2023 07:24:26 +0000 Subject: [PATCH] sys-fs/multipath-tools: Sync with Gentoo It's from Gentoo commit fd7626e3647bc6b81d7b538e4b690845ff2fa32f. --- .../sys-fs/multipath-tools/Manifest | 1 + .../multipath-tools-0.9.4-remove-Werror.patch | 45 ++++++++ .../multipath-tools-0.9.4-test-fix.patch | 31 ++++++ .../multipath-tools-0.9.4-r1.ebuild | 101 ++++++++++++++++++ 4 files changed, 178 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-remove-Werror.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-test-fix.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.4-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest index a3d16d489d..f0b00aab1b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/Manifest @@ -1 +1,2 @@ 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-remove-Werror.patch b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-remove-Werror.patch new file mode 100644 index 0000000000..58c8ae291c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-remove-Werror.patch @@ -0,0 +1,45 @@ +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -79,7 +79,7 @@ + SYSTEMD_LIBDEPS := $(if $(SYSTEMD),$(if $(shell test $(SYSTEMD) -gt 209 && echo 1),-lsystemd,-lsystemd-daemon)) + + 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) \ +--- a/create-config.mk ++++ b/create-config.mk +@@ -64,7 +64,7 @@ + # 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 +@@ -123,7 +123,7 @@ + # 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 \ +@@ -135,11 +135,11 @@ + # but it doesn't seem to make a difference wrt the compilation result. + FORTIFY_OPT := $(shell \ + if /bin/echo -e '$(__HASH__)include \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 \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/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-test-fix.patch b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-test-fix.patch new file mode 100644 index 0000000000..c0469a20d1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/files/multipath-tools-0.9.4-test-fix.patch @@ -0,0 +1,31 @@ +https://listman.redhat.com/archives/dm-devel/2023-March/053587.html + +From 2ebbff587e80f3f153b934d3cfcccb8a4bb21568 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Thu, 23 Mar 2023 08:04:49 +0000 +Subject: [PATCH] tests: fix quoting of CFLAGS in Makefile + +Otherwise, when CFLAGS/CPPFLAGS have multiple entries (like "-O2 -pipe"), we +get an error: +``` +make[1]: Entering directory '/var/tmp/portage/sys-fs/multipath-tools-0.9.4/work/multipath-tools-0.9.4/tests' +/bin/sh: line 1: -pipe: command not found +make[1]: *** [Makefile:115: libmultipath.so.0] Error 127 +make[1]: *** Waiting for unfinished jobs.... +``` + +Signed-off-by: Sam James +--- a/tests/Makefile ++++ b/tests/Makefile +@@ -112,7 +112,7 @@ dep_clean: + # Pass the original values of CFLAGS etc. to the sub-make, which will include + # Makefile.in again. Otherwise, the flags would be added twice. + libmultipath.so.0: $(multipathdir)/libmultipath.so.0 +- @CFLAGS=$(ORIG_CFLAGS) CPPFLAGS=$(ORIG_CPPFLAGS) LDFLAGS=$(ORIG_LDFLAGS) \ ++ @CFLAGS="$(ORIG_CFLAGS)" CPPFLAGS="$(ORIG_CPPFLAGS)" LDFLAGS="$(ORIG_LDFLAGS)" \ + $(MAKE) -C $(multipathdir) configdir=$(TESTDIR)/conf.d plugindir=$(TESTDIR)/lib test-lib + + # COLON will get expanded during second expansion below +-- +2.40.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.4-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.4-r1.ebuild new file mode 100644 index 0000000000..2338eec216 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.9.4-r1.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit 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.4-test-fix.patch + "${FILESDIR}"/${PN}-0.9.4-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 + 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 +}