summaryrefslogtreecommitdiff
path: root/community/libvirt
diff options
context:
space:
mode:
Diffstat (limited to 'community/libvirt')
-rw-r--r--community/libvirt/PKGBUILD88
-rw-r--r--community/libvirt/libvirt.install19
-rw-r--r--community/libvirt/libvirt.tmpfiles.d4
-rw-r--r--community/libvirt/libvirtd-guests.conf.d11
-rw-r--r--community/libvirt/libvirtd.conf.d3
5 files changed, 125 insertions, 0 deletions
diff --git a/community/libvirt/PKGBUILD b/community/libvirt/PKGBUILD
new file mode 100644
index 000000000..473cc16a0
--- /dev/null
+++ b/community/libvirt/PKGBUILD
@@ -0,0 +1,88 @@
+# $Id: PKGBUILD 93546 2013-07-05 10:38:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jonathan Wiersma <archaur at jonw dot org>
+
+pkgname=libvirt
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)"
+arch=('i686' 'x86_64')
+url="http://libvirt.org/"
+license=('LGPL')
+depends=('e2fsprogs' 'gnutls' 'iptables' 'libxml2' 'parted' 'polkit' 'python2'
+ 'avahi' 'yajl' 'libpciaccess' 'udev' 'dbus-core' 'libxau' 'libxdmcp' 'libpcap'
+ 'curl' 'libsasl' 'libgcrypt' 'libgpg-error' 'openssl' 'libxcb' 'gcc-libs'
+ 'iproute2' 'libnl' 'libx11' 'audit' 'numactl')
+makedepends=('pkgconfig' 'lvm2' 'linux-api-headers' 'dnsmasq')
+optdepends=('bridge-utils: for briged networking (default)'
+ 'dnsmasq: for NAT/DHCP for guests'
+ 'kvm'
+ 'openbsd-netcat: for remote management over ssh'
+ 'qemu'
+ 'radvd'
+ 'dmidecode'
+ 'ebtables')
+options=('emptydirs' '!libtool')
+backup=('etc/conf.d/libvirtd'
+ 'etc/conf.d/libvirtd-guests'
+ 'etc/libvirt/libvirtd.conf'
+ 'etc/libvirt/libvirt.conf'
+ 'etc/libvirt/qemu.conf'
+ 'etc/sasl2/libvirt.conf')
+install="libvirt.install"
+source=("http://libvirt.org/sources/$pkgname-$pkgver.tar.gz"
+ libvirtd.conf.d
+ libvirtd-guests.conf.d
+ libvirt.tmpfiles.d
+ "storage-fix.patch::https://bugs.archlinux.org/index.php?getfile=10700")
+md5sums=('f980a84719033e9efca01048da505dfb'
+ '3ed0e24f5b5e25bf553f5427d64915e6'
+ '0a96ed876ffb1fcb9dff5a9b3a609c1e'
+ '020971887442ebbf1b6949e031c8dd3f'
+ '321f03bd626d2d24e816d5298c3bc3fe')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # python2 fix
+ export PYTHON=`which python2`
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+
+ patch -p1 <$srcdir/storage-fix.patch
+
+ export LDFLAGS=-lX11
+ export RADVD=/usr/bin/radvd
+ [ -f Makefile ] || ./configure --prefix=/usr --libexec=/usr/lib/"$pkgname" --sbindir=/usr/bin \
+ --with-storage-lvm --without-xen --with-udev --without-hal --disable-static \
+ --with-init-script=systemd --with-audit \
+ --with-qemu-user=nobody --with-qemu-group=nobody \
+ --without-netcf --with-interface
+ make
+
+ sed -i 's|/etc/sysconfig/|/etc/conf.d/|' daemon/libvirtd.service tools/libvirt-guests.service
+ sed -i 's|@sbindir@|/usr/bin|g' src/virtlockd.service
+ sed -i 's|#group =.*|group="kvm"|' src/qemu/qemu.conf
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ install -D -m644 "$srcdir"/libvirtd.conf.d "$pkgdir"/etc/conf.d/libvirtd
+ install -D -m644 "$srcdir"/libvirtd-guests.conf.d "$pkgdir"/etc/conf.d/libvirtd-guests
+
+ # systemd stuff
+ install -D -m644 "$srcdir"/libvirt.tmpfiles.d "$pkgdir"/usr/lib/tmpfiles.d/libvirt.conf
+ mv "$pkgdir"/lib/* "$pkgdir"/usr/lib/
+
+ rm -rf \
+ "$pkgdir"/var/run \
+ "$pkgdir"/etc/sysconfig \
+ "$pkgdir"/etc/rc.d/init.d \
+ "$pkgdir"/lib \
+ "$pkgdir"/etc/sysctl.d
+}
diff --git a/community/libvirt/libvirt.install b/community/libvirt/libvirt.install
new file mode 100644
index 000000000..efb652a88
--- /dev/null
+++ b/community/libvirt/libvirt.install
@@ -0,0 +1,19 @@
+_libvirt_setup() {
+ systemd-tmpfiles --create libvirt.conf
+}
+
+post_install() {
+ _libvirt_setup || return 1
+ echo ">>> See https://wiki.archlinux.org/index.php/Libvirt for more info"
+}
+
+post_upgrade() {
+ _libvirt_setup || return 1
+ echo ">>> You may need to run 'rm -rf ~/.libvirt'"
+ echo ">>> libvirt runs qemu from nobody:nobody by default"
+ echo ">>> change it in /etc/libvirt/qemu.conf"
+}
+
+post_remove() {
+ rm -f /usr/lib/python[0-9].[0-9]/site-packages/libvirt.pyc
+}
diff --git a/community/libvirt/libvirt.tmpfiles.d b/community/libvirt/libvirt.tmpfiles.d
new file mode 100644
index 000000000..2804c43c8
--- /dev/null
+++ b/community/libvirt/libvirt.tmpfiles.d
@@ -0,0 +1,4 @@
+d /run/libvirt/qemu 0755 root root -
+d /run/libvirt/lxc 0755 root root -
+d /run/libvirt/uml 0755 root root -
+d /run/libvirt/network 0755 root root -
diff --git a/community/libvirt/libvirtd-guests.conf.d b/community/libvirt/libvirtd-guests.conf.d
new file mode 100644
index 000000000..dd987611b
--- /dev/null
+++ b/community/libvirt/libvirtd-guests.conf.d
@@ -0,0 +1,11 @@
+LIBVIRTD_STOP_ACTION=suspend
+
+#LIBVIRTD_URI="-c qemu+ssh://user@host/system"
+LIBVIRTD_URI=""
+
+#LIBVIRTD_BYPASS_CACHE="--bypass-cache"
+LIBVIRTD_BYPASS_CACHE=""
+
+LIBVIRTD_START_DELAY=0
+
+LIBVIRTD_SHUTDOWN_TIMEOUT=60
diff --git a/community/libvirt/libvirtd.conf.d b/community/libvirt/libvirtd.conf.d
new file mode 100644
index 000000000..d4d25b47a
--- /dev/null
+++ b/community/libvirt/libvirtd.conf.d
@@ -0,0 +1,3 @@
+LIBVIRTD_CONFIG="/etc/libvirt/libvirtd.conf"
+LIBVIRTD_ARGS="-p /var/run/libvirtd.pid"
+KRB5_KTNAME="/etc/libvirt/krb5.tab"