1 |
commit: eb22b954c177b5c1e2b6ed5c7cdd02f40f40d757 |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon May 11 11:51:43 2020 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon May 11 11:53:12 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb22b954 |
7 |
|
8 |
sys-fs/multipath-tools: Bump to version 0.8.4 |
9 |
|
10 |
Package-Manager: Portage-2.3.99, Repoman-2.3.22 |
11 |
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> |
12 |
|
13 |
sys-fs/multipath-tools/Manifest | 1 + |
14 |
.../multipath-tools-0.8.4-parallel_make_fix.patch | 85 ++++++++++++++++++++ |
15 |
.../multipath-tools-0.8.4-respect-flags.patch | 19 +++++ |
16 |
.../multipath-tools/multipath-tools-0.8.4.ebuild | 93 ++++++++++++++++++++++ |
17 |
4 files changed, 198 insertions(+) |
18 |
|
19 |
diff --git a/sys-fs/multipath-tools/Manifest b/sys-fs/multipath-tools/Manifest |
20 |
index fa9c2ed1f14..03297803016 100644 |
21 |
--- a/sys-fs/multipath-tools/Manifest |
22 |
+++ b/sys-fs/multipath-tools/Manifest |
23 |
@@ -3,3 +3,4 @@ DIST multipath-tools-0.7.9.tar.gz 419377 BLAKE2B 29003b7ce2d673eb59d869e21650286 |
24 |
DIST multipath-tools-0.8.1.tar.gz 447883 BLAKE2B c840ede03fd15763cd947a71596bf3a2e5935433d956208225f4fd6ed55074e2d9709f8b0e6c059a58d44b6649f52b3564d6651ea1af6186138357ba37f86b14 SHA512 1f87f974aace746ecac8af6ae330de16affe49cc89a5660b28be3b1c4a69f822da01042432176e64b5de6ad3a6568044954fdce8e3aa31e85611a595a4939947 |
25 |
DIST multipath-tools-0.8.2.tar.gz 458879 BLAKE2B a5aae1c9b211c788b658cf53e1c966bb9dd39dbe3e81058d6c758ba11cfd77ebfbc9d70bfde5b41d00fb1d4fbf31f3d2e6d58c69179e8842b9f5b8e9edd0b755 SHA512 c809e652479a8b6b141fd69810dbba316d93368ec6cf1c57f479ccde50e3ccf0bebe1b62e9db4791135aec45a90761f9100635f0ffa4b175ce9c2d82ebcea5c9 |
26 |
DIST multipath-tools-0.8.3.tar.gz 465248 BLAKE2B 21a7a18c70150b4422bdd0ae02f26f491845eb06928ab74e631df8c6b3c110d10f43f75b9f8289a7134826c923b7ba58ce54c40497c3b7e6211e53902c8a1b5f SHA512 d9fdc2763f5a1efa15ee07c5d863008c9694623935f62a0e0b56f941df4e0d0ca3f86056fefc9b5ca828b47782127e3d55f2f925b1ed957e02b675bef36f4cae |
27 |
+DIST multipath-tools-0.8.4.tar.gz 480994 BLAKE2B be8368df049218e2eaa1749e7b1c7a930da15f0311ab549b1bbba9c019dcfe39f90a05fd621e0703301ef1d55c98ac8cc74231d82950d9066f19d8764421704b SHA512 720823188c053c1c50269a30e34a9d69099098495bfd607076bcfa2c079565e3f0580c91783f19d42ed82290c0db98e4e19ef620eca4ee5ec7885c49c72d2307 |
28 |
|
29 |
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.4-parallel_make_fix.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.4-parallel_make_fix.patch |
30 |
new file mode 100644 |
31 |
index 00000000000..651cd04f59f |
32 |
--- /dev/null |
33 |
+++ b/sys-fs/multipath-tools/files/multipath-tools-0.8.4-parallel_make_fix.patch |
34 |
@@ -0,0 +1,85 @@ |
35 |
+From 041472afebd1e621be1143f2bfb4c5650df171cc Mon Sep 17 00:00:00 2001 |
36 |
+From: Lars Wendler <polynomial-c@g.o> |
37 |
+Date: Mon, 11 May 2020 11:49:58 +0200 |
38 |
+Subject: [PATCH] multipath-tools: Fix parallel make issues |
39 |
+ |
40 |
+build is broken like this (tested with -j16): |
41 |
+ |
42 |
+ x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -shared -lpthread -ldevmapper -ldl -L../libmultipath -lmultipath -L../libmpathcmd -lmpathcmd -Wl,-soname=libmpathpersist.so.0 -o libmpathpersist.so.0 mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o |
43 |
+ building defaults.o because of defaults.c |
44 |
+ ... |
45 |
+ /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lmultipath |
46 |
+ collect2: error: ld returned 1 exit status |
47 |
+ make[1]: *** [Makefile:17: libmpathpersist.so.0] Error 1 |
48 |
+ make: *** [Makefile:29: libmpathpersist] Error 2 |
49 |
+ make: *** Waiting for unfinished jobs.... |
50 |
+ |
51 |
+install is broken like this: |
52 |
+ |
53 |
+ install -m 755 libprio*.so /var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath |
54 |
+ install -m 755 libcheckcciss_tur.so libcheckreadsector0.so libchecktur.so libcheckdirectio.so libcheckemc_clariion.so libcheckhp_sw.so libcheckrdac.so /var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath |
55 |
+ ... |
56 |
+ /usr/bin/install: target '/var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath' is not a directory |
57 |
+ /usr/bin/install: target '/var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath' is not a directory |
58 |
+ make[1]: *** [Makefile:28: install] Error 1 |
59 |
+ make[1]: *** [Makefile:38: install] Error 1 |
60 |
+--- |
61 |
+ Makefile | 3 ++- |
62 |
+ libmultipath/checkers/Makefile | 1 + |
63 |
+ libmultipath/foreign/Makefile | 1 + |
64 |
+ libmultipath/prioritizers/Makefile | 1 + |
65 |
+ 4 files changed, 5 insertions(+), 1 deletion(-) |
66 |
+ |
67 |
+diff --git a/Makefile b/Makefile |
68 |
+index 1dee3680..a9ade94f 100644 |
69 |
+--- a/Makefile |
70 |
++++ b/Makefile |
71 |
+@@ -29,7 +29,8 @@ $(BUILDDIRS): |
72 |
+ $(MAKE) -C $@ |
73 |
+ |
74 |
+ multipath multipathd mpathpersist: libmultipath |
75 |
+-mpathpersist: libmpathpersist |
76 |
++libmpathpersist: libmultipath |
77 |
++mpathpersist: libmultipath libmpathpersist |
78 |
+ |
79 |
+ $(BUILDDIRS.clean): |
80 |
+ $(MAKE) -C ${@:.clean=} clean |
81 |
+diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile |
82 |
+index 02caea64..f201ca4c 100644 |
83 |
+--- a/libmultipath/checkers/Makefile |
84 |
++++ b/libmultipath/checkers/Makefile |
85 |
+@@ -24,6 +24,7 @@ libcheck%.so: libsg.o %.o |
86 |
+ $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^ |
87 |
+ |
88 |
+ install: |
89 |
++ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(libdir) |
90 |
+ $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(libdir) |
91 |
+ |
92 |
+ uninstall: |
93 |
+diff --git a/libmultipath/foreign/Makefile b/libmultipath/foreign/Makefile |
94 |
+index fae58a0d..567deebd 100644 |
95 |
+--- a/libmultipath/foreign/Makefile |
96 |
++++ b/libmultipath/foreign/Makefile |
97 |
+@@ -14,6 +14,7 @@ libforeign-%.so: %.o |
98 |
+ $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^ |
99 |
+ |
100 |
+ install: |
101 |
++ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(libdir) |
102 |
+ $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(libdir) |
103 |
+ |
104 |
+ uninstall: |
105 |
+diff --git a/libmultipath/prioritizers/Makefile b/libmultipath/prioritizers/Makefile |
106 |
+index 9d0fe03c..b0b0b522 100644 |
107 |
+--- a/libmultipath/prioritizers/Makefile |
108 |
++++ b/libmultipath/prioritizers/Makefile |
109 |
+@@ -35,6 +35,7 @@ libprio%.so: %.o |
110 |
+ $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^ |
111 |
+ |
112 |
+ install: $(LIBS) |
113 |
++ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(libdir) |
114 |
+ $(INSTALL_PROGRAM) -m 755 libprio*.so $(DESTDIR)$(libdir) |
115 |
+ |
116 |
+ uninstall: |
117 |
+-- |
118 |
+2.26.2 |
119 |
+ |
120 |
|
121 |
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.4-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.4-respect-flags.patch |
122 |
new file mode 100644 |
123 |
index 00000000000..5e5258405b4 |
124 |
--- /dev/null |
125 |
+++ b/sys-fs/multipath-tools/files/multipath-tools-0.8.4-respect-flags.patch |
126 |
@@ -0,0 +1,19 @@ |
127 |
+--- multipath-tools-0.8.4-d491591/Makefile.inc |
128 |
++++ multipath-tools-0.8.4-d491591/Makefile.inc |
129 |
+@@ -99,12 +99,13 @@ |
130 |
+ -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) \ |
131 |
+ $(STACKPROT) --param=ssp-buffer-size=4 |
132 |
+ CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2 |
133 |
+-CFLAGS := $(OPTFLAGS) -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \ |
134 |
+- -MMD -MP $(CFLAGS) |
135 |
++CFLAGS ?= $(OPTFLAGS) |
136 |
++CFLAGS += -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \ |
137 |
++ -MMD -MP |
138 |
+ BIN_CFLAGS = -fPIE -DPIE |
139 |
+ LIB_CFLAGS = -fPIC |
140 |
+ SHARED_FLAGS = -shared |
141 |
+-LDFLAGS = -Wl,-z,relro -Wl,-z,now |
142 |
++LDFLAGS += -Wl,-z,relro -Wl,-z,now |
143 |
+ BIN_LDFLAGS = -pie |
144 |
+ |
145 |
+ # Check whether a function with name $1 has been declared in header file $2. |
146 |
|
147 |
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.4.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.4.ebuild |
148 |
new file mode 100644 |
149 |
index 00000000000..ab4f6f9cd3c |
150 |
--- /dev/null |
151 |
+++ b/sys-fs/multipath-tools/multipath-tools-0.8.4.ebuild |
152 |
@@ -0,0 +1,93 @@ |
153 |
+# Copyright 1999-2020 Gentoo Authors |
154 |
+# Distributed under the terms of the GNU General Public License v2 |
155 |
+ |
156 |
+EAPI="7" |
157 |
+ |
158 |
+inherit linux-info systemd toolchain-funcs udev vcs-snapshot toolchain-funcs |
159 |
+ |
160 |
+DESCRIPTION="Device mapper target autoconfig" |
161 |
+HOMEPAGE="http://christophe.varoqui.free.fr/" |
162 |
+SRC_URI="https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=${PV};sf=tgz -> ${P}.tar.gz" |
163 |
+ |
164 |
+LICENSE="GPL-2" |
165 |
+SLOT="0" |
166 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86" |
167 |
+IUSE="systemd rbd" |
168 |
+ |
169 |
+BDEPEND="virtual/pkgconfig" |
170 |
+ |
171 |
+RDEPEND=" |
172 |
+ dev-libs/json-c:= |
173 |
+ dev-libs/libaio |
174 |
+ dev-libs/userspace-rcu:= |
175 |
+ >=sys-fs/lvm2-2.02.45 |
176 |
+ >=virtual/libudev-232-r3 |
177 |
+ sys-libs/readline:0= |
178 |
+ rbd? ( sys-cluster/ceph ) |
179 |
+ systemd? ( sys-apps/systemd ) |
180 |
+" |
181 |
+ |
182 |
+DEPEND="${RDEPEND}" |
183 |
+ |
184 |
+CONFIG_CHECK="~DM_MULTIPATH" |
185 |
+ |
186 |
+RESTRICT="test" |
187 |
+ |
188 |
+PATCHES=( |
189 |
+ "${FILESDIR}"/${PN}-0.8.4-respect-flags.patch |
190 |
+ "${FILESDIR}"/${PN}-0.8.3-no-gziped-docs.patch |
191 |
+ "${FILESDIR}"/${PN}-0.8.3-json-c-0.14.patch |
192 |
+ "${FILESDIR}"/${PN}-0.8.4-parallel_make_fix.patch |
193 |
+) |
194 |
+ |
195 |
+get_systemd_pv() { |
196 |
+ use systemd && \ |
197 |
+ $(tc-getPKG_CONFIG) --modversion systemd |
198 |
+} |
199 |
+ |
200 |
+src_prepare() { |
201 |
+ default |
202 |
+ |
203 |
+ # The upstream lacks any way to configure the build at present |
204 |
+ # and ceph is a huge dependency, so we're using sed to make it |
205 |
+ # optional until the upstream has a proper configure system |
206 |
+ if ! use rbd ; then |
207 |
+ sed \ |
208 |
+ -e "s/libcheckrbd.so/# libcheckrbd.so/" \ |
209 |
+ -e "s/-lrados//" \ |
210 |
+ -i libmultipath/checkers/Makefile \ |
211 |
+ || die |
212 |
+ fi |
213 |
+} |
214 |
+ |
215 |
+src_compile() { |
216 |
+ # LIBDM_API_FLUSH involves grepping files in /usr/include, |
217 |
+ # so force the test to go the way we want #411337. |
218 |
+ emake \ |
219 |
+ CC="$(tc-getCC)" \ |
220 |
+ LIBDM_API_FLUSH=1 SYSTEMD="$(get_systemd_pv)" |
221 |
+} |
222 |
+ |
223 |
+src_install() { |
224 |
+ dodir /sbin /usr/share/man/man{3,5,8} |
225 |
+ emake \ |
226 |
+ DESTDIR="${D}" \ |
227 |
+ RUN=run \ |
228 |
+ SYSTEMD=$(get_systemd_pv) \ |
229 |
+ unitdir="$(systemd_get_systemunitdir)" \ |
230 |
+ libudevdir='${prefix}'/"$(get_udevdir)" \ |
231 |
+ pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \ |
232 |
+ install |
233 |
+ |
234 |
+ newinitd "${FILESDIR}"/multipathd-r1.rc multipathd |
235 |
+ newinitd "${FILESDIR}"/multipath.rc multipath |
236 |
+ |
237 |
+ einstalldocs |
238 |
+} |
239 |
+ |
240 |
+pkg_postinst() { |
241 |
+ if [[ -z ${REPLACING_VERSIONS} ]]; then |
242 |
+ elog "If you need multipath on your system, you must" |
243 |
+ elog "add 'multipath' into your boot runlevel!" |
244 |
+ fi |
245 |
+} |