# Maintainer: Christian Rebischke # Contributor: Sergej Pupykin # Contributor: Jonathan Wiersma pkgname=libvirt pkgver=6.2.0 pkgrel=1 pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)" arch=('x86_64') url="https://libvirt.org/" license=('LGPL' 'GPL3') #libvirt_parthelper links to libparted which is GPL3 only makedepends=('lvm2' 'linux-api-headers' 'lxc' 'libiscsi' 'open-iscsi' 'perl' 'libxslt' 'qemu' 'parted' 'python' 'rpcsvc-proto' 'nss' 'python-docutils' 'ceph-libs' 'glusterfs' 'fuse2') depends=('gnutls' 'iptables' 'libxml2' 'polkit' 'yajl' 'libpciaccess' 'udev' 'dbus' 'libpcap' 'libcap-ng' 'curl' 'libsasl' 'gcc-libs' 'iproute2' 'libnl' 'numactl' 'gettext' 'libssh' 'libssh2' 'netcf' 'glib2') optdepends=('ebtables: required for default NAT networking' 'dnsmasq: required for default NAT/DHCP for guests' 'bridge-utils: for bridged networking' 'openbsd-netcat: for remote management over ssh' 'openvswitch' 'nss' 'firewalld: for firewall support' 'qemu' 'lxc' 'fuse2: fuse support for lxc' 'lvm2' 'ceph: for ceph support' 'open-iscsi: for iscsi support' 'libiscsi: for iscsi direct support' 'glusterfs' 'qemu-block-gluster: for qemu glusterfs support' 'parted' 'radvd' 'dmidecode') 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/nwfilter/clean-traffic-gateway.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/sasl2/libvirt.conf') options=('emptydirs') validpgpkeys=('C74415BA7C9C7F78F02E1DC34606B8A5DE95BC1F') source=("https://libvirt.org/sources/${pkgname}-${pkgver}.tar.xz"{,.asc} 'libvirtd.conf.d' 'libvirtd-guests.conf.d' 'libvirt.sysusers.d' 'libvirt.tmpfiles.d') sha512sums=('96bef701fd73aef93d1490f0bc331901a0ff6250a4f36a3e4844f76cc262dc0ae4cce8686a603c2a9c575ce489d8d5ed1521ebd22b92aff8301efdb74dee91e4' 'SKIP' 'fc0e16e045a2c84d168d42c97d9e14ca32ba0d86025135967f4367cf3fa663882eefb6923ebf04676ae763f4f459e5156d7221b36b47c835f9e531c6b6e0cd9d' 'ef221bae994ad0a15ab5186b7469132896156d82bfdc3ef3456447d5cf1af347401ef33e8665d5b2f76451f5457aee7ea01064d7b9223d6691c90c4456763258' '9b04db664fd18a9dcb89d44367e191cf9f45e108308e66b7dfbdf6823417b274bbfbeefb05715682570c5ba964188f2e723b246e89d7dad59ab83e263c000553' 'ae49a464f5c678a46de8fe8079214151a6113cb3972c6b50b2949beae7e734d5ef3279f9e5e825992bbc4eda7ecc7bd86f6e5b823a5a1a02453a422b5776104f') changelog=Changelog prepare() { cd "${srcdir}/${pkgname}-${pkgver}" 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|/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/notify/simple/' src/remote/libvirtd.service.in } build() { cd "${srcdir}/${pkgname}-${pkgver}" mkdir build && cd build ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool ../configure \ --prefix=/usr \ --libexec=/usr/lib/"${pkgname}" \ --sbindir=/usr/bin \ --disable-static \ --with-runstatedir=/run \ --with-audit \ --with-dbus \ --with-firewalld \ --with-firewalld-zone \ --without-hal \ --with-libssh \ --with-netcf \ --with-nss-plugin \ --with-polkit \ --with-ssh2 \ --with-udev \ --with-qemu \ --with-qemu-user=qemu \ --with-qemu-group=qemu \ --with-lxc \ --with-libvirtd \ --with-network \ --with-interface \ --with-init-script=systemd \ --with-sysctl \ --with-secrets \ --with-storage-dir \ --with-storage-fs \ --with-storage-lvm \ --with-storage-iscsi \ --with-storage-iscsi-direct \ --with-storage-scsi \ --with-storage-mpath \ --with-storage-disk \ --with-storage-rbd \ --without-storage-sheepdog \ --with-storage-gluster \ --with-storage-zfs \ --without-storage-vstorage make } package() { cd "${srcdir}/${pkgname}-${pkgver}/build" 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 install -D -m644 "${srcdir}"/libvirt.tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.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}"/run \ "${pkgdir}"/var/lib/libvirt/qemu \ "${pkgdir}"/var/cache/libvirt/qemu \ "${pkgdir}"/etc/sysconfig rm -f "${pkgdir}"/etc/libvirt/qemu/networks/autostart/default.xml # Strip auto-generated UUID, so it will be generated per-install. sed -i '//d' "$pkgdir"/etc/libvirt/qemu/networks/default.xml # Fix permission Fix #61977 chmod 600 "${pkgdir}"/etc/libvirt/nwfilter/*.xml "${pkgdir}/etc/libvirt/qemu/networks/default.xml" }