Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/libvirt/files/, app-emulation/libvirt/
Date: Thu, 30 Jun 2016 16:18:48
Message-Id: 1467303514.31eba666d070804f00c7285f4d2f9f7ea6b672c7.tamiko@gentoo
1 commit: 31eba666d070804f00c7285f4d2f9f7ea6b672c7
2 Author: Matthias Maier <tamiko <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 30 16:11:44 2016 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 30 16:18:34 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31eba666
7
8 app-emulation/libvirt: drop old versions 1.2.21, 1.3.1
9
10 Package-Manager: portage-2.2.28
11
12 app-emulation/libvirt/Manifest | 3 -
13 .../libvirt-1.2.17-fix_paths_for_apparmor.patch | 148 --------
14 .../files/libvirt-1.2.9-do_not_use_sysconf.patch | 112 ------
15 app-emulation/libvirt/files/libvirt-guests.init-r1 | 235 -------------
16 app-emulation/libvirt/files/libvirtd.init-r15 | 38 --
17 app-emulation/libvirt/libvirt-1.2.21-r2.ebuild | 380 --------------------
18 app-emulation/libvirt/libvirt-1.3.1-r1.ebuild | 385 ---------------------
19 7 files changed, 1301 deletions(-)
20
21 diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
22 index c416f0f..3c3efc0 100644
23 --- a/app-emulation/libvirt/Manifest
24 +++ b/app-emulation/libvirt/Manifest
25 @@ -1,5 +1,2 @@
26 -DIST libvirt-1.2.21-20151222.tar.xz 1684 SHA256 6c97f288470ec58bcbe98507563c6a191892c6f8813a7b9688c09b823934cbe5 SHA512 4fd43f0e12434b78ac3e671ad8eb0e402d384cff6278f6d0db322a068c2c8807c7c7f7e5774aa9d19e2a85e49f6d9888908b32fca5fc04980134edaccba0afe2 WHIRLPOOL 2bfbc3cbf1ca44a2bb06ddf2e8eabeb116165560b9c73d649d7b8cc9baba851f5e9246414bfc2c4740f27d0d0d42b6176eaec43b05e8c1e54de2804150c2cde1
27 -DIST libvirt-1.2.21.tar.gz 29848954 SHA256 8d406582f5fe88d739d1d83e0ba7ac7f91f5a8da4be82162ab85631744d8925b SHA512 5c15d0ba5d75c13f735c6a60dfdbad007426f77e113f95894d520f7fc358fa4361d5cce7bb9a548a436f323b845f13b8940abbad568b8b146418430068bb970e WHIRLPOOL d53bbb07c85b3aa2d9b0f38ff2edd3cd0a2a5300627f3e2f0a82bc057303617cab9d6f1d8a9a771bd968b0496d38d3a39a0154f88bdca44dda359a65fdc2c650
28 -DIST libvirt-1.3.1.tar.gz 29900143 SHA256 a5d43fbed34d31eeffc641d2ac9b6026a57bf1a4fa74d0fa19a9891d9ec2c21a SHA512 a109c09d947f7c5e924fdbc9c9b6c0a9d6ff64d9411aedd9a3e710d20f749b088ff9895e882dd888b88bfea7724a8933534be4078f16cb9d2047da761515e804 WHIRLPOOL 62fb8486bfa53d55b397d9a90750d32a83f0a73cf2e6685f296489390abf9c62efc69fecd6d011fc51e9f562f75f5b8ce03208c350e98d20de0a5560721c675e
29 DIST libvirt-1.3.4.tar.gz 30493908 SHA256 e2396ebebb3f3fdb50429ce8faa99559f6e8e3cc0493d5fa0c1999db189c25bd SHA512 6f85e4cd8a696da729bb88368c608694119258c6ab7f9b99f41c34a6cc4492d9ad90b8ff1574fd4ee6c78c674a3a501db60d1d3ba898f7013321ecc996612919 WHIRLPOOL af4a8a0e3d746f50e0f9d95e3920c023c5bbec0d7c641f43aea580db9b95a793027f7579ecd94625a68b7e3662c328d94b7b2d243afea60a8d2f31cab1cc9319
30 DIST libvirt-1.3.5.tar.gz 35109092 SHA256 93a23c44eb431da46c9458f95a66e29c9b98e37515d44b6be09e75b35ec94ac8 SHA512 6c6a09623d3d4d426311bfa7039f5e39584d5f891b8e761bbdb3022601ea066b8e1c3f8d609326e8ba4081ae40b7b03086fbc8ba5759d218b8616ec98200a89d WHIRLPOOL 88ac308cc461efff842c27e40263a3b25ce0bc0ca310fb6e9def9126ab893fe43aed01bda9fc3615439ee797c36e2800f741b346e0b3d96aac64e7909c269879
31
32 diff --git a/app-emulation/libvirt/files/libvirt-1.2.17-fix_paths_for_apparmor.patch b/app-emulation/libvirt/files/libvirt-1.2.17-fix_paths_for_apparmor.patch
33 deleted file mode 100644
34 index c608295..0000000
35 --- a/app-emulation/libvirt/files/libvirt-1.2.17-fix_paths_for_apparmor.patch
36 +++ /dev/null
37 @@ -1,148 +0,0 @@
38 -diff --git a/examples/apparmor/Makefile.am b/examples/apparmor/Makefile.am
39 -index 7a20e16..c3c67b6 100644
40 ---- a/examples/apparmor/Makefile.am
41 -+++ b/examples/apparmor/Makefile.am
42 -@@ -19,13 +19,13 @@ EXTRA_DIST= \
43 - TEMPLATE.lxc \
44 - libvirt-qemu \
45 - libvirt-lxc \
46 -- usr.lib.libvirt.virt-aa-helper \
47 -+ usr.libexec.virt-aa-helper \
48 - usr.sbin.libvirtd
49 -
50 - if WITH_APPARMOR_PROFILES
51 - apparmordir = $(sysconfdir)/apparmor.d/
52 - apparmor_DATA = \
53 -- usr.lib.libvirt.virt-aa-helper \
54 -+ usr.libexec.virt-aa-helper \
55 - usr.sbin.libvirtd \
56 - $(NULL)
57 -
58 -diff --git a/examples/apparmor/usr.lib.libvirt.virt-aa-helper b/examples/apparmor/usr.lib.libvirt.virt-aa-helper
59 -deleted file mode 100644
60 -index b34fb35..0000000
61 ---- a/examples/apparmor/usr.lib.libvirt.virt-aa-helper
62 -+++ /dev/null
63 -@@ -1,48 +0,0 @@
64 --# Last Modified: Mon Apr 5 15:10:27 2010
65 --#include <tunables/global>
66 --
67 --profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper {
68 -- #include <abstractions/base>
69 --
70 -- # needed for searching directories
71 -- capability dac_override,
72 -- capability dac_read_search,
73 --
74 -- # needed for when disk is on a network filesystem
75 -- network inet,
76 --
77 -- deny @{PROC}/[0-9]*/mounts r,
78 -- @{PROC}/[0-9]*/net/psched r,
79 -- owner @{PROC}/[0-9]*/status r,
80 -- @{PROC}/filesystems r,
81 --
82 -- # for hostdev
83 -- /sys/devices/ r,
84 -- /sys/devices/** r,
85 --
86 -- /usr/{lib,lib64}/libvirt/virt-aa-helper mr,
87 -- /sbin/apparmor_parser Ux,
88 --
89 -- /etc/apparmor.d/libvirt/* r,
90 -- /etc/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw,
91 --
92 -- # for backingstore -- allow access to non-hidden files in @{HOME} as well
93 -- # as storage pools
94 -- audit deny @{HOME}/.* mrwkl,
95 -- audit deny @{HOME}/.*/ rw,
96 -- audit deny @{HOME}/.*/** mrwkl,
97 -- audit deny @{HOME}/bin/ rw,
98 -- audit deny @{HOME}/bin/** mrwkl,
99 -- @{HOME}/ r,
100 -- @{HOME}/** r,
101 -- /var/lib/libvirt/images/ r,
102 -- /var/lib/libvirt/images/** r,
103 -- /{media,mnt,opt,srv}/** r,
104 --
105 -- /**.img r,
106 -- /**.qcow{,2} r,
107 -- /**.qed r,
108 -- /**.vmdk r,
109 -- /**.[iI][sS][oO] r,
110 -- /**/disk{,.*} r,
111 --}
112 -diff --git a/examples/apparmor/usr.libexec.virt-aa-helper b/examples/apparmor/usr.libexec.virt-aa-helper
113 -new file mode 100644
114 -index 0000000..b34fb35
115 ---- /dev/null
116 -+++ b/examples/apparmor/usr.libexec.virt-aa-helper
117 -@@ -0,0 +1,48 @@
118 -+# Last Modified: Mon Apr 5 15:10:27 2010
119 -+#include <tunables/global>
120 -+
121 -+profile virt-aa-helper /usr/libexec/virt-aa-helper {
122 -+ #include <abstractions/base>
123 -+
124 -+ # needed for searching directories
125 -+ capability dac_override,
126 -+ capability dac_read_search,
127 -+
128 -+ # needed for when disk is on a network filesystem
129 -+ network inet,
130 -+
131 -+ deny @{PROC}/[0-9]*/mounts r,
132 -+ @{PROC}/[0-9]*/net/psched r,
133 -+ owner @{PROC}/[0-9]*/status r,
134 -+ @{PROC}/filesystems r,
135 -+
136 -+ # for hostdev
137 -+ /sys/devices/ r,
138 -+ /sys/devices/** r,
139 -+
140 -+ /usr/libexec/virt-aa-helper mr,
141 -+ /sbin/apparmor_parser Ux,
142 -+
143 -+ /etc/apparmor.d/libvirt/* r,
144 -+ /etc/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw,
145 -+
146 -+ # for backingstore -- allow access to non-hidden files in @{HOME} as well
147 -+ # as storage pools
148 -+ audit deny @{HOME}/.* mrwkl,
149 -+ audit deny @{HOME}/.*/ rw,
150 -+ audit deny @{HOME}/.*/** mrwkl,
151 -+ audit deny @{HOME}/bin/ rw,
152 -+ audit deny @{HOME}/bin/** mrwkl,
153 -+ @{HOME}/ r,
154 -+ @{HOME}/** r,
155 -+ /var/lib/libvirt/images/ r,
156 -+ /var/lib/libvirt/images/** r,
157 -+ /{media,mnt,opt,srv}/** r,
158 -+
159 -+ /**.img r,
160 -+ /**.qcow{,2} r,
161 -+ /**.qed r,
162 -+ /**.vmdk r,
163 -+ /**.[iI][sS][oO] r,
164 -+ /**/disk{,.*} r,
165 -+}
166 -diff --git a/examples/apparmor/usr.sbin.libvirtd b/examples/apparmor/usr.sbin.libvirtd
167 -index 5d606e6..ab2f1a9 100644
168 ---- a/examples/apparmor/usr.sbin.libvirtd
169 -+++ b/examples/apparmor/usr.sbin.libvirtd
170 -@@ -58,8 +58,10 @@
171 - audit deny /sys/kernel/security/apparmor/.* rwxl,
172 - /sys/kernel/security/apparmor/profiles r,
173 - /usr/{lib,lib64}/libvirt/* PUxr,
174 -- /usr/{lib,lib64}/libvirt/libvirt_parthelper ix,
175 -- /usr/{lib,lib64}/libvirt/libvirt_iohelper ix,
176 -+ /usr/libexec/virt-aa-helper PUxr,
177 -+ /usr/libexec/libvirt_lxc PUxr,
178 -+ /usr/libexec/libvirt_parthelper ix,
179 -+ /usr/libexec/libvirt_iohelper ix,
180 - /etc/libvirt/hooks/** rmix,
181 - /etc/xen/scripts/** rmix,
182 -
183 ---
184 -2.3.6
185 -
186
187 diff --git a/app-emulation/libvirt/files/libvirt-1.2.9-do_not_use_sysconf.patch b/app-emulation/libvirt/files/libvirt-1.2.9-do_not_use_sysconf.patch
188 deleted file mode 100644
189 index e766f49..0000000
190 --- a/app-emulation/libvirt/files/libvirt-1.2.9-do_not_use_sysconf.patch
191 +++ /dev/null
192 @@ -1,112 +0,0 @@
193 -From 69372a32025ac16578ad277c6356e89713a3f9f4 Mon Sep 17 00:00:00 2001
194 -From: Matthias Maier <tamiko@××××××××××.org>
195 -Date: Mon, 3 Nov 2014 00:51:35 +0100
196 -Subject: [PATCH] Do not use /etc/sysconf
197 -
198 ----
199 - daemon/Makefile.am | 4 +---
200 - daemon/libvirtd.service.in | 3 +--
201 - src/Makefile.am | 3 ---
202 - src/locking/virtlockd.service.in | 3 +--
203 - tools/Makefile.am | 2 +-
204 - tools/libvirt-guests.service.in | 2 +-
205 - 6 files changed, 5 insertions(+), 12 deletions(-)
206 -
207 -diff --git a/daemon/Makefile.am b/daemon/Makefile.am
208 -index b95a79d..1e98422 100644
209 ---- a/daemon/Makefile.am
210 -+++ b/daemon/Makefile.am
211 -@@ -328,9 +328,7 @@ uninstall-logrotate:
212 - rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
213 -
214 - install-sysconfig:
215 -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
216 -- $(INSTALL_DATA) $(srcdir)/libvirtd.sysconf \
217 -- $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd
218 -+
219 - uninstall-sysconfig:
220 - rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd
221 - rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
222 -diff --git a/daemon/libvirtd.service.in b/daemon/libvirtd.service.in
223 -index 1759ac8..cd337a1 100644
224 ---- a/daemon/libvirtd.service.in
225 -+++ b/daemon/libvirtd.service.in
226 -@@ -10,8 +10,7 @@ Documentation=http://libvirt.org
227 -
228 - [Service]
229 - Type=notify
230 --EnvironmentFile=-/etc/sysconfig/libvirtd
231 --ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
232 -+ExecStart=@sbindir@/libvirtd
233 - ExecReload=/bin/kill -HUP $MAINPID
234 - KillMode=process
235 - Restart=on-failure
236 -diff --git a/src/Makefile.am b/src/Makefile.am
237 -index e65177f..18bbbb4 100644
238 ---- a/src/Makefile.am
239 -+++ b/src/Makefile.am
240 -@@ -2269,9 +2269,6 @@ EXTRA_DIST += locking/virtlockd.sysconf \
241 - locking/test_libvirt_lockd.aug.in
242 -
243 - install-sysconfig:
244 -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
245 -- $(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
246 -- $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
247 -
248 - uninstall-sysconfig:
249 - rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
250 -diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in
251 -index 57089b0..ace0c83 100644
252 ---- a/src/locking/virtlockd.service.in
253 -+++ b/src/locking/virtlockd.service.in
254 -@@ -5,8 +5,7 @@ Documentation=man:virtlockd(8)
255 - Documentation=http://libvirt.org
256 -
257 - [Service]
258 --EnvironmentFile=-/etc/sysconfig/virtlockd
259 --ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS
260 -+ExecStart=@sbindir@/virtlockd
261 - ExecReload=/bin/kill -USR1 $MAINPID
262 - # Loosing the locks is a really bad thing that will
263 - # cause the machine to be fenced (rebooted), so make
264 -diff --git a/tools/Makefile.am b/tools/Makefile.am
265 -index 93d642d..2da0e97 100644
266 ---- a/tools/Makefile.am
267 -+++ b/tools/Makefile.am
268 -@@ -259,7 +259,7 @@ uninstall-local: uninstall-init uninstall-systemd
269 - install-sysconfig:
270 - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
271 - $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \
272 -- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests
273 -+ $(DESTDIR)$(sysconfdir)/libvirt/libvirt-guests.conf
274 -
275 - uninstall-sysconfig:
276 - rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests
277 -diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in
278 -index cc04b6d..9be514b 100644
279 ---- a/tools/libvirt-guests.service.in
280 -+++ b/tools/libvirt-guests.service.in
281 -@@ -5,7 +5,7 @@ Documentation=man:libvirtd(8)
282 - Documentation=http://libvirt.org
283 -
284 - [Service]
285 --EnvironmentFile=-/etc/sysconfig/libvirt-guests
286 -+EnvironmentFile=-/etc/libvirt/libvirt-guests.conf
287 - # Hack just call traditional service until we factor
288 - # out the code
289 - ExecStart=@libexecdir@/libvirt-guests.sh start
290 ---- a/tools/libvirt-guests.sysconf
291 -+++ b/tools/libvirt-guests.sysconf
292 -@@ -1,3 +1,10 @@
293 -+#
294 -+# Warning: This configuration file is only sourced by the systemd
295 -+# libvirt-guests.service unit. The coresponding openrc facility is in
296 -+# /etc/init.d/libvirtd and /etc/conf.d/libvirtd
297 -+#
298 -+
299 -+
300 - # URIs to check for running guests
301 - # example: URIS='default xen:/// vbox+tcp://host/system lxc:///'
302 - #URIS=default
303 ---
304 -2.0.4
305
306 diff --git a/app-emulation/libvirt/files/libvirt-guests.init-r1 b/app-emulation/libvirt/files/libvirt-guests.init-r1
307 deleted file mode 100644
308 index 6d81469..0000000
309 --- a/app-emulation/libvirt/files/libvirt-guests.init-r1
310 +++ /dev/null
311 @@ -1,235 +0,0 @@
312 -#!/sbin/openrc-run
313 -
314 -description="Virtual Machine Management (libvirt) Guests"
315 -
316 -depend() {
317 - need libvirtd
318 -}
319 -
320 -# set the default to QEMU
321 -[ -z "${LIBVIRT_URIS}" ] && LIBVIRT_URIS="qemu:///system"
322 -
323 -# default to suspending the VM via managedsave
324 -case "${LIBVIRT_SHUTDOWN}" in
325 - managedsave|shutdown|destroy) ;;
326 - *) LIBVIRT_SHUTDOWN="managedsave" ;;
327 -esac
328 -
329 -# default to 500 seconds
330 -[ -z ${LIBVIRT_MAXWAIT} ] && LIBVIRT_MAXWAIT=500
331 -
332 -gueststatefile="/var/lib/libvirt/libvirt-guests.state"
333 -netstatefile="/var/lib/libvirt/libvirt-net.state"
334 -
335 -do_virsh() {
336 - local hvuri=$1
337 - shift
338 -
339 - # if unset, default to qemu
340 - [ -z ${hvuri} ] && hvuri="qemu:///system"
341 - # if only qemu was supplied then correct the value
342 - [ "xqemu" = x${hvuri} ] && hvuri="qemu:///system"
343 -
344 - # Silence errors because virsh always throws an error about
345 - # not finding the hypervisor version when connecting to libvirtd
346 - # lastly strip the blank line at the end
347 - LC_ALL=C virsh -c ${hvuri} "$@" 2>/dev/null | head -n -1
348 -}
349 -
350 -libvirtd_dom_list() {
351 - # Only work with domains by their UUIDs
352 - local hvuri=$1
353 - shift
354 -
355 - do_virsh "${hvuri}" list --uuid $@
356 -}
357 -
358 -libvirtd_dom_count() {
359 - local hvuri=$1
360 - shift
361 -
362 - libvirtd_dom_list "${hvuri}" $@ | wc -l
363 -}
364 -
365 -libvirtd_net_list() {
366 - # Only work with networks by their UUIDs
367 - local hvuri=$1
368 - shift
369 -
370 - do_virsh "${hvuri}" net-list --uuid $@
371 -}
372 -
373 -libvirtd_net_count() {
374 - local hvuri=$1
375 - shift
376 -
377 - libvirtd_net_list "${hvuri}" $@ | wc -l
378 -}
379 -
380 -libvirtd_dom_stop() {
381 - # stops all persistent or transient domains for a given URI
382 - # $1 - uri
383 - # $2 - persisent/transient
384 -
385 - local uri=$1
386 - local persist=$2
387 - local shutdown_type=${LIBVIRT_SHUTDOWN}
388 - local counter=${LIBVIRT_MAXWAIT}
389 - local dom_name=
390 - local dom_as=
391 - local dom_ids=
392 - local uuid=
393 - local dom_count=
394 -
395 - [ "${persist}" = "--transient" ] && shutdown_type="shutdown"
396 - [ -n "${counter}" ] || counter=500
397 -
398 - einfo " Shutting down domain(s) ..."
399 -
400 - # grab all persistent or transient domains running
401 - dom_ids=$(libvirtd_dom_list ${uri} ${persist})
402 -
403 - for uuid in ${dom_ids}; do
404 - # Get the name
405 - dom_name=$(do_virsh ${uri} domname ${uuid})
406 - einfo " ${dom_name}"
407 - # Get autostart state
408 - dom_as=$(do_virsh ${uri} dominfo ${uuid} | \
409 - awk '$1 == "Autostart:" { print $2 }')
410 -
411 - if [ "${persist}" = "--persistent" ]; then
412 - # Save our running state only if LIBVIRT_IGNORE_AUTOSTART != yes
413 - if [ "x${LIBVIRT_IGNORE_AUTOSTART}" = "xyes" ] && \
414 - [ ${dom_as} = "enabled" ]; then
415 - :
416 - else
417 - echo "${uri} ${uuid}" >> ${gueststatefile}
418 - fi
419 -
420 - fi
421 -
422 - # Now let's stop it
423 - do_virsh "${uri}" ${shutdown_type} ${uuid} > /dev/null
424 -
425 - done
426 -
427 - dom_count="$(libvirtd_dom_count ${uri} ${persist})"
428 - while [ ${dom_count} -gt 0 ] && [ ${counter} -gt 0 ] ; do
429 - dom_count="$(libvirtd_dom_count ${uri} ${persist})"
430 - sleep 1
431 - if [ "${shutdown_type}" = "shutdown" ]; then
432 - counter=$((${counter} - 1))
433 - fi
434 - echo -n "."
435 - done
436 -
437 - if [ "${shutdown_type}" = "shutdown" ]; then
438 - # grab all domains still running
439 - dom_ids=$(libvirtd_dom_list ${uri} ${persist})
440 - for uuid in ${dom_ids}; do
441 - dom_name=$(do_virsh ${uri} domname ${uuid})
442 - eerror " ${dom_name} forcibly stopped"
443 - do_virsh "${uri}" destroy ${uuid} > /dev/null
444 - done
445 - fi
446 -}
447 -
448 -libvirtd_net_stop() {
449 - # stops all persistent or transient domains for a given URI
450 - # $1 - uri
451 - # $2 - persisent/transient
452 -
453 - local uri=$1
454 - local persist=$2
455 - local uuid=
456 - local net_name=
457 -
458 - if [ "${LIBVIRT_NET_SHUTDOWN}" != "no" ]; then
459 -
460 - einfo " Shutting down network(s):"
461 - for uuid in $(libvirtd_net_list ${uri} ${persist}); do
462 - net_name=$(do_virsh ${uri} net-name ${uuid})
463 - einfo " ${net_name}"
464 -
465 - if [ "${persist}" = "--persistent" ]; then
466 - # Save our running state
467 - echo "${uri} ${uuid}" >> ${netstatefile}
468 -
469 - fi
470 -
471 - # Actually stop the network
472 - do_virsh qemu net-destroy ${uuid} > /dev/null
473 - done
474 -
475 - fi
476 -}
477 -
478 -start() {
479 - local uri=
480 - local uuid=
481 - local name=
482 -
483 - for uri in ${LIBVIRT_URIS}; do
484 - do_virsh "${uri}" connect
485 - if [ $? -ne 0 ]; then
486 - eerror "Failed to connect to '${uri}'. Domains may not start."
487 - fi
488 - done
489 -
490 - [ ! -e "${netstatefile}" ] && touch "${netstatefile}"
491 - [ ! -e "${gueststatefile}" ] && touch "${gueststatefile}"
492 -
493 - # if the user didn't want to start any guests up then respect their wish
494 - [ "x${LIBVIRT_START}" = "xno" ] && return 0
495 -
496 - # start networks
497 - ebegin "Starting libvirt networks"
498 - while read -r uri uuid
499 - do
500 - # ignore trash
501 - [ -z "${uri}" ] || [ -z "${uuid}" ] && continue
502 -
503 - name=$(do_virsh "${uri}" net-name ${uuid})
504 - einfo " ${name}"
505 - do_virsh "${uri}" net-start ${uuid} > /dev/null
506 - done <"${netstatefile}"
507 - eend 0
508 -
509 - # start domains
510 - ebegin "Starting libvirt domains"
511 - while read -r uri uuid
512 - do
513 - # ignore trash
514 - [ -z "${uri}" ] || [ -z "${uuid}" ] && continue
515 -
516 - name=$(do_virsh "${uri}" domname ${uuid})
517 - einfo " ${name}"
518 - do_virsh "${uri}" start ${uuid} > /dev/null
519 - done <"${gueststatefile}"
520 - eend 0
521 -}
522 -
523 -stop() {
524 - local counter=
525 - local dom_name=
526 - local net_name=
527 - local dom_ids=
528 - local uuid=
529 - local dom_count=
530 -
531 - rm -f "${gueststatefile}"
532 - [ $? -ne 0 ] && eerror "Unable to save domain state"
533 - rm -f "${netstatefile}"
534 - [ $? -ne 0 ] && eerror "Unable to save net state"
535 -
536 - for uri in ${LIBVIRT_URIS}; do
537 - einfo "Stopping libvirt domains and networks for ${uri}"
538 -
539 - libvirtd_dom_stop "${uri}" "--persistent"
540 - libvirtd_dom_stop "${uri}" "--transient"
541 - libvirtd_net_stop "${uri}" "--persistent"
542 - libvirtd_net_stop "${uri}" "--transient"
543 -
544 - einfo "Done stopping domains and networks for ${uri}"
545 - done
546 -}
547
548 diff --git a/app-emulation/libvirt/files/libvirtd.init-r15 b/app-emulation/libvirt/files/libvirtd.init-r15
549 deleted file mode 100644
550 index cc456b3..0000000
551 --- a/app-emulation/libvirt/files/libvirtd.init-r15
552 +++ /dev/null
553 @@ -1,38 +0,0 @@
554 -#!/sbin/openrc-run
555 -# Copyright 1999-2015 Gentoo Foundation
556 -# Distributed under the terms of the GNU General Public License v2
557 -# $Id$
558 -
559 -description="Virtual Machine Management daemon (libvirt)"
560 -
561 -LIBVIRTD_OPTS=${LIBVIRTD_OPTS:-"${LIBVIRTD_OPTS}"}
562 -LIBVIRTD_TIMEOUT=${LIBVIRTD_TERMTIMEOUT:-"TERM/25/KILL/5"}
563 -
564 -command="/usr/sbin/libvirtd"
565 -command_args="-d ${LIBVIRTD_OPTS}"
566 -start_stop_daemon_args="--env KRB5_KTNAME=/etc/libvirt/krb5.tab"
567 -pidfile="/var/run/libvirtd.pid"
568 -retry="${LIBVIRTD_TERMTIMEOUT}"
569 -
570 -depend() {
571 - USE_FLAG_FIREWALLD
572 - use USE_FLAG_AVAHI USE_FLAG_ISCSI USE_FLAG_RBD dbus virtlockd
573 - after ntp-client ntpd nfs nfsmount portmap rpc.statd iptables ip6tables ebtables corosync sanlock cgconfig xenconsoled
574 -}
575 -
576 -start_pre() {
577 - # Test configuration directories in /etc/libvirt/ to be either not
578 - # present or a directory, i.e. not a regular file, bug #532892
579 - local has_errors=0
580 - ebegin "Checking for suitable directories in \"/etc/libvirt\""
581 -
582 - for dir in lxc nwfilter qemu storage; do
583 - if [ -f /etc/libvirt/$dir ]; then
584 - has_errors=1
585 - eerror "/etc/libvirt/$dir was created as a regular file. It must be either"
586 - eerror "a directory or not present for libvirtd to start up successfully."
587 - fi
588 - done
589 -
590 - eend ${has_errors} "Please correct the error(s) above"
591 -}
592
593 diff --git a/app-emulation/libvirt/libvirt-1.2.21-r2.ebuild b/app-emulation/libvirt/libvirt-1.2.21-r2.ebuild
594 deleted file mode 100644
595 index f786958..0000000
596 --- a/app-emulation/libvirt/libvirt-1.2.21-r2.ebuild
597 +++ /dev/null
598 @@ -1,380 +0,0 @@
599 -# Copyright 1999-2015 Gentoo Foundation
600 -# Distributed under the terms of the GNU General Public License v2
601 -# $Id$
602 -
603 -EAPI=5
604 -
605 -inherit eutils user autotools-utils linux-info systemd readme.gentoo
606 -
607 -BACKPORTS="20151222" # CVE-2015-5313
608 -
609 -if [[ ${PV} = *9999* ]]; then
610 - inherit git-r3
611 - EGIT_REPO_URI="git://libvirt.org/libvirt.git"
612 - SRC_URI=""
613 - KEYWORDS=""
614 - SLOT="0"
615 -else
616 - # Versions with 4 numbers are stable updates:
617 - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then
618 - SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.gz"
619 - else
620 - SRC_URI="http://libvirt.org/sources/${P}.tar.gz"
621 - fi
622 - SRC_URI+=" ${BACKPORTS:+
623 - https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz
624 - https://dev.gentoo.org/~tamiko/distfiles/${P}-${BACKPORTS}.tar.xz}"
625 - KEYWORDS="amd64 x86"
626 - SLOT="0/${PV}"
627 -fi
628 -
629 -DESCRIPTION="C toolkit to manipulate virtual machines"
630 -HOMEPAGE="http://www.libvirt.org/"
631 -LICENSE="LGPL-2.1"
632 -IUSE="apparmor audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm \
633 - lxc +macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl \
634 - selinux systemd +udev uml +vepa virtualbox virt-network wireshark-plugins \
635 - xen"
636 -
637 -REQUIRED_USE="
638 - firewalld? ( virt-network )
639 - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
640 - lxc? ( caps libvirtd )
641 - openvz? ( libvirtd )
642 - qemu? ( libvirtd )
643 - uml? ( libvirtd )
644 - vepa? ( macvtap )
645 - virt-network? ( libvirtd )
646 - virtualbox? ( libvirtd )
647 - xen? ( libvirtd )"
648 -
649 -# gettext.sh command is used by the libvirt command wrappers, and it's
650 -# non-optional, so put it into RDEPEND.
651 -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
652 -# package will use 3 by default. Since we don't have slot pinning in an API,
653 -# we must go with the most recent
654 -RDEPEND="
655 - app-misc/scrub
656 - dev-libs/libgcrypt:0
657 - dev-libs/libnl:3
658 - >=dev-libs/libxml2-2.7.6
659 - >=net-analyzer/netcat6-1.0-r2
660 - >=net-libs/gnutls-1.0.25:0=
661 - net-libs/libssh2
662 - >=net-misc/curl-7.18.0
663 - sys-apps/dmidecode
664 - >=sys-apps/util-linux-2.17
665 - sys-devel/gettext
666 - sys-libs/ncurses:0=
667 - sys-libs/readline:=
668 - apparmor? ( sys-libs/libapparmor )
669 - audit? ( sys-process/audit )
670 - avahi? ( >=net-dns/avahi-0.6[dbus] )
671 - caps? ( sys-libs/libcap-ng )
672 - firewalld? ( net-firewall/firewalld )
673 - fuse? ( >=sys-fs/fuse-2.8.6 )
674 - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
675 - iscsi? ( sys-block/open-iscsi )
676 - lvm? ( >=sys-fs/lvm2-2.02.48-r2 )
677 - lxc? ( !systemd? ( sys-power/pm-utils ) )
678 - nfs? ( net-fs/nfs-utils )
679 - numa? (
680 - >sys-process/numactl-2.0.2
681 - sys-process/numad
682 - )
683 - openvz? ( sys-kernel/openvz-sources:* )
684 - parted? (
685 - >=sys-block/parted-1.8[device-mapper]
686 - sys-fs/lvm2
687 - )
688 - pcap? ( >=net-libs/libpcap-1.0.0 )
689 - policykit? ( >=sys-auth/polkit-0.9 )
690 - qemu? (
691 - >=app-emulation/qemu-0.13.0
692 - dev-libs/yajl
693 - !systemd? ( sys-power/pm-utils )
694 - )
695 - rbd? ( sys-cluster/ceph )
696 - sasl? ( dev-libs/cyrus-sasl )
697 - selinux? ( >=sys-libs/libselinux-2.0.85 )
698 - systemd? ( sys-apps/systemd )
699 - virt-network? (
700 - net-dns/dnsmasq[script]
701 - net-firewall/ebtables
702 - >=net-firewall/iptables-1.4.10[ipv6]
703 - net-misc/radvd
704 - sys-apps/iproute2[-minimal]
705 - )
706 - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
707 - wireshark-plugins? ( net-analyzer/wireshark:= )
708 - xen? (
709 - app-emulation/xen
710 - app-emulation/xen-tools:=
711 - )
712 - udev? (
713 - virtual/udev
714 - >=x11-libs/libpciaccess-0.10.9
715 - )"
716 -
717 -DEPEND="${RDEPEND}
718 - app-text/xhtml1
719 - dev-lang/perl
720 - dev-libs/libxslt
721 - dev-perl/XML-XPath
722 - virtual/pkgconfig"
723 -
724 -pkg_setup() {
725 - enewgroup qemu 77
726 - enewuser qemu 77 -1 -1 qemu kvm
727 -
728 - # Some people used the masked ebuild which was not adding the qemu
729 - # user to the kvm group originally. This results in VMs failing to
730 - # start for some users. bug #430808
731 - egetent group kvm | grep -q qemu
732 - if [[ $? -ne 0 ]]; then
733 - gpasswd -a qemu kvm
734 - fi
735 -
736 - # Check kernel configuration:
737 - CONFIG_CHECK=""
738 - use fuse && CONFIG_CHECK+="
739 - ~FUSE_FS"
740 -
741 - use lvm && CONFIG_CHECK+="
742 - ~BLK_DEV_DM
743 - ~DM_MULTIPATH
744 - ~DM_SNAPSHOT"
745 -
746 - use lxc && CONFIG_CHECK+="
747 - ~BLK_CGROUP
748 - ~CGROUP_CPUACCT
749 - ~CGROUP_DEVICE
750 - ~CGROUP_FREEZER
751 - ~CGROUP_NET_PRIO
752 - ~CGROUP_PERF
753 - ~CGROUPS
754 - ~CGROUP_SCHED
755 - ~CPUSETS
756 - ~DEVPTS_MULTIPLE_INSTANCES
757 - ~IPC_NS
758 - ~MACVLAN
759 - ~NAMESPACES
760 - ~NET_CLS_CGROUP
761 - ~NET_NS
762 - ~PID_NS
763 - ~POSIX_MQUEUE
764 - ~SECURITYFS
765 - ~USER_NS
766 - ~UTS_NS
767 - ~VETH
768 - ~!GRKERNSEC_CHROOT_MOUNT
769 - ~!GRKERNSEC_CHROOT_DOUBLE
770 - ~!GRKERNSEC_CHROOT_PIVOT
771 - ~!GRKERNSEC_CHROOT_CHMOD
772 - ~!GRKERNSEC_CHROOT_CAPS"
773 - # Handle specific kernel versions for different features
774 - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
775 - kernel_is ge 3 6 && CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP ~MEMCG_KMEM"
776 -
777 - use macvtap && CONFIG_CHECK+="
778 - ~MACVTAP"
779 -
780 - use virt-network && CONFIG_CHECK+="
781 - ~BRIDGE_EBT_MARK_T
782 - ~BRIDGE_NF_EBTABLES
783 - ~NETFILTER_ADVANCED
784 - ~NETFILTER_XT_CONNMARK
785 - ~NETFILTER_XT_MARK
786 - ~NETFILTER_XT_TARGET_CHECKSUM"
787 - # Bandwidth Limiting Support
788 - use virt-network && CONFIG_CHECK+="
789 - ~BRIDGE_EBT_T_NAT
790 - ~NET_ACT_POLICE
791 - ~NET_CLS_FW
792 - ~NET_CLS_U32
793 - ~NET_SCH_HTB
794 - ~NET_SCH_INGRESS
795 - ~NET_SCH_SFQ"
796 -
797 - ERROR_USER_NS="Optional depending on LXC configuration."
798 -
799 - if [[ -n ${CONFIG_CHECK} ]]; then
800 - linux-info_pkg_setup
801 - fi
802 -}
803 -
804 -src_prepare() {
805 - touch "${S}/.mailmap"
806 -
807 - if [[ ${PV} = *9999* ]]; then
808 - # git checkouts require bootstrapping to create the configure script.
809 - # Additionally the submodules must be cloned to the right locations
810 - # bug #377279
811 - ./bootstrap || die "bootstrap failed"
812 - (
813 - git submodule status | sed 's/^[ +-]//;s/ .*//'
814 - git hash-object bootstrap.conf
815 - ) >.git-module-status
816 - fi
817 -
818 - epatch \
819 - "${FILESDIR}"/${PN}-1.2.9-do_not_use_sysconf.patch \
820 - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch \
821 - "${FILESDIR}"/${PN}-1.2.17-fix_paths_for_apparmor.patch \
822 - "${FILESDIR}"/${P}-avoid_deprecated_pc_file.patch
823 -
824 - [[ -n ${BACKPORTS} ]] &&
825 - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" \
826 - EPATCH_SOURCE="${WORKDIR}/patches" epatch
827 -
828 - epatch_user
829 -
830 - # Tweak the init script:
831 - cp "${FILESDIR}/libvirtd.init-r15" "${S}/libvirtd.init" || die
832 - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
833 - -e "s/USE_FLAG_AVAHI/$(usex avahi avahi-daemon '')/" \
834 - -e "s/USE_FLAG_ISCSI/$(usex iscsi iscsid '')/" \
835 - -e "s/USE_FLAG_RBD/$(usex rbd ceph '')/" \
836 - -i "${S}/libvirtd.init" || die "sed failed"
837 -
838 - AUTOTOOLS_AUTORECONF=true
839 - autotools-utils_src_prepare
840 -}
841 -
842 -src_configure() {
843 - local myeconfargs=(
844 - $(use_with apparmor)
845 - $(use_with apparmor apparmor-profiles)
846 - $(use_with audit)
847 - $(use_with avahi)
848 - $(use_with caps capng)
849 - $(use_with firewalld)
850 - $(use_with fuse)
851 - $(use_with glusterfs)
852 - $(use_with glusterfs storage-gluster)
853 - $(use_with iscsi storage-iscsi)
854 - $(use_with libvirtd)
855 - $(use_with lvm storage-lvm)
856 - $(use_with lvm storage-mpath)
857 - $(use_with lxc)
858 - $(use_with macvtap)
859 - $(use_enable nls)
860 - $(use_with numa numactl)
861 - $(use_with numa numad)
862 - $(use_with openvz)
863 - $(use_with parted storage-disk)
864 - $(use_with pcap libpcap)
865 - $(use_with phyp)
866 - $(use_with policykit polkit)
867 - $(use_with qemu)
868 - $(use_with qemu yajl)
869 - $(use_with rbd storage-rbd)
870 - $(use_with sasl)
871 - $(use_with selinux)
872 - $(use_with systemd systemd-daemon)
873 - $(usex systemd --with-init-script=systemd '')
874 - $(use_with udev)
875 - $(use_with uml)
876 - $(use_with vepa virtualport)
877 - $(use_with virt-network network)
878 - $(use_with wireshark-plugins wireshark-dissector)
879 - $(use_with xen)
880 - $(use_with xen xen-inotify)
881 - $(usex xen --with-libxl '')
882 -
883 - --without-hal
884 - --without-netcf
885 - --without-sanlock
886 - --without-xenapi
887 - --with-esx
888 - --with-qemu-group=$(usex caps qemu root)
889 - --with-qemu-user=$(usex caps qemu root)
890 - --with-remote
891 - --with-storage-fs
892 - --with-vmware
893 -
894 - --disable-static
895 - --disable-werror
896 -
897 - --with-html-subdir=${PF}/html
898 - --localstatedir=/var
899 - )
900 -
901 - if use virtualbox && has_version app-emulation/virtualbox-ose; then
902 - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ )
903 - else
904 - myeconfargs+=( $(use_with virtualbox vbox) )
905 - fi
906 -
907 - autotools-utils_src_configure
908 -
909 - if [[ ${PV} = *9999* ]]; then
910 - # Restore gnulib's config.sub and config.guess
911 - # bug #377279
912 - (cd .gnulib && git reset --hard > /dev/null)
913 - fi
914 -}
915 -
916 -src_test() {
917 - # Explicitly allow parallel build of tests
918 - export VIR_TEST_DEBUG=1
919 - HOME="${T}" emake check || die "tests failed"
920 -}
921 -
922 -src_install() {
923 - autotools-utils_src_compile install \
924 - DESTDIR="${D}" \
925 - SYSTEMD_UNIT_DIR="$(systemd_get_unitdir)"
926 -
927 - find "${D}" -name '*.la' -delete || die
928 -
929 - # Remove bogus, empty directories. They are either not used, or
930 - # libvirtd is able to create them on demand
931 - rm -rf "${D}"/etc/sysconfig
932 - rm -rf "${D}"/var/cache
933 - rm -rf "${D}"/var/run
934 - rm -rf "${D}"/var/log
935 -
936 - use libvirtd || return 0
937 - # From here, only libvirtd-related instructions, be warned!
938 -
939 - use systemd && systemd_install_serviced \
940 - "${FILESDIR}"/libvirtd.service.conf libvirtd.service
941 -
942 - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
943 -
944 - newinitd "${S}/libvirtd.init" libvirtd || die
945 - newinitd "${FILESDIR}/libvirt-guests.init-r1" libvirt-guests || die
946 - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
947 -
948 - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die
949 - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die
950 -
951 - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r1")
952 - DISABLE_AUTOFORMATTING=true
953 - readme.gentoo_create_doc
954 -}
955 -
956 -pkg_preinst() {
957 - # we only ever want to generate this once
958 - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
959 - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
960 - fi
961 -}
962 -
963 -pkg_postinst() {
964 - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
965 - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml
966 - fi
967 -
968 - use libvirtd || return 0
969 - # From here, only libvirtd-related instructions, be warned!
970 -
971 - if [[ -n ${REPLACING_VERSIONS} ]] && ! version_is_at_least 1.2.18-r2 ${REPLACING_VERSIONS} ]]; then
972 - FORCE_PRINT_ELOG=true
973 - fi
974 -
975 - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r1")
976 - DISABLE_AUTOFORMATTING=true
977 - readme.gentoo_print_elog
978 -}
979
980 diff --git a/app-emulation/libvirt/libvirt-1.3.1-r1.ebuild b/app-emulation/libvirt/libvirt-1.3.1-r1.ebuild
981 deleted file mode 100644
982 index a022027..0000000
983 --- a/app-emulation/libvirt/libvirt-1.3.1-r1.ebuild
984 +++ /dev/null
985 @@ -1,385 +0,0 @@
986 -# Copyright 1999-2016 Gentoo Foundation
987 -# Distributed under the terms of the GNU General Public License v2
988 -# $Id$
989 -
990 -EAPI=5
991 -
992 -inherit eutils user autotools-utils linux-info systemd readme.gentoo
993 -
994 -BACKPORTS=""
995 -
996 -if [[ ${PV} = *9999* ]]; then
997 - inherit git-r3
998 - EGIT_REPO_URI="git://libvirt.org/libvirt.git"
999 - SRC_URI=""
1000 - KEYWORDS=""
1001 - SLOT="0"
1002 -else
1003 - # Versions with 4 numbers are stable updates:
1004 - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then
1005 - SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.gz"
1006 - else
1007 - SRC_URI="http://libvirt.org/sources/${P}.tar.gz"
1008 - fi
1009 - SRC_URI+=" ${BACKPORTS:+
1010 - https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz
1011 - https://dev.gentoo.org/~tamiko/distfiles/${P}-${BACKPORTS}.tar.xz}"
1012 - KEYWORDS="amd64 x86"
1013 - SLOT="0/${PV}"
1014 -fi
1015 -
1016 -DESCRIPTION="C toolkit to manipulate virtual machines"
1017 -HOMEPAGE="http://www.libvirt.org/"
1018 -LICENSE="LGPL-2.1"
1019 -IUSE="apparmor audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm \
1020 - lxc +macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl \
1021 - selinux systemd +udev uml +vepa virtualbox virt-network wireshark-plugins \
1022 - xen"
1023 -
1024 -REQUIRED_USE="
1025 - firewalld? ( virt-network )
1026 - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
1027 - lxc? ( caps libvirtd )
1028 - openvz? ( libvirtd )
1029 - qemu? ( libvirtd )
1030 - uml? ( libvirtd )
1031 - vepa? ( macvtap )
1032 - virt-network? ( libvirtd )
1033 - virtualbox? ( libvirtd )
1034 - xen? ( libvirtd )"
1035 -
1036 -# gettext.sh command is used by the libvirt command wrappers, and it's
1037 -# non-optional, so put it into RDEPEND.
1038 -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
1039 -# package will use 3 by default. Since we don't have slot pinning in an API,
1040 -# we must go with the most recent
1041 -RDEPEND="
1042 - app-misc/scrub
1043 - dev-libs/libgcrypt:0
1044 - dev-libs/libnl:3
1045 - >=dev-libs/libxml2-2.7.6
1046 - >=net-analyzer/netcat6-1.0-r2
1047 - >=net-libs/gnutls-1.0.25:0=
1048 - net-libs/libssh2
1049 - >=net-misc/curl-7.18.0
1050 - sys-apps/dmidecode
1051 - >=sys-apps/util-linux-2.17
1052 - sys-devel/gettext
1053 - sys-libs/ncurses:0=
1054 - sys-libs/readline:=
1055 - apparmor? ( sys-libs/libapparmor )
1056 - audit? ( sys-process/audit )
1057 - avahi? ( >=net-dns/avahi-0.6[dbus] )
1058 - caps? ( sys-libs/libcap-ng )
1059 - firewalld? ( net-firewall/firewalld )
1060 - fuse? ( >=sys-fs/fuse-2.8.6 )
1061 - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
1062 - iscsi? ( sys-block/open-iscsi )
1063 - lvm? ( >=sys-fs/lvm2-2.02.48-r2 )
1064 - lxc? ( !systemd? ( sys-power/pm-utils ) )
1065 - nfs? ( net-fs/nfs-utils )
1066 - numa? (
1067 - >sys-process/numactl-2.0.2
1068 - sys-process/numad
1069 - )
1070 - openvz? ( sys-kernel/openvz-sources:* )
1071 - parted? (
1072 - >=sys-block/parted-1.8[device-mapper]
1073 - sys-fs/lvm2
1074 - )
1075 - pcap? ( >=net-libs/libpcap-1.0.0 )
1076 - policykit? ( >=sys-auth/polkit-0.9 )
1077 - qemu? (
1078 - >=app-emulation/qemu-0.13.0
1079 - dev-libs/yajl
1080 - !systemd? ( sys-power/pm-utils )
1081 - )
1082 - rbd? ( sys-cluster/ceph )
1083 - sasl? ( dev-libs/cyrus-sasl )
1084 - selinux? ( >=sys-libs/libselinux-2.0.85 )
1085 - systemd? ( sys-apps/systemd )
1086 - virt-network? (
1087 - net-dns/dnsmasq[script]
1088 - net-firewall/ebtables
1089 - >=net-firewall/iptables-1.4.10[ipv6]
1090 - net-misc/radvd
1091 - sys-apps/iproute2[-minimal]
1092 - )
1093 - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
1094 - wireshark-plugins? ( net-analyzer/wireshark:= )
1095 - xen? (
1096 - app-emulation/xen
1097 - app-emulation/xen-tools:=
1098 - )
1099 - udev? (
1100 - virtual/udev
1101 - >=x11-libs/libpciaccess-0.10.9
1102 - )"
1103 -
1104 -DEPEND="${RDEPEND}
1105 - app-text/xhtml1
1106 - dev-lang/perl
1107 - dev-libs/libxslt
1108 - dev-perl/XML-XPath
1109 - virtual/pkgconfig"
1110 -
1111 -pkg_setup() {
1112 - enewgroup qemu 77
1113 - enewuser qemu 77 -1 -1 qemu kvm
1114 -
1115 - # Some people used the masked ebuild which was not adding the qemu
1116 - # user to the kvm group originally. This results in VMs failing to
1117 - # start for some users. bug #430808
1118 - egetent group kvm | grep -q qemu
1119 - if [[ $? -ne 0 ]]; then
1120 - gpasswd -a qemu kvm
1121 - fi
1122 -
1123 - # Check kernel configuration:
1124 - CONFIG_CHECK=""
1125 - use fuse && CONFIG_CHECK+="
1126 - ~FUSE_FS"
1127 -
1128 - use lvm && CONFIG_CHECK+="
1129 - ~BLK_DEV_DM
1130 - ~DM_MULTIPATH
1131 - ~DM_SNAPSHOT"
1132 -
1133 - use lxc && CONFIG_CHECK+="
1134 - ~BLK_CGROUP
1135 - ~CGROUP_CPUACCT
1136 - ~CGROUP_DEVICE
1137 - ~CGROUP_FREEZER
1138 - ~CGROUP_NET_PRIO
1139 - ~CGROUP_PERF
1140 - ~CGROUPS
1141 - ~CGROUP_SCHED
1142 - ~CPUSETS
1143 - ~DEVPTS_MULTIPLE_INSTANCES
1144 - ~IPC_NS
1145 - ~MACVLAN
1146 - ~NAMESPACES
1147 - ~NET_CLS_CGROUP
1148 - ~NET_NS
1149 - ~PID_NS
1150 - ~POSIX_MQUEUE
1151 - ~SECURITYFS
1152 - ~USER_NS
1153 - ~UTS_NS
1154 - ~VETH
1155 - ~!GRKERNSEC_CHROOT_MOUNT
1156 - ~!GRKERNSEC_CHROOT_DOUBLE
1157 - ~!GRKERNSEC_CHROOT_PIVOT
1158 - ~!GRKERNSEC_CHROOT_CHMOD
1159 - ~!GRKERNSEC_CHROOT_CAPS"
1160 - # Handle specific kernel versions for different features
1161 - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
1162 - kernel_is ge 3 6 && CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP ~MEMCG_KMEM"
1163 -
1164 - use macvtap && CONFIG_CHECK+="
1165 - ~MACVTAP"
1166 -
1167 - use virt-network && CONFIG_CHECK+="
1168 - ~BRIDGE_EBT_MARK_T
1169 - ~BRIDGE_NF_EBTABLES
1170 - ~NETFILTER_ADVANCED
1171 - ~NETFILTER_XT_CONNMARK
1172 - ~NETFILTER_XT_MARK
1173 - ~NETFILTER_XT_TARGET_CHECKSUM"
1174 - # Bandwidth Limiting Support
1175 - use virt-network && CONFIG_CHECK+="
1176 - ~BRIDGE_EBT_T_NAT
1177 - ~NET_ACT_POLICE
1178 - ~NET_CLS_FW
1179 - ~NET_CLS_U32
1180 - ~NET_SCH_HTB
1181 - ~NET_SCH_INGRESS
1182 - ~NET_SCH_SFQ"
1183 -
1184 - ERROR_USER_NS="Optional depending on LXC configuration."
1185 -
1186 - if [[ -n ${CONFIG_CHECK} ]]; then
1187 - linux-info_pkg_setup
1188 - fi
1189 -}
1190 -
1191 -src_prepare() {
1192 - touch "${S}/.mailmap"
1193 -
1194 - if [[ ${PV} = *9999* ]]; then
1195 - # git checkouts require bootstrapping to create the configure script.
1196 - # Additionally the submodules must be cloned to the right locations
1197 - # bug #377279
1198 - ./bootstrap || die "bootstrap failed"
1199 - (
1200 - git submodule status | sed 's/^[ +-]//;s/ .*//'
1201 - git hash-object bootstrap.conf
1202 - ) >.git-module-status
1203 - fi
1204 -
1205 - epatch \
1206 - "${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch \
1207 - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch \
1208 - "${FILESDIR}"/${P}-fix_paths_for_apparmor.patch \
1209 - "${FILESDIR}"/${PN}-1.2.21-avoid_deprecated_pc_file.patch
1210 -
1211 - [[ -n ${BACKPORTS} ]] &&
1212 - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" \
1213 - EPATCH_SOURCE="${WORKDIR}/patches" epatch
1214 -
1215 - epatch_user
1216 -
1217 - # Tweak the init script:
1218 - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die
1219 - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
1220 - -e "s/USE_FLAG_AVAHI/$(usex avahi 'use avahi-daemon' '')/" \
1221 - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \
1222 - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \
1223 - -i "${S}/libvirtd.init" || die "sed failed"
1224 -
1225 - AUTOTOOLS_AUTORECONF=true
1226 - autotools-utils_src_prepare
1227 -}
1228 -
1229 -src_configure() {
1230 - local myeconfargs=(
1231 - $(use_with apparmor)
1232 - $(use_with apparmor apparmor-profiles)
1233 - $(use_with audit)
1234 - $(use_with avahi)
1235 - $(use_with caps capng)
1236 - $(use_with firewalld)
1237 - $(use_with fuse)
1238 - $(use_with glusterfs)
1239 - $(use_with glusterfs storage-gluster)
1240 - $(use_with iscsi storage-iscsi)
1241 - $(use_with libvirtd)
1242 - $(use_with lvm storage-lvm)
1243 - $(use_with lvm storage-mpath)
1244 - $(use_with lxc)
1245 - $(use_with macvtap)
1246 - $(use_enable nls)
1247 - $(use_with numa numactl)
1248 - $(use_with numa numad)
1249 - $(use_with openvz)
1250 - $(use_with parted storage-disk)
1251 - $(use_with pcap libpcap)
1252 - $(use_with phyp)
1253 - $(use_with policykit polkit)
1254 - $(use_with qemu)
1255 - $(use_with qemu yajl)
1256 - $(use_with rbd storage-rbd)
1257 - $(use_with sasl)
1258 - $(use_with selinux)
1259 - $(use_with systemd systemd-daemon)
1260 - $(usex systemd --with-init-script=systemd '')
1261 - $(use_with udev)
1262 - $(use_with uml)
1263 - $(use_with vepa virtualport)
1264 - $(use_with virt-network network)
1265 - $(use_with wireshark-plugins wireshark-dissector)
1266 - $(use_with xen)
1267 - $(use_with xen xen-inotify)
1268 - $(usex xen --with-libxl '')
1269 -
1270 - --without-hal
1271 - --without-netcf
1272 - --without-sanlock
1273 - --without-xenapi
1274 - --with-esx
1275 - --with-qemu-group=$(usex caps qemu root)
1276 - --with-qemu-user=$(usex caps qemu root)
1277 - --with-remote
1278 - --with-storage-fs
1279 - --with-vmware
1280 -
1281 - --disable-static
1282 - --disable-werror
1283 -
1284 - --with-html-subdir=${PF}/html
1285 - --localstatedir=/var
1286 - )
1287 -
1288 - if use virtualbox && has_version app-emulation/virtualbox-ose; then
1289 - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ )
1290 - else
1291 - myeconfargs+=( $(use_with virtualbox vbox) )
1292 - fi
1293 -
1294 - autotools-utils_src_configure
1295 -
1296 - if [[ ${PV} = *9999* ]]; then
1297 - # Restore gnulib's config.sub and config.guess
1298 - # bug #377279
1299 - (cd .gnulib && git reset --hard > /dev/null)
1300 - fi
1301 -
1302 - # Workaround: Sometimes this subdirectory is missing and leads to a
1303 - # build failure.
1304 - mkdir -p "${BUILD_DIR}"/docs/internals
1305 -}
1306 -
1307 -src_test() {
1308 - # Explicitly allow parallel build of tests
1309 - export VIR_TEST_DEBUG=1
1310 - HOME="${T}" emake check || die "tests failed"
1311 -}
1312 -
1313 -src_install() {
1314 - autotools-utils_src_compile install \
1315 - DESTDIR="${D}" \
1316 - SYSTEMD_UNIT_DIR="$(systemd_get_unitdir)"
1317 -
1318 - find "${D}" -name '*.la' -delete || die
1319 -
1320 - # Remove bogus, empty directories. They are either not used, or
1321 - # libvirtd is able to create them on demand
1322 - rm -rf "${D}"/etc/sysconfig
1323 - rm -rf "${D}"/var/cache
1324 - rm -rf "${D}"/var/run
1325 - rm -rf "${D}"/var/log
1326 -
1327 - use libvirtd || return 0
1328 - # From here, only libvirtd-related instructions, be warned!
1329 -
1330 - use systemd && systemd_install_serviced \
1331 - "${FILESDIR}"/libvirtd.service.conf libvirtd.service
1332 -
1333 - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
1334 -
1335 - newinitd "${S}/libvirtd.init" libvirtd || die
1336 - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die
1337 - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
1338 - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die
1339 -
1340 - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die
1341 - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die
1342 -
1343 - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r1")
1344 - DISABLE_AUTOFORMATTING=true
1345 - readme.gentoo_create_doc
1346 -}
1347 -
1348 -pkg_preinst() {
1349 - # we only ever want to generate this once
1350 - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
1351 - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
1352 - fi
1353 -}
1354 -
1355 -pkg_postinst() {
1356 - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
1357 - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml
1358 - fi
1359 -
1360 - use libvirtd || return 0
1361 - # From here, only libvirtd-related instructions, be warned!
1362 -
1363 - if [[ -n ${REPLACING_VERSIONS} ]] && ! version_is_at_least 1.2.18-r2 ${REPLACING_VERSIONS} ]]; then
1364 - FORCE_PRINT_ELOG=true
1365 - fi
1366 -
1367 - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r1")
1368 - DISABLE_AUTOFORMATTING=true
1369 - readme.gentoo_print_elog
1370 -}