###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2016 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 2.5.0
+SUMMARY = Server side daemon and supporting files for libvirt
+
+VER = 8.10.0
THISAPP = libvirt-$(VER)
DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-SUP_ARCH = i586 x86_64
+# SUP_ARCH = x86_64 aarch64
PROG = libvirt
-PAK_VER = 12
+PAK_VER = 33
+
+DEPS = ebtables libpciaccess libyajl ncat qemu
-DEPS = "libpciaccess libyajl ncat qemu"
+SERVICES = libvirtd virtlogd
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 001af1ca2545971c6b46628678fd4afa
+$(DL_FILE)_BLAKE2 = 6c99428dd74ae1e535d0918bb48da0a851b03e9dfc38f96fca060a33b6be6c23c8b4a789695e8cf930536c156c8a893e18753a58c8a827f464b83a61b47c4846
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
-md5 : $(subst %,%_MD5,$(objects))
+b2 : $(subst %,%_BLAKE2,$(objects))
-dist:.
+dist:
$(PAK)
###############################################################################
-# Downloading, checking, md5sum
+# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
###############################################################################
# Installation Details
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
+
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libvirt/0001-Change-default-behavior-of-libvirt-guests.sh-for-IPF.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libvirt/0002-Change-options-in-libvirtd.conf-for-IPFire.patch
- cd $(DIR_APP) && ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc \
- --with-openssl --without-sasl \
- --without-uml --without-vbox --without-lxc --without-esx --without-vmware --without-openvz \
- --without-firewalld --without-network --with-interface --with-virtualport --with-macvtap \
- --disable-nls --without-avahi --without-test-suite --without-dbus \
- --with-qemu-user=nobody --with-qemu-group=kvm \
- --with-storage-dir --with-storage-fs --without-storage-lvm --without-storage-iscsi \
- --without-storage-scsi --without-storage-mpath --without-storage-disk --without-storage-rbd --without-storage-sheepdog --without-storage-gluster --without-storage-zfs
- cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
- cd $(DIR_APP) && make install
+
+ cd $(DIR_APP) && meson \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ -D docs=disabled \
+ -D sasl=disabled \
+ -D driver_vbox=disabled \
+ -D driver_lxc=disabled \
+ -D driver_esx=disabled \
+ -D driver_vmware=disabled \
+ -D driver_openvz=disabled \
+ -D firewalld=disabled \
+ -D driver_network=disabled \
+ -D driver_interface=enabled \
+ -D wireshark_dissector=disabled \
+ -D nls=disabled \
+ -D tests=disabled \
+ -D qemu_user=nobody \
+ -D qemu_group=kvm \
+ -D storage_dir=enabled \
+ -D storage_fs=enabled \
+ -D storage_lvm=enabled \
+ -D storage_iscsi=disabled \
+ -D storage_scsi=disabled \
+ -D storage_mpath=disabled \
+ -D storage_disk=disabled \
+ -D storage_rbd=disabled \
+ -D storage_gluster=disabled \
+ -D storage_zfs=disabled \
+ builddir/
+ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING) $(EXTRA_MAKE)
+ cd $(DIR_APP) && ninja -C builddir/ install
+
#install initscripts
- $(call INSTALL_INITSCRIPT,libvirtd)
- $(call INSTALL_INITSCRIPT,virtlogd)
+ @$(call INSTALL_INITSCRIPTS,$(SERVICES))
mv /usr/libexec/libvirt-guests.sh /etc/rc.d/init.d/libvirt-guests
+
# Backup
install -v -m 644 $(DIR_SRC)/config/backup/includes/libvirt /var/ipfire/backup/addons/includes/libvirt
+
+ # Install libvirtd.conf
+ cp -fv $(DIR_SRC)/config/libvirt/libvirtd.conf /etc/libvirt
@rm -rf $(DIR_APP)
@$(POSTBUILD)