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.56-r1.ebuild
Date: Mon, 30 Nov 2009 00:51:39
Message-Id: E1NEuUK-0007ZM-K5@stork.gentoo.org
1 robbat2 09/11/30 00:51:36
2
3 Modified: ChangeLog
4 Added: lvm2-2.02.56-r1.ebuild
5 Log:
6 Bug #276803: Always build static libdevicemapper for cryptsetup to optionally link to. Same behavior that sys-fs/devicemapper used to have.
7 (Portage version: 2.2_rc51/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.187 sys-fs/lvm2/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.187&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-fs/lvm2/ChangeLog?rev=1.187&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-fs/lvm2/ChangeLog?r1=1.186&r2=1.187
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v
19 retrieving revision 1.186
20 retrieving revision 1.187
21 diff -p -w -b -B -u -u -r1.186 -r1.187
22 --- ChangeLog 30 Nov 2009 00:33:13 -0000 1.186
23 +++ ChangeLog 30 Nov 2009 00:51:36 -0000 1.187
24 @@ -1,6 +1,14 @@
25 # ChangeLog for sys-fs/lvm2
26 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.186 2009/11/30 00:33:13 robbat2 Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.187 2009/11/30 00:51:36 robbat2 Exp $
29 +
30 +*lvm2-2.02.56-r1 (30 Nov 2009)
31 +
32 + 30 Nov 2009; Robin H. Johnson <robbat2@g.o>
33 + +lvm2-2.02.56-r1.ebuild,
34 + +files/lvm2-2.02.56-always-make-static-libdm.patch:
35 + Bug #276803: Always build static libdevicemapper for cryptsetup to
36 + optionally link to. Same behavior that sys-fs/devicemapper used to have.
37
38 *lvm2-2.02.56 (30 Nov 2009)
39
40
41
42
43 1.1 sys-fs/lvm2/lvm2-2.02.56-r1.ebuild
44
45 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-fs/lvm2/lvm2-2.02.56-r1.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-fs/lvm2/lvm2-2.02.56-r1.ebuild?rev=1.1&content-type=text/plain
47
48 Index: lvm2-2.02.56-r1.ebuild
49 ===================================================================
50 # Copyright 1999-2009 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.56-r1.ebuild,v 1.1 2009/11/30 00:51:36 robbat2 Exp $
53
54 EAPI=2
55 inherit eutils multilib toolchain-funcs autotools
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 ~sparc ~x86"
65
66 IUSE="readline +static clvm cman +lvm1 selinux"
67
68 DEPEND="!!sys-fs/device-mapper
69 clvm? ( =sys-cluster/dlm-2*
70 cman? ( =sys-cluster/cman-2* ) )"
71
72 RDEPEND="${DEPEND}
73 !<sys-apps/openrc-0.4
74 !!sys-fs/lvm-user
75 !!sys-fs/clvm
76 >=sys-apps/util-linux-2.16"
77
78 S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
79
80 pkg_setup() {
81 # 1. Genkernel no longer copies /sbin/lvm blindly.
82 # 2. There are no longer any linking deps in /usr.
83 if use static; then
84 elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
85 elog "their static versions. If you need the static binaries,"
86 elog "you must append .static the filename!"
87 fi
88 }
89
90 src_unpack() {
91 unpack ${A}
92 }
93
94 src_prepare() {
95 epatch "${FILESDIR}"/${PN}-2.02.56-dmeventd.patch
96 epatch "${FILESDIR}"/lvm.conf-2.02.56.patch
97 epatch "${FILESDIR}"/${PN}-2.02.56-device-mapper-export-format.patch
98
99 # Merged upstream:
100 #epatch "${FILESDIR}"/${PN}-2.02.51-as-needed.patch
101 # Merged upstream:
102 #epatch "${FILESDIR}"/${PN}-2.02.48-fix-pkgconfig.patch
103 # Merged upstream:
104 #epatch "${FILESDIR}"/${PN}-2.02.51-fix-pvcreate.patch
105 # Fixed differently upstream:
106 #epatch "${FILESDIR}"/${PN}-2.02.51-dmsetup-selinux-linking-fix-r3.patch
107
108 epatch "${FILESDIR}"/${PN}-2.02.56-always-make-static-libdm.patch
109
110 eautoreconf
111 }
112
113 src_configure() {
114 local myconf
115 local buildmode
116
117 myconf="${myconf} --enable-dmeventd"
118 myconf="${myconf} --enable-cmdlib"
119 myconf="${myconf} --enable-applib"
120 myconf="${myconf} --enable-fsadm"
121
122 # Most of this package does weird stuff.
123 # The build options are tristate, and --without is NOT supported
124 # options: 'none', 'internal', 'shared'
125 if use static ; then
126 einfo "Building static LVM, for usage inside genkernel"
127 buildmode="internal"
128 # This only causes the .static versions to become available
129 # For recent systems, there are no linkages against anything in /usr anyway.
130 # We explicitly provide the .static versions so that they can be included in
131 # initramfs environments.
132 myconf="${myconf} --enable-static_link"
133 else
134 ewarn "Building shared LVM, it will not work inside genkernel!"
135 buildmode="shared"
136 fi
137
138 # dmeventd requires mirrors to be internal, and snapshot available
139 # so we cannot disable them
140 myconf="${myconf} --with-mirrors=internal"
141 myconf="${myconf} --with-snapshots=internal"
142
143 if use lvm1 ; then
144 myconf="${myconf} --with-lvm1=${buildmode}"
145 else
146 myconf="${myconf} --with-lvm1=none"
147 fi
148
149 # disable O_DIRECT support on hppa, breaks pv detection (#99532)
150 use hppa && myconf="${myconf} --disable-o_direct"
151
152 if use clvm; then
153 myconf="${myconf} --with-cluster=${buildmode}"
154 # 4-state! Make sure we get it right, per bug 210879
155 # Valid options are: none, cman, gulm, all
156 #
157 # 2009/02:
158 # gulm is removed now, now dual-state:
159 # cman, none
160 # all still exists, but is not needed
161 #
162 # 2009/07:
163 # TODO: add corosync and re-enable ALL
164 local clvmd=""
165 use cman && clvmd="cman"
166 #clvmd="${clvmd/cmangulm/all}"
167 [ -z "${clvmd}" ] && clvmd="none"
168 myconf="${myconf} --with-clvmd=${clvmd}"
169 myconf="${myconf} --with-pool=${buildmode}"
170 else
171 myconf="${myconf} --with-clvmd=none --with-cluster=none"
172 fi
173
174 myconf="${myconf} --sbindir=/sbin --with-staticdir=/sbin"
175 econf $(use_enable readline) \
176 $(use_enable selinux) \
177 --enable-pkgconfig \
178 --libdir=/usr/$(get_libdir) \
179 ${myconf} \
180 CLDFLAGS="${LDFLAGS}" || die
181 }
182
183 src_compile() {
184 einfo "Doing symlinks"
185 pushd include
186 emake || die "Failed to prepare symlinks"
187 popd
188
189 einfo "Starting main build"
190 emake || die "compile fail"
191 }
192
193 src_install() {
194 emake DESTDIR="${D}" install
195
196 dodir /$(get_libdir)
197 # Put these in root so we can reach before /usr is up
198 for i in \
199 libdevmapper-event{,-lvm2{mirror,snapshot}} \
200 libdevmapper \
201 liblvm2{format1,snapshot,cmd} \
202 ; do
203 b="${D}"/usr/$(get_libdir)/${i}
204 if [ -f "${b}".so ]; then
205 mv -f "${b}".so* "${D}"/$(get_libdir) || die
206 gen_usr_ldscript ${i}.so || die
207 fi
208 done
209
210 dodoc README VERSION WHATS_NEW doc/*.{conf,c,txt}
211 insinto /$(get_libdir)/rcscripts/addons
212 newins "${FILESDIR}"/lvm2-start.sh-2.02.49-r3 lvm-start.sh || die
213 newins "${FILESDIR}"/lvm2-stop.sh-2.02.49-r3 lvm-stop.sh || die
214 newinitd "${FILESDIR}"/lvm.rc-2.02.51-r2 lvm || die
215 newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm || die
216 if use clvm; then
217 newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd || die
218 newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd || die
219 fi
220
221 # move shared libs to /lib(64)
222 dolib.a libdm/ioctl/libdevmapper.a || die "dolib.a libdevmapper.a"
223 #gen_usr_ldscript libdevmapper.so
224
225 insinto /etc
226 doins "${FILESDIR}"/dmtab
227 insinto /$(get_libdir)/rcscripts/addons
228 doins "${FILESDIR}"/dm-start.sh
229
230 # Device mapper stuff
231 newinitd "${FILESDIR}"/device-mapper.rc-1.02.51-r2 device-mapper || die
232 newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper || die
233
234 newinitd "${FILESDIR}"/1.02.22-dmeventd.initd dmeventd || die
235 dolib.a daemons/dmeventd/libdevmapper-event.a \
236 || die "dolib.a libdevmapper-event.a"
237 #gen_usr_ldscript libdevmapper-event.so
238
239 insinto /etc/udev/rules.d/
240 newins "${FILESDIR}"/64-device-mapper.rules-1.02.49-r2 64-device-mapper.rules || die
241
242 # do not rely on /lib -> /libXX link
243 sed -e "s-/lib/rcscripts/-/$(get_libdir)/rcscripts/-" -i "${D}"/etc/init.d/*
244
245 elog "USE flag nocman is deprecated and replaced"
246 elog "with the cman USE flag."
247 elog ""
248 elog "USE flags clvm and cman are masked"
249 elog "by default and need to be unmasked to use them"
250 elog ""
251 elog "Rebuild your genkernel initramfs if you are using lvm"
252 }
253
254 pkg_postinst() {
255 elog "lvm volumes are no longer automatically created for"
256 elog "baselayout-2 users. If you are using baselayout-2, be sure to"
257 elog "run: # rc-update add lvm boot"
258 elog "Do NOT add it if you are using baselayout-1 still."
259 }
260
261 src_test() {
262 einfo "Testcases disabled because of device-node mucking"
263 einfo "If you want them, compile the package and see ${S}/tests"
264 }