PKGBUILDs/community/libvirt/PKGBUILD

146 lines
6 KiB
Bash
Raw Normal View History

2018-01-27 03:59:37 +00:00
# ${Id}: PKGBUILD 274316 2017-12-13 22:56:42Z anatolik ${}
# Maintainer: Christian Rebischke <chris.rebischke@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
2013-07-01 23:28:11 +00:00
# Contributor: Jonathan Wiersma <archaur at jonw dot org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove numactl from depends, doesn't build on ARM
2015-06-07 19:37:37 +00:00
# - drop ceph depend until it builds
2015-09-03 12:31:20 +00:00
# - removed qemu makedepend
2013-07-01 23:28:11 +00:00
pkgname=libvirt
2018-04-01 17:30:29 +00:00
pkgver=4.2.0
2017-12-18 18:48:22 +00:00
pkgrel=1
2013-07-01 23:28:11 +00:00
pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)"
2017-12-10 14:08:31 +00:00
arch=('x86_64')
2013-07-01 23:28:11 +00:00
url="http://libvirt.org/"
license=('LGPL')
2014-12-15 19:56:30 +00:00
makedepends=('pkgconfig' 'lvm2' 'linux-api-headers' 'dnsmasq' 'lxc'
2018-03-25 00:41:50 +00:00
'libiscsi' 'open-iscsi' 'perl-xml-xpath' 'libxslt'
2018-03-25 01:36:53 +00:00
'glusterfs' 'netcf' 'yajl' 'libx11' 'libpciaccess')
2013-11-05 14:37:21 +00:00
options=('emptydirs')
2017-01-23 19:18:24 +00:00
validpgpkeys=('C74415BA7C9C7F78F02E1DC34606B8A5DE95BC1F')
2018-01-27 03:59:37 +00:00
source=("https://libvirt.org/sources/${pkgname}-${pkgver}.tar.xz"{,.asc}
'libvirtd.conf.d'
'libvirtd-guests.conf.d'
'libvirt.sysusers.d')
2017-05-25 12:27:29 +00:00
# "ae102b5d7bccd29bc6015a3e0acefeaa90d097ac.patch::https://libvirt.org/git/?p=libvirt.git;a=patch;h=ae102b5d7bccd29bc6015a3e0acefeaa90d097ac")
2018-04-01 17:30:29 +00:00
sha512sums=('ced3a7408e95f1663deec03b095780d0f805126506a064a11063d1f313f923eb0ff0ea95f99826514d8cb4e51c850f6f02904e06e5ef8106c38898a0cfe7f9ed'
2018-01-27 03:59:37 +00:00
'SKIP'
'fc0e16e045a2c84d168d42c97d9e14ca32ba0d86025135967f4367cf3fa663882eefb6923ebf04676ae763f4f459e5156d7221b36b47c835f9e531c6b6e0cd9d'
'ef221bae994ad0a15ab5186b7469132896156d82bfdc3ef3456447d5cf1af347401ef33e8665d5b2f76451f5457aee7ea01064d7b9223d6691c90c4456763258'
'7d1d535aaf739a6753f6819c49272c8d9b5f488e0a8553797499334a76b8631474e222b6048f2125b858e5ecc21e602face45dd02121f833d605b9ae58322982')
2014-02-10 13:14:42 +00:00
prepare() {
2018-01-27 03:59:37 +00:00
cd "${srcdir}/${pkgname}-${pkgver}"
2013-07-01 23:28:11 +00:00
for file in $(find . -name '*.py' -print); do
2018-01-27 03:59:37 +00:00
sed -i 's_#!.*/usr/bin/python_#!/usr/bin/python2_' "${file}"
sed -i 's_#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' "${file}"
2013-07-01 23:28:11 +00:00
done
2014-04-10 20:46:43 +00:00
sed -i 's|/sysconfig/|/conf.d/|g' \
2018-03-25 00:41:50 +00:00
src/remote/libvirtd.service.in \
2014-04-10 20:46:43 +00:00
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
2014-06-23 12:25:10 +00:00
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
2016-03-07 13:17:00 +00:00
sed -i 's|libsystemd-daemon|libsystemd|g' configure
2018-03-25 00:41:50 +00:00
sed -i 's/notify/simple/' src/remote/libvirtd.service.in
2017-04-07 12:27:50 +00:00
2018-01-27 03:59:37 +00:00
# patch -p1 -i "${srcdir}"/ae102b5d7bccd29bc6015a3e0acefeaa90d097ac.patch
2014-04-10 20:46:43 +00:00
}
build() {
2018-01-27 03:59:37 +00:00
cd "${srcdir}/${pkgname}-${pkgver}"
2014-04-10 20:46:43 +00:00
export PYTHON=`which python2`
2013-07-01 23:28:11 +00:00
export LDFLAGS=-lX11
export RADVD=/usr/bin/radvd
2018-01-27 03:59:37 +00:00
[ -f Makefile ] || ./configure --prefix=/usr --libexec=/usr/lib/"${pkgname}" --sbindir=/usr/bin \
2013-07-01 23:28:11 +00:00
--with-storage-lvm --without-xen --with-udev --without-hal --disable-static \
2018-03-25 00:41:50 +00:00
--with-init-script=systemd --with-storage-gluster \
2017-12-18 18:48:22 +00:00
--with-qemu-user=nobody --with-qemu-group=kvm \
2015-08-19 12:27:03 +00:00
--with-netcf --with-interface --with-lxc --with-storage-iscsi
2017-03-03 19:25:31 +00:00
# --with-audit
2013-07-01 23:28:11 +00:00
make
}
2018-03-25 00:41:50 +00:00
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' 'gettext' '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'
'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/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"
2018-01-27 03:59:37 +00:00
cd "${srcdir}/${pkgname}-${pkgver}"
2013-07-01 23:28:11 +00:00
2018-01-27 03:59:37 +00:00
make DESTDIR="${pkgdir}" install
2013-07-01 23:28:11 +00:00
2018-01-27 03:59:37 +00:00
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
2015-07-25 01:16:28 +00:00
2018-03-25 01:36:53 +00:00
#chown 0:102 "${pkgdir}"/usr/share/polkit-1/rules.d
#chmod 0750 "${pkgdir}"/usr/share/polkit-1/rules.d
2014-07-30 19:22:25 +00:00
2013-07-01 23:28:11 +00:00
rm -rf \
2018-01-27 03:59:37 +00:00
"${pkgdir}"/var/run \
"${pkgdir}"/var/lib/libvirt/qemu \
"${pkgdir}"/var/cache/libvirt/qemu \
"${pkgdir}"/etc/sysconfig
2017-03-03 19:25:31 +00:00
2018-01-27 03:59:37 +00:00
rm -f "${pkgdir}"/etc/libvirt/qemu/networks/autostart/default.xml
2018-03-25 00:41:50 +00:00
#move glusterfs module
mv "$pkgdir"/usr/lib/libvirt/storage-backend/libvirt_storage_backend_gluster.so "$pkgdir"/../
}
package_libvirt-glusterfs() {
depends=("libvirt=$pkgver" 'glusterfs')
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
2013-07-01 23:28:11 +00:00
}