[arch-commits] Commit in libvirt/trunk (PKGBUILD)

Robin Broda coderobe at archlinux.org
Wed May 6 11:47:09 UTC 2020


    Date: Wednesday, May 6, 2020 @ 11:47:09
  Author: coderobe
Revision: 625035

upgpkg: libvirt 6.3.0-1: major cleanup thanks to Toolybird, split off storage backends

Modified:
  libvirt/trunk/PKGBUILD

----------+
 PKGBUILD |  230 +++++++++++++++++++++++++++++++------------------------------
 1 file changed, 118 insertions(+), 112 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-05-06 11:44:17 UTC (rev 625034)
+++ PKGBUILD	2020-05-06 11:47:09 UTC (rev 625035)
@@ -1,35 +1,48 @@
 # Maintainer: Christian Rebischke <chris.rebischke at archlinux.org>
+# Maintainer: Robin Broda <robin at broda.me>
 # Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
 # Contributor: Jonathan Wiersma <archaur at jonw dot org>
 
-pkgname=libvirt
-pkgver=5.10.0
-pkgrel=3
+pkgname=(libvirt libvirt-storage-gluster libvirt-storage-iscsi-direct libvirt-storage-rbd)
+pkgver=6.3.0
+pkgrel=1
 pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)"
 arch=('x86_64')
 url="https://libvirt.org/"
 license=('LGPL')
-makedepends=('lvm2' 'linux-api-headers' 'dnsmasq' 'lxc' 'libiscsi' 'open-iscsi'
-             'perl-xml-xpath' 'libxslt' 'qemu' 'parted' 'python' 'rpcsvc-proto')
-depends=('e2fsprogs' 'gnutls' 'iptables' 'libxml2' 'parted' 'polkit'
-         'yajl' 'libpciaccess' 'udev' 'dbus' 'libxau' 'libxdmcp' 'libpcap'
-         'libcap-ng' 'curl' 'libsasl' 'libgcrypt' 'libgpg-error' 'openssl'
-         'libxcb' 'gcc-libs' 'iproute2' 'libnl' 'libx11' 'numactl' 'gettext'
-         'libssh2' 'netcf' 'fuse2' 'glusterfs' 'ceph-libs' 'libiscsi')
-optdepends=('ebtables: required for default NAT networking'
+depends=('libpciaccess' 'yajl' 'fuse2' 'gnutls' 'parted' 'libssh' 'libxml2' 'numactl' 'polkit')
+makedepends=('libxslt' 'python-docutils' 'lvm2' 'open-iscsi' 'libiscsi' 'ceph-libs' 'glusterfs'
+             'bash-completion' 'rpcsvc-proto' 'dnsmasq' 'iproute2' 'qemu-headless')
+checkdepends=('ebtables')
+optdepends=('libvirt-storage-gluster: Gluster storage backend'
+            'libvirt-storage-iscsi-direct: iSCSI-direct storage backend'
+            'libvirt-storage-rbd: RBD 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'
-            'bridge-utils: for bridged networking'
-            'netcat: for remote management over ssh'
-            'qemu'
-            'radvd'
-            'dmidecode'
-            'parted'
-            'ceph: for ceph support'
-            'qemu-block-gluster: for qemu glusterfs support')
-backup=('etc/conf.d/libvirt-guests'
+            'radvd: IPv6 RAD support'
+            'ebtables: required for default NAT networking'
+            'qemu: QEMU/KVM support'
+            '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/virtlogd.conf'
   'etc/libvirt/libvirtd.conf'
   'etc/libvirt/lxc.conf'
   'etc/libvirt/nwfilter/allow-arp.xml'
@@ -37,6 +50,7 @@
   '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'
@@ -49,124 +63,116 @@
   '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.conf'
   'etc/libvirt/qemu-lockd.conf'
-  'etc/libvirt/qemu.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/virtlockd.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')
-options=('emptydirs')
-validpgpkeys=('C74415BA7C9C7F78F02E1DC34606B8A5DE95BC1F')
-source=("https://libvirt.org/sources/${pkgname}-${pkgver}.tar.xz"{,.asc}
-        'libvirtd.conf.d'
-        'libvirtd-guests.conf.d'
-        'libvirt.sysusers.d'
-        '0001-qemu_firmware-Pass-virDomainDef-into-qemuFirmwareFil.patch'
-        '0002-qemu_firmware-Introduce-want-variable-to-qemuFirmwar.patch'
-        '0003-src-Introduce-and-use-virDomainDefHasOldStyleUEFI-an.patch'
-        '0004-qemu_firmware-Try-to-autofill-for-old-style-UEFI-spe.patch')
-sha512sums=('bb518a6aa6731a7de4b24fc7b8ffdcd2cdd84dfe49047374e0f02265c274eb06dbe1732c9cc4954412853d36d9dd5c1124fb8a5e37f4c01654d85013773ffa23'
-            'SKIP'
-            'fc0e16e045a2c84d168d42c97d9e14ca32ba0d86025135967f4367cf3fa663882eefb6923ebf04676ae763f4f459e5156d7221b36b47c835f9e531c6b6e0cd9d'
-            'ef221bae994ad0a15ab5186b7469132896156d82bfdc3ef3456447d5cf1af347401ef33e8665d5b2f76451f5457aee7ea01064d7b9223d6691c90c4456763258'
-            '7d1d535aaf739a6753f6819c49272c8d9b5f488e0a8553797499334a76b8631474e222b6048f2125b858e5ecc21e602face45dd02121f833d605b9ae58322982'
-            '58569ece7fd6ce69c4261523a985778f29e33e78c814ffb8ed674f34a32dc92aaaeb6d785ab507015f15a7480434bcfbf93b728b51539831d5fa8b4915f45a11'
-            '4162a7a38d94cb98a2c9a318fb7d7b9b8dc37a07762e8f6c8e2962c9961230f901fe354c80ea83dfe6d0d8cdda5f706a7cf20fcbcaf916f854755ea9a00e435b'
-            '64334505c906a256852d7d56715ce259e2881e147b290ca321d73043dd683d594b291245de36f97259b87c247852858e04e89315f929234236bb8abc39c284f2'
-            '8908557893efe6f53d15907be059a410f99e4f6ffd5211979978f30ab21faaeabaf80ff98e45eef2802540dd688c862b3bea22555b968651368c629c53da39fa')
-changelog=Changelog
+  'etc/sasl2/libvirt.conf'
+)
+source=("https://libvirt.org/sources/$pkgname-$pkgver.tar.xz"{,.asc})
+sha256sums=('74069438d34082336e99a88146349e21130552b96efc3b7c562f6878127996f5'
+            'SKIP')
+validpgpkeys=('C74415BA7C9C7F78F02E1DC34606B8A5DE95BC1F') # Daniel Veillard <veillard at redhat.com>
 
 prepare() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-
-  #local src
-  #for src in "${source[@]}"; do
-  #  src="${src%%::*}"
-  #  src="${src##*/}"
-  #  [[ $src = *.patch ]] || continue
-  #  msg2 "Applying patch $src..."
-  #  patch -Np1 < "../$src"
-  #done
-
-  # FS#64175
-  patch -p1 < ../0001-qemu_firmware-Pass-virDomainDef-into-qemuFirmwareFil.patch
-  patch -p1 < ../0002-qemu_firmware-Introduce-want-variable-to-qemuFirmwar.patch
-  patch -p1 < ../0003-src-Introduce-and-use-virDomainDefHasOldStyleUEFI-an.patch
-  patch -p1 < ../0004-qemu_firmware-Try-to-autofill-for-old-style-UEFI-spe.patch
-
-  autoreconf -vi
-
+  mkdir build
+  cd "$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|@sbindir@|/usr/bin|g' src/locking/virtlockd.service.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,_conf.c} \
+    src/qemu/qemu.conf \
     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
 }
 
 build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-
-  export PYTHON=$(command -v python)
-  export LDFLAGS=-lX11
-  export RADVD=/usr/bin/radvd
-  mkdir build && cd build
-  ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool ../configure \
+  cd build
+  ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \
+  "../$pkgname-$pkgver/configure" \
     --prefix=/usr \
-    --libexec=/usr/lib/"${pkgname}" \
+    "--libexec=/usr/lib/$pkgname" \
     --sbindir=/usr/bin \
-    --disable-static \
-    --with-init-script=systemd \
-    --with-qemu \
-    --with-qemu-user=nobody \
-    --with-qemu-group=kvm \
-    --without-hal \
-    --with-interface \
-    --with-lxc \
-    --with-netcf \
-    --with-udev \
-    --with-storage-disk \
-    --with-storage-gluster \
-    --with-storage-iscsi \
-    --with-storage-lvm \
-    --with-storage-zfs \
-    --with-runstatedir=/run
-    # --with-audit
+    --with-runstatedir=/run \
+    --with-qemu-group=kvm
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
   make
 }
 
-package() {
-  cd "${srcdir}/${pkgname}-${pkgver}/build"
+check() {
+  cd build
+  make check
+}
 
-  make DESTDIR="${pkgdir}" install
+package_libvirt() {
+  provides=('libvirt.so' 'libvirt-admin.so' 'libvirt-lxc.so' 'libvirt-qemu.so')
+  cd 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
+  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
+  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"
 
   rm -rf \
-    "${pkgdir}"/var/run \
-    "${pkgdir}"/var/lib/libvirt/qemu \
-    "${pkgdir}"/var/cache/libvirt/qemu \
-    "${pkgdir}"/etc/sysconfig
+    "$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
+  rm -f "$pkgdir/etc/libvirt/qemu/networks/autostart/default.xml"
 
-  # Fix permission Fix #61977
-  chmod 600 "${pkgdir}"/etc/libvirt/nwfilter/*.xml "${pkgdir}/etc/libvirt/qemu/networks/default.xml"
+  # move split modules
+  mv "$pkgdir"/usr/lib/libvirt/storage-backend/libvirt_storage_backend_{rbd,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/../"
+}
 
-  # Fix firewalld rules Fix #62219
-  sed -i "s|<rule priority='32767'><reject/></rule>|#<rule priority='32767'><reject/></rule>|" "${pkgdir}/usr/lib/firewalld/zones/libvirt.xml"
+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"
+}
+
+package_libvirt-storage-rbd() {
+  pkgdesc="Libvirt RBD storage backend"
+  depends=("libvirt=$pkgver" 'ceph-libs')
+  optdepends=()
+  backup=()
+
+  install -Dv -t "$pkgdir/usr/lib/libvirt/storage-backend" "$pkgdir/../libvirt_storage_backend_rbd.so"
+}


More information about the arch-commits mailing list