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: lvm2-2.02.95-r1.ebuild ChangeLog
Date: Sat, 31 Mar 2012 21:46:10
Message-Id: 20120331214554.2ECB62004B@flycatcher.gentoo.org
1 robbat2 12/03/31 21:45:54
2
3 Modified: ChangeLog
4 Added: lvm2-2.02.95-r1.ebuild
5 Log:
6 Bug #409921: udev upstream rules were buggy, patch from upstream pending next release.
7
8 (Portage version: 2.2.0_alpha93/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.267 sys-fs/lvm2/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.267&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.267&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?r1=1.266&r2=1.267
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v
20 retrieving revision 1.266
21 retrieving revision 1.267
22 diff -p -w -b -B -u -u -r1.266 -r1.267
23 --- ChangeLog 27 Mar 2012 03:20:56 -0000 1.266
24 +++ ChangeLog 31 Mar 2012 21:45:54 -0000 1.267
25 @@ -1,6 +1,13 @@
26 # ChangeLog for sys-fs/lvm2
27 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.266 2012/03/27 03:20:56 robbat2 Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.267 2012/03/31 21:45:54 robbat2 Exp $
30 +
31 +*lvm2-2.02.95-r1 (31 Mar 2012)
32 +
33 + 31 Mar 2012; Robin H. Johnson <robbat2@g.o>
34 + +files/lvm2-2.02.95-lvmpath.patch, +lvm2-2.02.95-r1.ebuild:
35 + Bug #409921: udev upstream rules were buggy, patch from upstream pending next
36 + release.
37
38 27 Mar 2012; Robin H. Johnson <robbat2@g.o>
39 +files/lvm2-start.sh-2.02.95, files/lvm2-start.sh-2.02.67-r1,
40
41
42
43 1.1 sys-fs/lvm2/lvm2-2.02.95-r1.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/lvm2-2.02.95-r1.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/lvm2-2.02.95-r1.ebuild?rev=1.1&content-type=text/plain
47
48 Index: lvm2-2.02.95-r1.ebuild
49 ===================================================================
50 # Copyright 1999-2012 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/lvm2-2.02.95-r1.ebuild,v 1.1 2012/03/31 21:45:54 robbat2 Exp $
53
54 EAPI=3
55 inherit eutils multilib toolchain-funcs autotools linux-info
56
57 DESCRIPTION="User-land utilities for LVM2 (device-mapper) software."
58 HOMEPAGE="http://sources.redhat.com/lvm2/"
59 SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
60 ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
61
62 LICENSE="GPL-2"
63 SLOT="0"
64 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-linux"
65
66 IUSE="readline static static-libs clvm cman +lvm1 selinux +udev"
67
68 DEPEND_COMMON="!!sys-fs/device-mapper
69 readline? ( sys-libs/readline )
70 clvm? ( =sys-cluster/libdlm-3*
71 cman? ( =sys-cluster/cman-3* ) )
72 udev? ( >=sys-fs/udev-151-r4 )"
73
74 RDEPEND="${DEPEND_COMMON}
75 !<sys-apps/openrc-0.4
76 !!sys-fs/lvm-user
77 !!sys-fs/clvm
78 >=sys-apps/util-linux-2.16"
79
80 # Upgrading to this LVM will break older cryptsetup
81 RDEPEND="${RDEPEND}
82 !<sys-fs/cryptsetup-1.1.2"
83
84 DEPEND="${DEPEND_COMMON}
85 dev-util/pkgconfig
86 >=sys-devel/binutils-2.20.1-r1
87 static? ( || ( >=sys-fs/udev-181[static-libs] <sys-fs/udev-181 ) )"
88
89 S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
90
91 pkg_setup() {
92 local CONFIG_CHECK="~SYSVIPC"
93 use udev && local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
94 check_extra_config
95 # 1. Genkernel no longer copies /sbin/lvm blindly.
96 # 2. There are no longer any linking deps in /usr.
97 if use static; then
98 elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
99 elog "their static versions. If you need the static binaries,"
100 elog "you must append .static to the filename!"
101 fi
102 }
103
104 src_unpack() {
105 unpack ${A}
106 }
107
108 src_prepare() {
109 epatch "${FILESDIR}"/lvm.conf-2.02.67.patch
110
111 # Should not be needed due to upstream re-arrangement of build
112 #epatch "${FILESDIR}"/${PN}-2.02.56-dmeventd.patch
113 # Should not be need with new upstream udev rules
114 #epatch "${FILESDIR}"/${PN}-2.02.56-device-mapper-export-format.patch
115
116 # Merged upstream:
117 #epatch "${FILESDIR}"/${PN}-2.02.51-as-needed.patch
118 # Merged upstream:
119 #epatch "${FILESDIR}"/${PN}-2.02.48-fix-pkgconfig.patch
120 # Merged upstream:
121 #epatch "${FILESDIR}"/${PN}-2.02.51-fix-pvcreate.patch
122 # Fixed differently upstream:
123 #epatch "${FILESDIR}"/${PN}-2.02.51-dmsetup-selinux-linking-fix-r3.patch
124
125 epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
126 epatch "${FILESDIR}"/lvm2-2.02.56-lvm2create_initrd.patch
127 # bug 318513 - merged upstream
128 #epatch "${FILESDIR}"/${PN}-2.02.64-dmeventd-libs.patch
129 # bug 301331
130 epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch
131 # bug 330373
132 epatch "${FILESDIR}"/${PN}-2.02.92-locale-muck.patch
133 # --as-needed
134 epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch
135 # bug 332905
136 epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch
137 # bug 361429 - merged upstream in .85
138 #epatch "${FILESDIR}"/${PN}-2.02.84-udev-pkgconfig.patch
139
140 # Merged upstream
141 #epatch "${FILESDIR}"/${PN}-2.02.73-asneeded.patch
142
143 epatch "${FILESDIR}"/${PN}-2.02.88-respect-cc.patch
144
145 # Upstream bug of LVM path
146 epatch "${FILESDIR}"/${PN}-2.02.95-lvmpath.patch
147
148 eautoreconf
149 }
150
151 src_configure() {
152 local myconf
153 local buildmode
154
155 myconf="${myconf} --enable-dmeventd"
156 myconf="${myconf} --enable-cmdlib"
157 myconf="${myconf} --enable-applib"
158 myconf="${myconf} --enable-fsadm"
159 myconf="${myconf} --enable-lvmetad"
160
161 # Most of this package does weird stuff.
162 # The build options are tristate, and --without is NOT supported
163 # options: 'none', 'internal', 'shared'
164 if use static ; then
165 einfo "Building static LVM, for usage inside genkernel"
166 buildmode="internal"
167 # This only causes the .static versions to become available
168 # For recent systems, there are no linkages against anything in /usr anyway.
169 # We explicitly provide the .static versions so that they can be included in
170 # initramfs environments.
171 myconf="${myconf} --enable-static_link"
172 else
173 ewarn "Building shared LVM, it will not work inside genkernel!"
174 buildmode="shared"
175 fi
176
177 # dmeventd requires mirrors to be internal, and snapshot available
178 # so we cannot disable them
179 myconf="${myconf} --with-mirrors=internal"
180 myconf="${myconf} --with-snapshots=internal"
181 myconf="${myconf} --with-thin=internal"
182
183 if use lvm1 ; then
184 myconf="${myconf} --with-lvm1=${buildmode}"
185 else
186 myconf="${myconf} --with-lvm1=none"
187 fi
188
189 # disable O_DIRECT support on hppa, breaks pv detection (#99532)
190 use hppa && myconf="${myconf} --disable-o_direct"
191
192 if use clvm; then
193 myconf="${myconf} --with-cluster=${buildmode}"
194 # 4-state! Make sure we get it right, per bug 210879
195 # Valid options are: none, cman, gulm, all
196 #
197 # 2009/02:
198 # gulm is removed now, now dual-state:
199 # cman, none
200 # all still exists, but is not needed
201 #
202 # 2009/07:
203 # TODO: add corosync and re-enable ALL
204 local clvmd=""
205 use cman && clvmd="cman"
206 #clvmd="${clvmd/cmangulm/all}"
207 [ -z "${clvmd}" ] && clvmd="none"
208 myconf="${myconf} --with-clvmd=${clvmd}"
209 myconf="${myconf} --with-pool=${buildmode}"
210 else
211 myconf="${myconf} --with-clvmd=none --with-cluster=none"
212 fi
213
214 myconf="${myconf}
215 --with-dmeventd-path=/sbin/dmeventd"
216 econf \
217 $(use_enable readline) \
218 $(use_enable selinux) \
219 --enable-pkgconfig \
220 --with-confdir="${EPREFIX}/etc" \
221 --sbindir="${EPREFIX}/sbin" \
222 --with-staticdir="${EPREFIX}/sbin" \
223 --libdir="${EPREFIX}/$(get_libdir)" \
224 --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
225 $(use_enable udev udev_rules) \
226 $(use_enable udev udev_sync) \
227 $(use_with udev udevdir "${EPREFIX}/lib/udev/rules.d/") \
228 ${myconf} \
229 CLDFLAGS="${LDFLAGS}" || die
230 }
231
232 src_compile() {
233 einfo "Doing symlinks"
234 pushd include
235 emake || die "Failed to prepare symlinks"
236 popd
237
238 einfo "Starting main build"
239 emake || die "compile fail"
240 }
241
242 src_install() {
243 emake DESTDIR="${D}" install || die "Failed to emake install"
244
245 dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{conf,c,txt}
246 insinto /$(get_libdir)/rcscripts/addons
247 newins "${FILESDIR}"/lvm2-start.sh-2.02.95 lvm-start.sh || die
248 newins "${FILESDIR}"/lvm2-stop.sh-2.02.67-r1 lvm-stop.sh || die
249 newinitd "${FILESDIR}"/lvm.rc-2.02.67-r1 lvm || die
250 newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.67-r2 lvm-monitoring || die
251 newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm || die
252 if use clvm; then
253 newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd || die
254 newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd || die
255 fi
256
257 # move shared libs to /lib(64)
258 if use static-libs; then
259 dolib.a libdm/ioctl/libdevmapper.a || die "dolib.a libdevmapper.a"
260 #gen_usr_ldscript libdevmapper.so
261 fi
262
263 dosbin "${S}"/scripts/lvm2create_initrd/lvm2create_initrd
264 doman "${S}"/scripts/lvm2create_initrd/lvm2create_initrd.8
265 newdoc "${S}"/scripts/lvm2create_initrd/README README.lvm2create_initrd
266
267 insinto /etc
268 doins "${FILESDIR}"/dmtab
269 insinto /$(get_libdir)/rcscripts/addons
270 doins "${FILESDIR}"/dm-start.sh
271
272 # Device mapper stuff
273 newinitd "${FILESDIR}"/device-mapper.rc-2.02.67-r1 device-mapper || die
274 newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper || die
275
276 newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd || die
277 if use static-libs; then
278 dolib.a daemons/dmeventd/libdevmapper-event.a \
279 || die "dolib.a libdevmapper-event.a"
280 #gen_usr_ldscript libdevmapper-event.so
281 fi
282
283 use static-libs || \
284 rm -f "${D}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
285
286 #insinto /etc/udev/rules.d/
287 #newins "${FILESDIR}"/64-device-mapper.rules-2.02.56-r3 64-device-mapper.rules || die
288
289 # do not rely on /lib -> /libXX link
290 sed -i \
291 -e "s|/lib/rcscripts/|/$(get_libdir)/rcscripts/|" \
292 "${ED}"/etc/init.d/* || die
293
294 elog "USE flag nocman is deprecated and replaced"
295 elog "with the cman USE flag."
296 elog ""
297 elog "USE flags clvm and cman are masked"
298 elog "by default and need to be unmasked to be used"
299 elog ""
300 elog "If you are using genkernel and root-on-LVM, rebuild the initramfs."
301 }
302
303 pkg_postinst() {
304 elog "lvm volumes are no longer automatically created for"
305 elog "baselayout-2 users. If you are using baselayout-2, be sure to"
306 elog "run: # rc-update add lvm boot"
307 elog "Do NOT add it if you are still using baselayout-1."
308 }
309
310 src_test() {
311 einfo "Testcases disabled because of device-node mucking"
312 einfo "If you want them, compile the package and see ${S}/tests"
313 }