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