commit: 464cae287dd74763239b33d48b871224a888cb50 Author: Anthony Ryan <anthonyryan1 <AT> gmail <DOT> com> AuthorDate: Wed Jan 4 21:51:16 2017 +0000 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> CommitDate: Sat Jan 7 21:49:28 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=464cae28
sys-fs/multipath-tools: Version bump 0.6.4 Gentoo-bug: 604228 * Include patch for sysmacros * Remove patch for makefile (building still performs a few unnecessary operations, but the cost is negligible compared to the cost of carrying yet another patch. * Remove COMMIT_ID * Remove some unnecessary definitions * Include a way to disable ceph when building * Add linux-info to check for CONFIG_DM_MULTIPATH Package-Manager: Portage-2.3.3, Repoman-2.3.1 (cherry picked from commit ef97e67d7cb4b009af471dd2fafdf463960a909d) Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org> sys-fs/multipath-tools/Manifest | 1 + .../files/multipath-tools-0.6.4-sysmacros.patch | 60 ++++++++++++++ sys-fs/multipath-tools/metadata.xml | 11 ++- .../multipath-tools/multipath-tools-0.6.4.ebuild | 92 ++++++++++++++++++++++ 4 files changed, 160 insertions(+), 4 deletions(-) diff --git a/sys-fs/multipath-tools/Manifest b/sys-fs/multipath-tools/Manifest index a820e93..551033c 100644 --- a/sys-fs/multipath-tools/Manifest +++ b/sys-fs/multipath-tools/Manifest @@ -1,2 +1,3 @@ DIST multipath-tools-0.5.0.tar.bz2 184024 SHA256 f13cf1eb84e94e83b2019e68f7965526903c13e94246db43965d181668a0a6f9 SHA512 dfad21c45d0f69e39041d30d203a582c8ee8329bf390c51cde10155b3de379e7ad8fead2ac4beb268a924fd7e7dc8e1cf538ea3c70d41479fd8786fa30ba22a9 WHIRLPOOL bc8a365d66d1c5f584de04304125949926d4a1576cba4a00acca0f1333eb13d83318da36d9d88c5dc92691a331d427ad6b99eb1f2983fbc387303dbfdbae11ff DIST multipath-tools-0.6.2.tar.gz 242413 SHA256 f5cec5d92d56ec99220fccc1e70b9d10bc8ff5039c809ebcc201ce34d7ee3095 SHA512 8a04302002bf778299495e4be2d4302c19350d8ec218da23c5f781233efa6d0b39208a676b0d770771d7f09d62fa2b1ce32c03f60662691f74afb111e918b639 WHIRLPOOL f040273bd188c30f2f3b87e21a403b5f5d3ce2f0918382890cc0750b803bf05f70ed6bf46a83c5b68137835bc9bcf6cbca14f6462cfbef660667118b59eafc7d +DIST multipath-tools-0.6.4.tar.gz 285448 SHA256 1e2747883320f7db854201e5bfb97216e7518468f03503985382ce2c69e5558b SHA512 ec35c6c26c3b233ebece7136ea99dd4c0dff2927e7b543e7091219dc7065fe87e609a1eda9ab6d08399d44fe882d70c8dbe6be9ab175d154c5dd2d12ee1d86ea WHIRLPOOL 6138ba1cbb814bbf53e7a5113f50325d7a7d7088ff2b0f83f1e574f0644241e368cc6b5223eca039b414a0a459a52413d396ea214ff3eaa57f0681e8322b2d9d diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.6.4-sysmacros.patch b/sys-fs/multipath-tools/files/multipath-tools-0.6.4-sysmacros.patch new file mode 100644 index 00000000..99a12fc --- /dev/null +++ b/sys-fs/multipath-tools/files/multipath-tools-0.6.4-sysmacros.patch @@ -0,0 +1,60 @@ +diff --git a/kpartx/dasd.c b/kpartx/dasd.c +index 1206e45..f50c1bd 100644 +--- a/kpartx/dasd.c ++++ b/kpartx/dasd.c +@@ -28,6 +28,7 @@ + #include <inttypes.h> + #include <sys/types.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <sys/ioctl.h> + #include <linux/hdreg.h> + #include <errno.h> +diff --git a/kpartx/kpartx.c b/kpartx/kpartx.c +index d31fea8..3452787 100644 +--- a/kpartx/kpartx.c ++++ b/kpartx/kpartx.c +@@ -28,6 +28,7 @@ + #include <stdint.h> + #include <sys/ioctl.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <ctype.h> + #include <libdevmapper.h> +diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c +index 4d6c3c2..d9a9e67 100644 +--- a/libmultipath/checkers/tur.c ++++ b/libmultipath/checkers/tur.c +@@ -11,6 +11,7 @@ + #include <unistd.h> + #include <fcntl.h> + #include <sys/ioctl.h> ++#include <sys/sysmacros.h> + #include <errno.h> + #include <sys/time.h> + #include <pthread.h> +diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c +index 4f8ef13..9c0b240 100644 +--- a/libmultipath/devmapper.c ++++ b/libmultipath/devmapper.c +@@ -12,6 +12,7 @@ + #include <ctype.h> + #include <unistd.h> + #include <errno.h> ++#include <sys/sysmacros.h> + + #include "checkers.h" + #include "vector.h" +diff --git a/libmultipath/util.c b/libmultipath/util.c +index 03a5738..1841f35 100644 +--- a/libmultipath/util.c ++++ b/libmultipath/util.c +@@ -4,6 +4,7 @@ + #include <pthread.h> + #include <string.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <unistd.h> + diff --git a/sys-fs/multipath-tools/metadata.xml b/sys-fs/multipath-tools/metadata.xml index 56c1244..9a20c9e 100644 --- a/sys-fs/multipath-tools/metadata.xml +++ b/sys-fs/multipath-tools/metadata.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>[email protected]</email> - <name>Gentoo Base System</name> -</maintainer> + <maintainer type="project"> + <email>[email protected]</email> + <name>Gentoo Base System</name> + </maintainer> + <use> + <flag name="rbd">Enable Rados block device support via <pkg>sys-cluster/ceph</pkg></flag> + </use> </pkgmetadata> diff --git a/sys-fs/multipath-tools/multipath-tools-0.6.4.ebuild b/sys-fs/multipath-tools/multipath-tools-0.6.4.ebuild new file mode 100644 index 00000000..6d4e372 --- /dev/null +++ b/sys-fs/multipath-tools/multipath-tools-0.6.4.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit linux-info systemd toolchain-funcs udev vcs-snapshot + +DESCRIPTION="Device mapper target autoconfig" +HOMEPAGE="http://christophe.varoqui.free.fr/" +SRC_URI="http://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=${PV};sf=tgz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +IUSE="systemd rbd" + +RDEPEND=">=sys-fs/lvm2-2.02.45 + >=virtual/udev-171 + dev-libs/libaio + dev-libs/userspace-rcu + sys-libs/readline:0= + rbd? ( sys-cluster/ceph ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +CONFIG_CHECK="~DM_MULTIPATH" + +PATCHES=( + # modprobe fails when modules are compiled statically into the kernel + # https://www.redhat.com/archives/dm-devel/2017-January/msg00043.html + "${FILESDIR}"/${PN}-0.6.2-ignore-modprobe-failures.patch + + # https://bugs.gentoo.org/show_bug.cgi?id=604228 + # https://www.redhat.com/archives/dm-devel/2017-January/msg00022.html + "${FILESDIR}"/${P}-sysmacros.patch +) + +get_systemd_pv() { + use systemd && \ + $(tc-getPKG_CONFIG) --modversion systemd +} + +pkg_pretend() { + linux-info_pkg_setup +} + +pkg_setup() { + linux-info_pkg_setup +} + +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 proer configure system + if ! use rbd ; then + sed -i -e "s/libcheckrbd.so/# libcheckrbd.so/" libmultipath/checkers/Makefile + sed -i -e "s/-lrados//" libmultipath/checkers/Makefile + fi +} + +src_compile() { + # LIBDM_API_FLUSH involves grepping files in /usr/include, + # so force the test to go the way we want #411337. + emake \ + LIBDM_API_FLUSH=1 SYSTEMD="$(get_systemd_pv)" +} + +src_install() { + dodir /sbin /usr/share/man/man{5,8} + emake \ + DESTDIR="${D}" \ + SYSTEMD=$(get_systemd_pv) \ + unitdir="$(systemd_get_systemunitdir)" \ + libudevdir='${prefix}'/"$(get_udevdir)" \ + install + + newinitd "${FILESDIR}"/rc-multipathd 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 +}
