diff --git a/10404671-systemd-build-fix.patch b/10404671-systemd-build-fix.patch new file mode 100644 index 0000000..bfc8073 --- /dev/null +++ b/10404671-systemd-build-fix.patch @@ -0,0 +1,210 @@ +commit 104046712f10106574f08661a395891dc5c5ca3d +Author: Eric Blake +Date: Fri Dec 9 11:06:19 2011 -0700 + + build: follow directory install conventions + + Commit 4d9e51f6 fixed a 'make uninstall' failure, but failed + to follow other conventions already present in src/Makefile.am. + In particular, we prefer MKDIR_P over mkdir -p, and should + have a matching rmdir during uninstall for every directory + created during install (the idea being that uninstall in a + DESTDIR should be clean, while installation in the final + system should not fail with non-empty directories left behind). + + * tools/Makefile.am (install-sysconfig, install-initscript) + (install-systemd): Use MKDIR_P. + (uninstall-sysconfig, uninstall-initscript, uninstall-systemd): + Also remove directories. + * daemon/Makefile.am (install-data-local, install-data-polkit) + (install-logrotate, install-sysconfig, install-sysctl) + (install-init-redhat, install-init-upstart, install-init-systemd) + (install-data-sasl): Use MKDIR_P. + (uninstall-data-polkit, uninstall-sysconfig, uninstall-sysctl) + (uninstall-init-redhat, uninstall-init-upstart) + (uninstall-init-systemd): Also remove directory. + (uninstall-logrotate): New rule. + (uninstall-local): Add uninstall-logrotate. + +Index: libvirt-0.9.8/daemon/Makefile.am +=================================================================== +--- libvirt-0.9.8.orig/daemon/Makefile.am ++++ libvirt-0.9.8/daemon/Makefile.am +@@ -173,23 +173,24 @@ endif + install-data-local: install-init-redhat install-init-systemd install-init-upstart \ + install-data-sasl install-data-polkit \ + install-logrotate install-sysctl +- mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt +- mkdir -p $(DESTDIR)$(localstatedir)/run/libvirt +- mkdir -p $(DESTDIR)$(localstatedir)/lib/libvirt ++ $(MKDIR_P) $(DESTDIR)$(localstatedir)/log/libvirt \ ++ $(DESTDIR)$(localstatedir)/run/libvirt \ ++ $(DESTDIR)$(localstatedir)/lib/libvirt + + uninstall-local:: uninstall-init-redhat uninstall-init-systemd uninstall-init-upstart \ + uninstall-data-sasl uninstall-data-polkit \ +- uninstall-sysctl ++ uninstall-logrotate uninstall-sysctl + rmdir $(DESTDIR)$(localstatedir)/log/libvirt || : + rmdir $(DESTDIR)$(localstatedir)/run/libvirt || : + rmdir $(DESTDIR)$(localstatedir)/lib/libvirt || : + + if HAVE_POLKIT + install-data-polkit:: +- mkdir -p $(DESTDIR)$(policydir) ++ $(MKDIR_P) $(DESTDIR)$(policydir) + $(INSTALL_DATA) $(srcdir)/$(policyfile) $(DESTDIR)$(policydir)/org.libvirt.unix.policy + uninstall-data-polkit:: + rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy ++ rmdir $(DESTDIR)$(policydir) || : + else + install-data-polkit:: + uninstall-data-polkit:: +@@ -228,41 +229,54 @@ libvirtd.uml.logrotate: libvirtd.uml.log + mv $@-t $@ + + install-logrotate: $(LOGROTATE_CONFS) +- mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/qemu/ +- mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/lxc/ +- mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/uml/ +- mkdir -p $(DESTDIR)$(sysconfdir)/logrotate.d/ ++ $(MKDIR_P) $(DESTDIR)$(localstatedir)/log/libvirt/qemu/ \ ++ $(DESTDIR)$(localstatedir)/log/libvirt/lxc/ \ ++ $(DESTDIR)$(localstatedir)/log/libvirt/uml/ \ ++ $(DESTDIR)$(sysconfdir)/logrotate.d/ + $(INSTALL_DATA) libvirtd.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd + $(INSTALL_DATA) libvirtd.qemu.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.qemu + $(INSTALL_DATA) libvirtd.lxc.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.lxc + $(INSTALL_DATA) libvirtd.uml.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.uml + ++uninstall-logrotate: ++ rm -f $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd \ ++ $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.qemu \ ++ $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.lxc \ ++ $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd.uml ++ rmdir $(DESTDIR)$(localstatedir)/log/libvirt/qemu || : ++ rmdir $(DESTDIR)$(localstatedir)/log/libvirt/lxc || : ++ rmdir $(DESTDIR)$(localstatedir)/log/libvirt/uml || : ++ rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || : ++ + install-sysconfig: +- mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig + $(INSTALL_DATA) $(srcdir)/libvirtd.sysconf \ + $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd + uninstall-sysconfig: + rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd ++ rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : + + install-sysctl: +- mkdir -p $(DESTDIR)$(sysconfdir)/sysctl.d ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysctl.d + $(INSTALL_DATA) $(srcdir)/libvirtd.sysctl \ + $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd + + uninstall-sysctl: + rm -f $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd ++ rmdir $(DESTDIR)$(sysconfdir)/sysctl.d || : + + if LIBVIRT_INIT_SCRIPT_RED_HAT + + BUILT_SOURCES += libvirtd.init + + install-init-redhat: install-sysconfig libvirtd.init +- mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d + $(INSTALL_SCRIPT) libvirtd.init \ + $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd + + uninstall-init-redhat: uninstall-sysconfig + rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd ++ rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : + else + install-init-redhat: + uninstall-init-redhat: +@@ -272,12 +286,13 @@ endif # LIBVIRT_INIT_SCRIPT_RED_HAT + if LIBVIRT_INIT_SCRIPT_UPSTART + + install-init-upstart: install-sysconfig +- mkdir -p $(DESTDIR)$(sysconfdir)/event.d ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/event.d + $(INSTALL_SCRIPT) libvirtd.upstart \ + $(DESTDIR)$(sysconfdir)/event.d/libvirtd + + uninstall-init-upstart: uninstall-sysconfig + rm -f $(DESTDIR)$(sysconfdir)/event.d/libvirtd ++ rmdir $(DESTDIR)$(sysconfdir)/event.d || : + else + install-init-upstart: + uninstall-init-upstart: +@@ -291,12 +306,13 @@ SYSTEMD_UNIT_DIR = /lib/systemd/system + BUILT_SOURCES += libvirtd.service + + install-init-systemd: install-sysconfig libvirtd.service +- mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR) ++ $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) + $(INSTALL_SCRIPT) libvirtd.service \ + $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.service + + uninstall-init-systemd: uninstall-sysconfig + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.service ++ rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : + else + install-init-systemd: + uninstall-init-systemd: +@@ -346,7 +362,7 @@ $(srcdir)/libvirtd.8.in: libvirtd.pod.in + # the WITH_LIBVIRTD conditional + if HAVE_SASL + install-data-sasl: +- mkdir -p $(DESTDIR)$(sysconfdir)/sasl2/ ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sasl2/ + $(INSTALL_DATA) $(srcdir)/libvirtd.sasl $(DESTDIR)$(sysconfdir)/sasl2/libvirt.conf + + uninstall-data-sasl: +Index: libvirt-0.9.8/tools/Makefile.am +=================================================================== +--- libvirt-0.9.8.orig/tools/Makefile.am ++++ libvirt-0.9.8/tools/Makefile.am +@@ -153,23 +153,24 @@ install-data-local: install-init install + uninstall-local: uninstall-init uninstall-systemd + + install-sysconfig: +- mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig + $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ + $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests + + uninstall-sysconfig: + rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests ++ rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||: + + EXTRA_DIST += libvirt-guests.init.sh + + install-initscript: libvirt-guests.init +- mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d + $(INSTALL_SCRIPT) libvirt-guests.init \ + $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests + + uninstall-initscript: + rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests +- ++ rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d ||: + + + if LIBVIRT_INIT_SCRIPT_RED_HAT +@@ -201,12 +202,13 @@ SYSTEMD_UNIT_DIR = /lib/systemd/system + + if LIBVIRT_INIT_SCRIPT_SYSTEMD + install-systemd: libvirt-guests.service install-initscript install-sysconfig +- mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR) ++ $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) + $(INSTALL_SCRIPT) libvirt-guests.service \ + $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service + + uninstall-systemd: uninstall-initscript uninstall-sysconfig + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service ++ rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||: + + BUILT_SOURCES += libvirt-guests.service + diff --git a/478a4d07-systemd-build-fix.patch b/478a4d07-systemd-build-fix.patch new file mode 100644 index 0000000..2a14444 --- /dev/null +++ b/478a4d07-systemd-build-fix.patch @@ -0,0 +1,81 @@ +commit 478a4d07ac489e9a52defe65290f1aeedc92393a +Author: Daniel P. Berrange +Date: Thu Dec 8 13:30:24 2011 +0000 + + Fix installation of libvirt-guests.service + + The installation rules for the libvirt-guests.service were + totally broken + + - Installing in the wrong location + - The location was not overridable + - The install-systemd rule was not invoked anywhere + - The install-systemd rule was not invoking install-initscript + which it depends on + - The installed service file lacked a .service extension + + * tools/Makefile.am: Fix install of libvirt-guests.service + +Index: libvirt-0.9.8/tools/Makefile.am +=================================================================== +--- libvirt-0.9.8.orig/tools/Makefile.am ++++ libvirt-0.9.8/tools/Makefile.am +@@ -148,9 +148,9 @@ endif + virsh.1: virsh.pod + $(AM_V_GEN)$(POD2MAN) $< $(srcdir)/$@ + +-install-data-local: install-init ++install-data-local: install-init install-systemd + +-uninstall-local: uninstall-init ++uninstall-local: uninstall-init uninstall-systemd + + install-sysconfig: + mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig +@@ -162,17 +162,20 @@ uninstall-sysconfig: + + EXTRA_DIST += libvirt-guests.init.sh + +-if LIBVIRT_INIT_SCRIPT_RED_HAT +-install-init: libvirt-guests.init install-sysconfig ++install-initscript: libvirt-guests.init + mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d + $(INSTALL_SCRIPT) libvirt-guests.init \ + $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests + +-uninstall-init: install-sysconfig ++uninstall-initscript: + rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests + +-BUILT_SOURCES += libvirt-guests.init + ++ ++if LIBVIRT_INIT_SCRIPT_RED_HAT ++BUILT_SOURCES += libvirt-guests.init ++install-init: install-sysconfig install-initscript ++uninstall-init: uninstall-sysconfig uninstall-initscript + else + install-init: + uninstall-init: +@@ -194,14 +197,16 @@ libvirt-guests.init: libvirt-guests.init + + EXTRA_DIST += libvirt-guests.service.in + ++SYSTEMD_UNIT_DIR = /lib/systemd/system ++ + if LIBVIRT_INIT_SCRIPT_SYSTEMD +-install-systemd: libvirt-guests.service install-sysconfig +- mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/systemd.d ++install-systemd: libvirt-guests.service install-initscript install-sysconfig ++ mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR) + $(INSTALL_SCRIPT) libvirt-guests.service \ +- $(DESTDIR)$(sysconfdir)/rc.d/systemd.d/libvirt-guests ++ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service + +-uninstall-systemd: install-sysconfig +- rm -f $(DESTDIR)$(sysconfdir)/rc.d/systemd.d/libvirt-guests ++uninstall-systemd: uninstall-initscript uninstall-sysconfig ++ rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service + + BUILT_SOURCES += libvirt-guests.service + diff --git a/AF_PACKET.patch b/AF_PACKET.patch new file mode 100644 index 0000000..c654459 --- /dev/null +++ b/AF_PACKET.patch @@ -0,0 +1,26 @@ +Index: libvirt-0.9.8/src/util/virnetdev.c +=================================================================== +--- libvirt-0.9.8.orig/src/util/virnetdev.c ++++ libvirt-0.9.8/src/util/virnetdev.c +@@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con + static int virNetDevSetupControl(const char *ifname, + struct ifreq *ifr) + { +- return virNetDevSetupControlFull(ifname, ifr, AF_PACKET, SOCK_DGRAM); ++ return virNetDevSetupControlFull(ifname, ifr, AF_INET, SOCK_STREAM); + } + #endif + +Index: libvirt-0.9.8/src/util/virnetdevbridge.c +=================================================================== +--- libvirt-0.9.8.orig/src/util/virnetdevbridge.c ++++ libvirt-0.9.8/src/util/virnetdevbridge.c +@@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con + static int virNetDevSetupControl(const char *ifname, + struct ifreq *ifr) + { +- return virNetDevSetupControlFull(ifname, ifr, AF_PACKET, SOCK_DGRAM); ++ return virNetDevSetupControlFull(ifname, ifr, AF_INET, SOCK_STREAM); + } + #endif + diff --git a/a495365d-sexpr-empty-str.patch b/a495365d-sexpr-empty-str.patch deleted file mode 100644 index 962a420..0000000 --- a/a495365d-sexpr-empty-str.patch +++ /dev/null @@ -1,46 +0,0 @@ -commit a495365d09138bf0f07504cfe9b6ea2de858e18e -Author: Jim Fehlig -Date: Fri Nov 18 14:54:38 2011 -0700 - - Don't copy sexpr node value that is an empty string - - Xen4.1 initializes some unspecified sexpr config items to an empty - string, unlike previous Xen versions that would leave the item unset. - E.g. the kernel item for an HVM guest (non-direct kernel boot): - - Xen4.0 and earlier - ... - (image - (hvm - (kernel ) - ... - - Xen4.1 - ... - (image - (hvm - (kernel '') - ... - - The empty string for kernel causes some grief in subsequent parsing - where existence of specified kernel is checked, e.g. - - if (!def->os.kernel) - ... - - This patch solves the problem in sexpr_node_copy() by not copying - a node containing an empty string. - -Index: libvirt-0.9.7/src/util/sexpr.c -=================================================================== ---- libvirt-0.9.7.orig/src/util/sexpr.c -+++ libvirt-0.9.7/src/util/sexpr.c -@@ -519,7 +519,7 @@ int sexpr_node_copy(const struct sexpr * - { - const char *val = sexpr_node(sexpr, node); - -- if (val) { -+ if (val && *val) { - *dst = strdup(val); - if (!(*dst)) - return -1; diff --git a/ae1232b2-CVE-2011-4600.patch b/ae1232b2-CVE-2011-4600.patch new file mode 100644 index 0000000..1559b88 --- /dev/null +++ b/ae1232b2-CVE-2011-4600.patch @@ -0,0 +1,55 @@ +commit ae1232b298323dd7bef909426e2ebafa6bca9157 +Author: Laine Stump +Date: Tue Dec 6 15:13:50 2011 -0500 + + network: don't add iptables rules for externally managed networks + + This patch addresses https://bugzilla.redhat.com/show_bug.cgi?id=760442 + + When a network has any forward type other than route, nat or none, the + network configuration should be done completely external to libvirt - + libvirt only uses these types to allow configuring guests in a manner + that isn't tied to a specific host (all the host-specific information, + in particular interface names, port profile data, and bandwidth + configuration is in the network definition, and the guest + configuration only references it). + + Due to a bug in the bridge network driver, libvirt was adding iptables + rules for networks with forward type='bridge' etc. any time libvirtd + was restarted while one of these networks was active. + + This patch eliminates that error by only "reloading" iptables rules if + forward type is route, nat, or none. + +Index: libvirt-0.9.8/src/network/bridge_driver.c +=================================================================== +--- libvirt-0.9.8.orig/src/network/bridge_driver.c ++++ libvirt-0.9.8/src/network/bridge_driver.c +@@ -1470,14 +1470,22 @@ networkReloadIptablesRules(struct networ + VIR_INFO("Reloading iptables rules"); + + for (i = 0 ; i < driver->networks.count ; i++) { +- virNetworkObjLock(driver->networks.objs[i]); +- if (virNetworkObjIsActive(driver->networks.objs[i])) { +- networkRemoveIptablesRules(driver, driver->networks.objs[i]); +- if (networkAddIptablesRules(driver, driver->networks.objs[i]) < 0) { ++ virNetworkObjPtr network = driver->networks.objs[i]; ++ ++ virNetworkObjLock(network); ++ if (virNetworkObjIsActive(network) && ++ ((network->def->forwardType == VIR_NETWORK_FORWARD_NONE) || ++ (network->def->forwardType == VIR_NETWORK_FORWARD_NAT) || ++ (network->def->forwardType == VIR_NETWORK_FORWARD_ROUTE))) { ++ /* Only the three L3 network types that are configured by libvirt ++ * need to have iptables rules reloaded. ++ */ ++ networkRemoveIptablesRules(driver, network); ++ if (networkAddIptablesRules(driver, network) < 0) { + /* failed to add but already logged */ + } + } +- virNetworkObjUnlock(driver->networks.objs[i]); ++ virNetworkObjUnlock(network); + } + } + diff --git a/d47ab3fe-polkit0.patch b/d47ab3fe-polkit0.patch deleted file mode 100644 index f01a66d..0000000 --- a/d47ab3fe-polkit0.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit d47ab3fe6115de6c54f999ba598fe58418840653 -Author: Jim Fehlig -Date: Wed Nov 16 11:35:08 2011 -0700 - - Fix build with polkit0 - - I missed adding virNetServerGetDBusConn() to libvirtd_private.syms - in commit b8adfcc6, which didn't cause a problem in 0.9.6 but - results in this build error in 0.9.7 - - libvirtd-remote.o: In function `remoteDispatchAuthPolkit': - remote.c:(.text+0x188dd): undefined reference to `virNetServerGetDBusConn' - -Index: libvirt-0.9.7/src/libvirt_private.syms -=================================================================== ---- libvirt-0.9.7.orig/src/libvirt_private.syms -+++ libvirt-0.9.7/src/libvirt_private.syms -@@ -1217,6 +1217,7 @@ virNetServerAddSignalHandler; - virNetServerAutoShutdown; - virNetServerClose; - virNetServerFree; -+virNetServerGetDBusConn; - virNetServerIsPrivileged; - virNetServerNew; - virNetServerQuit; diff --git a/install-apparmor-profiles.patch b/install-apparmor-profiles.patch index 6b2946e..4e39d86 100644 --- a/install-apparmor-profiles.patch +++ b/install-apparmor-profiles.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.7/examples/apparmor/Makefile.am +Index: libvirt-0.9.8/examples/apparmor/Makefile.am =================================================================== ---- libvirt-0.9.7.orig/examples/apparmor/Makefile.am -+++ libvirt-0.9.7/examples/apparmor/Makefile.am +--- libvirt-0.9.8.orig/examples/apparmor/Makefile.am ++++ libvirt-0.9.8/examples/apparmor/Makefile.am @@ -1,8 +1,39 @@ ## Copyright (C) 2005-2011 Red Hat, Inc. ## See COPYING.LIB for the License of this software @@ -47,10 +47,10 @@ Index: libvirt-0.9.7/examples/apparmor/Makefile.am + rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE + +endif -Index: libvirt-0.9.7/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in +Index: libvirt-0.9.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in =================================================================== --- /dev/null -+++ libvirt-0.9.7/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ libvirt-0.9.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in @@ -0,0 +1,40 @@ +# Last Modified: Fri Aug 19 11:21:48 2011 +#include @@ -92,9 +92,9 @@ Index: libvirt-0.9.7/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in + /var/lib/kvm/images/ r, + /var/lib/kvm/images/** r, +} -Index: libvirt-0.9.7/examples/apparmor/usr.lib.libvirt.virt-aa-helper +Index: libvirt-0.9.8/examples/apparmor/usr.lib.libvirt.virt-aa-helper =================================================================== ---- libvirt-0.9.7.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +--- libvirt-0.9.8.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +++ /dev/null @@ -1,38 +0,0 @@ -# Last Modified: Mon Apr 5 15:10:27 2010 @@ -135,9 +135,9 @@ Index: libvirt-0.9.7/examples/apparmor/usr.lib.libvirt.virt-aa-helper - /var/lib/libvirt/images/ r, - /var/lib/libvirt/images/** r, -} -Index: libvirt-0.9.7/examples/apparmor/usr.sbin.libvirtd +Index: libvirt-0.9.8/examples/apparmor/usr.sbin.libvirtd =================================================================== ---- libvirt-0.9.7.orig/examples/apparmor/usr.sbin.libvirtd +--- libvirt-0.9.8.orig/examples/apparmor/usr.sbin.libvirtd +++ /dev/null @@ -1,52 +0,0 @@ -# Last Modified: Mon Apr 5 15:03:58 2010 @@ -192,10 +192,10 @@ Index: libvirt-0.9.7/examples/apparmor/usr.sbin.libvirtd - change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, - -} -Index: libvirt-0.9.7/examples/apparmor/usr.sbin.libvirtd.in +Index: libvirt-0.9.8/examples/apparmor/usr.sbin.libvirtd.in =================================================================== --- /dev/null -+++ libvirt-0.9.7/examples/apparmor/usr.sbin.libvirtd.in ++++ libvirt-0.9.8/examples/apparmor/usr.sbin.libvirtd.in @@ -0,0 +1,54 @@ +# Last Modified: Fri Aug 19 11:20:36 2011 +#include @@ -251,10 +251,10 @@ Index: libvirt-0.9.7/examples/apparmor/usr.sbin.libvirtd.in + change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, + +} -Index: libvirt-0.9.7/examples/apparmor/libvirt-qemu +Index: libvirt-0.9.8/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-0.9.7.orig/examples/apparmor/libvirt-qemu -+++ libvirt-0.9.7/examples/apparmor/libvirt-qemu +--- libvirt-0.9.8.orig/examples/apparmor/libvirt-qemu ++++ libvirt-0.9.8/examples/apparmor/libvirt-qemu @@ -52,6 +52,7 @@ # access to firmware's etc /usr/share/kvm/** r, diff --git a/libvirt-0.9.7.tar.bz2 b/libvirt-0.9.7.tar.bz2 deleted file mode 100644 index 0588b2b..0000000 --- a/libvirt-0.9.7.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc541b104a7378ecf00d140a1eb3b582e34eed28faed07ca5936caa98ecb82dd -size 12461024 diff --git a/libvirt-0.9.8.tar.bz2 b/libvirt-0.9.8.tar.bz2 new file mode 100644 index 0000000..63524d4 --- /dev/null +++ b/libvirt-0.9.8.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b1fdbfb9bf8831ca5b4c0a065a051243ecdab1ea8778de2c185f35e77b93629 +size 12881970 diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index 613f7fb..5452d2d 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.7/configure.ac +Index: libvirt-0.9.8/configure.ac =================================================================== ---- libvirt-0.9.7.orig/configure.ac -+++ libvirt-0.9.7/configure.ac +--- libvirt-0.9.8.orig/configure.ac ++++ libvirt-0.9.8/configure.ac @@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0" POLKIT_REQUIRED="0.6" PARTED_REQUIRED="1.8.0" @@ -10,7 +10,7 @@ Index: libvirt-0.9.7/configure.ac UDEV_REQUIRED=145 PCIACCESS_REQUIRED=0.10.0 XMLRPC_REQUIRED=1.14.0 -@@ -1591,6 +1592,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit +@@ -1639,6 +1640,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit AC_SUBST([NETCF_CFLAGS]) AC_SUBST([NETCF_LIBS]) @@ -49,7 +49,7 @@ Index: libvirt-0.9.7/configure.ac AC_ARG_WITH([secrets], AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes]) -@@ -2515,6 +2548,7 @@ AC_MSG_NOTICE([ Remote: $with_remote]) +@@ -2567,6 +2600,7 @@ AC_MSG_NOTICE([ Remote: $with_remote]) AC_MSG_NOTICE([ Network: $with_network]) AC_MSG_NOTICE([Libvirtd: $with_libvirtd]) AC_MSG_NOTICE([ netcf: $with_netcf]) @@ -57,7 +57,7 @@ Index: libvirt-0.9.7/configure.ac AC_MSG_NOTICE([ macvtap: $with_macvtap]) AC_MSG_NOTICE([virtport: $with_virtualport]) AC_MSG_NOTICE([]) -@@ -2646,6 +2680,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $ +@@ -2698,6 +2732,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $ else AC_MSG_NOTICE([ netcf: no]) fi @@ -69,10 +69,10 @@ Index: libvirt-0.9.7/configure.ac if test "$with_qemu" = "yes" && test "$LIBPCAP_FOUND" != "no"; then AC_MSG_NOTICE([ pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS]) else -Index: libvirt-0.9.7/daemon/Makefile.am +Index: libvirt-0.9.8/daemon/Makefile.am =================================================================== ---- libvirt-0.9.7.orig/daemon/Makefile.am -+++ libvirt-0.9.7/daemon/Makefile.am +--- libvirt-0.9.8.orig/daemon/Makefile.am ++++ libvirt-0.9.8/daemon/Makefile.am @@ -143,6 +143,10 @@ endif if WITH_NETCF @@ -84,10 +84,10 @@ Index: libvirt-0.9.7/daemon/Makefile.am endif if WITH_NODE_DEVICES -Index: libvirt-0.9.7/daemon/libvirtd.c +Index: libvirt-0.9.8/daemon/libvirtd.c =================================================================== ---- libvirt-0.9.7.orig/daemon/libvirtd.c -+++ libvirt-0.9.7/daemon/libvirtd.c +--- libvirt-0.9.8.orig/daemon/libvirtd.c ++++ libvirt-0.9.8/daemon/libvirtd.c @@ -75,6 +75,10 @@ # endif # ifdef WITH_NETCF @@ -99,7 +99,7 @@ Index: libvirt-0.9.7/daemon/libvirtd.c # endif # ifdef WITH_STORAGE_DIR # include "storage/storage_driver.h" -@@ -389,6 +393,10 @@ static void daemonInitialize(void) +@@ -393,6 +397,10 @@ static void daemonInitialize(void) # endif # ifdef WITH_NETCF interfaceRegister(); @@ -110,11 +110,11 @@ Index: libvirt-0.9.7/daemon/libvirtd.c # endif # ifdef WITH_STORAGE_DIR storageRegister(); -Index: libvirt-0.9.7/src/Makefile.am +Index: libvirt-0.9.8/src/Makefile.am =================================================================== ---- libvirt-0.9.7.orig/src/Makefile.am -+++ libvirt-0.9.7/src/Makefile.am -@@ -941,6 +941,24 @@ libvirt_driver_interface_la_LIBADD += .. +--- libvirt-0.9.8.orig/src/Makefile.am ++++ libvirt-0.9.8/src/Makefile.am +@@ -950,6 +950,24 @@ libvirt_driver_interface_la_LIBADD += .. libvirt_driver_interface_la_LDFLAGS += -module -avoid-version endif libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES) @@ -139,10 +139,10 @@ Index: libvirt-0.9.7/src/Makefile.am endif if WITH_SECRETS -Index: libvirt-0.9.7/src/interface/netcf_driver.c +Index: libvirt-0.9.8/src/interface/netcf_driver.c =================================================================== ---- libvirt-0.9.7.orig/src/interface/netcf_driver.c -+++ libvirt-0.9.7/src/interface/netcf_driver.c +--- libvirt-0.9.8.orig/src/interface/netcf_driver.c ++++ libvirt-0.9.8/src/interface/netcf_driver.c @@ -23,7 +23,13 @@ #include @@ -208,11 +208,11 @@ Index: libvirt-0.9.7/src/interface/netcf_driver.c /* open netcf */ if (ncf_init(&driverState->netcf, NULL) != 0) { -Index: libvirt-0.9.7/tools/virsh.c +Index: libvirt-0.9.8/tools/virsh.c =================================================================== ---- libvirt-0.9.7.orig/tools/virsh.c -+++ libvirt-0.9.7/tools/virsh.c -@@ -16506,6 +16506,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE +--- libvirt-0.9.8.orig/tools/virsh.c ++++ libvirt-0.9.8/tools/virsh.c +@@ -17646,6 +17646,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE #endif #ifdef WITH_NETCF vshPrint(ctl, " Netcf"); diff --git a/libvirt.changes b/libvirt.changes index e70ad9f..53c69ce 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,44 @@ +------------------------------------------------------------------- +Wed Jan 4 16:41:32 MST 2012 - jfehlig@suse.com + +- Fixup systemd support as per openSUSE systemd packaging + guidelines. + +------------------------------------------------------------------- +Tue Jan 3 09:20:43 MST 2012 - jfehlig@suse.com + +- Use %fdupes for duplicate file checking instead of hand-rolled + function + +------------------------------------------------------------------- +Wed Dec 14 18:13:11 MST 2011 - jfehlig@suse.com + +- CVE-2011-4600: unintended firewall port exposure after restarting + libvirtd when defining a bridged forward-mode network + ae1232b2-CVE-2011-4600.patch + bnc#736082 + +- Post-0.9.8 upstream systemd patches + 10404671-systemd-build-fix.patch 478a4d07-systemd-build-fix.patch + +- Update to libvirt 0.9.8 + - Add support for QEMU 1.0 + - Add first parts of PPC cpu driver + - Add new API virDomain{Set, Get}BlockIoTune + - block_resize: Define the new API + - Add a public API to invoke suspend/resume on the host + - Various improvements for LXC containers + - Define keepalive protocol and add virConnectIsAlive API + - Add support for STP and VLANfiltering + - Numerous bug fixes and improvements + +------------------------------------------------------------------- +Tue Dec 13 21:37:19 MST 2011 - jfehlig@suse.com + +- Add support for QEMU 1.0 + dd8e8956-qemu-1.0.patch + bnc#736569 + ------------------------------------------------------------------- Wed Nov 30 09:53:25 MST 2011 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index 66e3990..8b0624a 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,7 +1,7 @@ # # spec file for package libvirt # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -78,7 +78,8 @@ %define with_audit 0%{!?_without_audit:0} %define with_dtrace 0%{!?_without_dtrace:0} %define with_cgconfig 0%{!?_without_cgconfig:0} - +%define with_sanlock 0%{!?_without_sanlock:0} +%define with_systemd 0%{!?_without_systemd:0} # Non-server/HV driver defaults which are always enabled %define with_python 0%{!?_without_python:1} %define with_sasl 0%{!?_without_sasl:1} @@ -151,6 +152,10 @@ # All supported version of openSUSE/SLE contain audit %define with_audit 0%{!?_without_audit:1} +%if 0%{?suse_version} > 1140 +%define with_systemd 0%{!?_without_systemd:1} +%endif + # Disable some drivers when building without libvirt daemon. # The logic is the same as in configure.ac %if ! %{with_libvirtd} @@ -306,13 +311,19 @@ BuildRequires: audit-devel # we need /usr/sbin/dtrace BuildRequires: systemtap-sdt-devel %endif +%if %{with_sanlock} +BuildRequires: sanlock-devel >= 1.8 +%endif +%if %{with_systemd} +BuildRequires: systemd +%endif Name: libvirt Url: http://libvirt.org/ License: LGPL-2.1+ Group: Development/Libraries/C and C++ AutoReqProv: yes -Version: 0.9.7 +Version: 0.9.8 Release: 1 Summary: A C toolkit to interact with the virtualization capabilities of Linux Conflicts: kvm < 0.14.1 @@ -374,19 +385,27 @@ Recommends: device-mapper # For multipath support Recommends: device-mapper %endif +# For virConnectGetSysinfo +Requires: dmidecode +# For service management +%if %{with_systemd} +%{?systemd_requires} +%endif Source0: %{name}-%{version}.tar.bz2 Source1: libvirtd.init Source2: libvirtd-relocation-server.fw Source99: baselibs.conf # Upstream patches -Patch0: d47ab3fe-polkit0.patch -Patch1: a495365d-sexpr-empty-str.patch +Patch0: ae1232b2-CVE-2011-4600.patch +Patch1: 478a4d07-systemd-build-fix.patch +Patch2: 10404671-systemd-build-fix.patch # Need to go upstream Patch100: xen-name-for-devid.patch Patch101: clone.patch Patch102: xen-pv-cdrom.patch Patch103: xen-domctl-ver8.patch +Patch104: AF_PACKET.patch # Our patches Patch200: libvirtd-defaults.patch Patch201: use-init-script-redhat.patch @@ -482,6 +501,21 @@ Authors: Daniel Veillard Karel Zak +%if %{with_sanlock} + +%package lock-sanlock +License: LGPL-2.1+ +Summary: Sanlock lock manager plugin for QEMU driver +Group: Development/Libraries/C and C++ +Requires: sanlock >= 1.8 +#for virt-sanlock-cleanup require augeas +Requires: augeas +Requires: %{name} = %{version}-%{release} + +%description lock-sanlock +Includes the Sanlock lock manager plugin for the QEMU driver +%endif + %if %{with_python} %package python @@ -508,10 +542,12 @@ Authors: %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %patch100 -p1 %patch101 %patch102 -p1 %patch103 -p1 +%patch104 -p1 %patch200 -p1 %patch201 -p1 %patch202 -p1 @@ -629,6 +665,17 @@ Authors: %if ! %{with_libpcap} %define _without_libpcap --without-libpcap %endif +%if ! %{with_sanlock} +%define _without_sanlock --without-sanlock +%endif +%if %{with_systemd} +# Use 'systemd+redhat' (see patch use-init-script-redhat.patch), +# so if someone installs upstart or legacy init scripts, they can +# still start libvirtd +%define init_scripts --with-init_script=systemd+redhat +%else +%define init_scripts --with-init_script=redhat +%endif autoreconf -f -i export CFLAGS="$RPM_OPT_FLAGS" @@ -668,17 +715,18 @@ export CFLAGS="$RPM_OPT_FLAGS" %{?_without_sasl} \ %{?_without_python} \ %{?_without_libpcap} \ + %{?_without_sanlock} \ --libexecdir=%{_libdir}/%{name} \ --with-qemu-user=%{qemu_user} \ --with-qemu-group=%{qemu_group} \ - --with-init-script=redhat \ + %{init_scripts} \ ac_cv_path_MODPROBE=/sbin/modprobe \ ac_cv_path_UDEVADM=/sbin/udevadm \ ac_cv_path_SHOWMOUNT=/usr/sbin/showmount -make %{?jobs:-j%jobs} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name} +make V=1 %{?jobs:-j%jobs} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name} %install -%makeinstall DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name} +%makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name} cp -a AUTHORS ChangeLog COPYING NEWS README TODO $RPM_BUILD_ROOT%{_docdir}/%{name}/ cd docs ; cp -a *.html $RPM_BUILD_ROOT%{_docdir}/%{name} ; cp -a *.png $RPM_BUILD_ROOT%{_docdir}/%{name} ; cd .. # remove currently unsupported locale(s) @@ -722,22 +770,6 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}-python rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter %endif -ln_dupes() -{ - target="" - fdupes -r "$1" | while read file; do - if [ -z "$file" ] || [ -z "$target" ]; then - target="$file" - continue - fi - ln -sf "${target#.}" "$file" - done -} -( - cd $RPM_BUILD_ROOT - ln_dupes .%{_docdir}/%{name} - ln_dupes ./usr/share/locale -) # init scripts mkdir -p $RPM_BUILD_ROOT/etc/init.d %if %{with_libvirtd} @@ -749,11 +781,15 @@ ln -s /etc/init.d/libvirt-guests $RPM_BUILD_ROOT%{_sbindir}/rclibvirt-guests #/usr/share/SuSEfirewall2/services/TEMPLATE mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir} install -m 644 %{S:2} $RPM_BUILD_ROOT/%{_fwdefdir}/libvirtd-relocation-server +%fdupes -s $RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %pre +%if %{with_systemd} +%service_add_pre libvirtd.service +%endif %{_bindir}/getent group libvirt >/dev/null || \ %{_sbindir}/groupadd -r libvirt 2>/dev/null @@ -762,7 +798,7 @@ rm -rf $RPM_BUILD_ROOT %if %{with_libvirtd} %if %{with_network} # Install the default network if one doesn't exist -if test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml +if ! /sbin/chkconfig libvirtd && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml then UUID=`/usr/bin/uuidgen` sed -e "s,,\n $UUID," \ @@ -770,24 +806,36 @@ then > %{_sysconfdir}/libvirt/qemu/networks/default.xml fi %endif +%if %{with_systemd} +%service_add_post libvirtd.service libvirt-guests.service +%else %if 0%{?sles_version} %{fillup_and_insserv -y libvirtd} -%else +%else # ! sles %{fillup_only -n libvirtd} %endif -%endif %{fillup_only -n libvirt-guests} +%endif +%endif %preun %if %{with_libvirtd} +%if %{with_systemd} +%service_del_preun libvirtd.service libvirt-guests.service +%else %stop_on_removal libvirtd %endif +%endif %postun /sbin/ldconfig %if %{with_libvirtd} +%if %{with_systemd} +%service_del_postun libvirtd.service libvirt-guests.service +%else %restart_on_update libvirtd %endif +%endif %insserv_cleanup %post client -p /sbin/ldconfig @@ -815,6 +863,9 @@ fi %{_localstatedir}/adm/fillup-templates/sysconfig.libvirtd %config /etc/init.d/libvirtd %{_sbindir}/rclibvirtd +%if %{with_systemd} +%{_unitdir}/libvirtd.service +%endif %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd %if %{with_dtrace} @@ -862,7 +913,6 @@ fi %endif %attr(0755, root, root) %{_libdir}/%{name}/libvirt_iohelper %doc %{_mandir}/man8/libvirtd.8* -%endif %if %{with_apparmor} %dir %{_sysconfdir}/apparmor.d %dir %{_sysconfdir}/apparmor.d/abstractions @@ -874,6 +924,7 @@ fi %{_libdir}/%{name}/virt-aa-helper %endif %config %{_fwdefdir}/libvirtd-relocation-server +%endif # with_libvirtd %files client -f %{name}.lang %defattr(-, root, root) @@ -892,6 +943,9 @@ fi %{_localstatedir}/adm/fillup-templates/sysconfig.libvirt-guests %config /etc/init.d/libvirt-guests %{_sbindir}/rclibvirt-guests +%if %{with_systemd} +%{_unitdir}/libvirt-guests.service +%endif %dir %{_datadir}/libvirt/ %dir %{_datadir}/libvirt/schemas/ @@ -930,6 +984,21 @@ fi %doc %{_docdir}/%{name}/*.css %doc %{_docdir}/%{name}/html +%if %{with_sanlock} + +%files lock-sanlock +%defattr(-, root, root) +%if %{with_qemu} +%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf +%endif +%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so +%{_datadir}/augeas/lenses/libvirt_sanlock.aug +%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock +%{_sbindir}/virt-sanlock-cleanup +%{_mandir}/man8/virt-sanlock-cleanup.8* +%endif + %if %{with_python} %files python diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index d0e5f16..9775190 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.7/daemon/libvirtd.conf +Index: libvirt-0.9.8/daemon/libvirtd.conf =================================================================== ---- libvirt-0.9.7.orig/daemon/libvirtd.conf -+++ libvirt-0.9.7/daemon/libvirtd.conf +--- libvirt-0.9.8.orig/daemon/libvirtd.conf ++++ libvirt-0.9.8/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -28,11 +28,11 @@ Index: libvirt-0.9.7/daemon/libvirtd.conf # Override the default mDNS advertizement name. This must be # unique on the immediate broadcast network. -Index: libvirt-0.9.7/daemon/libvirtd.c +Index: libvirt-0.9.8/daemon/libvirtd.c =================================================================== ---- libvirt-0.9.7.orig/daemon/libvirtd.c -+++ libvirt-0.9.7/daemon/libvirtd.c -@@ -846,7 +846,7 @@ daemonConfigNew(bool privileged ATTRIBUT +--- libvirt-0.9.8.orig/daemon/libvirtd.c ++++ libvirt-0.9.8/daemon/libvirtd.c +@@ -850,7 +850,7 @@ daemonConfigNew(bool privileged ATTRIBUT return NULL; } @@ -41,7 +41,7 @@ Index: libvirt-0.9.7/daemon/libvirtd.c data->listen_tcp = 0; if (!(data->tls_port = strdup(LIBVIRTD_TLS_PORT))) -@@ -883,7 +883,7 @@ daemonConfigNew(bool privileged ATTRIBUT +@@ -887,7 +887,7 @@ daemonConfigNew(bool privileged ATTRIBUT #endif data->auth_tls = REMOTE_AUTH_NONE; diff --git a/relax-qemu-usergroup-check.patch b/relax-qemu-usergroup-check.patch index c6b9450..46272ae 100644 --- a/relax-qemu-usergroup-check.patch +++ b/relax-qemu-usergroup-check.patch @@ -7,10 +7,10 @@ drivers as loadable modules instead of built-in to the daemon. Then the qemu driver would only be loaded when needed, which would never be the case on a xen-only configuration. -Index: libvirt-0.9.7/src/qemu/qemu_conf.c +Index: libvirt-0.9.8/src/qemu/qemu_conf.c =================================================================== ---- libvirt-0.9.7.orig/src/qemu/qemu_conf.c -+++ libvirt-0.9.7/src/qemu/qemu_conf.c +--- libvirt-0.9.8.orig/src/qemu/qemu_conf.c ++++ libvirt-0.9.8/src/qemu/qemu_conf.c @@ -255,9 +255,7 @@ int qemudLoadDriverConfig(struct qemud_d return -1; } diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index e3205cd..6e74be9 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.7/src/qemu/qemu.conf +Index: libvirt-0.9.8/src/qemu/qemu.conf =================================================================== ---- libvirt-0.9.7.orig/src/qemu/qemu.conf -+++ libvirt-0.9.7/src/qemu/qemu.conf +--- libvirt-0.9.8.orig/src/qemu/qemu.conf ++++ libvirt-0.9.8/src/qemu/qemu.conf @@ -136,7 +136,16 @@ # leaving SELinux enabled for the host in general, then set this # to 'none' instead. diff --git a/use-init-script-redhat.patch b/use-init-script-redhat.patch index 04ae33c..03dbee4 100644 --- a/use-init-script-redhat.patch +++ b/use-init-script-redhat.patch @@ -1,35 +1,42 @@ -Index: libvirt-0.9.7/tools/Makefile.am +Index: libvirt-0.9.8/tools/Makefile.am =================================================================== ---- libvirt-0.9.7.orig/tools/Makefile.am -+++ libvirt-0.9.7/tools/Makefile.am -@@ -155,16 +155,17 @@ uninstall-local: uninstall-init +--- libvirt-0.9.8.orig/tools/Makefile.am ++++ libvirt-0.9.8/tools/Makefile.am +@@ -153,24 +153,22 @@ install-data-local: install-init install + uninstall-local: uninstall-init uninstall-systemd - if LIBVIRT_INIT_SCRIPT_RED_HAT - install-init: libvirt-guests.init -- mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d -+ mkdir -p $(DESTDIR)$(sysconfdir)/init.d - $(INSTALL_SCRIPT) libvirt-guests.init \ -- $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests -- mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig -+ $(DESTDIR)$(sysconfdir)/init.d/libvirt-guests -+ mkdir -p $(DESTDIR)$(localstatedir)/adm/fillup-templates + install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig ++ $(MKDIR_P) $(DESTDIR)$(localstatedir)/adm/fillup-templates $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ - $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -+ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirt-guests ++ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirt-guests - uninstall-init: -- rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests \ -- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -+ rm -f $(DESTDIR)$(sysconfdir)/init.d/libvirt-guests \ -+ $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests \ -+ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirt-guests + uninstall-sysconfig: +- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests +- rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||: ++ rm -f $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirt-guests - BUILT_SOURCES += libvirt-guests.init + EXTRA_DIST += libvirt-guests.init.sh -Index: libvirt-0.9.7/tools/libvirt-guests.sysconf + install-initscript: libvirt-guests.init +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d ++ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/init.d + $(INSTALL_SCRIPT) libvirt-guests.init \ +- $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests ++ $(DESTDIR)$(sysconfdir)/init.d/libvirt-guests + + uninstall-initscript: +- rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests +- rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d ||: ++ rm -f $(DESTDIR)$(sysconfdir)/init.d/libvirt-guests + + + if LIBVIRT_INIT_SCRIPT_RED_HAT +Index: libvirt-0.9.8/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-0.9.7.orig/tools/libvirt-guests.sysconf -+++ libvirt-0.9.7/tools/libvirt-guests.sysconf +--- libvirt-0.9.8.orig/tools/libvirt-guests.sysconf ++++ libvirt-0.9.8/tools/libvirt-guests.sysconf @@ -1,18 +1,28 @@ +## Path: System/Virtualization/libvirt + @@ -80,10 +87,10 @@ Index: libvirt-0.9.7/tools/libvirt-guests.sysconf # If non-zero, try to bypass the file system cache when saving and # restoring guests, even though this may give slower operation for # some file systems. -Index: libvirt-0.9.7/tools/libvirt-guests.init.sh +Index: libvirt-0.9.8/tools/libvirt-guests.init.sh =================================================================== ---- libvirt-0.9.7.orig/tools/libvirt-guests.init.sh -+++ libvirt-0.9.7/tools/libvirt-guests.init.sh +--- libvirt-0.9.8.orig/tools/libvirt-guests.init.sh ++++ libvirt-0.9.8/tools/libvirt-guests.init.sh @@ -4,10 +4,10 @@ # ### BEGIN INIT INFO @@ -226,31 +233,79 @@ Index: libvirt-0.9.7/tools/libvirt-guests.init.sh esac -exit $RETVAL +rc_exit -Index: libvirt-0.9.7/daemon/Makefile.am +Index: libvirt-0.9.8/daemon/Makefile.am =================================================================== ---- libvirt-0.9.7.orig/daemon/Makefile.am -+++ libvirt-0.9.7/daemon/Makefile.am -@@ -236,20 +236,12 @@ install-logrotate: $(LOGROTATE_CONFS) +--- libvirt-0.9.8.orig/daemon/Makefile.am ++++ libvirt-0.9.8/daemon/Makefile.am +@@ -249,34 +249,23 @@ uninstall-logrotate: + rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || : - if LIBVIRT_INIT_SCRIPT_RED_HAT - install-init: libvirtd.init -- mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d \ -- $(DESTDIR)$(sysconfdir)/sysconfig \ -- $(DESTDIR)$(sysconfdir)/sysctl.d -- $(INSTALL_SCRIPT) libvirtd.init \ -- $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd -+ mkdir -p $(DESTDIR)$(localstatedir)/adm/fillup-templates + install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig ++ $(MKDIR_P) $(DESTDIR)$(localstatedir)/adm/fillup-templates $(INSTALL_DATA) $(srcdir)/libvirtd.sysconf \ - $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd ++ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd + uninstall-sysconfig: +- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd +- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : ++ rm -f $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd + + install-sysctl: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysctl.d - $(INSTALL_DATA) $(srcdir)/libvirtd.sysctl \ - $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd -+ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd - uninstall-init: -- rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd \ -- $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd \ -- $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd -+ rm -f $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd + uninstall-sysctl: +- rm -f $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd +- rmdir $(DESTDIR)$(sysconfdir)/sysctl.d || : + + if LIBVIRT_INIT_SCRIPT_RED_HAT BUILT_SOURCES += libvirtd.init + install-init-redhat: install-sysconfig libvirtd.init +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d +- $(INSTALL_SCRIPT) libvirtd.init \ +- $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd + + uninstall-init-redhat: uninstall-sysconfig +- rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd +- rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : + else + install-init-redhat: + uninstall-init-redhat: +Index: libvirt-0.9.8/daemon/libvirtd.sysconf +=================================================================== +--- libvirt-0.9.8.orig/daemon/libvirtd.sysconf ++++ libvirt-0.9.8/daemon/libvirtd.sysconf +@@ -1,16 +1,25 @@ ++## Path: System/Virtualization/libvirt ++ ++## Type: string ++## Default: /etc/libvirt/libvirtd.conf + # Override the default config file + # NOTE: This setting is no longer honoured if using + # systemd. Set '--config /etc/libvirt/libvirtd.conf' + # in LIBVIRTD_ARGS instead. +-#LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf ++LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf + +-# Listen for TCP/IP connections +-# NB. must setup TLS/SSL keys prior to using this +-#LIBVIRTD_ARGS="--listen" ++## Type: string ++## Default: --listen ++# Arguments to pass to libvirtd ++LIBVIRTD_ARGS="--listen" + ++## Type: string ++## Default: none + # Override Kerberos service keytab for SASL/GSSAPI + #KRB5_KTNAME=/etc/libvirt/krb5.tab + ++## Type: string ++## Default: none + # Override the QEMU/SDL default audio driver probing when + # starting virtual machines using SDL graphics + # diff --git a/xen-domctl-ver8.patch b/xen-domctl-ver8.patch index e98a2ab..c40f4d7 100644 --- a/xen-domctl-ver8.patch +++ b/xen-domctl-ver8.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.9.7/src/xen/xen_hypervisor.c +Index: libvirt-0.9.8/src/xen/xen_hypervisor.c =================================================================== ---- libvirt-0.9.7.orig/src/xen/xen_hypervisor.c -+++ libvirt-0.9.7/src/xen/xen_hypervisor.c -@@ -242,12 +242,30 @@ struct xen_v2d7_getdomaininfo { +--- libvirt-0.9.8.orig/src/xen/xen_hypervisor.c ++++ libvirt-0.9.8/src/xen/xen_hypervisor.c +@@ -243,12 +243,30 @@ struct xen_v2d7_getdomaininfo { }; typedef struct xen_v2d7_getdomaininfo xen_v2d7_getdomaininfo; @@ -33,7 +33,7 @@ Index: libvirt-0.9.7/src/xen/xen_hypervisor.c }; typedef union xen_getdomaininfo xen_getdomaininfo; -@@ -257,6 +275,7 @@ union xen_getdomaininfolist { +@@ -258,6 +276,7 @@ union xen_getdomaininfolist { struct xen_v2d5_getdomaininfo *v2d5; struct xen_v2d6_getdomaininfo *v2d6; struct xen_v2d7_getdomaininfo *v2d7; @@ -41,7 +41,7 @@ Index: libvirt-0.9.7/src/xen/xen_hypervisor.c }; typedef union xen_getdomaininfolist xen_getdomaininfolist; -@@ -294,179 +313,211 @@ typedef struct xen_v2s5_availheap xen_v +@@ -295,179 +314,211 @@ typedef struct xen_v2s5_availheap xen_v #define XEN_GETDOMAININFOLIST_ALLOC(domlist, size) \ (hv_versions.hypervisor < 2 ? \ (VIR_ALLOC_N(domlist.v0, (size)) == 0) : \ @@ -269,7 +269,7 @@ Index: libvirt-0.9.7/src/xen/xen_hypervisor.c static int -@@ -2141,12 +2192,20 @@ xenHypervisorInit(struct xenHypervisorVe +@@ -2142,12 +2193,20 @@ xenHypervisorInit(struct xenHypervisorVe /* Xen 4.1 * sysctl version 8 -> xen-unstable c/s 21118:28e5409e3fb3 * domctl version 7 -> xen-unstable c/s 21212:de94884a669c diff --git a/xen-name-for-devid.patch b/xen-name-for-devid.patch index d38aebb..eb4eee5 100644 --- a/xen-name-for-devid.patch +++ b/xen-name-for-devid.patch @@ -13,10 +13,10 @@ Date: Wed Jan 27 16:11:41 2010 -0700 This approach allows removing a disk when domain is inactive. We obviously can't search xenstore when the domain is inactive. -Index: libvirt-0.9.7/src/xen/xend_internal.c +Index: libvirt-0.9.8/src/xen/xend_internal.c =================================================================== ---- libvirt-0.9.7.orig/src/xen/xend_internal.c -+++ libvirt-0.9.7/src/xen/xend_internal.c +--- libvirt-0.9.8.orig/src/xen/xend_internal.c ++++ libvirt-0.9.8/src/xen/xend_internal.c @@ -60,6 +60,7 @@ static int diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 572b781..f920f2b 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.9.7/src/xenxs/xen_sxpr.c +Index: libvirt-0.9.8/src/xenxs/xen_sxpr.c =================================================================== ---- libvirt-0.9.7.orig/src/xenxs/xen_sxpr.c -+++ libvirt-0.9.7/src/xenxs/xen_sxpr.c +--- libvirt-0.9.8.orig/src/xenxs/xen_sxpr.c ++++ libvirt-0.9.8/src/xenxs/xen_sxpr.c @@ -329,7 +329,7 @@ error: static int xenParseSxprDisks(virDomainDefPtr def,