diff options
Diffstat (limited to 'community/libvirt')
-rw-r--r-- | community/libvirt/PKGBUILD | 88 | ||||
-rw-r--r-- | community/libvirt/libvirt.install | 19 | ||||
-rw-r--r-- | community/libvirt/libvirt.tmpfiles.d | 4 | ||||
-rw-r--r-- | community/libvirt/libvirtd-guests.conf.d | 11 | ||||
-rw-r--r-- | community/libvirt/libvirtd.conf.d | 3 |
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" |