These patch series contain all changes for libvirt. I tried to describe everything, that is necessary, in the commit messages.
If there are questions just ask :-)
Regards Jonatan
This change make it possible to use a macvtap interface as a standard interface (green0). This is required by libvirt, because libvirt adds macvtap interfaces to the physical interface, but this causes a problem. A VM with this configuration can communicate with the whole network, but not with the Host (IPFire). To solve this problem, the host interface must be also a macvtap interface. This is achieved by: 1. In /var/ipfire/ethernet/settings the mode of a interface could set with GREEN_MODE= ... When the mode is macvtap the physical interface is renamed to green0phys instead of green0. If the mode is not set the normal configuration is applied . 2. The network-hotplug-macvtap script checks if a physical nic ends with "phys". When the interface ends with "phys", the script adds a macvtap interface to the physical nic which is named green0. The MAC address of this interface is set to the MAC address of the physical nic. The MAC address of the physical is set to a random value. We do this because the MAC address of green0 should not change. All services, IP addresses then binds to the macvatap interface, the physical nic is not used. PS.: The script works also with the orange or blue interface, just replace green with orange or blue.
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- config/rootfiles/common/udev | 1 + config/udev/60-net.rules | 3 +++ config/udev/network-hotplug-macvtap | 46 +++++++++++++++++++++++++++++++++++++ config/udev/network-hotplug-rename | 11 +++++++-- lfs/udev | 2 ++ 5 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 config/udev/network-hotplug-macvtap
diff --git a/config/rootfiles/common/udev b/config/rootfiles/common/udev index 4d51954..e1f4bd5 100644 --- a/config/rootfiles/common/udev +++ b/config/rootfiles/common/udev @@ -28,6 +28,7 @@ lib/udev #lib/udev/hwdb.d/60-keyboard.hwdb #lib/udev/init-net-rules.sh #lib/udev/mtd_probe +#lib/udev/network-hotplug-macvtap #lib/udev/network-hotplug-rename #lib/udev/network-hotplug-vlan #lib/udev/rule_generator.functions diff --git a/config/udev/60-net.rules b/config/udev/60-net.rules index e82320c..e031e7a 100644 --- a/config/udev/60-net.rules +++ b/config/udev/60-net.rules @@ -5,3 +5,6 @@ ACTION=="add", SUBSYSTEM=="net", PROGRAM="/lib/udev/network-hotplug-rename", RES # Call a script that will create all virtual devices for a parent device # that has just come up. ACTION=="add", SUBSYSTEM=="net", RUN+="/lib/udev/network-hotplug-vlan" + +# Call a script that will set up macvtap interfaces +ACTION=="add", SUBSYSTEM=="net", RUN+="/lib/udev/network-hotplug-macvtap" diff --git a/config/udev/network-hotplug-macvtap b/config/udev/network-hotplug-macvtap new file mode 100644 index 0000000..7f5da12 --- /dev/null +++ b/config/udev/network-hotplug-macvtap @@ -0,0 +1,46 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2016 IPFire Team info@ipfire.org # +# # +############################################################################ + +[ -n "${INTERFACE}" ] || exit 2 + +PHYSICAL_INTERFACE="${INTERFACE}" +VIRTUAL_INTERFACE="${INTERFACE%phys}" +#VIRTUAL_INTERFACE="${VIRTUAL_INTERFACE}0" + +# Do nothing if the physical interface does not end with "phys" +case "${PHYSICAL_INTERFACE}" in + *phys) + ;; + *) + exit 0 + ;; +esac + +ADDRESS="$(</sys/class/net/${PHYSICAL_INTERFACE}/address)" +rand="$(</proc/sys/kernel/random/uuid)" +rand="${rand//-/}" +GENERATED_ADDRESS=$(echo "02:${rand:0:2}:${rand:2:2}:${rand:4:2}:${rand:6:2}:${rand:8:2}") + +ip link add link "${PHYSICAL_INTERFACE}" "${VIRTUAL_INTERFACE}" address "${ADDRESS}" type macvlan mode bridge +ip link set "${PHYSICAL_INTERFACE}" address "${GENERATED_ADDRESS}" +ip link set "${PHYSICAL_INTERFACE}" up diff --git a/config/udev/network-hotplug-rename b/config/udev/network-hotplug-rename index 331b788..aaae641 100644 --- a/config/udev/network-hotplug-rename +++ b/config/udev/network-hotplug-rename @@ -57,16 +57,23 @@ ADDRESS="$(</sys/class/net/${INTERFACE}/address)" for zone in ${ZONES}; do address="${zone}_MACADDR" device="${zone}_DEV" + mode="${zone}_MODE"
# Skip if address or device is unset [ -n "${!address}" -a -n "${!device}" ] || continue
+ # Compare MAC addresses + [ "${ADDRESS}" = "${!address}" ] || continue + # If a matching interface has been found we will # print the name to which udev will rename it. - if [ "${ADDRESS}" = "${!address}" ]; then + if [ "${!mode}" = "macvtap" ]; then + echo "${!device}phys" + else echo "${!device}" - exit 0 fi + + exit 0 done
# If we get here we have not found a matching device, diff --git a/lfs/udev b/lfs/udev index 7d5bdbc..61bd337 100644 --- a/lfs/udev +++ b/lfs/udev @@ -109,6 +109,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) /lib/udev/network-hotplug-rename install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-vlan \ /lib/udev/network-hotplug-vlan + install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-macvtap \ + /lib/udev/network-hotplug-macvtap install -v -m 644 $(DIR_SRC)/config/udev/60-net.rules \ /lib/udev/rules.d
This package is a build dependency of libpciaccess, we do not need this as a package. That's why the rootfiles goes into common and all lines are excluded.
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- config/rootfiles/common/util-macros | 4 ++ lfs/util-macros | 83 +++++++++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 88 insertions(+) create mode 100644 config/rootfiles/common/util-macros create mode 100644 lfs/util-macros
diff --git a/config/rootfiles/common/util-macros b/config/rootfiles/common/util-macros new file mode 100644 index 0000000..1858667 --- /dev/null +++ b/config/rootfiles/common/util-macros @@ -0,0 +1,4 @@ +#usr/share/aclocal/xorg-macros.m4 +#usr/share/pkgconfig/xorg-macros.pc +#usr/share/util-macros +#usr/share/util-macros/INSTALL diff --git a/lfs/util-macros b/lfs/util-macros new file mode 100644 index 0000000..f2c347f --- /dev/null +++ b/lfs/util-macros @@ -0,0 +1,83 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2016 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.19.0 + +THISAPP = util-macros-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = util-macros +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 40e1caa49a71a26e0aa68ddd00203717 + +install : $(TARGET) +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index fee4edd..b272fbf 100755 --- a/make.sh +++ b/make.sh @@ -862,6 +862,7 @@ buildipfire() { ipfiremake dmidecode ipfiremake mcelog ipfiremake rtpproxy + ipfiremake util-macros }
buildinstaller() {
libpciacces is a dependdency of libvirt
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- config/rootfiles/packages/libpciaccess | 7 +++ lfs/libpciaccess | 83 ++++++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 91 insertions(+) create mode 100644 config/rootfiles/packages/libpciaccess create mode 100644 lfs/libpciaccess
diff --git a/config/rootfiles/packages/libpciaccess b/config/rootfiles/packages/libpciaccess new file mode 100644 index 0000000..d4a3c41 --- /dev/null +++ b/config/rootfiles/packages/libpciaccess @@ -0,0 +1,7 @@ +#usr/include/pciaccess.h +#usr/lib/libpciaccess.a +#usr/lib/libpciaccess.la +#usr/lib/libpciaccess.so +usr/lib/libpciaccess.so.0 +usr/lib/libpciaccess.so.0.11.1 +#usr/lib/pkgconfig/pciaccess.pc diff --git a/lfs/libpciaccess b/lfs/libpciaccess new file mode 100644 index 0000000..0df4f45 --- /dev/null +++ b/lfs/libpciaccess @@ -0,0 +1,83 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2016 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.13.4 + +THISAPP = libpciaccess-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = libpciaccess +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = cc1fad87da60682af1d5fa43a5da45a4 + +install : $(TARGET) +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index b272fbf..6185a70 100755 --- a/make.sh +++ b/make.sh @@ -863,6 +863,7 @@ buildipfire() { ipfiremake mcelog ipfiremake rtpproxy ipfiremake util-macros + ipfiremake libpciaccess }
buildinstaller() {
libyajl is a dependency of libvirt
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- config/rootfiles/packages/libyajl | 13 ++++++ lfs/libyajl | 83 +++++++++++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 97 insertions(+) create mode 100644 config/rootfiles/packages/libyajl create mode 100644 lfs/libyajl
diff --git a/config/rootfiles/packages/libyajl b/config/rootfiles/packages/libyajl new file mode 100644 index 0000000..f575f6a --- /dev/null +++ b/config/rootfiles/packages/libyajl @@ -0,0 +1,13 @@ +usr/bin/json_reformat +usr/bin/json_verify +#usr/include/yajl +#usr/include/yajl/yajl_common.h +#usr/include/yajl/yajl_gen.h +#usr/include/yajl/yajl_parse.h +#usr/include/yajl/yajl_tree.h +#usr/include/yajl/yajl_version.h +#usr/lib/libyajl.so +usr/lib/libyajl.so.2 +usr/lib/libyajl.so.2.1.0 +#usr/lib/libyajl_s.a +#usr/share/pkgconfig/yajl.pc diff --git a/lfs/libyajl b/lfs/libyajl new file mode 100644 index 0000000..41f70ac --- /dev/null +++ b/lfs/libyajl @@ -0,0 +1,83 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2016 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 2.1.0 + +THISAPP = libyajl-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = libyajl +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM) + +$(DL_FILE)_MD5 = 58c61232e1be991fd9a7ceecfc78836c + +install : $(TARGET) +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && cmake -DCMAKE_INSTALL_PREFIX=/usr . + cd $(DIR_APP) && make + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 6185a70..3399f28 100755 --- a/make.sh +++ b/make.sh @@ -864,6 +864,7 @@ buildipfire() { ipfiremake rtpproxy ipfiremake util-macros ipfiremake libpciaccess + ipfiremake libyajl }
buildinstaller() {
Libvirt needs gettest.sh gettext and envsubst for the libvirt-guests init script.
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- config/rootfiles/common/gettext | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/config/rootfiles/common/gettext b/config/rootfiles/common/gettext index e740441..d3b2140 100644 --- a/config/rootfiles/common/gettext +++ b/config/rootfiles/common/gettext @@ -1,7 +1,7 @@ #usr/bin/autopoint -#usr/bin/envsubst -#usr/bin/gettext -#usr/bin/gettext.sh +usr/bin/envsubst +usr/bin/gettext +usr/bin/gettext.sh #usr/bin/gettextize #usr/bin/msgattrib #usr/bin/msgcat
Libvirt is buidl only on i585 and x86_64 because qemu is build only on this arches.
Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- config/rootfiles/common/armv5tel/initscripts | 2 + config/rootfiles/common/i586/initscripts | 2 + config/rootfiles/common/x86_64/initscripts | 2 + config/rootfiles/packages/libvirt | 285 +++++++++++++++++++++ lfs/libvirt | 93 +++++++ make.sh | 1 + src/initscripts/init.d/libvirtd | 49 ++++ src/paks/libvirt/install.sh | 33 +++ src/paks/libvirt/uninstall.sh | 30 +++ src/paks/libvirt/update.sh | 27 ++ ...ult-behavior-of-libvirt-guests.sh-for-IPF.patch | 30 +++ 11 files changed, 554 insertions(+) create mode 100644 config/rootfiles/packages/libvirt create mode 100644 lfs/libvirt create mode 100644 src/initscripts/init.d/libvirtd create mode 100644 src/paks/libvirt/install.sh create mode 100644 src/paks/libvirt/uninstall.sh create mode 100644 src/paks/libvirt/update.sh create mode 100644 src/patches/libvirt/0001-Change-default-behavior-of-libvirt-guests.sh-for-IPF.patch
diff --git a/config/rootfiles/common/armv5tel/initscripts b/config/rootfiles/common/armv5tel/initscripts index b827b1c..0012f13 100644 --- a/config/rootfiles/common/armv5tel/initscripts +++ b/config/rootfiles/common/armv5tel/initscripts @@ -45,6 +45,8 @@ etc/rc.d/init.d/ipsec #etc/rc.d/init.d/lcdproc #etc/rc.d/init.d/lcr etc/rc.d/init.d/leds +etc/rc.d/init.d/libvirt-guests +etc/rc.d/init.d/libvirtd etc/rc.d/init.d/localnet etc/rc.d/init.d/mISDN #etc/rc.d/init.d/mediatomb diff --git a/config/rootfiles/common/i586/initscripts b/config/rootfiles/common/i586/initscripts index 51185f6..f775eca 100644 --- a/config/rootfiles/common/i586/initscripts +++ b/config/rootfiles/common/i586/initscripts @@ -47,6 +47,8 @@ etc/rc.d/init.d/ipsec #etc/rc.d/init.d/lcdproc #etc/rc.d/init.d/lcr etc/rc.d/init.d/leds +etc/rc.d/init.d/libvirt-guests +etc/rc.d/init.d/libvirtd etc/rc.d/init.d/localnet etc/rc.d/init.d/mISDN #etc/rc.d/init.d/mediatomb diff --git a/config/rootfiles/common/x86_64/initscripts b/config/rootfiles/common/x86_64/initscripts index 51185f6..f775eca 100644 --- a/config/rootfiles/common/x86_64/initscripts +++ b/config/rootfiles/common/x86_64/initscripts @@ -47,6 +47,8 @@ etc/rc.d/init.d/ipsec #etc/rc.d/init.d/lcdproc #etc/rc.d/init.d/lcr etc/rc.d/init.d/leds +etc/rc.d/init.d/libvirt-guests +etc/rc.d/init.d/libvirtd etc/rc.d/init.d/localnet etc/rc.d/init.d/mISDN #etc/rc.d/init.d/mediatomb diff --git a/config/rootfiles/packages/libvirt b/config/rootfiles/packages/libvirt new file mode 100644 index 0000000..c2d6042 --- /dev/null +++ b/config/rootfiles/packages/libvirt @@ -0,0 +1,285 @@ +#etc/libvirt +etc/libvirt/libvirt.conf +etc/libvirt/libvirtd.conf +#etc/libvirt/nwfilter +#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/virtlockd.conf +etc/logrotate.d/libvirtd +etc/logrotate.d/libvirtd.libxl +#etc/logrotate.d/libvirtd.lxc +etc/logrotate.d/libvirtd.qemu +#etc/logrotate.d/libvirtd.uml +etc/rc.d/init.d/libvirt-guests +etc/rc.d/init.d/libvirtd +usr/bin/virsh +usr/bin/virt-host-validate +usr/bin/virt-pki-validate +usr/bin/virt-xml-validate +#usr/include/libvirt +#usr/include/libvirt/libvirt-domain-snapshot.h +#usr/include/libvirt/libvirt-domain.h +#usr/include/libvirt/libvirt-event.h +#usr/include/libvirt/libvirt-host.h +#usr/include/libvirt/libvirt-interface.h +#usr/include/libvirt/libvirt-lxc.h +#usr/include/libvirt/libvirt-network.h +#usr/include/libvirt/libvirt-nodedev.h +#usr/include/libvirt/libvirt-nwfilter.h +#usr/include/libvirt/libvirt-qemu.h +#usr/include/libvirt/libvirt-secret.h +#usr/include/libvirt/libvirt-storage.h +#usr/include/libvirt/libvirt-stream.h +#usr/include/libvirt/libvirt.h +#usr/include/libvirt/virterror.h +#usr/lib/libvirt +#usr/lib/libvirt-admin.la +#usr/lib/libvirt-admin.so +usr/lib/libvirt-admin.so.0 +usr/lib/libvirt-admin.so.0.1002.18 +#usr/lib/libvirt-lxc.la +#usr/lib/libvirt-lxc.so +usr/lib/libvirt-lxc.so.0 +usr/lib/libvirt-lxc.so.0.1002.18 +#usr/lib/libvirt-qemu.la +#usr/lib/libvirt-qemu.so +usr/lib/libvirt-qemu.so.0 +usr/lib/libvirt-qemu.so.0.1002.18 +#usr/lib/libvirt.la +#usr/lib/libvirt.so +usr/lib/libvirt.so.0 +usr/lib/libvirt.so.0.1002.18 +#usr/lib/libvirt/connection-driver +#usr/lib/libvirt/connection-driver/libvirt_driver_interface.la +usr/lib/libvirt/connection-driver/libvirt_driver_interface.so +#usr/lib/libvirt/connection-driver/libvirt_driver_nodedev.la +usr/lib/libvirt/connection-driver/libvirt_driver_nodedev.so +#usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.la +usr/lib/libvirt/connection-driver/libvirt_driver_nwfilter.so +#usr/lib/libvirt/connection-driver/libvirt_driver_qemu.la +usr/lib/libvirt/connection-driver/libvirt_driver_qemu.so +#usr/lib/libvirt/connection-driver/libvirt_driver_secret.la +usr/lib/libvirt/connection-driver/libvirt_driver_secret.so +#usr/lib/libvirt/connection-driver/libvirt_driver_storage.la +usr/lib/libvirt/connection-driver/libvirt_driver_storage.so +#usr/lib/libvirt/lock-driver +#usr/lib/libvirt/lock-driver/lockd.la +usr/lib/libvirt/lock-driver/lockd.so +#usr/lib/pkgconfig/libvirt-lxc.pc +#usr/lib/pkgconfig/libvirt-qemu.pc +#usr/lib/pkgconfig/libvirt.pc +#usr/lib/sysctl.d +usr/lib/sysctl.d/60-libvirtd.conf +usr/libexec/libvirt_iohelper +usr/sbin/libvirtd +usr/sbin/virtlockd +#usr/share/augeas +#usr/share/augeas/lenses +#usr/share/augeas/lenses/libvirt_lockd.aug +#usr/share/augeas/lenses/libvirtd.aug +#usr/share/augeas/lenses/libvirtd_qemu.aug +#usr/share/augeas/lenses/tests +#usr/share/augeas/lenses/tests/test_libvirt_lockd.aug +#usr/share/augeas/lenses/tests/test_libvirtd.aug +#usr/share/augeas/lenses/tests/test_libvirtd_qemu.aug +#usr/share/augeas/lenses/tests/test_virtlockd.aug +#usr/share/augeas/lenses/virtlockd.aug +#usr/share/doc/libvirt-1.2.18.3 +#usr/share/doc/libvirt-1.2.18.3/html +#usr/share/doc/libvirt-1.2.18.3/html/32favicon.png +#usr/share/doc/libvirt-1.2.18.3/html/404.html +#usr/share/doc/libvirt-1.2.18.3/html/acl.html +#usr/share/doc/libvirt-1.2.18.3/html/aclpolkit.html +#usr/share/doc/libvirt-1.2.18.3/html/api.html +#usr/share/doc/libvirt-1.2.18.3/html/api_extension.html +#usr/share/doc/libvirt-1.2.18.3/html/apps.html +#usr/share/doc/libvirt-1.2.18.3/html/archdomain.html +#usr/share/doc/libvirt-1.2.18.3/html/architecture.gif +#usr/share/doc/libvirt-1.2.18.3/html/architecture.html +#usr/share/doc/libvirt-1.2.18.3/html/archnetwork.html +#usr/share/doc/libvirt-1.2.18.3/html/archnode.html +#usr/share/doc/libvirt-1.2.18.3/html/archstorage.html +#usr/share/doc/libvirt-1.2.18.3/html/auditlog.html +#usr/share/doc/libvirt-1.2.18.3/html/auth.html +#usr/share/doc/libvirt-1.2.18.3/html/bindings.html +#usr/share/doc/libvirt-1.2.18.3/html/bugs.html +#usr/share/doc/libvirt-1.2.18.3/html/cgroups.html +#usr/share/doc/libvirt-1.2.18.3/html/compiling.html +#usr/share/doc/libvirt-1.2.18.3/html/contact.html +#usr/share/doc/libvirt-1.2.18.3/html/csharp.html +#usr/share/doc/libvirt-1.2.18.3/html/deployment.html +#usr/share/doc/libvirt-1.2.18.3/html/devguide.html +#usr/share/doc/libvirt-1.2.18.3/html/docs.html +#usr/share/doc/libvirt-1.2.18.3/html/downloads.html +#usr/share/doc/libvirt-1.2.18.3/html/drivers.html +#usr/share/doc/libvirt-1.2.18.3/html/drvbhyve.html +#usr/share/doc/libvirt-1.2.18.3/html/drvesx.html +#usr/share/doc/libvirt-1.2.18.3/html/drvhyperv.html +#usr/share/doc/libvirt-1.2.18.3/html/drvlxc.html +#usr/share/doc/libvirt-1.2.18.3/html/drvopenvz.html +#usr/share/doc/libvirt-1.2.18.3/html/drvparallels.html +#usr/share/doc/libvirt-1.2.18.3/html/drvphyp.html +#usr/share/doc/libvirt-1.2.18.3/html/drvqemu.html +#usr/share/doc/libvirt-1.2.18.3/html/drvremote.html +#usr/share/doc/libvirt-1.2.18.3/html/drvtest.html +#usr/share/doc/libvirt-1.2.18.3/html/drvuml.html +#usr/share/doc/libvirt-1.2.18.3/html/drvvbox.html +#usr/share/doc/libvirt-1.2.18.3/html/drvvmware.html +#usr/share/doc/libvirt-1.2.18.3/html/drvxen.html +#usr/share/doc/libvirt-1.2.18.3/html/errors.html +#usr/share/doc/libvirt-1.2.18.3/html/et.png +#usr/share/doc/libvirt-1.2.18.3/html/firewall.html +#usr/share/doc/libvirt-1.2.18.3/html/footer_corner.png +#usr/share/doc/libvirt-1.2.18.3/html/footer_pattern.png +#usr/share/doc/libvirt-1.2.18.3/html/format.html +#usr/share/doc/libvirt-1.2.18.3/html/formatcaps.html +#usr/share/doc/libvirt-1.2.18.3/html/formatdomain.html +#usr/share/doc/libvirt-1.2.18.3/html/formatdomaincaps.html +#usr/share/doc/libvirt-1.2.18.3/html/formatnetwork.html +#usr/share/doc/libvirt-1.2.18.3/html/formatnode.html +#usr/share/doc/libvirt-1.2.18.3/html/formatnwfilter.html +#usr/share/doc/libvirt-1.2.18.3/html/formatsecret.html +#usr/share/doc/libvirt-1.2.18.3/html/formatsnapshot.html +#usr/share/doc/libvirt-1.2.18.3/html/formatstorage.html +#usr/share/doc/libvirt-1.2.18.3/html/formatstorageencryption.html +#usr/share/doc/libvirt-1.2.18.3/html/generic.css +#usr/share/doc/libvirt-1.2.18.3/html/goals.html +#usr/share/doc/libvirt-1.2.18.3/html/governance.html +#usr/share/doc/libvirt-1.2.18.3/html/hacking.html +#usr/share/doc/libvirt-1.2.18.3/html/hooks.html +#usr/share/doc/libvirt-1.2.18.3/html/html +#usr/share/doc/libvirt-1.2.18.3/html/html/home.png +#usr/share/doc/libvirt-1.2.18.3/html/html/index.html +#usr/share/doc/libvirt-1.2.18.3/html/html/left.png +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-domain-snapshot.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-domain.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-event.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-host.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-interface.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-network.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-nodedev.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-nwfilter.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-secret.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-storage.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-libvirt-stream.html +#usr/share/doc/libvirt-1.2.18.3/html/html/libvirt-virterror.html +#usr/share/doc/libvirt-1.2.18.3/html/html/right.png +#usr/share/doc/libvirt-1.2.18.3/html/html/up.png +#usr/share/doc/libvirt-1.2.18.3/html/hvsupport.html +#usr/share/doc/libvirt-1.2.18.3/html/index.html +#usr/share/doc/libvirt-1.2.18.3/html/internals +#usr/share/doc/libvirt-1.2.18.3/html/internals.html +#usr/share/doc/libvirt-1.2.18.3/html/internals/command.html +#usr/share/doc/libvirt-1.2.18.3/html/internals/locking.html +#usr/share/doc/libvirt-1.2.18.3/html/internals/oomtesting.html +#usr/share/doc/libvirt-1.2.18.3/html/internals/rpc.html +#usr/share/doc/libvirt-1.2.18.3/html/intro.html +#usr/share/doc/libvirt-1.2.18.3/html/java.html +#usr/share/doc/libvirt-1.2.18.3/html/libvirt-daemon-arch.png +#usr/share/doc/libvirt-1.2.18.3/html/libvirt-driver-arch.png +#usr/share/doc/libvirt-1.2.18.3/html/libvirt-header-bg.png +#usr/share/doc/libvirt-1.2.18.3/html/libvirt-header-logo.png +#usr/share/doc/libvirt-1.2.18.3/html/libvirt-net-logical.png +#usr/share/doc/libvirt-1.2.18.3/html/libvirt-net-physical.png +#usr/share/doc/libvirt-1.2.18.3/html/libvirt-object-model.png +#usr/share/doc/libvirt-1.2.18.3/html/libvirt.css +#usr/share/doc/libvirt-1.2.18.3/html/libvirtLogo.png +#usr/share/doc/libvirt-1.2.18.3/html/locking-lockd.html +#usr/share/doc/libvirt-1.2.18.3/html/locking-sanlock.html +#usr/share/doc/libvirt-1.2.18.3/html/locking.html +#usr/share/doc/libvirt-1.2.18.3/html/logging.html +#usr/share/doc/libvirt-1.2.18.3/html/madeWith.png +#usr/share/doc/libvirt-1.2.18.3/html/main.css +#usr/share/doc/libvirt-1.2.18.3/html/migration-managed-direct.png +#usr/share/doc/libvirt-1.2.18.3/html/migration-managed-p2p.png +#usr/share/doc/libvirt-1.2.18.3/html/migration-native.png +#usr/share/doc/libvirt-1.2.18.3/html/migration-tunnel.png +#usr/share/doc/libvirt-1.2.18.3/html/migration-unmanaged-direct.png +#usr/share/doc/libvirt-1.2.18.3/html/migration.html +#usr/share/doc/libvirt-1.2.18.3/html/news.html +#usr/share/doc/libvirt-1.2.18.3/html/node.gif +#usr/share/doc/libvirt-1.2.18.3/html/pending.html +#usr/share/doc/libvirt-1.2.18.3/html/php.html +#usr/share/doc/libvirt-1.2.18.3/html/python.html +#usr/share/doc/libvirt-1.2.18.3/html/relatedlinks.html +#usr/share/doc/libvirt-1.2.18.3/html/remote.html +#usr/share/doc/libvirt-1.2.18.3/html/secureusage.html +#usr/share/doc/libvirt-1.2.18.3/html/securityprocess.html +#usr/share/doc/libvirt-1.2.18.3/html/sitemap.html +#usr/share/doc/libvirt-1.2.18.3/html/storage.html +#usr/share/doc/libvirt-1.2.18.3/html/testapi.html +#usr/share/doc/libvirt-1.2.18.3/html/testsuites.html +#usr/share/doc/libvirt-1.2.18.3/html/testtck.html +#usr/share/doc/libvirt-1.2.18.3/html/todo.html +#usr/share/doc/libvirt-1.2.18.3/html/uri.html +#usr/share/doc/libvirt-1.2.18.3/html/virshcmdref.html +#usr/share/doc/libvirt-1.2.18.3/html/windows.html +#usr/share/gtk-doc/html/libvirt +#usr/share/gtk-doc/html/libvirt/general.html +#usr/share/gtk-doc/html/libvirt/home.png +#usr/share/gtk-doc/html/libvirt/index.html +#usr/share/gtk-doc/html/libvirt/left.png +#usr/share/gtk-doc/html/libvirt/libvirt-virterror.html +#usr/share/gtk-doc/html/libvirt/libvirt.devhelp +#usr/share/gtk-doc/html/libvirt/right.png +#usr/share/gtk-doc/html/libvirt/style.css +#usr/share/gtk-doc/html/libvirt/up.png +#usr/share/libvirt +#usr/share/libvirt/api +usr/share/libvirt/api/libvirt-api.xml +usr/share/libvirt/api/libvirt-lxc-api.xml +usr/share/libvirt/api/libvirt-qemu-api.xml +usr/share/libvirt/cpu_map.xml +#usr/share/libvirt/libvirtLogo.png +#usr/share/libvirt/schemas +usr/share/libvirt/schemas/basictypes.rng +usr/share/libvirt/schemas/capability.rng +usr/share/libvirt/schemas/domain.rng +usr/share/libvirt/schemas/domaincaps.rng +usr/share/libvirt/schemas/domaincommon.rng +usr/share/libvirt/schemas/domainsnapshot.rng +usr/share/libvirt/schemas/interface.rng +usr/share/libvirt/schemas/network.rng +usr/share/libvirt/schemas/networkcommon.rng +usr/share/libvirt/schemas/nodedev.rng +usr/share/libvirt/schemas/nwfilter.rng +usr/share/libvirt/schemas/secret.rng +usr/share/libvirt/schemas/storagecommon.rng +usr/share/libvirt/schemas/storagepool.rng +usr/share/libvirt/schemas/storagevol.rng +#usr/share/man/man1/virsh.1 +#usr/share/man/man1/virt-host-validate.1 +#usr/share/man/man1/virt-pki-validate.1 +#usr/share/man/man1/virt-xml-validate.1 +#usr/share/man/man8/libvirtd.8 +#usr/share/man/man8/virtlockd.8 +#var/cache/libvirt +var/cache/libvirt/qemu +#var/lib/libvirt +var/lib/libvirt/boot +var/lib/libvirt/filesystems +var/lib/libvirt/images +#var/lib/libvirt/lockd +var/lib/libvirt/lockd/files +var/lib/libvirt/qemu +#var/log/libvirt +#var/log/libvirt/lxc +var/log/libvirt/qemu +#var/log/libvirt/uml diff --git a/lfs/libvirt b/lfs/libvirt new file mode 100644 index 0000000..b18364b --- /dev/null +++ b/lfs/libvirt @@ -0,0 +1,93 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2016 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.2.18.3 + +THISAPP = libvirt-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 x86_64 +PROG = libvirt +PAK_VER = 1 + +DEPS = "libpciaccess libyajl ncat qemu" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = bcb0738ff66972ddb25cfe0d086c5c37 + +install : $(TARGET) +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(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) && ./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-storage-dir --without-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 + install -v -m 754 $(DIR_SRC)/src/initscripts/init.d/libvirtd /etc/rc.d/init.d/libvirtd + mv /usr/libexec/libvirt-guests.sh /etc/rc.d/init.d/libvirt-guests + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 3399f28..828a7d2 100755 --- a/make.sh +++ b/make.sh @@ -865,6 +865,7 @@ buildipfire() { ipfiremake util-macros ipfiremake libpciaccess ipfiremake libyajl + ipfiremake libvirt }
buildinstaller() { diff --git a/src/initscripts/init.d/libvirtd b/src/initscripts/init.d/libvirtd new file mode 100644 index 0000000..f97d208 --- /dev/null +++ b/src/initscripts/init.d/libvirtd @@ -0,0 +1,49 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/libvirtd +# +# Description : libvirtd init script +# +# Authors : Jonatan Schlag - jonatan.schlag@ipfire.org +# +# Version : 01.00 +# +# Notes : +# +######################################################################## + +. /etc/sysconfig/rc +. $rc_functions + +case $1 in + start) + boot_mesg "Load required kernel modules for Libvirt" + modprobe tun + evaluate_retval + boot_mesg "Starting Libvirt Daemon..." + loadproc /usr/sbin/libvirtd -d + + ;; + + stop) + boot_mesg "Stopping Libvirt Daemon..." + killproc /usr/sbin/libvirtd + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/sbin/libvirtd + ;; + + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/libvirtd diff --git a/src/paks/libvirt/install.sh b/src/paks/libvirt/install.sh new file mode 100644 index 0000000..2832197 --- /dev/null +++ b/src/paks/libvirt/install.sh @@ -0,0 +1,33 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_files +start_service --delay 300 --background ${NAME} +ln -svf /etc/init.d/libvirtd /etc/rc.d/rc0.d/K20libvirtd +ln -svf /etc/init.d/libvirtd /etc/rc.d/rc3.d/S70libvirtd +ln -svf /etc/init.d/libvirtd /etc/rc.d/rc6.d/K20libvirtd + +ln -svf /etc/init.d/libvirt-guests /etc/rc.d/rc0.d/K19libvirt-guests +ln -svf /etc/init.d/libvirt-guests /etc/rc.d/rc3.d/S71libvirt-guests +ln -svf /etc/init.d/libvirt-guests /etc/rc.d/rc6.d/K19libvirt-guests diff --git a/src/paks/libvirt/uninstall.sh b/src/paks/libvirt/uninstall.sh new file mode 100644 index 0000000..a558460 --- /dev/null +++ b/src/paks/libvirt/uninstall.sh @@ -0,0 +1,30 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +stop_service ${NAME} +remove_files + +rm -f /etc/rc.d/rc*.d/*libvirt-guests +rm -f /etc/rc.d/rc*.d/*libvirtd + diff --git a/src/paks/libvirt/update.sh b/src/paks/libvirt/update.sh new file mode 100644 index 0000000..d0b3ba1 --- /dev/null +++ b/src/paks/libvirt/update.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +./uninstall.sh +./install.sh + diff --git a/src/patches/libvirt/0001-Change-default-behavior-of-libvirt-guests.sh-for-IPF.patch b/src/patches/libvirt/0001-Change-default-behavior-of-libvirt-guests.sh-for-IPF.patch new file mode 100644 index 0000000..12af9a5 --- /dev/null +++ b/src/patches/libvirt/0001-Change-default-behavior-of-libvirt-guests.sh-for-IPF.patch @@ -0,0 +1,30 @@ +From a50fa0195e36773d57593006152828ce2c0523fd Mon Sep 17 00:00:00 2001 +From: Jonatan Schlag jonatan.schlag@ipfire.org +Date: Fri, 6 May 2016 11:38:08 +0200 +Subject: [PATCH] Change default behavior of libvirt-guests.sh for IPFire + +Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org +--- + tools/libvirt-guests.sh.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in +index 7f74b85..87aceb7 100644 +--- a/tools/libvirt-guests.sh.in ++++ b/tools/libvirt-guests.sh.in +@@ -30,9 +30,9 @@ test ! -r "$sysconfdir"/rc.d/init.d/functions || + + export TEXTDOMAIN="@PACKAGE@" TEXTDOMAINDIR="@localedir@" + +-URIS=default +-ON_BOOT=start +-ON_SHUTDOWN=suspend ++URIS=qemu:///system ++ON_BOOT=ignore ++ON_SHUTDOWN=shutdown + SHUTDOWN_TIMEOUT=300 + PARALLEL_SHUTDOWN=0 + START_DELAY=0 +-- +2.1.4 +