diff --git a/extra-repos/systemd/multipath-tools/0001-Disable-O2.patch b/extra-repos/systemd/multipath-tools/0001-Disable-O2.patch new file mode 100644 index 000000000..258ef6eda --- /dev/null +++ b/extra-repos/systemd/multipath-tools/0001-Disable-O2.patch @@ -0,0 +1,25 @@ +From 91e9ec2982ec57cf847d9aab6aeeec903797588f Mon Sep 17 00:00:00 2001 +From: Leonardo Arena +Date: Thu, 29 Aug 2024 08:25:09 +0000 +Subject: [PATCH] disable O2 + +--- + Makefile.inc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.inc b/Makefile.inc +index 729618b..978de09 100644 +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -99,7 +99,7 @@ SYSTEMD_LIBDEPS := $(if $(SYSTEMD),$(if $(shell test $(SYSTEMD) -gt 209 && echo + 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 ++OPTFLAGS := -Os -g $(STACKPROT) --param=ssp-buffer-size=4 + + # Set WARN_ONLY=1 to avoid compilation erroring out due to warnings. Useful during development. + WARN_ONLY := +-- +2.46.0 + diff --git a/extra-repos/systemd/multipath-tools/0001-Disable-Werror-and-O2.patch b/extra-repos/systemd/multipath-tools/0001-Disable-Werror-and-O2.patch deleted file mode 100644 index 15399219e..000000000 --- a/extra-repos/systemd/multipath-tools/0001-Disable-Werror-and-O2.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1494b5a3d96d8e8273c8c4e12cb08b2a86162842 Mon Sep 17 00:00:00 2001 -From: Leonardo Arena -Date: Mon, 13 Sep 2021 07:18:04 +0000 -Subject: [PATCH] Disable 'O2' and 'Werror' CFLAGS - ---- a/Makefile.inc -+++ b/Makefile.inc -@@ -97,8 +97,8 @@ ERROR_DISCARDED_QUALIFIERS := $(call TEST_CC_OPTION,-Werror=discarded-qualifiers - WNOCLOBBERED := $(call TEST_CC_OPTION,-Wno-clobbered -Wno-error=clobbered,) - WFORMATOVERFLOW := $(call TEST_CC_OPTION,-Wformat-overflow=2,) - --OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4 --WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \ -+OPTFLAGS := -Os -g $(STACKPROT) --param=ssp-buffer-size=4 -+WARNFLAGS := -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \ - -Werror=implicit-function-declaration -Werror=format-security \ - $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) - CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2 ---- a/libmultipath/configure.c -+++ b/libmultipath/configure.c -@@ -10,6 +10,7 @@ - #include - #include - #include -+char *basename(); - #include - #include - #include --- -2.32.0 - diff --git a/extra-repos/systemd/multipath-tools/APKBUILD b/extra-repos/systemd/multipath-tools/APKBUILD index fb6d7476b..ec40a561c 100644 --- a/extra-repos/systemd/multipath-tools/APKBUILD +++ b/extra-repos/systemd/multipath-tools/APKBUILD @@ -1,8 +1,8 @@ # Forked from Alpine to remove eudev dependency pkgname=multipath-tools -pkgver=99990.9.7 -_pkgver=0.9.7 +pkgver=99990.10.0 +_pkgver=0.10.0 pkgrel=0 pkgdesc="Device Mapper Multipathing Driver" url="http://christophe.varoqui.free.fr/" @@ -25,13 +25,15 @@ source="$pkgname-$_pkgver.tar.gz::https://github.com/opensvc/multipath-tools/arc multipath-tools.conf multipath.initd multipathd.initd - 0001-Disable-Werror-and-O2.patch + multipathd.confd + 0001-Disable-O2.patch + fix-basename.patch " options="!check" builddir="$srcdir"/multipath-tools-"$_pkgver" build() { - make prefix="/usr" \ + make WARN_ONLY=1 prefix="/usr" \ sysconfdir="/etc" \ configdir="/etc/multipath/conf.d" \ mandir="/usr/share/man" \ @@ -45,6 +47,8 @@ package() { "$pkgdir"/etc/multipath.conf install -D -m755 "$srcdir"/multipathd.initd \ "$pkgdir"/etc/init.d/multipathd + install -D -m644 "$srcdir"/multipathd.confd \ + "$pkgdir"/etc/conf.d/multipathd install -D -m755 "$srcdir"/multipath.initd \ "$pkgdir"/etc/init.d/multipath install -D -m644 README.md \ @@ -52,9 +56,11 @@ package() { } sha512sums=" -0f4c97179a3de5a0c77893fec229eb183293fed8e5e01a9945b261845ccf5d13f8ef2c2ff0c17c9345217d236275caed4765422ec95aed80821f11658bf96e26 multipath-tools-0.9.7.tar.gz +8f545609fa20df7547428f2929571dc0df87c17d9f61f11aad3559446c2e94755e18b1c4b3780b3de92ec2cbc450939ca15a9d6c95551eee4084064d83874b2d multipath-tools-0.10.0.tar.gz e81462b22c0cbc92ea935d7544b9f9a0c4ccbcf13f3bc03dadf6de96407c9cf49964c9bbf02f12a134e1255c66421c6fde39d54b15eef975e8df81bdc88b2213 multipath-tools.conf -97deeee57daee787d807da0a4dbf50baae047ddcda30925f7000ec822b5a17a3dc55196c3e032c8ffbc2caeac690ce5ca485b0a7c99f15e66bddaa000439112a multipath.initd -71933b27a9ed76d00766ee29e0583ccf08bd689805cf77e284bc318bae62ad7bcde1894b2e50993019462b0c9787eaa780b271244ff11ef52cca290604900343 multipathd.initd -7235f38f7e86d0b035bf8904397bebfa2439bfc2d52986cfa60b39432eaadd6283fdfb7d73169d80a44ec5119cde37e25892e45c76e89cd145915207aa4c908f 0001-Disable-Werror-and-O2.patch +6176a4ed32711ff8e417a58ca0cad8279d46ba98ec40095dbdb1035c49c0f82b06b5affbe2b79c5f2020b215ebe31ebeb408509dc810f5d21eb757e88be8c99f multipath.initd +17853ca127259e129bbd61f24a830777d5b6d69f6500313fa62a0e0773de73387ce2c3a58a93a6182ee3d4891d1ec5fc2322cb674e787b326ef9cd8dcff5cbab multipathd.initd +2adc2b8322645fec8763a662614b5682294f81dc0f1b9cacace5e5ea62125aa80f4874c1b10f11619e79871087846a946f7a383c22953ca1fbaeb9ea021c5114 multipathd.confd +12efc27a7fd492834dd1d86d67faa1a6884142779f5452ada5373d893cd441572e07f9f9ea441dd92d49274ccc21a53d70f2af8a49c63060ff7490b93e3cb58d 0001-Disable-O2.patch +3f65a2006c03ba168eb3fcec537042ae9e0ddbcab48a051970fcc477bd88b2eeb16db79c9f06d4fc7b7e06411d46e159b7d13d2fe9613ba5be1ed68d9e66e54c fix-basename.patch " diff --git a/extra-repos/systemd/multipath-tools/fix-basename.patch b/extra-repos/systemd/multipath-tools/fix-basename.patch new file mode 100644 index 000000000..9feff3a06 --- /dev/null +++ b/extra-repos/systemd/multipath-tools/fix-basename.patch @@ -0,0 +1,14 @@ +diff --git a/libmultipath/configure.c b/libmultipath/configure.c +index d809490..62154fd 100644 +--- a/libmultipath/configure.c ++++ b/libmultipath/configure.c +@@ -43,6 +43,9 @@ + #include "sysfs.h" + #include "io_err_stat.h" + ++#define basename(dev) \ ++ (strrchr((dev),'/') ? strrchr((dev),'/')+1 : (dev)) ++ + /* group paths in pg by host adapter + */ + int group_by_host_adapter(struct pathgroup *pgp, vector adapters) diff --git a/extra-repos/systemd/multipath-tools/multipath.initd b/extra-repos/systemd/multipath-tools/multipath.initd index fd2bd1d0e..4b0a1d498 100644 --- a/extra-repos/systemd/multipath-tools/multipath.initd +++ b/extra-repos/systemd/multipath-tools/multipath.initd @@ -1,5 +1,7 @@ #!/sbin/openrc-run +description="Initialize multipath" + depend() { before checkfs fsck multipathd iscsid lvm after modules device-mapper diff --git a/extra-repos/systemd/multipath-tools/multipathd.confd b/extra-repos/systemd/multipath-tools/multipathd.confd new file mode 100644 index 000000000..c77d68669 --- /dev/null +++ b/extra-repos/systemd/multipath-tools/multipathd.confd @@ -0,0 +1,4 @@ +# Configuration for /etc/init.d/multipathd + +# Comment out to run without process supervisor. +supervisor="supervise-daemon" diff --git a/extra-repos/systemd/multipath-tools/multipathd.initd b/extra-repos/systemd/multipath-tools/multipathd.initd index ed5ec41e3..92e982422 100644 --- a/extra-repos/systemd/multipath-tools/multipathd.initd +++ b/extra-repos/systemd/multipath-tools/multipathd.initd @@ -1,7 +1,10 @@ #!/sbin/openrc-run -supervisor=supervise-daemon -command=/usr/sbin/multipathd -command_args_foreground="-d" -output_log=/var/log/${RC_SVCNAME}.log -error_log=/var/log/${RC_SVCNAME}.log +description="Multipath monitoring daemon" + +command="/usr/sbin/multipathd" +command_args="-d $command_args" +command_background="yes" +pidfile="/run/$RC_SVCNAME.pid" +output_log="/var/log/$RC_SVCNAME.log" +error_log="/var/log/$RC_SVCNAME.log"