# ${Id}: PKGBUILD 274316 2017-12-13 22:56:42Z anatolik ${} # Maintainer: Christian Rebischke # Contributor: Sergej Pupykin # Contributor: Jonathan Wiersma pkgbase=libvirt pkgname=('libvirt' 'libvirt-glusterfs') pkgver=v4.4.0.rc2.r4.g8a7003f669 pkgrel=1 pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)" arch=('x86_64') url="http://libvirt.org/" license=('LGPL') makedepends=('pkgconfig' 'lvm2' 'linux-api-headers' 'dnsmasq' 'lxc' 'libiscsi' 'open-iscsi' 'perl-xml-xpath' 'libxslt' 'qemu' 'ceph-libs' 'glusterfs' 'netcf' 'yajl' 'parted' 'git' 'rpcsvc-proto') options=('emptydirs') validpgpkeys=('C74415BA7C9C7F78F02E1DC34606B8A5DE95BC1F') source=('git+https://libvirt.org/git/libvirt.git' 'git+https://git.savannah.gnu.org/git/gnulib.git' 'git+https://gitlab.com/keycodemap/keycodemapdb.git' 'libvirtd.conf.d' 'libvirtd-guests.conf.d' 'libvirt.sysusers.d') sha512sums=('SKIP' 'SKIP' 'SKIP' 'fc0e16e045a2c84d168d42c97d9e14ca32ba0d86025135967f4367cf3fa663882eefb6923ebf04676ae763f4f459e5156d7221b36b47c835f9e531c6b6e0cd9d' 'ef221bae994ad0a15ab5186b7469132896156d82bfdc3ef3456447d5cf1af347401ef33e8665d5b2f76451f5457aee7ea01064d7b9223d6691c90c4456763258' '7d1d535aaf739a6753f6819c49272c8d9b5f488e0a8553797499334a76b8631474e222b6048f2125b858e5ecc21e602face45dd02121f833d605b9ae58322982') pkgver() { cd "$pkgname" git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' } prepare() { cd "${srcdir}/${pkgname}" git submodule init git config submodule.gnulib.url $srcdir/gnulib git config submodule.keycodemapdb.url $srcdir/keycodemapdb git submodule update } build() { cd "${srcdir}/${pkgname}" 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 #has to be done every build as src/qemu/qemu.conf and src/qemu/test_libvirtd_qemu.aug.in are tracked by git sed -i 's|/sysconfig/|/conf.d/|g' \ src/remote/libvirtd.service.in \ tools/{libvirt-guests.service,libvirt-guests.sh,virt-pki-validate}.in \ src/locking/virtlockd.service.in sed -i 's|@sbindir@|/usr/bin|g' src/locking/virtlockd.service.in sed -i 's|/usr/libexec/qemu-bridge-helper|/usr/lib/qemu/qemu-bridge-helper|g' \ src/qemu/qemu{.conf,_conf.c} \ src/qemu/test_libvirtd_qemu.aug.in # sed -i 's|libsystemd-daemon|libsystemd|g' configure # sed -i 's/notify/simple/' src/remote/libvirtd.service.in export PYTHON=`which python2` export LDFLAGS=-lX11 export RADVD=/usr/bin/radvd NOCONFIGURE=TRUE CLEAN_SUBMODULE=TRUE ./autogen.sh --dry-run || NOCONFIGURE=TRUE CLEAN_SUBMODULE=TRUE ./autogen.sh [ -f Makefile ] || ./configure --prefix=/usr --libexec=/usr/lib/"${pkgname}" --sbindir=/usr/bin \ --with-storage-lvm --with-udev --without-hal --disable-static \ --with-init-script=systemd --with-storage-gluster \ --with-qemu-user=nobody --with-qemu-group=kvm \ --with-netcf --with-interface --with-lxc --with-storage-iscsi --with-storage-disk # --with-audit #--without-xen unrecognized option make } package_libvirt() { depends=('e2fsprogs' 'gnutls' 'iptables' 'libxml2' 'parted' 'polkit' 'python2' 'avahi' 'yajl' 'libpciaccess' 'udev' 'dbus' 'libxau' 'libxdmcp' 'libpcap' 'libcap-ng' 'curl' 'libsasl' 'libgcrypt' 'libgpg-error' 'openssl' 'libxcb' 'gcc-libs' 'iproute2' 'libnl' 'libx11' 'numactl' 'gettext' 'ceph-libs' 'libssh2' 'netcf' 'fuse2') optdepends=('ebtables: required for default NAT networking' 'dnsmasq: required for default NAT/DHCP for guests' 'bridge-utils: for bridged networking' 'netcat: for remote management over ssh' 'qemu' 'radvd' 'dmidecode' 'parted') backup=('etc/conf.d/libvirt-guests' 'etc/conf.d/libvirtd' 'etc/libvirt/libvirt.conf' 'etc/libvirt/virtlogd.conf' 'etc/libvirt/libvirtd.conf' 'etc/libvirt/lxc.conf' 'etc/libvirt/nwfilter/allow-arp.xml' 'etc/libvirt/nwfilter/allow-dhcp-server.xml' 'etc/libvirt/nwfilter/allow-dhcp.xml' 'etc/libvirt/nwfilter/allow-incoming-ipv4.xml' 'etc/libvirt/nwfilter/allow-ipv4.xml' 'etc/libvirt/nwfilter/clean-traffic.xml' 'etc/libvirt/nwfilter/no-arp-ip-spoofing.xml' 'etc/libvirt/nwfilter/no-arp-mac-spoofing.xml' 'etc/libvirt/nwfilter/no-arp-spoofing.xml' 'etc/libvirt/nwfilter/no-ip-multicast.xml' 'etc/libvirt/nwfilter/no-ip-spoofing.xml' 'etc/libvirt/nwfilter/no-mac-broadcast.xml' 'etc/libvirt/nwfilter/no-mac-spoofing.xml' 'etc/libvirt/nwfilter/no-other-l2-traffic.xml' 'etc/libvirt/nwfilter/no-other-rarp-traffic.xml' 'etc/libvirt/nwfilter/qemu-announce-self-rarp.xml' 'etc/libvirt/nwfilter/qemu-announce-self.xml' 'etc/libvirt/qemu-lockd.conf' 'etc/libvirt/qemu.conf' 'etc/libvirt/qemu/networks/default.xml' 'etc/libvirt/virt-login-shell.conf' 'etc/libvirt/virtlockd.conf' 'etc/logrotate.d/libvirtd' 'etc/logrotate.d/libvirtd.lxc' 'etc/logrotate.d/libvirtd.qemu' 'etc/logrotate.d/libvirtd.uml' 'etc/sasl2/libvirt.conf') install="libvirt.install" cd "${srcdir}/${pkgname}" 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/libvirt-guests install -D -m644 "${srcdir}"/libvirt.sysusers.d "${pkgdir}"/usr/lib/sysusers.d/libvirt.conf chown 0:102 "${pkgdir}"/usr/share/polkit-1/rules.d chmod 0750 "${pkgdir}"/usr/share/polkit-1/rules.d rm -rf \ "${pkgdir}"/var/run \ "${pkgdir}"/var/lib/libvirt/qemu \ "${pkgdir}"/var/cache/libvirt/qemu \ "${pkgdir}"/etc/sysconfig rm -f "${pkgdir}"/etc/libvirt/qemu/networks/autostart/default.xml #move glusterfs module mv "$pkgdir"/usr/lib/libvirt/storage-backend/libvirt_storage_backend_gluster.so "$pkgdir"/../ } package_libvirt-glusterfs() { depends=("libvirt=$pkgver" 'glusterfs') optdepends=('qemu-block-gluster: for QEMU gluster support') mkdir -p "$pkgdir"/usr/lib/libvirt/storage-backend/ cp "$pkgdir"/../libvirt_storage_backend_gluster.so "$pkgdir"/usr/lib/libvirt/storage-backend/libvirt_storage_backend_gluster.so }