diff --git a/systemd/multipath-tools/0001-Disable-Werror-and-O2.patch b/systemd/multipath-tools/0001-Disable-Werror-and-O2.patch new file mode 100644 index 000000000..15399219e --- /dev/null +++ b/systemd/multipath-tools/0001-Disable-Werror-and-O2.patch @@ -0,0 +1,31 @@ +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/systemd/multipath-tools/APKBUILD b/systemd/multipath-tools/APKBUILD new file mode 100644 index 000000000..fb6d7476b --- /dev/null +++ b/systemd/multipath-tools/APKBUILD @@ -0,0 +1,60 @@ +# Forked from Alpine to remove eudev dependency + +pkgname=multipath-tools +pkgver=99990.9.7 +_pkgver=0.9.7 +pkgrel=0 +pkgdesc="Device Mapper Multipathing Driver" +url="http://christophe.varoqui.free.fr/" +arch="all" +license="LGPL-2.0-only" +depends="device-mapper" +makedepends=" + json-c-dev + libaio-dev + lvm2-dev + ncurses-dev + perl + readline-dev + systemd-dev + userspace-rcu-dev + util-linux-dev + " +subpackages="$pkgname-doc $pkgname-openrc" +source="$pkgname-$_pkgver.tar.gz::https://github.com/opensvc/multipath-tools/archive/refs/tags/$_pkgver.tar.gz + multipath-tools.conf + multipath.initd + multipathd.initd + 0001-Disable-Werror-and-O2.patch + " +options="!check" +builddir="$srcdir"/multipath-tools-"$_pkgver" + +build() { + make prefix="/usr" \ + sysconfdir="/etc" \ + configdir="/etc/multipath/conf.d" \ + mandir="/usr/share/man" \ + infodir="/usr/share/info" +} + +package() { + make prefix="/usr" SYSTEMDPATH="/usr/lib" LIB=lib DESTDIR="$pkgdir" install + + install -D -m644 "$srcdir"/$pkgname.conf \ + "$pkgdir"/etc/multipath.conf + install -D -m755 "$srcdir"/multipathd.initd \ + "$pkgdir"/etc/init.d/multipathd + install -D -m755 "$srcdir"/multipath.initd \ + "$pkgdir"/etc/init.d/multipath + install -D -m644 README.md \ + "$pkgdir"/usr/share/doc/$pkgname/README.md +} + +sha512sums=" +0f4c97179a3de5a0c77893fec229eb183293fed8e5e01a9945b261845ccf5d13f8ef2c2ff0c17c9345217d236275caed4765422ec95aed80821f11658bf96e26 multipath-tools-0.9.7.tar.gz +e81462b22c0cbc92ea935d7544b9f9a0c4ccbcf13f3bc03dadf6de96407c9cf49964c9bbf02f12a134e1255c66421c6fde39d54b15eef975e8df81bdc88b2213 multipath-tools.conf +97deeee57daee787d807da0a4dbf50baae047ddcda30925f7000ec822b5a17a3dc55196c3e032c8ffbc2caeac690ce5ca485b0a7c99f15e66bddaa000439112a multipath.initd +71933b27a9ed76d00766ee29e0583ccf08bd689805cf77e284bc318bae62ad7bcde1894b2e50993019462b0c9787eaa780b271244ff11ef52cca290604900343 multipathd.initd +7235f38f7e86d0b035bf8904397bebfa2439bfc2d52986cfa60b39432eaadd6283fdfb7d73169d80a44ec5119cde37e25892e45c76e89cd145915207aa4c908f 0001-Disable-Werror-and-O2.patch +" diff --git a/systemd/multipath-tools/multipath-tools.conf b/systemd/multipath-tools/multipath-tools.conf new file mode 100644 index 000000000..11194176d --- /dev/null +++ b/systemd/multipath-tools/multipath-tools.conf @@ -0,0 +1,113 @@ +## +## This is a template multipath-tools configuration file +## Uncomment the lines relevent to your environment +## +#defaults { +# udev_dir /dev +# polling_interval 10 +# selector "round-robin 0" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# prio_callout /bin/true +# path_checker directio +# rr_min_io 100 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names no +#} +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z][[0-9]*]" +# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]" +# device { +# vendor DEC.* +# product MSA[15]00 +# } +#} +#blacklist_exceptions { +# devnode "^dasd[c-d]+[0-9]*" +# wwid "IBM.75000000092461.4d00.34" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_checker directio +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# rr_min_io 100 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# path_checker directio +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# rr_min_io 100 +# product_blacklist LUN_Z +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} + +#defaults { +# udev_dir /dev +# user_friendly_names yes +#} + +#blacklist { +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +# devnode "^sda" +# devnode "^sdb" +# devnode "^sdc" +# devnode "^sdd" +# devnode "^sda[0-9]" +# devnode "^sdb[0-9]" +# device { +# vendor DELL +# product "PERC|Universal" +# } +#} + +#devices { +# device { +# vendor DELL +# product MD3000i +# hardware_handler "1 rdac" +# path_checker rdac +# path_grouping_policy group_by_prio +# prio_callout "/sbin/mpath_prio_rdac /dev/%n" +# failback immediate +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# } +#} + +#multipaths { +# multipath { +# device { +# vendor DELL +# product MD3000i +# } +# } +#} + diff --git a/systemd/multipath-tools/multipath.initd b/systemd/multipath-tools/multipath.initd new file mode 100644 index 000000000..fd2bd1d0e --- /dev/null +++ b/systemd/multipath-tools/multipath.initd @@ -0,0 +1,22 @@ +#!/sbin/openrc-run + +depend() { + before checkfs fsck multipathd iscsid lvm + after modules device-mapper +} + +start() { + ebegin "Loading multipath modules" + modprobe -aq dm_mod dm-multipath + eend $? + + ebegin "Activating multipath devices" + multipath -v0 >/dev/null + eend $? +} + +stop() { + ebegin "Deactivating multipath devices" + multipath -v0 -F >/dev/null + eend $? +} diff --git a/systemd/multipath-tools/multipathd.initd b/systemd/multipath-tools/multipathd.initd new file mode 100644 index 000000000..ed5ec41e3 --- /dev/null +++ b/systemd/multipath-tools/multipathd.initd @@ -0,0 +1,7 @@ +#!/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