Gentoo Archives: gentoo-commits

From: "Robin H. Johnson (robbat2)" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-fs/lvm2: metadata.xml lvm2-2.02.105-r1.ebuild ChangeLog
Date: Sun, 02 Feb 2014 06:20:26
Message-Id: 20140202062021.400B92004C@flycatcher.gentoo.org
1 robbat2 14/02/02 06:20:21
2
3 Modified: metadata.xml ChangeLog
4 Added: lvm2-2.02.105-r1.ebuild
5 Log:
6 Bug #479950: bring back dmsetup-only build to make some users happy. Please note that this is unsupported at this point, you get to keep the pieces when it breaks.
7
8 (Portage version: 2.2.7/cvs/Linux x86_64, unsigned Manifest commit)
9
10 Revision Changes Path
11 1.18 sys-fs/lvm2/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/metadata.xml?rev=1.18&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/metadata.xml?rev=1.18&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/metadata.xml?r1=1.17&r2=1.18
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-fs/lvm2/metadata.xml,v
20 retrieving revision 1.17
21 retrieving revision 1.18
22 diff -p -w -b -B -u -u -r1.17 -r1.18
23 --- metadata.xml 20 Nov 2013 17:56:36 -0000 1.17
24 +++ metadata.xml 2 Feb 2014 06:20:21 -0000 1.18
25 @@ -16,6 +16,7 @@
26 <flag name='lvm1'>Allow users to build lvm2 with lvm1 support</flag>
27 <flag name='lvm2create_initrd'>Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag>
28 <flag name='thin'>Support for thin volumes</flag>
29 + <flag name='device-mapper-only'>Build only device-mapper and not the rest of LVM2 (UNSUPPORTED)</flag>
30 </use>
31 <upstream>
32 <remote-id type="cpe">cpe:/a:heinz_mauelshagen:lvm2</remote-id>
33
34
35
36 1.337 sys-fs/lvm2/ChangeLog
37
38 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.337&view=markup
39 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.337&content-type=text/plain
40 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?r1=1.336&r2=1.337
41
42 Index: ChangeLog
43 ===================================================================
44 RCS file: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v
45 retrieving revision 1.336
46 retrieving revision 1.337
47 diff -p -w -b -B -u -u -r1.336 -r1.337
48 --- ChangeLog 2 Feb 2014 05:56:20 -0000 1.336
49 +++ ChangeLog 2 Feb 2014 06:20:21 -0000 1.337
50 @@ -1,6 +1,14 @@
51 # ChangeLog for sys-fs/lvm2
52 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
53 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.336 2014/02/02 05:56:20 robbat2 Exp $
54 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.337 2014/02/02 06:20:21 robbat2 Exp $
55 +
56 +*lvm2-2.02.105-r1 (02 Feb 2014)
57 +
58 + 02 Feb 2014; Robin H. Johnson <robbat2@g.o> +lvm2-2.02.105-r1.ebuild,
59 + metadata.xml:
60 + Bug #479950: bring back dmsetup-only build to make some users happy. Please
61 + note that this is unsupported at this point, you get to keep the pieces when
62 + it breaks.
63
64 02 Feb 2014; Robin H. Johnson <robbat2@g.o> files/lvm.rc-2.02.105:
65 Bug #334125: Ignore an error shutting down last LVs, if they are /usr or / we
66
67
68
69 1.1 sys-fs/lvm2/lvm2-2.02.105-r1.ebuild
70
71 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/lvm2-2.02.105-r1.ebuild?rev=1.1&view=markup
72 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/lvm2-2.02.105-r1.ebuild?rev=1.1&content-type=text/plain
73
74 Index: lvm2-2.02.105-r1.ebuild
75 ===================================================================
76 # Copyright 1999-2014 Gentoo Foundation
77 # Distributed under the terms of the GNU General Public License v2
78 # $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/lvm2-2.02.105-r1.ebuild,v 1.1 2014/02/02 06:20:21 robbat2 Exp $
79
80 EAPI=5
81 inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
82
83 DESCRIPTION="User-land utilities for LVM2 (device-mapper) software."
84 HOMEPAGE="http://sources.redhat.com/lvm2/"
85 SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
86 ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
87
88 LICENSE="GPL-2"
89 SLOT="0"
90 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
91 IUSE="readline static static-libs clvm cman lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
92 REQUIRED_USE="device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin )"
93
94
95 DEPEND_COMMON="clvm? ( cman? ( =sys-cluster/cman-3* ) =sys-cluster/libdlm-3* )
96 readline? ( sys-libs/readline )
97 udev? ( >=virtual/udev-200[static-libs?] )"
98 # /run is now required for locking during early boot. /var cannot be assumed to
99 # be available -- thus, pull in recent enough baselayout for /run.
100 # This version of LVM is incompatible with cryptsetup <1.1.2.
101 RDEPEND="${DEPEND_COMMON}
102 >=sys-apps/baselayout-2.2
103 !<sys-apps/openrc-0.11
104 !<sys-fs/cryptsetup-1.1.2
105 !!sys-fs/clvm
106 !!sys-fs/lvm-user
107 >=sys-apps/util-linux-2.16
108 lvm2create_initrd? ( sys-apps/makedev )
109 thin? ( >=sys-block/thin-provisioning-tools-0.2.8-r1 )"
110 DEPEND="${DEPEND_COMMON}
111 virtual/pkgconfig
112 >=sys-devel/binutils-2.20.1-r1
113 static? (
114 selinux? ( sys-libs/libselinux[static-libs] )
115 udev? ( virtual/udev[static-libs] )
116 )"
117
118 S=${WORKDIR}/${PN/lvm/LVM}.${PV}
119
120 pkg_setup() {
121 local CONFIG_CHECK="~SYSVIPC"
122
123 if use udev; then
124 local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
125 if linux_config_exists; then
126 local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
127 if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
128 ewarn "It's recommended to set an empty value to the following kernel config option:"
129 ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
130 fi
131 fi
132 fi
133
134 check_extra_config
135
136 # 1. Genkernel no longer copies /sbin/lvm blindly.
137 if use static; then
138 elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
139 elog "their static versions. If you need the static binaries,"
140 elog "you must append .static to the filename!"
141 fi
142 }
143
144 src_prepare() {
145 # Gentoo specific modification(s):
146 epatch "${FILESDIR}"/${PN}-2.02.99-example.conf.in.patch
147
148 sed -i \
149 -e "1iAR = $(tc-getAR)" \
150 -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
151 make.tmpl.in || die #444082
152
153 sed -i -e '/FLAG/s:-O2::' configure{,.in} || die #480212
154
155 # For upstream -- review and forward:
156 epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
157 epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
158 epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
159 epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
160 epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
161 epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
162 #epatch "${FILESDIR}"/${PN}-2.02.100-selinux_and_udev_static.patch #370217, #439414
163 epatch "${FILESDIR}"/${PN}-2.02.105-static-pkgconfig-libs.patch #370217, #439414 + blkid
164 epatch "${FILESDIR}"/${PN}-2.02.105-pthread-pkgconfig.patch #492450
165
166 eautoreconf
167 }
168
169 src_configure() {
170 filter-flags -flto
171 local myconf
172 local buildmode
173
174 myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
175 myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
176 myconf="${myconf} $(use_enable !device-mapper-only applib)"
177 myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
178 myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
179
180 # Most of this package does weird stuff.
181 # The build options are tristate, and --without is NOT supported
182 # options: 'none', 'internal', 'shared'
183 if use static; then
184 buildmode="internal"
185 # This only causes the .static versions to become available
186 myconf="${myconf} --enable-static_link"
187 else
188 buildmode="shared"
189 fi
190 dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
191
192 # dmeventd requires mirrors to be internal, and snapshot available
193 # so we cannot disable them
194 myconf="${myconf} --with-mirrors=${dmbuildmode}"
195 myconf="${myconf} --with-snapshots=${dmbuildmode}"
196 myconf="${myconf} --with-thin=$(use thin && echo internal || echo none)"
197
198 if use lvm1; then
199 myconf="${myconf} --with-lvm1=${buildmode}"
200 else
201 myconf="${myconf} --with-lvm1=none"
202 fi
203
204 # disable O_DIRECT support on hppa, breaks pv detection (#99532)
205 use hppa && myconf="${myconf} --disable-o_direct"
206
207 if use clvm; then
208 myconf="${myconf} --with-cluster=${buildmode}"
209 # 4-state! Make sure we get it right, per bug 210879
210 # Valid options are: none, cman, gulm, all
211 #
212 # 2009/02:
213 # gulm is removed now, now dual-state:
214 # cman, none
215 # all still exists, but is not needed
216 #
217 # 2009/07:
218 # TODO: add corosync and re-enable ALL
219 local clvmd=""
220 use cman && clvmd="cman"
221 #clvmd="${clvmd/cmangulm/all}"
222 [ -z "${clvmd}" ] && clvmd="none"
223 myconf="${myconf} --with-clvmd=${clvmd}"
224 myconf="${myconf} --with-pool=${buildmode}"
225 else
226 myconf="${myconf} --with-clvmd=none --with-cluster=none"
227 fi
228
229 econf \
230 $(use_enable readline) \
231 $(use_enable selinux) \
232 --enable-pkgconfig \
233 --with-confdir="${EPREFIX}"/etc \
234 --exec-prefix="${EPREFIX}" \
235 --sbindir="${EPREFIX}/sbin" \
236 --with-staticdir="${EPREFIX}"/sbin \
237 --libdir="${EPREFIX}/$(get_libdir)" \
238 --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
239 --with-default-dm-run-dir=/run \
240 --with-default-run-dir=/run/lvm \
241 --with-default-locking-dir=/run/lock/lvm \
242 --with-default-pid-dir=/run \
243 $(use_enable udev udev_rules) \
244 $(use_enable udev udev_sync) \
245 $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
246 "$(systemd_with_unitdir)" \
247 ${myconf} \
248 CLDFLAGS="${LDFLAGS}"
249 }
250
251 src_compile() {
252 pushd include >/dev/null
253 emake
254 popd >/dev/null
255
256 if use device-mapper-only ; then
257 emake device-mapper
258 else
259 emake
260 emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
261 fi
262 }
263
264 src_install() {
265 local inst
266 INSTALL_TARGETS="install install_systemd_units install_systemd_generators install_tmpfiles_configuration"
267 use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
268 for inst in ${INSTALL_TARGETS}; do
269 emake DESTDIR="${D}" ${inst}
270 done
271
272 newinitd "${FILESDIR}"/device-mapper.rc-2.02.95-r2 device-mapper
273 newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
274
275 if use !device-mapper-only ; then
276 newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
277 newinitd "${FILESDIR}"/lvm.rc-2.02.105 lvm
278 newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
279
280 newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.67-r2 lvm-monitoring
281 newinitd "${FILESDIR}"/lvmetad.initd-2.02.105 lvmetad
282 fi
283
284 if use clvm; then
285 newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
286 newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
287 fi
288
289 if use static-libs; then
290 dolib.a libdm/ioctl/libdevmapper.a
291 dolib.a libdaemon/client/libdaemonclient.a #462908
292 #gen_usr_ldscript libdevmapper.so
293 dolib.a daemons/dmeventd/libdevmapper-event.a
294 #gen_usr_ldscript libdevmapper-event.so
295 else
296 rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
297 fi
298
299 if use lvm2create_initrd; then
300 dosbin scripts/lvm2create_initrd/lvm2create_initrd
301 doman scripts/lvm2create_initrd/lvm2create_initrd.8
302 newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
303 fi
304
305 insinto /etc
306 doins "${FILESDIR}"/dmtab
307
308 dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
309 }
310
311 pkg_postinst() {
312 ewarn "Make sure the \"lvm\" init script is in the runlevels:"
313 ewarn "# rc-update add lvm boot"
314 ewarn
315 ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
316 ewarn "to enable lvm autoactivation and metadata caching."
317 }
318
319 src_test() {
320 einfo "Tests are disabled because of device-node mucking, if you want to"
321 einfo "run tests, compile the package and see ${S}/tests"
322 }