mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-12-08 23:03:46 +00:00
182 lines
6.6 KiB
Bash
182 lines
6.6 KiB
Bash
# Maintainer: Robin Broda <robin@broda.me>
|
|
# Contributor: Christian Rebischke <chris.rebischke@archlinux.org>
|
|
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
|
|
# Contributor: Jonathan Wiersma <archaur at jonw dot org>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - removed ceph makedepend, libvirt-storage-rbd package
|
|
# - removed qemu makedepend
|
|
|
|
pkgname=(libvirt libvirt-storage-gluster libvirt-storage-iscsi-direct)
|
|
pkgver=6.5.0
|
|
pkgrel=2
|
|
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
|
|
install=libvirt.install
|
|
depends=('libpciaccess' 'yajl' 'fuse2' 'gnutls' 'parted' 'libssh' 'libxml2' 'numactl' 'polkit')
|
|
makedepends=('libxslt' 'python-docutils' 'lvm2' 'open-iscsi' 'libiscsi' 'glusterfs'
|
|
'bash-completion' 'rpcsvc-proto' 'dnsmasq' 'iproute2')
|
|
checkdepends=('ebtables')
|
|
optdepends=('libvirt-storage-gluster: Gluster storage backend'
|
|
'libvirt-storage-iscsi-direct: iSCSI-direct storage backend'
|
|
'gettext: required for libvirt-guests.service'
|
|
'openbsd-netcat: for remote management over ssh'
|
|
'dmidecode: DMI system info support'
|
|
'dnsmasq: required for default NAT/DHCP for guests'
|
|
'radvd: IPv6 RAD support'
|
|
'ebtables: required for default NAT networking'
|
|
'lvm2: Logical Volume Manager support'
|
|
'open-iscsi: iSCSI support via iscsiadm')
|
|
backup=(
|
|
'etc/conf.d/libvirtd'
|
|
'etc/conf.d/libvirt-guests'
|
|
'etc/conf.d/virtinterfaced'
|
|
'etc/conf.d/virtlockd'
|
|
'etc/conf.d/virtlogd'
|
|
'etc/conf.d/virtlxcd'
|
|
'etc/conf.d/virtnetworkd'
|
|
'etc/conf.d/virtnodedevd'
|
|
'etc/conf.d/virtnwfilterd'
|
|
'etc/conf.d/virtproxyd'
|
|
'etc/conf.d/virtqemud'
|
|
'etc/conf.d/virtsecretd'
|
|
'etc/conf.d/virtstoraged'
|
|
'etc/conf.d/virtvboxd'
|
|
'etc/libvirt/libvirt-admin.conf'
|
|
'etc/libvirt/libvirt.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-gateway.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.conf'
|
|
'etc/libvirt/qemu-lockd.conf'
|
|
'etc/libvirt/qemu/networks/default.xml'
|
|
'etc/libvirt/virtinterfaced.conf'
|
|
'etc/libvirt/virtlockd.conf'
|
|
'etc/libvirt/virtlogd.conf'
|
|
'etc/libvirt/virt-login-shell.conf'
|
|
'etc/libvirt/virtlxcd.conf'
|
|
'etc/libvirt/virtnetworkd.conf'
|
|
'etc/libvirt/virtnodedevd.conf'
|
|
'etc/libvirt/virtnwfilterd.conf'
|
|
'etc/libvirt/virtproxyd.conf'
|
|
'etc/libvirt/virtqemud.conf'
|
|
'etc/libvirt/virtsecretd.conf'
|
|
'etc/libvirt/virtstoraged.conf'
|
|
'etc/libvirt/virtvboxd.conf'
|
|
'etc/logrotate.d/libvirtd'
|
|
'etc/logrotate.d/libvirtd.lxc'
|
|
'etc/logrotate.d/libvirtd.qemu'
|
|
'etc/sasl2/libvirt.conf'
|
|
)
|
|
source=("https://libvirt.org/sources/$pkgname-$pkgver.tar.xz"{,.asc}
|
|
"CVE-2020-14339.patch")
|
|
sha256sums=('4915d9eab299ed79288d7598b717c587156708c05f701fe55a72293f32eb3182'
|
|
'SKIP'
|
|
'af90e325ae5f6f3f946695a8900ef2ea8cd579da61c608d69c4c550a8bc1b9db')
|
|
validpgpkeys=('C74415BA7C9C7F78F02E1DC34606B8A5DE95BC1F') # Daniel Veillard <veillard@redhat.com>
|
|
|
|
prepare() {
|
|
mkdir build
|
|
cd "$pkgname-$pkgver"
|
|
|
|
patch -Np1 -i "${srcdir}/CVE-2020-14339.patch"
|
|
|
|
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 \
|
|
src/logging/virtlogd.service.in
|
|
sed -i 's|/usr/libexec/qemu-bridge-helper|/usr/lib/qemu/qemu-bridge-helper|g' \
|
|
src/qemu/qemu.conf \
|
|
src/qemu/test_libvirtd_qemu.aug.in
|
|
|
|
sed -i 's/notify/simple/' src/remote/libvirtd.service.in
|
|
}
|
|
|
|
build() {
|
|
cd build
|
|
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \
|
|
"../$pkgname-$pkgver/configure" \
|
|
--prefix=/usr \
|
|
"--libexec=/usr/lib/$pkgname" \
|
|
--sbindir=/usr/bin \
|
|
--with-runstatedir=/run \
|
|
--with-qemu-group=kvm
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
make
|
|
}
|
|
|
|
check() {
|
|
cd build
|
|
make check
|
|
}
|
|
|
|
package_libvirt() {
|
|
provides=('libvirt.so' 'libvirt-admin.so' 'libvirt-lxc.so' 'libvirt-qemu.so')
|
|
cd build
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
mv "$pkgdir"/etc/{sysconfig,conf.d}
|
|
mkdir "$pkgdir"/usr/lib/{sysusers,tmpfiles}.d
|
|
echo "g libvirt - -" > "$pkgdir/usr/lib/sysusers.d/libvirt.conf"
|
|
echo "z /var/lib/libvirt/qemu 0751" > "$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"
|
|
chmod 600 "$pkgdir"/etc/libvirt/nwfilter/*.xml \
|
|
"$pkgdir/etc/libvirt/qemu/networks/default.xml"
|
|
|
|
# Strip auto-generated UUID, so it will be generated per-install. (reproducible builds)
|
|
sed -i 's|<uuid>.*</uuid>|<uuid></uuid>|' "$pkgdir"/etc/libvirt/qemu/networks/default.xml
|
|
|
|
rm -rf \
|
|
"$pkgdir/run" \
|
|
"$pkgdir/var/lib/libvirt/qemu" \
|
|
"$pkgdir/var/cache/libvirt/qemu" \
|
|
"$pkgdir/etc/logrotate.d/libvirtd.libxl"
|
|
|
|
rm -f "$pkgdir/etc/libvirt/qemu/networks/autostart/default.xml"
|
|
|
|
# move split modules
|
|
mv "$pkgdir"/usr/lib/libvirt/storage-backend/libvirt_storage_backend_gluster.so "$pkgdir/../"
|
|
mv "$pkgdir/usr/lib/libvirt/storage-backend/libvirt_storage_backend_iscsi-direct.so" "$pkgdir/../"
|
|
mv "$pkgdir/usr/lib/libvirt/storage-file/libvirt_storage_file_gluster.so" "$pkgdir/../"
|
|
}
|
|
|
|
package_libvirt-storage-gluster() {
|
|
pkgdesc="Libvirt Gluster storage backend"
|
|
depends=("libvirt=$pkgver" 'glusterfs')
|
|
optdepends=()
|
|
backup=()
|
|
|
|
install -Dv -t "$pkgdir/usr/lib/libvirt/storage-backend" "$pkgdir/../libvirt_storage_backend_gluster.so"
|
|
install -Dv -t "$pkgdir/usr/lib/libvirt/storage-file" "$pkgdir/../libvirt_storage_file_gluster.so"
|
|
}
|
|
|
|
package_libvirt-storage-iscsi-direct() {
|
|
pkgdesc="Libvirt iSCSI-direct storage backend"
|
|
depends=("libvirt=$pkgver" 'libiscsi')
|
|
optdepends=()
|
|
backup=()
|
|
|
|
install -Dv -t "$pkgdir/usr/lib/libvirt/storage-backend" "$pkgdir/../libvirt_storage_backend_iscsi-direct.so"
|
|
}
|