sys-fs/multipath-tools: rev bump
authorThomas Deutschmann <whissi@gentoo.org>
Wed, 27 Nov 2019 20:55:53 +0000 (21:55 +0100)
committerThomas Deutschmann <whissi@gentoo.org>
Wed, 27 Nov 2019 20:57:40 +0000 (21:57 +0100)
- Fix pkgconfig file install location

- Set run dir to /run

- Update multipathd runscript

- Require >=libudev-232 for sys/sysmacros.h.

Closes: https://bugs.gentoo.org/685314
Closes: https://bugs.gentoo.org/698422
Package-Manager: Portage-2.3.80, Repoman-2.3.19
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
sys-fs/multipath-tools/files/multipathd-r1.rc [new file with mode: 0644]
sys-fs/multipath-tools/multipath-tools-0.8.3-r1.ebuild [new file with mode: 0644]

diff --git a/sys-fs/multipath-tools/files/multipathd-r1.rc b/sys-fs/multipath-tools/files/multipathd-r1.rc
new file mode 100644 (file)
index 0000000..59de1e6
--- /dev/null
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/sbin/multipathd"
+pidfile="/run/multipathd.pid"
+start_stop_daemon_args="--wait 1000"
+
+depend() {
+       need localmount
+       after modules
+}
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.3-r1.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.3-r1.ebuild
new file mode 100644 (file)
index 0000000..ac5a167
--- /dev/null
@@ -0,0 +1,91 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit linux-info systemd toolchain-funcs udev vcs-snapshot toolchain-funcs
+
+DESCRIPTION="Device mapper target autoconfig"
+HOMEPAGE="http://christophe.varoqui.free.fr/"
+SRC_URI="https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=${PV};sf=tgz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="systemd rbd"
+
+BDEPEND="virtual/pkgconfig"
+
+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}"
+
+CONFIG_CHECK="~DM_MULTIPATH"
+
+RESTRICT="test"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.7.5-respect-flags.patch
+       "${FILESDIR}"/${PN}-0.8.3-no-gziped-docs.patch
+)
+
+get_systemd_pv() {
+       use systemd && \
+               $(tc-getPKG_CONFIG) --modversion systemd
+}
+
+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() {
+       # LIBDM_API_FLUSH involves grepping files in /usr/include,
+       # so force the test to go the way we want #411337.
+       emake \
+               CC="$(tc-getCC)" \
+               LIBDM_API_FLUSH=1 SYSTEMD="$(get_systemd_pv)"
+}
+
+src_install() {
+       dodir /sbin /usr/share/man/man{5,8}
+       emake \
+               DESTDIR="${D}" \
+               RUN=run \
+               SYSTEMD=$(get_systemd_pv) \
+               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
+}
+
+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
+}