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.83.ebuild
Date: Fri, 04 Feb 2011 23:17:17
Message-Id: 20110204231707.6BCD120054@flycatcher.gentoo.org
1 robbat2 11/02/04 23:17:07
2
3 Modified: ChangeLog
4 Added: lvm2-2.02.83.ebuild
5 Log:
6 Version bump.
7
8 (Portage version: 2.2.0_alpha19/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.241 sys-fs/lvm2/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.241&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.241&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/ChangeLog?r1=1.240&r2=1.241
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v
20 retrieving revision 1.240
21 retrieving revision 1.241
22 diff -p -w -b -B -u -u -r1.240 -r1.241
23 --- ChangeLog 25 Nov 2010 15:32:02 -0000 1.240
24 +++ ChangeLog 4 Feb 2011 23:17:07 -0000 1.241
25 @@ -1,6 +1,11 @@
26 # ChangeLog for sys-fs/lvm2
27 -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.240 2010/11/25 15:32:02 ranger Exp $
29 +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
30 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.241 2011/02/04 23:17:07 robbat2 Exp $
31 +
32 +*lvm2-2.02.83 (04 Feb 2011)
33 +
34 + 04 Feb 2011; Robin H. Johnson <robbat2@g.o> +lvm2-2.02.83.ebuild:
35 + Version bump.
36
37 25 Nov 2010; Brent Baude <ranger@g.o> lvm2-2.02.73-r1.ebuild:
38 Marking lvm2-2.02.73-r1 ppc64 for bug 334087
39
40
41
42 1.1 sys-fs/lvm2/lvm2-2.02.83.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/lvm2-2.02.83.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/lvm2/lvm2-2.02.83.ebuild?rev=1.1&content-type=text/plain
46
47 Index: lvm2-2.02.83.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.83.ebuild,v 1.1 2011/02/04 23:17:07 robbat2 Exp $
52
53 EAPI=2
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"
64
65 IUSE="readline +static 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
135 # Merged upstream
136 #epatch "${FILESDIR}"/${PN}-2.02.73-asneeded.patch
137
138 eautoreconf
139 }
140
141 src_configure() {
142 local myconf
143 local buildmode
144
145 myconf="${myconf} --enable-dmeventd"
146 myconf="${myconf} --enable-cmdlib"
147 myconf="${myconf} --enable-applib"
148 myconf="${myconf} --enable-fsadm"
149
150 # Most of this package does weird stuff.
151 # The build options are tristate, and --without is NOT supported
152 # options: 'none', 'internal', 'shared'
153 if use static ; then
154 einfo "Building static LVM, for usage inside genkernel"
155 buildmode="internal"
156 # This only causes the .static versions to become available
157 # For recent systems, there are no linkages against anything in /usr anyway.
158 # We explicitly provide the .static versions so that they can be included in
159 # initramfs environments.
160 myconf="${myconf} --enable-static_link"
161 else
162 ewarn "Building shared LVM, it will not work inside genkernel!"
163 buildmode="shared"
164 fi
165
166 # dmeventd requires mirrors to be internal, and snapshot available
167 # so we cannot disable them
168 myconf="${myconf} --with-mirrors=internal"
169 myconf="${myconf} --with-snapshots=internal"
170
171 if use lvm1 ; then
172 myconf="${myconf} --with-lvm1=${buildmode}"
173 else
174 myconf="${myconf} --with-lvm1=none"
175 fi
176
177 # disable O_DIRECT support on hppa, breaks pv detection (#99532)
178 use hppa && myconf="${myconf} --disable-o_direct"
179
180 if use clvm; then
181 myconf="${myconf} --with-cluster=${buildmode}"
182 # 4-state! Make sure we get it right, per bug 210879
183 # Valid options are: none, cman, gulm, all
184 #
185 # 2009/02:
186 # gulm is removed now, now dual-state:
187 # cman, none
188 # all still exists, but is not needed
189 #
190 # 2009/07:
191 # TODO: add corosync and re-enable ALL
192 local clvmd=""
193 use cman && clvmd="cman"
194 #clvmd="${clvmd/cmangulm/all}"
195 [ -z "${clvmd}" ] && clvmd="none"
196 myconf="${myconf} --with-clvmd=${clvmd}"
197 myconf="${myconf} --with-pool=${buildmode}"
198 else
199 myconf="${myconf} --with-clvmd=none --with-cluster=none"
200 fi
201
202 myconf="${myconf}
203 --sbindir=/sbin
204 --with-staticdir=/sbin
205 --with-dmeventd-path=/sbin/dmeventd"
206 econf $(use_enable readline) \
207 $(use_enable selinux) \
208 --enable-pkgconfig \
209 --libdir=/$(get_libdir) \
210 --with-usrlibdir=/usr/$(get_libdir) \
211 --enable-udev_rules \
212 --enable-udev_sync \
213 --with-udevdir=/$(get_libdir)/udev/rules.d/ \
214 ${myconf} \
215 CLDFLAGS="${LDFLAGS}" || die
216 }
217
218 src_compile() {
219 einfo "Doing symlinks"
220 pushd include
221 emake || die "Failed to prepare symlinks"
222 popd
223
224 einfo "Starting main build"
225 emake || die "compile fail"
226 }
227
228 src_install() {
229 emake DESTDIR="${D}" install || die "Failed to emake install"
230
231 # All of this was change by upstream, and if we don't get any problems, we
232 # can probably drop it in .65
233 #X## Revamp all of our library handling for bug #316571
234 #X## Upstream build script puts a lot of this stuff into /usr/lib regardless of
235 #X## libdir variable.
236 #X#dodir /$(get_libdir)
237 #X## .so -> /$(get_libdir)
238 #X#mv -f "${D}"/usr/lib/lib*.so* "${D}"/$(get_libdir)
239 #X#[[ "$(get_libdir)" != "lib" ]] && \
240 #X# mv "${D}"/usr/$(get_libdir)/lib*.so* "${D}"/$(get_libdir)
241 #X## .a -> /usr/$(get_libdir)
242 #X#[[ "$(get_libdir)" != "lib" ]] && \
243 #X# mv -f "${D}"/usr/lib/lib*.a "${D}"/usr/$(get_libdir)
244 #X## The upstream symlinks are borked. lets rebuild them instead.
245 #X#find "${D}"/{usr,}/{lib,$(get_libdir)} -type l \
246 #X# | xargs rm -f 2>/dev/null
247 #X#for i in "${D}"/$(get_libdir)/*.so.* ; do
248 #X# b="${i//*\/}" o="${b/.so.*/.so}"
249 #X# ln -s "${b}" "${D}/$(get_libdir)/${o}"
250 #X#done
251 #X## Now enable building properly
252 #X#for i in \
253 #X# libdevmapper-event{,-lvm2{,mirror,snapshot}} \
254 #X# libdevmapper \
255 #X# liblvm2{format1,snapshot,cmd,app} \
256 #X# ; do
257 #X# gen_usr_ldscript ${i}.so || die
258 #X#done
259
260 dodoc README VERSION WHATS_NEW doc/*.{conf,c,txt}
261 insinto /$(get_libdir)/rcscripts/addons
262 newins "${FILESDIR}"/lvm2-start.sh-2.02.67-r1 lvm-start.sh || die
263 newins "${FILESDIR}"/lvm2-stop.sh-2.02.67-r1 lvm-stop.sh || die
264 newinitd "${FILESDIR}"/lvm.rc-2.02.67-r1 lvm || die
265 newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.67-r2 lvm-monitoring || die
266 newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm || die
267 if use clvm; then
268 newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd || die
269 newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd || die
270 fi
271
272 # move shared libs to /lib(64)
273 dolib.a libdm/ioctl/libdevmapper.a || die "dolib.a libdevmapper.a"
274 #gen_usr_ldscript libdevmapper.so
275
276 dosbin "${S}"/scripts/lvm2create_initrd/lvm2create_initrd
277 doman "${S}"/scripts/lvm2create_initrd/lvm2create_initrd.8
278 newdoc "${S}"/scripts/lvm2create_initrd/README README.lvm2create_initrd
279
280 insinto /etc
281 doins "${FILESDIR}"/dmtab
282 insinto /$(get_libdir)/rcscripts/addons
283 doins "${FILESDIR}"/dm-start.sh
284
285 # Device mapper stuff
286 newinitd "${FILESDIR}"/device-mapper.rc-2.02.67-r1 device-mapper || die
287 newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper || die
288
289 newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd || die
290 dolib.a daemons/dmeventd/libdevmapper-event.a \
291 || die "dolib.a libdevmapper-event.a"
292 #gen_usr_ldscript libdevmapper-event.so
293
294 #insinto /etc/udev/rules.d/
295 #newins "${FILESDIR}"/64-device-mapper.rules-2.02.56-r3 64-device-mapper.rules || die
296
297 # do not rely on /lib -> /libXX link
298 sed -e "s-/lib/rcscripts/-/$(get_libdir)/rcscripts/-" -i "${D}"/etc/init.d/*
299
300 elog "USE flag nocman is deprecated and replaced"
301 elog "with the cman USE flag."
302 elog ""
303 elog "USE flags clvm and cman are masked"
304 elog "by default and need to be unmasked to use them"
305 elog ""
306 elog "If you are using genkernel and root-on-LVM, rebuild the initramfs."
307 }
308
309 pkg_postinst() {
310 elog "lvm volumes are no longer automatically created for"
311 elog "baselayout-2 users. If you are using baselayout-2, be sure to"
312 elog "run: # rc-update add lvm boot"
313 elog "Do NOT add it if you are using baselayout-1 still."
314 }
315
316 src_test() {
317 einfo "Testcases disabled because of device-node mucking"
318 einfo "If you want them, compile the package and see ${S}/tests"
319 }