Gentoo Archives: gentoo-commits

From: "Doug Goldstein (cardoe)" <cardoe@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/libvirt: ChangeLog libvirt-0.9.13.ebuild
Date: Mon, 02 Jul 2012 18:04:09
Message-Id: 20120702180349.B35262004B@flycatcher.gentoo.org
1 cardoe 12/07/02 18:03:49
2
3 Modified: ChangeLog
4 Added: libvirt-0.9.13.ebuild
5 Log:
6 Version bump
7
8 (Portage version: 2.1.11.3/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.193 app-emulation/libvirt/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/libvirt/ChangeLog?rev=1.193&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/libvirt/ChangeLog?rev=1.193&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/libvirt/ChangeLog?r1=1.192&r2=1.193
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v
20 retrieving revision 1.192
21 retrieving revision 1.193
22 diff -u -r1.192 -r1.193
23 --- ChangeLog 30 Jun 2012 01:44:00 -0000 1.192
24 +++ ChangeLog 2 Jul 2012 18:03:49 -0000 1.193
25 @@ -1,6 +1,11 @@
26 # ChangeLog for app-emulation/libvirt
27 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.192 2012/06/30 01:44:00 cardoe Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.193 2012/07/02 18:03:49 cardoe Exp $
30 +
31 +*libvirt-0.9.13 (02 Jul 2012)
32 +
33 + 02 Jul 2012; Doug Goldstein <cardoe@g.o> +libvirt-0.9.13.ebuild:
34 + Version bump
35
36 *libvirt-0.9.11.4 (30 Jun 2012)
37
38
39
40
41 1.1 app-emulation/libvirt/libvirt-0.9.13.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/libvirt/libvirt-0.9.13.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/libvirt/libvirt-0.9.13.ebuild?rev=1.1&content-type=text/plain
45
46 Index: libvirt-0.9.13.ebuild
47 ===================================================================
48 # Copyright 1999-2012 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/libvirt-0.9.13.ebuild,v 1.1 2012/07/02 18:03:49 cardoe Exp $
51
52 EAPI=4
53
54 #BACKPORTS=1
55 #AUTOTOOLIZE=yes
56
57 MY_P="${P/_rc/-rc}"
58
59 PYTHON_DEPEND="python? 2:2.5"
60 #RESTRICT_PYTHON_ABIS="3.*"
61 #SUPPORT_PYTHON_ABIS="1"
62
63 inherit eutils python user autotools linux-info
64
65 if [[ ${PV} = *9999* ]]; then
66 inherit git-2
67 EGIT_REPO_URI="git://libvirt.org/libvirt.git"
68 AUTOTOOLIZE=yes
69 SRC_URI=""
70 KEYWORDS=""
71 else
72 SRC_URI="http://libvirt.org/sources/${MY_P}.tar.gz
73 ftp://libvirt.org/libvirt/${MY_P}.tar.gz
74 ${BACKPORTS:+
75 http://dev.gentoo.org/~cardoe/distfiles/${MY_P}-bp-${BACKPORTS}.tar.bz2}"
76 KEYWORDS="~amd64 ~x86"
77 fi
78 S="${WORKDIR}/${P%_rc*}"
79
80 DESCRIPTION="C toolkit to manipulate virtual machines"
81 HOMEPAGE="http://www.libvirt.org/"
82 LICENSE="LGPL-2.1"
83 SLOT="0"
84 IUSE="audit avahi +caps debug iscsi +libvirtd lvm +lxc +macvtap nfs \
85 nls numa openvz parted pcap phyp policykit python qemu sasl selinux +udev \
86 uml +vepa virtualbox virt-network xen elibc_glibc"
87 REQUIRED_USE="libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
88 lxc? ( caps libvirtd )
89 openvz? ( libvirtd )
90 qemu? ( libvirtd )
91 uml? ( libvirtd )
92 vepa? ( macvtap )
93 virtualbox? ( libvirtd )
94 xen? ( libvirtd )"
95
96 # gettext.sh command is used by the libvirt command wrappers, and it's
97 # non-optional, so put it into RDEPEND.
98 # We can use both libnl:1.1 and libnl:3, but if you have both installed, the
99 # package will use 1.1 by default
100 RDEPEND="sys-libs/readline
101 sys-libs/ncurses
102 >=net-misc/curl-7.18.0
103 dev-libs/libgcrypt
104 >=dev-libs/libxml2-2.7.6
105 dev-libs/libnl:1.1
106 >=net-libs/gnutls-1.0.25
107 sys-apps/dmidecode
108 >=sys-apps/util-linux-2.17
109 sys-devel/gettext
110 >=net-analyzer/netcat6-1.0-r2
111 app-misc/scrub
112 audit? ( sys-process/audit )
113 avahi? ( >=net-dns/avahi-0.6[dbus] )
114 caps? ( sys-libs/libcap-ng )
115 iscsi? ( sys-block/open-iscsi )
116 lxc? ( sys-power/pm-utils )
117 lvm? ( >=sys-fs/lvm2-2.02.48-r2 )
118 nfs? ( net-fs/nfs-utils )
119 numa? (
120 >sys-process/numactl-2.0.2
121 sys-process/numad
122 )
123 openvz? ( sys-kernel/openvz-sources )
124 parted? (
125 >=sys-block/parted-1.8[device-mapper]
126 sys-fs/lvm2
127 )
128 pcap? ( >=net-libs/libpcap-1.0.0 )
129 phyp? ( net-libs/libssh2 )
130 policykit? ( >=sys-auth/polkit-0.9 )
131 qemu? (
132 || ( app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 )
133 dev-libs/yajl
134 sys-power/pm-utils
135 )
136 sasl? ( dev-libs/cyrus-sasl )
137 selinux? ( >=sys-libs/libselinux-2.0.85 )
138 virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
139 xen? ( app-emulation/xen-tools app-emulation/xen )
140 udev? ( >=sys-fs/udev-145 >=x11-libs/libpciaccess-0.10.9 )
141 virt-network? ( net-dns/dnsmasq
142 >=net-firewall/iptables-1.4.10
143 net-firewall/ebtables
144 sys-apps/iproute2[-minimal] )
145 elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )"
146 # one? ( dev-libs/xmlrpc-c )
147 DEPEND="${RDEPEND}
148 virtual/pkgconfig
149 app-text/xhtml1
150 =dev-lang/python-2*"
151
152 LXC_CONFIG_CHECK="
153 ~CGROUPS
154 ~CGROUP_FREEZER
155 ~CGROUP_DEVICE
156 ~CPUSETS
157 ~CGROUP_CPUACCT
158 ~RESOURCE_COUNTERS
159 ~CGROUP_MEM_RES_CTLR
160 ~CGROUP_SCHED
161 ~BLK_CGROUP
162 ~NAMESPACES
163 ~UTS_NS
164 ~IPC_NS
165 ~USER_NS
166 ~PID_NS
167 ~NET_NS
168 ~DEVPTS_MULTIPLE_INSTANCES
169 ~VETH
170 ~MACVLAN
171 ~POSIX_MQUEUE
172 ~!GRKERNSEC_CHROOT_MOUNT
173 ~!GRKERNSEC_CHROOT_DOUBLE
174 ~!GRKERNSEC_CHROOT_PIVOT
175 ~!GRKERNSEC_CHROOT_CHMOD
176 ~!GRKERNSEC_CHROOT_CAPS
177 "
178
179 VIRTNET_CONFIG_CHECK="
180 ~BRIDGE_NF_EBTABLES
181 ~NETFILTER_ADVANCED
182 ~NETFILTER_XT_TARGET_CHECKSUM
183 "
184
185 MACVTAP_CONFIG_CHECK="~MACVTAP"
186
187 pkg_setup() {
188 python_set_active_version 2
189 python_pkg_setup
190
191 enewgroup qemu 77
192 enewuser qemu 77 -1 -1 qemu kvm
193
194 CONFIG_CHECK=""
195 use lxc && CONFIG_CHECK+="${LXC_CONFIG_CHECK}"
196 use macvtap && CONFIG_CHECK+="${MACVTAP}"
197 use virt-network && CONFIG_CHECK+="${VIRTNET_CONFIG_CHECK}"
198 if [[ -n ${CONFIG_CHECK} ]]; then
199 linux-info_pkg_setup
200 fi
201 }
202
203 src_prepare() {
204 [[ -n ${BACKPORTS} ]] && \
205 EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
206 epatch
207
208 if [[ ${PV} = *9999* ]]; then
209
210 # git checkouts require bootstrapping to create the configure script.
211 # Additionally the submodules must be cloned to the right locations
212 # bug #377279
213 ./bootstrap || die "bootstrap failed"
214 (
215 git submodule status | sed 's/^[ +-]//;s/ .*//'
216 git hash-object bootstrap.conf
217 ) >.git-module-status
218 fi
219
220 epatch_user
221
222 [[ -n ${AUTOTOOLIZE} ]] && eautoreconf
223 }
224
225 src_configure() {
226 local myconf=""
227
228 myconf="${myconf} $(use_enable debug)"
229
230 ## enable/disable daemon, otherwise client only utils
231 myconf="${myconf} $(use_with libvirtd)"
232
233 ## enable/disable the daemon using avahi to find VMs
234 myconf="${myconf} $(use_with avahi)"
235
236 ## hypervisors on the local host
237 myconf="${myconf} $(use_with xen) $(use_with xen xen-inotify)"
238 # leave it automagic as it depends on the version of xen used.
239 use xen || myconf+=" --without-libxl"
240 use xen || myconf+=" --without-xenapi"
241 myconf="${myconf} $(use_with openvz)"
242 myconf="${myconf} $(use_with lxc)"
243 if use virtualbox && has_version app-emulation/virtualbox-ose; then
244 myconf="${myconf} --with-vbox=/usr/lib/virtualbox-ose/"
245 else
246 myconf="${myconf} $(use_with virtualbox vbox)"
247 fi
248 myconf="${myconf} $(use_with uml)"
249 myconf="${myconf} $(use_with qemu)"
250 myconf="${myconf} $(use_with qemu yajl)" # Use QMP over HMP
251 myconf="${myconf} $(use_with phyp)"
252 myconf="${myconf} --with-esx"
253 myconf="${myconf} --with-vmware"
254
255 ## additional host drivers
256 myconf="${myconf} $(use_with virt-network network)"
257 myconf="${myconf} --with-storage-fs"
258 myconf="${myconf} $(use_with lvm storage-lvm)"
259 myconf="${myconf} $(use_with iscsi storage-iscsi)"
260 myconf="${myconf} $(use_with parted storage-disk)"
261 myconf="${myconf} $(use_with lvm storage-mpath)"
262 myconf="${myconf} --without-storage-rbd"
263 myconf="${myconf} $(use_with numa numactl)"
264 myconf="${myconf} $(use_with numa numad)"
265 myconf="${myconf} $(use_with selinux)"
266
267 # udev for device support details
268 myconf="${myconf} $(use_with udev)"
269
270 # linux capability support so we don't need privileged accounts
271 myconf="${myconf} $(use_with caps capng)"
272
273 ## auth stuff
274 myconf="${myconf} $(use_with policykit polkit)"
275 myconf="${myconf} $(use_with sasl)"
276
277 # network bits
278 myconf="${myconf} $(use_with macvtap)"
279 myconf="${myconf} $(use_with pcap libpcap)"
280 myconf="${myconf} $(use_with vepa virtualport)"
281
282 ## other
283 myconf="${myconf} $(use_enable nls)"
284 myconf="${myconf} $(use_with python)"
285
286 # user privilege bits fir qemu/kvm
287 if use caps; then
288 myconf="${myconf} --with-qemu-user=qemu"
289 myconf="${myconf} --with-qemu-group=qemu"
290 else
291 myconf="${myconf} --with-qemu-user=root"
292 myconf="${myconf} --with-qemu-group=root"
293 fi
294
295 # audit support
296 myconf="${myconf} $(use_with audit)"
297
298 ## stuff we don't yet support
299 myconf="${myconf} --without-netcf"
300
301 # we use udev over hal
302 myconf="${myconf} --without-hal"
303
304 # locking support
305 myconf="${myconf} --without-sanlock"
306
307 # this is a nasty trick to work around the problem in bug
308 # #275073. The reason why we don't solve this properly is that
309 # it'll require us to rebuild autotools (and we don't really want
310 # to do that right now). The proper solution has been sent
311 # upstream and should hopefully land in 0.7.7, in the mean time,
312 # mime the same functionality with this.
313 case ${CHOST} in
314 *cygwin* | *mingw* )
315 ;;
316 *)
317 ac_cv_prog_WINDRES=no
318 ;;
319 esac
320
321 econf \
322 ${myconf} \
323 --disable-static \
324 --docdir=/usr/share/doc/${PF} \
325 --with-remote \
326 --localstatedir=/var
327
328 if [[ ${PV} = *9999* ]]; then
329 # Restore gnulib's config.sub and config.guess
330 # bug #377279
331 (cd .gnulib && git reset --hard > /dev/null)
332 fi
333 }
334
335 src_test() {
336 # Explicitly allow parallel build of tests
337 HOME="${T}" emake check || die "tests failed"
338 }
339
340 src_install() {
341 emake install \
342 DESTDIR="${D}" \
343 HTML_DIR=/usr/share/doc/${PF}/html \
344 DOCS_DIR=/usr/share/doc/${PF}/python \
345 EXAMPLE_DIR=/usr/share/doc/${PF}/python/examples \
346 || die "emake install failed"
347
348 find "${D}" -name '*.la' -delete || die
349
350 use libvirtd || return 0
351 # From here, only libvirtd-related instructions, be warned!
352
353 newinitd "${FILESDIR}/libvirtd.init-r8" libvirtd || die
354 newconfd "${FILESDIR}/libvirtd.confd-r3" libvirtd || die
355
356 keepdir /var/lib/libvirt/images
357 }
358
359 pkg_preinst() {
360 # we only ever want to generate this once
361 if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
362 rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
363 fi
364
365 # We really don't want to use or support old PolicyKit cause it
366 # screws with the new polkit integration
367 if has_version sys-auth/policykit; then
368 rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy
369 fi
370
371 # Only sysctl files ending in .conf work
372 mv "${D}"/etc/sysctl.d/libvirtd "${D}"/etc/sysctl.d/libvirtd.conf
373 }
374
375 pkg_postinst() {
376 use python && python_mod_optimize libvirt.py
377
378 # support for dropped privileges
379 if use qemu; then
380 fperms 0750 "${EROOT}/var/lib/libvirt/qemu"
381 fperms 0750 "${EROOT}/var/cache/libvirt/qemu"
382 fi
383
384 if use caps && use qemu; then
385 fowners -R qemu:qemu "${EROOT}/var/lib/libvirt/qemu"
386 fowners -R qemu:qemu "${EROOT}/var/cache/libvirt/qemu"
387 elif use qemu; then
388 fowners -R root:root "${EROOT}/var/lib/libvirt/qemu"
389 fowners -R root:root "${EROOT}/var/cache/libvirt/qemu"
390 fi
391
392 if ! use policykit; then
393 elog "To allow normal users to connect to libvirtd you must change the"
394 elog "unix sock group and/or perms in /etc/libvirt/libvirtd.conf"
395 fi
396
397 use libvirtd || return 0
398 # From here, only libvirtd-related instructions, be warned!
399
400 elog
401 elog "For the basic networking support (bridged and routed networks)"
402 elog "you don't need any extra software. For more complex network modes"
403 elog "including but not limited to NATed network, you can enable the"
404 elog "'virt-network' USE flag."
405 elog
406 if has_version net-dns/dnsmasq; then
407 ewarn "If you have a DNS server setup on your machine, you will have"
408 ewarn "to configure /etc/dnsmasq.conf to enable the following settings: "
409 ewarn " bind-interfaces"
410 ewarn " interface or except-interface"
411 ewarn
412 ewarn "Otherwise you might have issues with your existing DNS server."
413 fi
414
415 if use caps && use qemu; then
416 elog "libvirt will now start qemu/kvm VMs with non-root privileges."
417 elog "Ensure any resources your VMs use are accessible by qemu:qemu"
418 fi
419 }
420
421 pkg_postrm() {
422 use python && python_mod_cleanup libvirt.py
423 }