From markmc at fedoraproject.org Thu Oct 1 08:35:21 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 1 Oct 2009 08:35:21 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-disable-audio-backend.patch, NONE, 1.1 libvirt-fix-drv-supports-feature-bogus-error.patch, 1.1, 1.2 libvirt-fix-net-hotunplug-double-free.patch, 1.3, 1.4 libvirt-fix-pci-hostdev-hotunplug-leak.patch, 1.3, 1.4 libvirt-fix-qemu-raw-format-save.patch, 1.1, 1.2 libvirt-fix-usb-device-passthrough.patch, 1.1, 1.2 libvirt.spec, 1.184, 1.185 libvirt-0.6.4-svirt-sound.patch, 1.6, NONE Message-ID: <20091001083521.477B411C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11935 Modified Files: libvirt-fix-drv-supports-feature-bogus-error.patch libvirt-fix-net-hotunplug-double-free.patch libvirt-fix-pci-hostdev-hotunplug-leak.patch libvirt-fix-qemu-raw-format-save.patch libvirt-fix-usb-device-passthrough.patch libvirt.spec Added Files: libvirt-disable-audio-backend.patch Removed Files: libvirt-0.6.4-svirt-sound.patch Log Message: * Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 - Disable sound backend, even when selinux is disabled (#524499) libvirt-disable-audio-backend.patch: qemud/libvirtd.sysconf | 8 ++++++++ src/qemu_conf.c | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) --- NEW FILE libvirt-disable-audio-backend.patch --- >From 4721ceb9b85daabe53804627473b06ced821c695 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 14 Sep 2009 11:23:20 +0100 Subject: [PATCH] Allow control over QEMU audio backend When using VNC for graphics + keyboard + mouse, we shouldn't then use the host OS for audio. Audio should go back over VNC. When using SDL for graphics, we should use the host OS for audio since that's where the display is. We need to allow certain QEMU env variables to be passed through to guest too to allow choice of QEMU audio backend. * qemud/libvirtd.sysconf: Mention QEMU/SDL audio env vars * src/qemu_conf.c: Passthrough QEMU/SDL audio env for SDL display, disable host audio for VNC display (cherry picked from commit b08e6d38ae7a0ed70300d7d82107f83fddb60f44) Fedora-patch: libvirt-disable-audio-backend.patch --- qemud/libvirtd.sysconf | 8 ++++++++ src/qemu_conf.c | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-) diff --git a/qemud/libvirtd.sysconf b/qemud/libvirtd.sysconf index fe4596a..28080a0 100644 --- a/qemud/libvirtd.sysconf +++ b/qemud/libvirtd.sysconf @@ -7,3 +7,11 @@ # Override Kerberos service keytab for SASL/GSSAPI #KRB5_KTNAME=/etc/libvirt/krb5.tab + +# Override the QEMU/SDL default audio driver probing when +# starting virtual machines using SDL graphics +# +# NB these have no effect for VMs using VNC +#QEMU_AUDIO_DRV=sdl +# +#SDL_AUDIODRIVER=pulse diff --git a/src/qemu_conf.c b/src/qemu_conf.c index f92bcef..0dd0624 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -2109,6 +2109,13 @@ int qemudBuildCommandLine(virConnectPtr conn, ADD_ARG_LIT("-k"); ADD_ARG_LIT(def->graphics[0]->data.vnc.keymap); } + + /* QEMU implements a VNC extension for providing audio, so we + * set the audio backend to none, to prevent it opening the + * host OS audio devices since that causes security issues + * and is non-sensical when using VNC. + */ + ADD_ENV_LIT("QEMU_AUDIO_DRV=none"); } else if ((def->ngraphics == 1) && def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) { char *xauth = NULL; @@ -2131,6 +2138,13 @@ int qemudBuildCommandLine(virConnectPtr conn, ADD_ENV(display); if (def->graphics[0]->data.sdl.fullscreen) ADD_ARG_LIT("-full-screen"); + + /* If using SDL for video, then we should just let it + * use QEMU's host audio drivers, possibly SDL too + * User can set these two before starting libvirtd + */ + ADD_ENV_COPY("QEMU_AUDIO_DRV"); + ADD_ENV_COPY("SDL_AUDIODRIVER"); } if (def->nvideos) { -- 1.6.2.5 libvirt-fix-drv-supports-feature-bogus-error.patch: libvirt.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) Index: libvirt-fix-drv-supports-feature-bogus-error.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-fix-drv-supports-feature-bogus-error.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-fix-drv-supports-feature-bogus-error.patch 21 Sep 2009 15:32:34 -0000 1.1 +++ libvirt-fix-drv-supports-feature-bogus-error.patch 1 Oct 2009 08:35:17 -0000 1.2 @@ -1,4 +1,4 @@ -From 2f6e857ac7d6ed5cd417e684147dd9c98775ab3d Mon Sep 17 00:00:00 2001 +From 7692e1e19487c28454b1e5f6488d5574c70883f2 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Mon, 21 Sep 2009 14:53:31 +0200 Subject: [PATCH] Don't do virSetConnError when virDrvSupportsFeature is successful. libvirt-fix-net-hotunplug-double-free.patch: qemu_driver.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Index: libvirt-fix-net-hotunplug-double-free.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-fix-net-hotunplug-double-free.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- libvirt-fix-net-hotunplug-double-free.patch 21 Sep 2009 15:32:34 -0000 1.3 +++ libvirt-fix-net-hotunplug-double-free.patch 1 Oct 2009 08:35:17 -0000 1.4 @@ -1,4 +1,4 @@ -From d09ff3c35c29d14760d5ea03559042cc024e09ab Mon Sep 17 00:00:00 2001 +From ba585ed6cff624c6c0f1f9801382fd6846466ee0 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 17 Sep 2009 15:31:08 +0100 Subject: [PATCH] Fix net/disk hot-unplug segfault libvirt-fix-pci-hostdev-hotunplug-leak.patch: qemu_driver.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) Index: libvirt-fix-pci-hostdev-hotunplug-leak.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-fix-pci-hostdev-hotunplug-leak.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- libvirt-fix-pci-hostdev-hotunplug-leak.patch 21 Sep 2009 15:32:34 -0000 1.3 +++ libvirt-fix-pci-hostdev-hotunplug-leak.patch 1 Oct 2009 08:35:17 -0000 1.4 @@ -1,4 +1,4 @@ -From d04ac8624f5fabe7587982796f2e2161220b0fcc Mon Sep 17 00:00:00 2001 +From 17831d20051f8de8f1f7d661e8a23f4fe67c2153 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 17 Sep 2009 15:32:45 +0100 Subject: [PATCH] Fix leak in PCI hostdev hot-unplug libvirt-fix-qemu-raw-format-save.patch: qemu_driver.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) Index: libvirt-fix-qemu-raw-format-save.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-fix-qemu-raw-format-save.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-fix-qemu-raw-format-save.patch 21 Sep 2009 15:32:34 -0000 1.1 +++ libvirt-fix-qemu-raw-format-save.patch 1 Oct 2009 08:35:17 -0000 1.2 @@ -1,4 +1,4 @@ -From e50c91fdcea5d81e3eb2051c05f4e51a16c3e692 Mon Sep 17 00:00:00 2001 +From f1be5a4714e194a84840343e0937fe62463a18dc Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Fri, 18 Sep 2009 11:32:35 -0500 Subject: [PATCH] Prevent attempt to call cat -c during virDomainSave to raw libvirt-fix-usb-device-passthrough.patch: security_selinux.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Index: libvirt-fix-usb-device-passthrough.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt-fix-usb-device-passthrough.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-fix-usb-device-passthrough.patch 30 Sep 2009 17:58:52 -0000 1.1 +++ libvirt-fix-usb-device-passthrough.patch 1 Oct 2009 08:35:18 -0000 1.2 @@ -1,4 +1,4 @@ -From 16f20706f8d2f113bb6a49f56e415c16d438183e Mon Sep 17 00:00:00 2001 +From 6b12148864cf6a1d22a2cf4e0e9c48e9946331cb Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Wed, 30 Sep 2009 18:37:03 +0100 Subject: [PATCH] Fix USB device re-labelling @@ -37,5 +37,5 @@ index bc295b1..b4dc153 100644 case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: { -- -1.6.4.4 +1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.184 retrieving revision 1.185 diff -u -p -r1.184 -r1.185 --- libvirt.spec 30 Sep 2009 17:58:52 -0000 1.184 +++ libvirt.spec 1 Oct 2009 08:35:19 -0000 1.185 @@ -151,15 +151,11 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 7%{?dist}%{?extra_release} +Release: 8%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz -# Temporary hack till PulseAudio autostart problems are sorted -# out when SELinux enforcing (bz 486112) -Patch00: libvirt-0.6.4-svirt-sound.patch - # A couple of hot-unplug memory handling fixes (#523953) Patch01: libvirt-fix-net-hotunplug-double-free.patch Patch02: libvirt-fix-pci-hostdev-hotunplug-leak.patch @@ -173,6 +169,9 @@ Patch04: libvirt-fix-qemu-raw-format-sav # Fix USB device passthrough (#422683) Patch05: libvirt-fix-usb-device-passthrough.patch +# Disable sound backend (#524499, #508317) +Patch06: libvirt-disable-audio-backend.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -385,12 +384,12 @@ of recent versions of Linux (and other O %prep %setup -q -%patch00 -p1 %patch01 -p1 %patch02 -p1 %patch03 -p1 %patch04 -p1 %patch05 -p1 +%patch06 -p1 %build %if ! %{with_xen} @@ -781,6 +780,9 @@ fi %endif %changelog +* Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 +- Disable sound backend, even when selinux is disabled (#524499) + * Wed Sep 30 2009 Mark McLoughlin - 0.7.1-7 - Fix USB device passthrough (#522683) --- libvirt-0.6.4-svirt-sound.patch DELETED --- From markmc at fedoraproject.org Thu Oct 1 08:35:48 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 1 Oct 2009 08:35:48 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-disable-audio-backend.patch, NONE, 1.1 libvirt-fix-drv-supports-feature-bogus-error.patch, 1.1, 1.2 libvirt-fix-net-hotunplug-double-free.patch, 1.3, 1.4 libvirt-fix-pci-hostdev-hotunplug-leak.patch, 1.3, 1.4 libvirt-fix-qemu-raw-format-save.patch, 1.1, 1.2 libvirt-fix-usb-device-passthrough.patch, 1.1, 1.2 libvirt.spec, 1.184, 1.185 libvirt-0.6.4-svirt-sound.patch, 1.6, NONE Message-ID: <20091001083548.D587111C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11962 Modified Files: libvirt-fix-drv-supports-feature-bogus-error.patch libvirt-fix-net-hotunplug-double-free.patch libvirt-fix-pci-hostdev-hotunplug-leak.patch libvirt-fix-qemu-raw-format-save.patch libvirt-fix-usb-device-passthrough.patch libvirt.spec Added Files: libvirt-disable-audio-backend.patch Removed Files: libvirt-0.6.4-svirt-sound.patch Log Message: * Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 - Disable sound backend, even when selinux is disabled (#524499) libvirt-disable-audio-backend.patch: qemud/libvirtd.sysconf | 8 ++++++++ src/qemu_conf.c | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) --- NEW FILE libvirt-disable-audio-backend.patch --- >From 4721ceb9b85daabe53804627473b06ced821c695 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 14 Sep 2009 11:23:20 +0100 Subject: [PATCH] Allow control over QEMU audio backend When using VNC for graphics + keyboard + mouse, we shouldn't then use the host OS for audio. Audio should go back over VNC. When using SDL for graphics, we should use the host OS for audio since that's where the display is. We need to allow certain QEMU env variables to be passed through to guest too to allow choice of QEMU audio backend. * qemud/libvirtd.sysconf: Mention QEMU/SDL audio env vars * src/qemu_conf.c: Passthrough QEMU/SDL audio env for SDL display, disable host audio for VNC display (cherry picked from commit b08e6d38ae7a0ed70300d7d82107f83fddb60f44) Fedora-patch: libvirt-disable-audio-backend.patch --- qemud/libvirtd.sysconf | 8 ++++++++ src/qemu_conf.c | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-) diff --git a/qemud/libvirtd.sysconf b/qemud/libvirtd.sysconf index fe4596a..28080a0 100644 --- a/qemud/libvirtd.sysconf +++ b/qemud/libvirtd.sysconf @@ -7,3 +7,11 @@ # Override Kerberos service keytab for SASL/GSSAPI #KRB5_KTNAME=/etc/libvirt/krb5.tab + +# Override the QEMU/SDL default audio driver probing when +# starting virtual machines using SDL graphics +# +# NB these have no effect for VMs using VNC +#QEMU_AUDIO_DRV=sdl +# +#SDL_AUDIODRIVER=pulse diff --git a/src/qemu_conf.c b/src/qemu_conf.c index f92bcef..0dd0624 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -2109,6 +2109,13 @@ int qemudBuildCommandLine(virConnectPtr conn, ADD_ARG_LIT("-k"); ADD_ARG_LIT(def->graphics[0]->data.vnc.keymap); } + + /* QEMU implements a VNC extension for providing audio, so we + * set the audio backend to none, to prevent it opening the + * host OS audio devices since that causes security issues + * and is non-sensical when using VNC. + */ + ADD_ENV_LIT("QEMU_AUDIO_DRV=none"); } else if ((def->ngraphics == 1) && def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) { char *xauth = NULL; @@ -2131,6 +2138,13 @@ int qemudBuildCommandLine(virConnectPtr conn, ADD_ENV(display); if (def->graphics[0]->data.sdl.fullscreen) ADD_ARG_LIT("-full-screen"); + + /* If using SDL for video, then we should just let it + * use QEMU's host audio drivers, possibly SDL too + * User can set these two before starting libvirtd + */ + ADD_ENV_COPY("QEMU_AUDIO_DRV"); + ADD_ENV_COPY("SDL_AUDIODRIVER"); } if (def->nvideos) { -- 1.6.2.5 libvirt-fix-drv-supports-feature-bogus-error.patch: libvirt.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) Index: libvirt-fix-drv-supports-feature-bogus-error.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt-fix-drv-supports-feature-bogus-error.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-fix-drv-supports-feature-bogus-error.patch 21 Sep 2009 15:32:34 -0000 1.1 +++ libvirt-fix-drv-supports-feature-bogus-error.patch 1 Oct 2009 08:35:16 -0000 1.2 @@ -1,4 +1,4 @@ -From 2f6e857ac7d6ed5cd417e684147dd9c98775ab3d Mon Sep 17 00:00:00 2001 +From 7692e1e19487c28454b1e5f6488d5574c70883f2 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Mon, 21 Sep 2009 14:53:31 +0200 Subject: [PATCH] Don't do virSetConnError when virDrvSupportsFeature is successful. libvirt-fix-net-hotunplug-double-free.patch: qemu_driver.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Index: libvirt-fix-net-hotunplug-double-free.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt-fix-net-hotunplug-double-free.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- libvirt-fix-net-hotunplug-double-free.patch 21 Sep 2009 15:32:34 -0000 1.3 +++ libvirt-fix-net-hotunplug-double-free.patch 1 Oct 2009 08:35:17 -0000 1.4 @@ -1,4 +1,4 @@ -From d09ff3c35c29d14760d5ea03559042cc024e09ab Mon Sep 17 00:00:00 2001 +From ba585ed6cff624c6c0f1f9801382fd6846466ee0 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 17 Sep 2009 15:31:08 +0100 Subject: [PATCH] Fix net/disk hot-unplug segfault libvirt-fix-pci-hostdev-hotunplug-leak.patch: qemu_driver.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) Index: libvirt-fix-pci-hostdev-hotunplug-leak.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt-fix-pci-hostdev-hotunplug-leak.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- libvirt-fix-pci-hostdev-hotunplug-leak.patch 21 Sep 2009 15:32:34 -0000 1.3 +++ libvirt-fix-pci-hostdev-hotunplug-leak.patch 1 Oct 2009 08:35:17 -0000 1.4 @@ -1,4 +1,4 @@ -From d04ac8624f5fabe7587982796f2e2161220b0fcc Mon Sep 17 00:00:00 2001 +From 17831d20051f8de8f1f7d661e8a23f4fe67c2153 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 17 Sep 2009 15:32:45 +0100 Subject: [PATCH] Fix leak in PCI hostdev hot-unplug libvirt-fix-qemu-raw-format-save.patch: qemu_driver.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) Index: libvirt-fix-qemu-raw-format-save.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt-fix-qemu-raw-format-save.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-fix-qemu-raw-format-save.patch 21 Sep 2009 15:32:34 -0000 1.1 +++ libvirt-fix-qemu-raw-format-save.patch 1 Oct 2009 08:35:17 -0000 1.2 @@ -1,4 +1,4 @@ -From e50c91fdcea5d81e3eb2051c05f4e51a16c3e692 Mon Sep 17 00:00:00 2001 +From f1be5a4714e194a84840343e0937fe62463a18dc Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Fri, 18 Sep 2009 11:32:35 -0500 Subject: [PATCH] Prevent attempt to call cat -c during virDomainSave to raw libvirt-fix-usb-device-passthrough.patch: security_selinux.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Index: libvirt-fix-usb-device-passthrough.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt-fix-usb-device-passthrough.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- libvirt-fix-usb-device-passthrough.patch 30 Sep 2009 17:57:50 -0000 1.1 +++ libvirt-fix-usb-device-passthrough.patch 1 Oct 2009 08:35:17 -0000 1.2 @@ -1,4 +1,4 @@ -From 16f20706f8d2f113bb6a49f56e415c16d438183e Mon Sep 17 00:00:00 2001 +From 6b12148864cf6a1d22a2cf4e0e9c48e9946331cb Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Wed, 30 Sep 2009 18:37:03 +0100 Subject: [PATCH] Fix USB device re-labelling @@ -37,5 +37,5 @@ index bc295b1..b4dc153 100644 case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: { -- -1.6.4.4 +1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.184 retrieving revision 1.185 diff -u -p -r1.184 -r1.185 --- libvirt.spec 30 Sep 2009 17:57:50 -0000 1.184 +++ libvirt.spec 1 Oct 2009 08:35:47 -0000 1.185 @@ -151,15 +151,11 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 7%{?dist}%{?extra_release} +Release: 8%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz -# Temporary hack till PulseAudio autostart problems are sorted -# out when SELinux enforcing (bz 486112) -Patch00: libvirt-0.6.4-svirt-sound.patch - # A couple of hot-unplug memory handling fixes (#523953) Patch01: libvirt-fix-net-hotunplug-double-free.patch Patch02: libvirt-fix-pci-hostdev-hotunplug-leak.patch @@ -173,6 +169,9 @@ Patch04: libvirt-fix-qemu-raw-format-sav # Fix USB device passthrough (#422683) Patch05: libvirt-fix-usb-device-passthrough.patch +# Disable sound backend (#524499, #508317) +Patch06: libvirt-disable-audio-backend.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -385,12 +384,12 @@ of recent versions of Linux (and other O %prep %setup -q -%patch00 -p1 %patch01 -p1 %patch02 -p1 %patch03 -p1 %patch04 -p1 %patch05 -p1 +%patch06 -p1 %build %if ! %{with_xen} @@ -781,6 +780,9 @@ fi %endif %changelog +* Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 +- Disable sound backend, even when selinux is disabled (#524499) + * Wed Sep 30 2009 Mark McLoughlin - 0.7.1-7 - Fix USB device passthrough (#522683) --- libvirt-0.6.4-svirt-sound.patch DELETED --- From markmc at fedoraproject.org Thu Oct 1 15:17:31 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 1 Oct 2009 15:17:31 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-svirt-relabel-qcow2-backing-files.patch, NONE, 1.1 libvirt.spec, 1.185, 1.186 Message-ID: <20091001151731.E2C4611C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27978 Modified Files: libvirt.spec Added Files: libvirt-svirt-relabel-qcow2-backing-files.patch Log Message: - Re-label qcow2 backing files (#497131) libvirt-svirt-relabel-qcow2-backing-files.patch: Makefile.am | 1 libvirt_private.syms | 7 security_selinux.c | 28 +++ storage_backend.c | 17 +- storage_backend_fs.c | 418 +++++--------------------------------------------- storage_conf.c | 25 +-- storage_conf.h | 17 -- storage_file.c | 424 +++++++++++++++++++++++++++++++++++++++++++++++++++ storage_file.h | 62 +++++++ util.h | 1 vbox/vbox_tmpl.c | 16 - 11 files changed, 591 insertions(+), 425 deletions(-) --- NEW FILE libvirt-svirt-relabel-qcow2-backing-files.patch --- >From 5bb2da190bc6d5a36952315dd48a00709f88c3c2 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 25 Sep 2009 14:20:13 +0100 Subject: [PATCH] Re-label image file backing stores Use virStorageFileGetMetadata() to find any backing stores for images and re-label them Without this, qemu cannot access qcow2 backing files, see: https://bugzilla.redhat.com/497131 * src/security/security_selinux.c: re-label backing store files in SELinuxSetSecurityImageLabel() (cherry picked from commit fe627697a3830cd2db0efcc201d8caa9e171263d) Includes the following commits: util.h needs libvirt.h for virConnectPtr Seems standard to include internal.h in order to pull in libvirt.h * src/util/util.h: include internal.h (cherry picked from commit 25e2857c219e7fb91412746f7919931552c4e07a) Move file format enum to libvirt_util Rename virStorageVolFormatFileSystem to virStorageFileFormat and move to src/util/storage_file.[ch] * src/Makefile.am: add src/util/storage_file.[ch] * src/conf/storage_conf.[ch]: move enum from here ... * src/util/storage_file.[ch]: .. to here * src/libvirt_private.syms: update To/FromString exports * src/storage/storage_backend.c, src/storage/storage_backend_fs.c, src/vbox/vbox_tmpl.c: update for above changes (cherry picked from commit 00fd3ff49bb1e4578756a32a812fdbf5ee335d8c) Split virStorageGetMetadataFromFD() from virStorageBackendProbeTarget() Prepare the code probing a file's format and associated metadata for moving into libvirt_util. * src/storage/storage_backend_fs.c: re-factor the format and metadata probing code in preparation for moving it (cherry picked from commit f5fc670638d94776a4eba55f5affa69f69ba1ae2) Introduce virStorageFileMetadata structure Introduce a metadata structure and make virStorageGetMetadataFromFD() fill it in. * src/util/storage_file.h: add virStorageFileMetadata * src/backend/storage_backend_fs.c: virStorageGetMetadataFromFD() now fills in the virStorageFileMetadata structure (cherry picked from commit 5fede0a90be565e1c44b7c8236cb8910fd06b52f) Move virStorageGetMetadataFromFD() to libvirt_util Finally, we get to the point of all this. Move virStorageGetMetadataFromFD() to virStorageFileGetMetadataFromFD() and move to src/util/storage_file.[ch] There's no functional changes in this patch, just code movement * src/storage/storage_backend_fs.c: move code from here ... * src/util/storage_file.[ch]: ... to here * src/libvirt_private.syms: export virStorageFileGetMetadataFromFD() (cherry picked from commit a010fb58d6bce026852d611e32302da7687639e5) Add virStorageFileGetMetadata() helper * src/util/storage_file.c: add virStorageFileGetMetadata() so that the caller does not need to open the file (cherry picked from commit 295fd6e8330c7416e2d97634364f2890133c28fa) Fedora-patch: libvirt-svirt-relabel-qcow2-backing-files.patch --- src/Makefile.am | 1 + src/libvirt_private.syms | 7 +- src/security_selinux.c | 28 +++ src/storage_backend.c | 17 +- src/storage_backend_fs.c | 418 +++++---------------------------------------- src/storage_conf.c | 25 +-- src/storage_conf.h | 17 -- src/storage_file.c | 424 ++++++++++++++++++++++++++++++++++++++++++++++ src/storage_file.h | 62 +++++++ src/util.h | 1 + src/vbox/vbox_tmpl.c | 15 +- 11 files changed, 591 insertions(+), 424 deletions(-) create mode 100644 src/storage_file.c create mode 100644 src/storage_file.h diff --git a/src/Makefile.am b/src/Makefile.am index 463252e..3d279f2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -54,6 +54,7 @@ UTIL_SOURCES = \ hostusb.c hostusb.h \ qparams.c qparams.h \ storage_encryption_conf.h storage_encryption_conf.c \ + storage_file.c storage_file.h \ threads.c threads.h \ threads-pthread.h \ threads-win32.h \ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 867678f..500c209 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -359,8 +359,6 @@ virStorageVolDefParseNode; virStoragePoolFormatDiskTypeToString; virStoragePoolFormatFileSystemTypeToString; virStoragePoolFormatFileSystemNetTypeToString; -virStorageVolFormatFileSystemTypeToString; -virStorageVolFormatFileSystemTypeFromString; virStoragePoolTypeFromString; virStoragePartedFsTypeTypeToString; virStoragePoolObjLock; @@ -373,6 +371,11 @@ virStorageEncryptionParseNode; virStorageEncryptionFormat; virStorageGenerateQcowPassphrase; +# storage_file.h +virStorageFileFormatTypeToString; +virStorageFileFormatTypeFromString; +virStorageFileGetMetadata; +virStorageFileGetMetadataFromFD; # threads.h virMutexInit; diff --git a/src/security_selinux.c b/src/security_selinux.c index b4dc153..600fc75 100644 --- a/src/security_selinux.c +++ b/src/security_selinux.c @@ -27,6 +27,7 @@ #include "logging.h" #include "pci.h" #include "hostusb.h" +#include "storage_file.h" #define VIR_FROM_THIS VIR_FROM_SECURITY @@ -403,10 +404,37 @@ SELinuxSetSecurityImageLabel(virConnectPtr conn, { const virSecurityLabelDefPtr secdef = &vm->def->seclabel; + const char *path; if (!disk->src) return 0; + path = disk->src; + do { + virStorageFileMetadata meta; + int ret; + + memset(&meta, 0, sizeof(meta)); + + ret = virStorageFileGetMetadata(conn, path, &meta); + + if (path != disk->src) + VIR_FREE(path); + path = NULL; + + if (ret < 0) + return -1; + + if (meta.backingStore != NULL && + SELinuxSetFilecon(conn, meta.backingStore, + default_content_context) < 0) { + VIR_FREE(meta.backingStore); + return -1; + } + + path = meta.backingStore; + } while (path != NULL); + if (disk->shared) { return SELinuxSetFilecon(conn, disk->src, default_image_context); } else if (disk->readonly) { diff --git a/src/storage_backend.c b/src/storage_backend.c index 800d4ea..1b65c5d 100644 --- a/src/storage_backend.c +++ b/src/storage_backend.c @@ -51,6 +51,7 @@ #include "internal.h" #include "secret_conf.h" #include "uuid.h" +#include "storage_file.h" #include "storage_backend.h" #include "logging.h" @@ -462,16 +463,16 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, char *create_tool; short use_kvmimg; - const char *type = virStorageVolFormatFileSystemTypeToString(vol->target.format); + const char *type = virStorageFileFormatTypeToString(vol->target.format); const char *backingType = vol->backingStore.path ? - virStorageVolFormatFileSystemTypeToString(vol->backingStore.format) : NULL; + virStorageFileFormatTypeToString(vol->backingStore.format) : NULL; const char *inputBackingPath = (inputvol ? inputvol->backingStore.path : NULL); const char *inputPath = inputvol ? inputvol->target.path : NULL; /* Treat input block devices as 'raw' format */ const char *inputType = inputPath ? - virStorageVolFormatFileSystemTypeToString(inputvol->type == VIR_STORAGE_VOL_BLOCK ? VIR_STORAGE_VOL_FILE_RAW : inputvol->target.format) : + virStorageFileFormatTypeToString(inputvol->type == VIR_STORAGE_VOL_BLOCK ? VIR_STORAGE_FILE_RAW : inputvol->target.format) : NULL; const char **imgargv; @@ -552,8 +553,8 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, if (vol->target.encryption != NULL) { virStorageEncryptionPtr enc; - if (vol->target.format != VIR_STORAGE_VOL_FILE_QCOW && - vol->target.format != VIR_STORAGE_VOL_FILE_QCOW2) { + if (vol->target.format != VIR_STORAGE_FILE_QCOW && + vol->target.format != VIR_STORAGE_FILE_QCOW2) { virStorageReportError(conn, VIR_ERR_NO_SUPPORT, _("qcow volume encryption unsupported with " "volume format %s"), type); @@ -644,7 +645,7 @@ virStorageBackendCreateQcowCreate(virConnectPtr conn, return -1; } - if (vol->target.format != VIR_STORAGE_VOL_FILE_QCOW2) { + if (vol->target.format != VIR_STORAGE_FILE_QCOW2) { virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, _("unsupported storage vol type %d"), vol->target.format); @@ -735,9 +736,9 @@ virStorageBackendGetBuildVolFromFunction(virConnectPtr conn, * tool for converting */ if ((vol->type == VIR_STORAGE_VOL_FILE && - vol->target.format != VIR_STORAGE_VOL_FILE_RAW) || + vol->target.format != VIR_STORAGE_FILE_RAW) || (inputvol->type == VIR_STORAGE_VOL_FILE && - inputvol->target.format != VIR_STORAGE_VOL_FILE_RAW)) { + inputvol->target.format != VIR_STORAGE_FILE_RAW)) { if ((tool_type = virStorageBackendFindFSImageTool(NULL)) < 0) { virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, diff --git a/src/storage_backend_fs.c b/src/storage_backend_fs.c index 01cb171..6816da8 100644 --- a/src/storage_backend_fs.c +++ b/src/storage_backend_fs.c @@ -41,259 +41,24 @@ #include "virterror_internal.h" #include "storage_backend_fs.h" #include "storage_conf.h" +#include "storage_file.h" #include "util.h" #include "memory.h" #include "xml.h" -enum lv_endian { - LV_LITTLE_ENDIAN = 1, /* 1234 */ - LV_BIG_ENDIAN /* 4321 */ -}; - -enum { - BACKING_STORE_OK, - BACKING_STORE_INVALID, - BACKING_STORE_ERROR, -}; - -static int cowGetBackingStore(virConnectPtr, char **, - const unsigned char *, size_t); -static int qcowXGetBackingStore(virConnectPtr, char **, - const unsigned char *, size_t); -static int vmdk4GetBackingStore(virConnectPtr, char **, - const unsigned char *, size_t); - -/* Either 'magic' or 'extension' *must* be provided */ -struct FileTypeInfo { - int type; /* One of the constants above */ - const char *magic; /* Optional string of file magic - * to check at head of file */ - const char *extension; /* Optional file extension to check */ - enum lv_endian endian; /* Endianness of file format */ - int versionOffset; /* Byte offset from start of file - * where we find version number, - * -1 to skip version test */ - int versionNumber; /* Version number to validate */ - int sizeOffset; /* Byte offset from start of file - * where we find capacity info, - * -1 to use st_size as capacity */ - int sizeBytes; /* Number of bytes for size field */ - int sizeMultiplier; /* A scaling factor if size is not in bytes */ - /* Store a COW base image path (possibly relative), - * or NULL if there is no COW base image, to RES; - * return BACKING_STORE_* */ - int qcowCryptOffset; /* Byte offset from start of file - * where to find encryption mode, - * -1 if encryption is not used */ - int (*getBackingStore)(virConnectPtr conn, char **res, - const unsigned char *buf, size_t buf_size); -}; -struct FileTypeInfo const fileTypeInfo[] = { - /* Bochs */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_BOCHS, "Bochs Virtual HD Image", NULL, - LV_LITTLE_ENDIAN, 64, 0x20000, - 32+16+16+4+4+4+4+4, 8, 1, -1, NULL },*/ - /* CLoop */ - /* XXX Untested - { VIR_STORAGE_VOL_CLOOP, "#!/bin/sh\n#V2.0 Format\nmodprobe cloop file=$0 && mount -r -t iso9660 /dev/cloop $1\n", NULL, - LV_LITTLE_ENDIAN, -1, 0, - -1, 0, 0, -1, NULL }, */ - /* Cow */ - { VIR_STORAGE_VOL_FILE_COW, "OOOM", NULL, - LV_BIG_ENDIAN, 4, 2, - 4+4+1024+4, 8, 1, -1, cowGetBackingStore }, - /* DMG */ - /* XXX QEMU says there's no magic for dmg, but we should check... */ - { VIR_STORAGE_VOL_FILE_DMG, NULL, ".dmg", - 0, -1, 0, - -1, 0, 0, -1, NULL }, - /* XXX there's probably some magic for iso we can validate too... */ - { VIR_STORAGE_VOL_FILE_ISO, NULL, ".iso", - 0, -1, 0, - -1, 0, 0, -1, NULL }, - /* Parallels */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_PARALLELS, "WithoutFreeSpace", NULL, - LV_LITTLE_ENDIAN, 16, 2, - 16+4+4+4+4, 4, 512, -1, NULL }, - */ - /* QCow */ - { VIR_STORAGE_VOL_FILE_QCOW, "QFI", NULL, - LV_BIG_ENDIAN, 4, 1, - 4+4+8+4+4, 8, 1, 4+4+8+4+4+8+1+1+2, qcowXGetBackingStore }, - /* QCow 2 */ - { VIR_STORAGE_VOL_FILE_QCOW2, "QFI", NULL, - LV_BIG_ENDIAN, 4, 2, - 4+4+8+4+4, 8, 1, 4+4+8+4+4+8, qcowXGetBackingStore }, - /* VMDK 3 */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_VMDK, "COWD", NULL, - LV_LITTLE_ENDIAN, 4, 1, - 4+4+4, 4, 512, -1, NULL }, - */ - /* VMDK 4 */ - { VIR_STORAGE_VOL_FILE_VMDK, "KDMV", NULL, - LV_LITTLE_ENDIAN, 4, 1, - 4+4+4, 8, 512, -1, vmdk4GetBackingStore }, - /* Connectix / VirtualPC */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_VPC, "conectix", NULL, - LV_BIG_ENDIAN, -1, 0, - -1, 0, 0, -1, NULL}, - */ -}; - #define VIR_FROM_THIS VIR_FROM_STORAGE static int -cowGetBackingStore(virConnectPtr conn, - char **res, - const unsigned char *buf, - size_t buf_size) -{ -#define COW_FILENAME_MAXLEN 1024 - *res = NULL; - if (buf_size < 4+4+ COW_FILENAME_MAXLEN) - return BACKING_STORE_INVALID; - if (buf[4+4] == '\0') /* cow_header_v2.backing_file[0] */ - return BACKING_STORE_OK; - - *res = strndup ((const char*)buf + 4+4, COW_FILENAME_MAXLEN); - if (*res == NULL) { - virReportOOMError(conn); - return BACKING_STORE_ERROR; - } - return BACKING_STORE_OK; -} - -static int -qcowXGetBackingStore(virConnectPtr conn, - char **res, - const unsigned char *buf, - size_t buf_size) -{ - unsigned long long offset; - unsigned long size; - - *res = NULL; - if (buf_size < 4+4+8+4) - return BACKING_STORE_INVALID; - offset = (((unsigned long long)buf[4+4] << 56) - | ((unsigned long long)buf[4+4+1] << 48) - | ((unsigned long long)buf[4+4+2] << 40) - | ((unsigned long long)buf[4+4+3] << 32) - | ((unsigned long long)buf[4+4+4] << 24) - | ((unsigned long long)buf[4+4+5] << 16) - | ((unsigned long long)buf[4+4+6] << 8) - | buf[4+4+7]); /* QCowHeader.backing_file_offset */ - if (offset > buf_size) - return BACKING_STORE_INVALID; - size = ((buf[4+4+8] << 24) - | (buf[4+4+8+1] << 16) - | (buf[4+4+8+2] << 8) - | buf[4+4+8+3]); /* QCowHeader.backing_file_size */ - if (size == 0) - return BACKING_STORE_OK; - if (offset + size > buf_size || offset + size < offset) - return BACKING_STORE_INVALID; - if (size + 1 == 0) - return BACKING_STORE_INVALID; - if (VIR_ALLOC_N(*res, size + 1) < 0) { - virReportOOMError(conn); - return BACKING_STORE_ERROR; - } - memcpy(*res, buf + offset, size); - (*res)[size] = '\0'; - return BACKING_STORE_OK; -} - - -static int -vmdk4GetBackingStore(virConnectPtr conn, - char **res, - const unsigned char *buf, - size_t buf_size) -{ - static const char prefix[] = "parentFileNameHint=\""; - - char desc[20*512 + 1], *start, *end; - size_t len; - - *res = NULL; - - if (buf_size <= 0x200) - return BACKING_STORE_INVALID; - len = buf_size - 0x200; - if (len > sizeof(desc) - 1) - len = sizeof(desc) - 1; - memcpy(desc, buf + 0x200, len); - desc[len] = '\0'; - start = strstr(desc, prefix); - if (start == NULL) - return BACKING_STORE_OK; - start += strlen(prefix); - end = strchr(start, '"'); - if (end == NULL) - return BACKING_STORE_INVALID; - if (end == start) - return BACKING_STORE_OK; - *end = '\0'; - *res = strdup(start); - if (*res == NULL) { - virReportOOMError(conn); - return BACKING_STORE_ERROR; - } - return BACKING_STORE_OK; -} - -/** - * Return an absolute path corresponding to PATH, which is absolute or relative - * to the directory containing BASE_FILE, or NULL on error - */ -static char *absolutePathFromBaseFile(const char *base_file, const char *path) +virStorageBackendProbeTarget(virConnectPtr conn, + virStorageVolTargetPtr target, + char **backingStore, + unsigned long long *allocation, + unsigned long long *capacity, + virStorageEncryptionPtr *encryption) { - size_t base_size, path_size; - char *res, *p; - - if (*path == '/') - return strdup(path); - - base_size = strlen(base_file) + 1; - path_size = strlen(path) + 1; - if (VIR_ALLOC_N(res, base_size - 1 + path_size) < 0) - return NULL; - memcpy(res, base_file, base_size); - p = strrchr(res, '/'); - if (p != NULL) - p++; - else - p = res; - memcpy(p, path, path_size); - if (VIR_REALLOC_N(res, (p + path_size) - res) < 0) { - /* Ignore failure */ - } - return res; -} - - - -/** - * Probe the header of a file to determine what type of disk image - * it is, and info about its capacity if available. - */ -static int virStorageBackendProbeTarget(virConnectPtr conn, - virStorageVolTargetPtr target, - char **backingStore, - unsigned long long *allocation, - unsigned long long *capacity, - virStorageEncryptionPtr *encryption) { - int fd; - unsigned char head[20*512]; /* vmdk4GetBackingStore needs this much. */ - int len, i, ret; + int fd, ret; + virStorageFileMetadata meta; - if (backingStore) - *backingStore = NULL; if (encryption) *encryption = NULL; @@ -311,148 +76,51 @@ static int virStorageBackendProbeTarget(virConnectPtr conn, return ret; /* Take care to propagate ret, it is not always -1 */ } - if ((len = read(fd, head, sizeof(head))) < 0) { - virReportSystemError(conn, errno, - _("cannot read header '%s'"), - target->path); + memset(&meta, 0, sizeof(meta)); + + if (virStorageFileGetMetadataFromFD(conn, target->path, fd, &meta) < 0) { close(fd); return -1; } close(fd); - /* First check file magic */ - for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { - int mlen; - bool encrypted_qcow = false; - - if (fileTypeInfo[i].magic == NULL) - continue; - - /* Validate magic data */ - mlen = strlen(fileTypeInfo[i].magic); - if (mlen > len) - continue; - if (memcmp(head, fileTypeInfo[i].magic, mlen) != 0) - continue; - - /* Validate version number info */ - if (fileTypeInfo[i].versionNumber != -1) { - int version; - - if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { - version = (head[fileTypeInfo[i].versionOffset+3] << 24) | - (head[fileTypeInfo[i].versionOffset+2] << 16) | - (head[fileTypeInfo[i].versionOffset+1] << 8) | - head[fileTypeInfo[i].versionOffset]; - } else { - version = (head[fileTypeInfo[i].versionOffset] << 24) | - (head[fileTypeInfo[i].versionOffset+1] << 16) | - (head[fileTypeInfo[i].versionOffset+2] << 8) | - head[fileTypeInfo[i].versionOffset+3]; - } - if (version != fileTypeInfo[i].versionNumber) - continue; - } - - /* Optionally extract capacity from file */ - if (fileTypeInfo[i].sizeOffset != -1 && capacity) { - if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { - *capacity = - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7] << 56) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 48) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 40) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 32) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 24) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 16) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 8) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset]); - } else { - *capacity = - ((unsigned long long)head[fileTypeInfo[i].sizeOffset] << 56) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 48) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 40) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 32) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 24) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 16) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 8) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7]); - } - /* Avoid unlikely, but theoretically possible overflow */ - if (*capacity > (ULLONG_MAX / fileTypeInfo[i].sizeMultiplier)) - continue; - *capacity *= fileTypeInfo[i].sizeMultiplier; - } - - if (fileTypeInfo[i].qcowCryptOffset != -1) { - int crypt_format; + target->format = meta.format; - crypt_format = (head[fileTypeInfo[i].qcowCryptOffset] << 24) | - (head[fileTypeInfo[i].qcowCryptOffset+1] << 16) | - (head[fileTypeInfo[i].qcowCryptOffset+2] << 8) | - head[fileTypeInfo[i].qcowCryptOffset+3]; - encrypted_qcow = crypt_format != 0; - } - - /* Validation passed, we know the file format now */ - target->format = fileTypeInfo[i].type; - if (fileTypeInfo[i].getBackingStore != NULL && backingStore) { - char *base; + if (backingStore) { + *backingStore = meta.backingStore; + meta.backingStore = NULL; + } - switch (fileTypeInfo[i].getBackingStore(conn, &base, head, len)) { - case BACKING_STORE_OK: - break; + VIR_FREE(meta.backingStore); - case BACKING_STORE_INVALID: - continue; + if (capacity && meta.capacity) + *capacity = meta.capacity; - case BACKING_STORE_ERROR: - return -1; - } - if (base != NULL) { - *backingStore - = absolutePathFromBaseFile(target->path, base); - VIR_FREE(base); - if (*backingStore == NULL) { - virReportOOMError(conn); - return -1; - } - } + if (encryption != NULL && meta.encrypted) { + if (VIR_ALLOC(*encryption) < 0) { + virReportOOMError(conn); + if (backingStore) + VIR_FREE(*backingStore); + return -1; } - if (encryption != NULL && encrypted_qcow) { - virStorageEncryptionPtr enc; - if (VIR_ALLOC(enc) < 0) { - virReportOOMError(conn); - if (backingStore) - VIR_FREE(*backingStore); - return -1; - } - enc->format = VIR_STORAGE_ENCRYPTION_FORMAT_QCOW; - *encryption = enc; - /* XXX ideally we'd fill in secret UUID here - * but we cannot guarentee 'conn' is non-NULL - * at this point in time :-( So we only fill - * in secrets when someone first queries a vol - */ + switch (target->format) { + case VIR_STORAGE_FILE_QCOW: + case VIR_STORAGE_FILE_QCOW2: + (*encryption)->format = VIR_STORAGE_ENCRYPTION_FORMAT_QCOW; + break; + default: + break; } - return 0; - } - - /* No magic, so check file extension */ - for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { - if (fileTypeInfo[i].extension == NULL) - continue; - - if (!virFileHasSuffix(target->path, fileTypeInfo[i].extension)) - continue; - target->format = fileTypeInfo[i].type; - return 0; + /* XXX ideally we'd fill in secret UUID here + * but we cannot guarentee 'conn' is non-NULL + * at this point in time :-( So we only fill + * in secrets when someone first queries a vol + */ } - /* All fails, so call it a raw file */ - target->format = VIR_STORAGE_VOL_FILE_RAW; return 0; } @@ -891,7 +559,7 @@ virStorageBackendFileSystemRefresh(virConnectPtr conn, goto no_memory; vol->type = VIR_STORAGE_VOL_FILE; - vol->target.format = VIR_STORAGE_VOL_FILE_RAW; /* Real value is filled in during probe */ + vol->target.format = VIR_STORAGE_FILE_RAW; /* Real value is filled in during probe */ if (virAsprintf(&vol->target.path, "%s/%s", pool->def->target.path, vol->name) == -1) @@ -918,7 +586,7 @@ virStorageBackendFileSystemRefresh(virConnectPtr conn, } if (backingStore != NULL) { - if (vol->target.format == VIR_STORAGE_VOL_FILE_QCOW2 && + if (vol->target.format == VIR_STORAGE_FILE_QCOW2 && STRPREFIX("fmt:", backingStore)) { char *fmtstr = backingStore + 4; char *path = strchr(fmtstr, ':'); @@ -927,7 +595,7 @@ virStorageBackendFileSystemRefresh(virConnectPtr conn, } else { *path = '\0'; if ((vol->backingStore.format = - virStorageVolFormatFileSystemTypeFromString(fmtstr)) < 0) { + virStorageFileFormatTypeFromString(fmtstr)) < 0) { VIR_FREE(backingStore); } else { memmove(backingStore, path, strlen(path) + 1); @@ -1121,9 +789,9 @@ _virStorageBackendFileSystemVolBuild(virConnectPtr conn, inputvol); if (!create_func) return -1; - } else if (vol->target.format == VIR_STORAGE_VOL_FILE_RAW) { + } else if (vol->target.format == VIR_STORAGE_FILE_RAW) { create_func = virStorageBackendCreateRaw; - } else if (vol->target.format == VIR_STORAGE_VOL_FILE_DIR) { + } else if (vol->target.format == VIR_STORAGE_FILE_DIR) { create_func = createFileDir; } else if ((tool_type = virStorageBackendFindFSImageTool(NULL)) != -1) { create_func = virStorageBackendFSImageToolTypeToFunc(conn, tool_type); diff --git a/src/storage_conf.c b/src/storage_conf.c index cb063cc..788de15 100644 --- a/src/storage_conf.c +++ b/src/storage_conf.c @@ -36,6 +36,7 @@ #include "virterror_internal.h" #include "datatypes.h" #include "storage_conf.h" +#include "storage_file.h" #include "xml.h" #include "uuid.h" @@ -82,12 +83,6 @@ VIR_ENUM_IMPL(virStorageVolFormatDisk, "linux-lvm", "linux-raid", "extended") -VIR_ENUM_IMPL(virStorageVolFormatFileSystem, - VIR_STORAGE_VOL_FILE_LAST, - "raw", "dir", "bochs", - "cloop", "cow", "dmg", "iso", - "qcow", "qcow2", "vmdk", "vpc") - VIR_ENUM_IMPL(virStoragePartedFsType, VIR_STORAGE_PARTED_FS_TYPE_LAST, "ext2", "ext2", "fat16", @@ -150,9 +145,9 @@ static virStoragePoolTypeInfo poolTypeInfo[] = { }, { .poolType = VIR_STORAGE_POOL_DIR, .volOptions = { - .defaultFormat = VIR_STORAGE_VOL_FILE_RAW, - .formatFromString = virStorageVolFormatFileSystemTypeFromString, - .formatToString = virStorageVolFormatFileSystemTypeToString, + .defaultFormat = VIR_STORAGE_FILE_RAW, + .formatFromString = virStorageFileFormatTypeFromString, + .formatToString = virStorageFileFormatTypeToString, }, }, { .poolType = VIR_STORAGE_POOL_FS, @@ -162,9 +157,9 @@ static virStoragePoolTypeInfo poolTypeInfo[] = { .formatToString = virStoragePoolFormatFileSystemTypeToString, }, .volOptions = { - .defaultFormat = VIR_STORAGE_VOL_FILE_RAW, - .formatFromString = virStorageVolFormatFileSystemTypeFromString, - .formatToString = virStorageVolFormatFileSystemTypeToString, + .defaultFormat = VIR_STORAGE_FILE_RAW, + .formatFromString = virStorageFileFormatTypeFromString, + .formatToString = virStorageFileFormatTypeToString, }, }, { .poolType = VIR_STORAGE_POOL_NETFS, @@ -176,9 +171,9 @@ static virStoragePoolTypeInfo poolTypeInfo[] = { .formatToString = virStoragePoolFormatFileSystemNetTypeToString, }, .volOptions = { - .defaultFormat = VIR_STORAGE_VOL_FILE_RAW, - .formatFromString = virStorageVolFormatFileSystemTypeFromString, - .formatToString = virStorageVolFormatFileSystemTypeToString, + .defaultFormat = VIR_STORAGE_FILE_RAW, + .formatFromString = virStorageFileFormatTypeFromString, + .formatToString = virStorageFileFormatTypeToString, }, }, { .poolType = VIR_STORAGE_POOL_ISCSI, diff --git a/src/storage_conf.h b/src/storage_conf.h index 421d305..9fedb12 100644 --- a/src/storage_conf.h +++ b/src/storage_conf.h @@ -429,23 +429,6 @@ enum virStoragePoolFormatLogical { }; VIR_ENUM_DECL(virStoragePoolFormatLogical) - -enum virStorageVolFormatFileSystem { - VIR_STORAGE_VOL_FILE_RAW = 0, - VIR_STORAGE_VOL_FILE_DIR, - VIR_STORAGE_VOL_FILE_BOCHS, - VIR_STORAGE_VOL_FILE_CLOOP, - VIR_STORAGE_VOL_FILE_COW, - VIR_STORAGE_VOL_FILE_DMG, - VIR_STORAGE_VOL_FILE_ISO, - VIR_STORAGE_VOL_FILE_QCOW, - VIR_STORAGE_VOL_FILE_QCOW2, - VIR_STORAGE_VOL_FILE_VMDK, - VIR_STORAGE_VOL_FILE_VPC, - VIR_STORAGE_VOL_FILE_LAST, -}; -VIR_ENUM_DECL(virStorageVolFormatFileSystem) - /* * XXX these are basically partition types. * diff --git a/src/storage_file.c b/src/storage_file.c new file mode 100644 index 0000000..44057d2 --- /dev/null +++ b/src/storage_file.c @@ -0,0 +1,424 @@ +/* + * storage_file.c: file utility functions for FS storage backend + * + * Copyright (C) 2007-2009 Red Hat, Inc. + * Copyright (C) 2007-2008 Daniel P. Berrange + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange + */ + +#include +#include "storage_file.h" + +#include +#include +#include "memory.h" +#include "virterror_internal.h" + +#define VIR_FROM_THIS VIR_FROM_STORAGE + +VIR_ENUM_IMPL(virStorageFileFormat, + VIR_STORAGE_FILE_LAST, + "raw", "dir", "bochs", + "cloop", "cow", "dmg", "iso", + "qcow", "qcow2", "vmdk", "vpc") + +enum lv_endian { + LV_LITTLE_ENDIAN = 1, /* 1234 */ + LV_BIG_ENDIAN /* 4321 */ +}; + +enum { + BACKING_STORE_OK, + BACKING_STORE_INVALID, + BACKING_STORE_ERROR, +}; + +/* Either 'magic' or 'extension' *must* be provided */ +struct FileTypeInfo { + int type; /* One of the constants above */ + const char *magic; /* Optional string of file magic + * to check at head of file */ + const char *extension; /* Optional file extension to check */ + enum lv_endian endian; /* Endianness of file format */ + int versionOffset; /* Byte offset from start of file + * where we find version number, + * -1 to skip version test */ + int versionNumber; /* Version number to validate */ + int sizeOffset; /* Byte offset from start of file + * where we find capacity info, + * -1 to use st_size as capacity */ + int sizeBytes; /* Number of bytes for size field */ + int sizeMultiplier; /* A scaling factor if size is not in bytes */ + /* Store a COW base image path (possibly relative), + * or NULL if there is no COW base image, to RES; + * return BACKING_STORE_* */ + int qcowCryptOffset; /* Byte offset from start of file + * where to find encryption mode, + * -1 if encryption is not used */ + int (*getBackingStore)(virConnectPtr conn, char **res, + const unsigned char *buf, size_t buf_size); +}; + +static int cowGetBackingStore(virConnectPtr, char **, + const unsigned char *, size_t); +static int qcowXGetBackingStore(virConnectPtr, char **, + const unsigned char *, size_t); +static int vmdk4GetBackingStore(virConnectPtr, char **, + const unsigned char *, size_t); + + +static struct FileTypeInfo const fileTypeInfo[] = { + /* Bochs */ + /* XXX Untested + { VIR_STORAGE_FILE_BOCHS, "Bochs Virtual HD Image", NULL, + LV_LITTLE_ENDIAN, 64, 0x20000, + 32+16+16+4+4+4+4+4, 8, 1, -1, NULL },*/ + /* CLoop */ + /* XXX Untested + { VIR_STORAGE_VOL_CLOOP, "#!/bin/sh\n#V2.0 Format\nmodprobe cloop file=$0 && mount -r -t iso9660 /dev/cloop $1\n", NULL, + LV_LITTLE_ENDIAN, -1, 0, + -1, 0, 0, -1, NULL }, */ + /* Cow */ + { VIR_STORAGE_FILE_COW, "OOOM", NULL, + LV_BIG_ENDIAN, 4, 2, + 4+4+1024+4, 8, 1, -1, cowGetBackingStore }, + /* DMG */ + /* XXX QEMU says there's no magic for dmg, but we should check... */ + { VIR_STORAGE_FILE_DMG, NULL, ".dmg", + 0, -1, 0, + -1, 0, 0, -1, NULL }, + /* XXX there's probably some magic for iso we can validate too... */ + { VIR_STORAGE_FILE_ISO, NULL, ".iso", + 0, -1, 0, + -1, 0, 0, -1, NULL }, + /* Parallels */ + /* XXX Untested + { VIR_STORAGE_FILE_PARALLELS, "WithoutFreeSpace", NULL, + LV_LITTLE_ENDIAN, 16, 2, + 16+4+4+4+4, 4, 512, -1, NULL }, + */ + /* QCow */ + { VIR_STORAGE_FILE_QCOW, "QFI", NULL, + LV_BIG_ENDIAN, 4, 1, + 4+4+8+4+4, 8, 1, 4+4+8+4+4+8+1+1+2, qcowXGetBackingStore }, + /* QCow 2 */ + { VIR_STORAGE_FILE_QCOW2, "QFI", NULL, + LV_BIG_ENDIAN, 4, 2, + 4+4+8+4+4, 8, 1, 4+4+8+4+4+8, qcowXGetBackingStore }, + /* VMDK 3 */ + /* XXX Untested + { VIR_STORAGE_FILE_VMDK, "COWD", NULL, + LV_LITTLE_ENDIAN, 4, 1, + 4+4+4, 4, 512, -1, NULL }, + */ + /* VMDK 4 */ + { VIR_STORAGE_FILE_VMDK, "KDMV", NULL, + LV_LITTLE_ENDIAN, 4, 1, + 4+4+4, 8, 512, -1, vmdk4GetBackingStore }, + /* Connectix / VirtualPC */ + /* XXX Untested + { VIR_STORAGE_FILE_VPC, "conectix", NULL, + LV_BIG_ENDIAN, -1, 0, + -1, 0, 0, -1, NULL}, + */ +}; + +static int +cowGetBackingStore(virConnectPtr conn, + char **res, + const unsigned char *buf, + size_t buf_size) +{ +#define COW_FILENAME_MAXLEN 1024 + *res = NULL; + if (buf_size < 4+4+ COW_FILENAME_MAXLEN) + return BACKING_STORE_INVALID; + if (buf[4+4] == '\0') /* cow_header_v2.backing_file[0] */ + return BACKING_STORE_OK; + + *res = strndup ((const char*)buf + 4+4, COW_FILENAME_MAXLEN); + if (*res == NULL) { + virReportOOMError(conn); + return BACKING_STORE_ERROR; + } + return BACKING_STORE_OK; +} + +static int +qcowXGetBackingStore(virConnectPtr conn, + char **res, + const unsigned char *buf, + size_t buf_size) +{ + unsigned long long offset; + unsigned long size; + + *res = NULL; + if (buf_size < 4+4+8+4) + return BACKING_STORE_INVALID; + offset = (((unsigned long long)buf[4+4] << 56) + | ((unsigned long long)buf[4+4+1] << 48) + | ((unsigned long long)buf[4+4+2] << 40) + | ((unsigned long long)buf[4+4+3] << 32) + | ((unsigned long long)buf[4+4+4] << 24) + | ((unsigned long long)buf[4+4+5] << 16) + | ((unsigned long long)buf[4+4+6] << 8) + | buf[4+4+7]); /* QCowHeader.backing_file_offset */ + if (offset > buf_size) + return BACKING_STORE_INVALID; + size = ((buf[4+4+8] << 24) + | (buf[4+4+8+1] << 16) + | (buf[4+4+8+2] << 8) + | buf[4+4+8+3]); /* QCowHeader.backing_file_size */ + if (size == 0) + return BACKING_STORE_OK; + if (offset + size > buf_size || offset + size < offset) + return BACKING_STORE_INVALID; + if (size + 1 == 0) + return BACKING_STORE_INVALID; + if (VIR_ALLOC_N(*res, size + 1) < 0) { + virReportOOMError(conn); + return BACKING_STORE_ERROR; + } + memcpy(*res, buf + offset, size); + (*res)[size] = '\0'; + return BACKING_STORE_OK; +} + + +static int +vmdk4GetBackingStore(virConnectPtr conn, + char **res, + const unsigned char *buf, + size_t buf_size) +{ + static const char prefix[] = "parentFileNameHint=\""; + + char desc[20*512 + 1], *start, *end; + size_t len; + + *res = NULL; + + if (buf_size <= 0x200) + return BACKING_STORE_INVALID; + len = buf_size - 0x200; + if (len > sizeof(desc) - 1) + len = sizeof(desc) - 1; + memcpy(desc, buf + 0x200, len); + desc[len] = '\0'; + start = strstr(desc, prefix); + if (start == NULL) + return BACKING_STORE_OK; + start += strlen(prefix); + end = strchr(start, '"'); + if (end == NULL) + return BACKING_STORE_INVALID; + if (end == start) + return BACKING_STORE_OK; + *end = '\0'; + *res = strdup(start); + if (*res == NULL) { + virReportOOMError(conn); + return BACKING_STORE_ERROR; + } + return BACKING_STORE_OK; +} + +/** + * Return an absolute path corresponding to PATH, which is absolute or relative + * to the directory containing BASE_FILE, or NULL on error + */ +static char * +absolutePathFromBaseFile(const char *base_file, const char *path) +{ + size_t base_size, path_size; + char *res, *p; + + if (*path == '/') + return strdup(path); + + base_size = strlen(base_file) + 1; + path_size = strlen(path) + 1; + if (VIR_ALLOC_N(res, base_size - 1 + path_size) < 0) + return NULL; + memcpy(res, base_file, base_size); + p = strrchr(res, '/'); + if (p != NULL) + p++; + else + p = res; + memcpy(p, path, path_size); + if (VIR_REALLOC_N(res, (p + path_size) - res) < 0) { + /* Ignore failure */ + } + return res; +} + +/** + * Probe the header of a file to determine what type of disk image + * it is, and info about its capacity if available. + */ +int +virStorageFileGetMetadataFromFD(virConnectPtr conn, + const char *path, + int fd, + virStorageFileMetadata *meta) +{ + unsigned char head[20*512]; /* vmdk4GetBackingStore needs this much. */ + int len, i; + + /* If all else fails, call it a raw file */ + meta->format = VIR_STORAGE_FILE_RAW; + + if ((len = read(fd, head, sizeof(head))) < 0) { + virReportSystemError(conn, errno, _("cannot read header '%s'"), path); + return -1; + } + + /* First check file magic */ + for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { + int mlen; + + if (fileTypeInfo[i].magic == NULL) + continue; + + /* Validate magic data */ + mlen = strlen(fileTypeInfo[i].magic); + if (mlen > len) + continue; + if (memcmp(head, fileTypeInfo[i].magic, mlen) != 0) + continue; + + /* Validate version number info */ + if (fileTypeInfo[i].versionNumber != -1) { + int version; + + if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { + version = (head[fileTypeInfo[i].versionOffset+3] << 24) | + (head[fileTypeInfo[i].versionOffset+2] << 16) | + (head[fileTypeInfo[i].versionOffset+1] << 8) | + head[fileTypeInfo[i].versionOffset]; + } else { + version = (head[fileTypeInfo[i].versionOffset] << 24) | + (head[fileTypeInfo[i].versionOffset+1] << 16) | + (head[fileTypeInfo[i].versionOffset+2] << 8) | + head[fileTypeInfo[i].versionOffset+3]; + } + if (version != fileTypeInfo[i].versionNumber) + continue; + } + + /* Optionally extract capacity from file */ + if (fileTypeInfo[i].sizeOffset != -1) { + if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { + meta->capacity = + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7] << 56) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 48) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 40) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 32) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 24) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 16) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 8) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset]); + } else { + meta->capacity = + ((unsigned long long)head[fileTypeInfo[i].sizeOffset] << 56) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 48) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 40) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 32) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 24) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 16) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 8) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7]); + } + /* Avoid unlikely, but theoretically possible overflow */ + if (meta->capacity > (ULLONG_MAX / fileTypeInfo[i].sizeMultiplier)) + continue; + meta->capacity *= fileTypeInfo[i].sizeMultiplier; + } + + if (fileTypeInfo[i].qcowCryptOffset != -1) { + int crypt_format; + + crypt_format = (head[fileTypeInfo[i].qcowCryptOffset] << 24) | + (head[fileTypeInfo[i].qcowCryptOffset+1] << 16) | + (head[fileTypeInfo[i].qcowCryptOffset+2] << 8) | + head[fileTypeInfo[i].qcowCryptOffset+3]; + meta->encrypted = crypt_format != 0; + } + + /* Validation passed, we know the file format now */ + meta->format = fileTypeInfo[i].type; + if (fileTypeInfo[i].getBackingStore != NULL) { + char *base; + + switch (fileTypeInfo[i].getBackingStore(conn, &base, head, len)) { + case BACKING_STORE_OK: + break; + + case BACKING_STORE_INVALID: + continue; + + case BACKING_STORE_ERROR: + return -1; + } + if (base != NULL) { + meta->backingStore = absolutePathFromBaseFile(path, base); + VIR_FREE(base); + if (meta->backingStore == NULL) { + virReportOOMError(conn); + return -1; + } + } + } + return 0; + } + + /* No magic, so check file extension */ + for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { + if (fileTypeInfo[i].extension == NULL) + continue; + + if (!virFileHasSuffix(path, fileTypeInfo[i].extension)) + continue; + + meta->format = fileTypeInfo[i].type; + return 0; + } + + return 0; +} + +int +virStorageFileGetMetadata(virConnectPtr conn, + const char *path, + virStorageFileMetadata *meta) +{ + int fd, ret; + + if ((fd = open(path, O_RDONLY)) < 0) { + virReportSystemError(conn, errno, _("cannot open file '%s'"), path); + return -1; + } + + ret = virStorageFileGetMetadataFromFD(conn, path, fd, meta); + + close(fd); + + return ret; +} diff --git a/src/storage_file.h b/src/storage_file.h new file mode 100644 index 0000000..b0abcaf --- /dev/null +++ b/src/storage_file.h @@ -0,0 +1,62 @@ +/* + * storage_file.c: file utility functions for FS storage backend + * + * Copyright (C) 2007-2009 Red Hat, Inc. + * Copyright (C) 2007-2008 Daniel P. Berrange + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange + */ + +#ifndef __VIR_STORAGE_FILE_H__ +#define __VIR_STORAGE_FILE_H__ + +#include "util.h" +#include + +enum virStorageFileFormat { + VIR_STORAGE_FILE_RAW = 0, + VIR_STORAGE_FILE_DIR, + VIR_STORAGE_FILE_BOCHS, + VIR_STORAGE_FILE_CLOOP, + VIR_STORAGE_FILE_COW, + VIR_STORAGE_FILE_DMG, + VIR_STORAGE_FILE_ISO, + VIR_STORAGE_FILE_QCOW, + VIR_STORAGE_FILE_QCOW2, + VIR_STORAGE_FILE_VMDK, + VIR_STORAGE_FILE_VPC, + VIR_STORAGE_FILE_LAST, +}; + +VIR_ENUM_DECL(virStorageFileFormat); + +typedef struct _virStorageFileMetadata { + int format; + char *backingStore; + unsigned long long capacity; + bool encrypted; +} virStorageFileMetadata; + +int virStorageFileGetMetadata(virConnectPtr conn, + const char *path, + virStorageFileMetadata *meta); +int virStorageFileGetMetadataFromFD(virConnectPtr conn, + const char *path, + int fd, + virStorageFileMetadata *meta); + +#endif /* __VIR_STORAGE_FILE_H__ */ diff --git a/src/util.h b/src/util.h index f9715ab..75afecc 100644 --- a/src/util.h +++ b/src/util.h @@ -26,6 +26,7 @@ #define __VIR_UTIL_H__ #include "verify.h" +#include "internal.h" #include #include diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c index 7270710..783a216 100644 --- a/src/vbox/vbox_tmpl.c +++ b/src/vbox/vbox_tmpl.c @@ -45,6 +45,7 @@ #include "virterror_internal.h" #include "domain_event.h" #include "storage_conf.h" +#include "storage_file.h" #include "uuid.h" #include "event.h" #include "memory.h" @@ -5980,14 +5981,14 @@ static virStorageVolPtr vboxStorageVolCreateXML(virStoragePoolPtr pool, /* TODO: for now only the vmdk, vpc and vdi type harddisk * variants can be created, also since there is no vdi - * type in enum virStorageVolFormatFileSystem {} the default + * type in enum virStorageFileFormat {} the default * will be to create vdi if nothing is specified in * def->target.format */ - if (def->target.format == VIR_STORAGE_VOL_FILE_VMDK) { + if (def->target.format == VIR_STORAGE_FILE_VMDK) { data->pFuncs->pfnUtf8ToUtf16("VMDK", &hddFormatUtf16); - } else if (def->target.format == VIR_STORAGE_VOL_FILE_VPC) { + } else if (def->target.format == VIR_STORAGE_FILE_VPC) { data->pFuncs->pfnUtf8ToUtf16("VHD", &hddFormatUtf16); } else { data->pFuncs->pfnUtf8ToUtf16("VDI", &hddFormatUtf16); @@ -6302,13 +6303,13 @@ static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags A DEBUG("Storage Volume Format: %s", hddFormatUtf8); if (STRCASEEQ("vmdk", hddFormatUtf8)) - def.target.format = VIR_STORAGE_VOL_FILE_VMDK; + def.target.format = VIR_STORAGE_FILE_VMDK; else if (STRCASEEQ("vhd", hddFormatUtf8)) - def.target.format = VIR_STORAGE_VOL_FILE_VPC; + def.target.format = VIR_STORAGE_FILE_VPC; else - def.target.format = VIR_STORAGE_VOL_FILE_RAW; + def.target.format = VIR_STORAGE_FILE_RAW; - /* TODO: need to add vdi to enum virStorageVolFormatFileSystem {} + /* TODO: need to add vdi to enum virStorageFileFormat {} * and then add it here */ -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.185 retrieving revision 1.186 diff -u -p -r1.185 -r1.186 --- libvirt.spec 1 Oct 2009 08:35:19 -0000 1.185 +++ libvirt.spec 1 Oct 2009 15:17:31 -0000 1.186 @@ -172,6 +172,9 @@ Patch05: libvirt-fix-usb-device-passthro # Disable sound backend (#524499, #508317) Patch06: libvirt-disable-audio-backend.patch +# Re-label qcow2 backing files (#497131) +Patch07: libvirt-svirt-relabel-qcow2-backing-files.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -390,6 +393,7 @@ of recent versions of Linux (and other O %patch04 -p1 %patch05 -p1 %patch06 -p1 +%patch07 -p1 %build %if ! %{with_xen} @@ -782,6 +786,7 @@ fi %changelog * Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 - Disable sound backend, even when selinux is disabled (#524499) +- Re-label qcow2 backing files (#497131) * Wed Sep 30 2009 Mark McLoughlin - 0.7.1-7 - Fix USB device passthrough (#522683) From markmc at fedoraproject.org Thu Oct 1 15:17:32 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 1 Oct 2009 15:17:32 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-svirt-relabel-qcow2-backing-files.patch, NONE, 1.1 libvirt.spec, 1.185, 1.186 Message-ID: <20091001151732.DE04311C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27995 Modified Files: libvirt.spec Added Files: libvirt-svirt-relabel-qcow2-backing-files.patch Log Message: - Re-label qcow2 backing files (#497131) libvirt-svirt-relabel-qcow2-backing-files.patch: Makefile.am | 1 libvirt_private.syms | 7 security_selinux.c | 28 +++ storage_backend.c | 17 +- storage_backend_fs.c | 418 +++++--------------------------------------------- storage_conf.c | 25 +-- storage_conf.h | 17 -- storage_file.c | 424 +++++++++++++++++++++++++++++++++++++++++++++++++++ storage_file.h | 62 +++++++ util.h | 1 vbox/vbox_tmpl.c | 16 - 11 files changed, 591 insertions(+), 425 deletions(-) --- NEW FILE libvirt-svirt-relabel-qcow2-backing-files.patch --- >From 5bb2da190bc6d5a36952315dd48a00709f88c3c2 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 25 Sep 2009 14:20:13 +0100 Subject: [PATCH] Re-label image file backing stores Use virStorageFileGetMetadata() to find any backing stores for images and re-label them Without this, qemu cannot access qcow2 backing files, see: https://bugzilla.redhat.com/497131 * src/security/security_selinux.c: re-label backing store files in SELinuxSetSecurityImageLabel() (cherry picked from commit fe627697a3830cd2db0efcc201d8caa9e171263d) Includes the following commits: util.h needs libvirt.h for virConnectPtr Seems standard to include internal.h in order to pull in libvirt.h * src/util/util.h: include internal.h (cherry picked from commit 25e2857c219e7fb91412746f7919931552c4e07a) Move file format enum to libvirt_util Rename virStorageVolFormatFileSystem to virStorageFileFormat and move to src/util/storage_file.[ch] * src/Makefile.am: add src/util/storage_file.[ch] * src/conf/storage_conf.[ch]: move enum from here ... * src/util/storage_file.[ch]: .. to here * src/libvirt_private.syms: update To/FromString exports * src/storage/storage_backend.c, src/storage/storage_backend_fs.c, src/vbox/vbox_tmpl.c: update for above changes (cherry picked from commit 00fd3ff49bb1e4578756a32a812fdbf5ee335d8c) Split virStorageGetMetadataFromFD() from virStorageBackendProbeTarget() Prepare the code probing a file's format and associated metadata for moving into libvirt_util. * src/storage/storage_backend_fs.c: re-factor the format and metadata probing code in preparation for moving it (cherry picked from commit f5fc670638d94776a4eba55f5affa69f69ba1ae2) Introduce virStorageFileMetadata structure Introduce a metadata structure and make virStorageGetMetadataFromFD() fill it in. * src/util/storage_file.h: add virStorageFileMetadata * src/backend/storage_backend_fs.c: virStorageGetMetadataFromFD() now fills in the virStorageFileMetadata structure (cherry picked from commit 5fede0a90be565e1c44b7c8236cb8910fd06b52f) Move virStorageGetMetadataFromFD() to libvirt_util Finally, we get to the point of all this. Move virStorageGetMetadataFromFD() to virStorageFileGetMetadataFromFD() and move to src/util/storage_file.[ch] There's no functional changes in this patch, just code movement * src/storage/storage_backend_fs.c: move code from here ... * src/util/storage_file.[ch]: ... to here * src/libvirt_private.syms: export virStorageFileGetMetadataFromFD() (cherry picked from commit a010fb58d6bce026852d611e32302da7687639e5) Add virStorageFileGetMetadata() helper * src/util/storage_file.c: add virStorageFileGetMetadata() so that the caller does not need to open the file (cherry picked from commit 295fd6e8330c7416e2d97634364f2890133c28fa) Fedora-patch: libvirt-svirt-relabel-qcow2-backing-files.patch --- src/Makefile.am | 1 + src/libvirt_private.syms | 7 +- src/security_selinux.c | 28 +++ src/storage_backend.c | 17 +- src/storage_backend_fs.c | 418 +++++---------------------------------------- src/storage_conf.c | 25 +-- src/storage_conf.h | 17 -- src/storage_file.c | 424 ++++++++++++++++++++++++++++++++++++++++++++++ src/storage_file.h | 62 +++++++ src/util.h | 1 + src/vbox/vbox_tmpl.c | 15 +- 11 files changed, 591 insertions(+), 424 deletions(-) create mode 100644 src/storage_file.c create mode 100644 src/storage_file.h diff --git a/src/Makefile.am b/src/Makefile.am index 463252e..3d279f2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -54,6 +54,7 @@ UTIL_SOURCES = \ hostusb.c hostusb.h \ qparams.c qparams.h \ storage_encryption_conf.h storage_encryption_conf.c \ + storage_file.c storage_file.h \ threads.c threads.h \ threads-pthread.h \ threads-win32.h \ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 867678f..500c209 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -359,8 +359,6 @@ virStorageVolDefParseNode; virStoragePoolFormatDiskTypeToString; virStoragePoolFormatFileSystemTypeToString; virStoragePoolFormatFileSystemNetTypeToString; -virStorageVolFormatFileSystemTypeToString; -virStorageVolFormatFileSystemTypeFromString; virStoragePoolTypeFromString; virStoragePartedFsTypeTypeToString; virStoragePoolObjLock; @@ -373,6 +371,11 @@ virStorageEncryptionParseNode; virStorageEncryptionFormat; virStorageGenerateQcowPassphrase; +# storage_file.h +virStorageFileFormatTypeToString; +virStorageFileFormatTypeFromString; +virStorageFileGetMetadata; +virStorageFileGetMetadataFromFD; # threads.h virMutexInit; diff --git a/src/security_selinux.c b/src/security_selinux.c index b4dc153..600fc75 100644 --- a/src/security_selinux.c +++ b/src/security_selinux.c @@ -27,6 +27,7 @@ #include "logging.h" #include "pci.h" #include "hostusb.h" +#include "storage_file.h" #define VIR_FROM_THIS VIR_FROM_SECURITY @@ -403,10 +404,37 @@ SELinuxSetSecurityImageLabel(virConnectPtr conn, { const virSecurityLabelDefPtr secdef = &vm->def->seclabel; + const char *path; if (!disk->src) return 0; + path = disk->src; + do { + virStorageFileMetadata meta; + int ret; + + memset(&meta, 0, sizeof(meta)); + + ret = virStorageFileGetMetadata(conn, path, &meta); + + if (path != disk->src) + VIR_FREE(path); + path = NULL; + + if (ret < 0) + return -1; + + if (meta.backingStore != NULL && + SELinuxSetFilecon(conn, meta.backingStore, + default_content_context) < 0) { + VIR_FREE(meta.backingStore); + return -1; + } + + path = meta.backingStore; + } while (path != NULL); + if (disk->shared) { return SELinuxSetFilecon(conn, disk->src, default_image_context); } else if (disk->readonly) { diff --git a/src/storage_backend.c b/src/storage_backend.c index 800d4ea..1b65c5d 100644 --- a/src/storage_backend.c +++ b/src/storage_backend.c @@ -51,6 +51,7 @@ #include "internal.h" #include "secret_conf.h" #include "uuid.h" +#include "storage_file.h" #include "storage_backend.h" #include "logging.h" @@ -462,16 +463,16 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, char *create_tool; short use_kvmimg; - const char *type = virStorageVolFormatFileSystemTypeToString(vol->target.format); + const char *type = virStorageFileFormatTypeToString(vol->target.format); const char *backingType = vol->backingStore.path ? - virStorageVolFormatFileSystemTypeToString(vol->backingStore.format) : NULL; + virStorageFileFormatTypeToString(vol->backingStore.format) : NULL; const char *inputBackingPath = (inputvol ? inputvol->backingStore.path : NULL); const char *inputPath = inputvol ? inputvol->target.path : NULL; /* Treat input block devices as 'raw' format */ const char *inputType = inputPath ? - virStorageVolFormatFileSystemTypeToString(inputvol->type == VIR_STORAGE_VOL_BLOCK ? VIR_STORAGE_VOL_FILE_RAW : inputvol->target.format) : + virStorageFileFormatTypeToString(inputvol->type == VIR_STORAGE_VOL_BLOCK ? VIR_STORAGE_FILE_RAW : inputvol->target.format) : NULL; const char **imgargv; @@ -552,8 +553,8 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, if (vol->target.encryption != NULL) { virStorageEncryptionPtr enc; - if (vol->target.format != VIR_STORAGE_VOL_FILE_QCOW && - vol->target.format != VIR_STORAGE_VOL_FILE_QCOW2) { + if (vol->target.format != VIR_STORAGE_FILE_QCOW && + vol->target.format != VIR_STORAGE_FILE_QCOW2) { virStorageReportError(conn, VIR_ERR_NO_SUPPORT, _("qcow volume encryption unsupported with " "volume format %s"), type); @@ -644,7 +645,7 @@ virStorageBackendCreateQcowCreate(virConnectPtr conn, return -1; } - if (vol->target.format != VIR_STORAGE_VOL_FILE_QCOW2) { + if (vol->target.format != VIR_STORAGE_FILE_QCOW2) { virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, _("unsupported storage vol type %d"), vol->target.format); @@ -735,9 +736,9 @@ virStorageBackendGetBuildVolFromFunction(virConnectPtr conn, * tool for converting */ if ((vol->type == VIR_STORAGE_VOL_FILE && - vol->target.format != VIR_STORAGE_VOL_FILE_RAW) || + vol->target.format != VIR_STORAGE_FILE_RAW) || (inputvol->type == VIR_STORAGE_VOL_FILE && - inputvol->target.format != VIR_STORAGE_VOL_FILE_RAW)) { + inputvol->target.format != VIR_STORAGE_FILE_RAW)) { if ((tool_type = virStorageBackendFindFSImageTool(NULL)) < 0) { virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, diff --git a/src/storage_backend_fs.c b/src/storage_backend_fs.c index 01cb171..6816da8 100644 --- a/src/storage_backend_fs.c +++ b/src/storage_backend_fs.c @@ -41,259 +41,24 @@ #include "virterror_internal.h" #include "storage_backend_fs.h" #include "storage_conf.h" +#include "storage_file.h" #include "util.h" #include "memory.h" #include "xml.h" -enum lv_endian { - LV_LITTLE_ENDIAN = 1, /* 1234 */ - LV_BIG_ENDIAN /* 4321 */ -}; - -enum { - BACKING_STORE_OK, - BACKING_STORE_INVALID, - BACKING_STORE_ERROR, -}; - -static int cowGetBackingStore(virConnectPtr, char **, - const unsigned char *, size_t); -static int qcowXGetBackingStore(virConnectPtr, char **, - const unsigned char *, size_t); -static int vmdk4GetBackingStore(virConnectPtr, char **, - const unsigned char *, size_t); - -/* Either 'magic' or 'extension' *must* be provided */ -struct FileTypeInfo { - int type; /* One of the constants above */ - const char *magic; /* Optional string of file magic - * to check at head of file */ - const char *extension; /* Optional file extension to check */ - enum lv_endian endian; /* Endianness of file format */ - int versionOffset; /* Byte offset from start of file - * where we find version number, - * -1 to skip version test */ - int versionNumber; /* Version number to validate */ - int sizeOffset; /* Byte offset from start of file - * where we find capacity info, - * -1 to use st_size as capacity */ - int sizeBytes; /* Number of bytes for size field */ - int sizeMultiplier; /* A scaling factor if size is not in bytes */ - /* Store a COW base image path (possibly relative), - * or NULL if there is no COW base image, to RES; - * return BACKING_STORE_* */ - int qcowCryptOffset; /* Byte offset from start of file - * where to find encryption mode, - * -1 if encryption is not used */ - int (*getBackingStore)(virConnectPtr conn, char **res, - const unsigned char *buf, size_t buf_size); -}; -struct FileTypeInfo const fileTypeInfo[] = { - /* Bochs */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_BOCHS, "Bochs Virtual HD Image", NULL, - LV_LITTLE_ENDIAN, 64, 0x20000, - 32+16+16+4+4+4+4+4, 8, 1, -1, NULL },*/ - /* CLoop */ - /* XXX Untested - { VIR_STORAGE_VOL_CLOOP, "#!/bin/sh\n#V2.0 Format\nmodprobe cloop file=$0 && mount -r -t iso9660 /dev/cloop $1\n", NULL, - LV_LITTLE_ENDIAN, -1, 0, - -1, 0, 0, -1, NULL }, */ - /* Cow */ - { VIR_STORAGE_VOL_FILE_COW, "OOOM", NULL, - LV_BIG_ENDIAN, 4, 2, - 4+4+1024+4, 8, 1, -1, cowGetBackingStore }, - /* DMG */ - /* XXX QEMU says there's no magic for dmg, but we should check... */ - { VIR_STORAGE_VOL_FILE_DMG, NULL, ".dmg", - 0, -1, 0, - -1, 0, 0, -1, NULL }, - /* XXX there's probably some magic for iso we can validate too... */ - { VIR_STORAGE_VOL_FILE_ISO, NULL, ".iso", - 0, -1, 0, - -1, 0, 0, -1, NULL }, - /* Parallels */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_PARALLELS, "WithoutFreeSpace", NULL, - LV_LITTLE_ENDIAN, 16, 2, - 16+4+4+4+4, 4, 512, -1, NULL }, - */ - /* QCow */ - { VIR_STORAGE_VOL_FILE_QCOW, "QFI", NULL, - LV_BIG_ENDIAN, 4, 1, - 4+4+8+4+4, 8, 1, 4+4+8+4+4+8+1+1+2, qcowXGetBackingStore }, - /* QCow 2 */ - { VIR_STORAGE_VOL_FILE_QCOW2, "QFI", NULL, - LV_BIG_ENDIAN, 4, 2, - 4+4+8+4+4, 8, 1, 4+4+8+4+4+8, qcowXGetBackingStore }, - /* VMDK 3 */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_VMDK, "COWD", NULL, - LV_LITTLE_ENDIAN, 4, 1, - 4+4+4, 4, 512, -1, NULL }, - */ - /* VMDK 4 */ - { VIR_STORAGE_VOL_FILE_VMDK, "KDMV", NULL, - LV_LITTLE_ENDIAN, 4, 1, - 4+4+4, 8, 512, -1, vmdk4GetBackingStore }, - /* Connectix / VirtualPC */ - /* XXX Untested - { VIR_STORAGE_VOL_FILE_VPC, "conectix", NULL, - LV_BIG_ENDIAN, -1, 0, - -1, 0, 0, -1, NULL}, - */ -}; - #define VIR_FROM_THIS VIR_FROM_STORAGE static int -cowGetBackingStore(virConnectPtr conn, - char **res, - const unsigned char *buf, - size_t buf_size) -{ -#define COW_FILENAME_MAXLEN 1024 - *res = NULL; - if (buf_size < 4+4+ COW_FILENAME_MAXLEN) - return BACKING_STORE_INVALID; - if (buf[4+4] == '\0') /* cow_header_v2.backing_file[0] */ - return BACKING_STORE_OK; - - *res = strndup ((const char*)buf + 4+4, COW_FILENAME_MAXLEN); - if (*res == NULL) { - virReportOOMError(conn); - return BACKING_STORE_ERROR; - } - return BACKING_STORE_OK; -} - -static int -qcowXGetBackingStore(virConnectPtr conn, - char **res, - const unsigned char *buf, - size_t buf_size) -{ - unsigned long long offset; - unsigned long size; - - *res = NULL; - if (buf_size < 4+4+8+4) - return BACKING_STORE_INVALID; - offset = (((unsigned long long)buf[4+4] << 56) - | ((unsigned long long)buf[4+4+1] << 48) - | ((unsigned long long)buf[4+4+2] << 40) - | ((unsigned long long)buf[4+4+3] << 32) - | ((unsigned long long)buf[4+4+4] << 24) - | ((unsigned long long)buf[4+4+5] << 16) - | ((unsigned long long)buf[4+4+6] << 8) - | buf[4+4+7]); /* QCowHeader.backing_file_offset */ - if (offset > buf_size) - return BACKING_STORE_INVALID; - size = ((buf[4+4+8] << 24) - | (buf[4+4+8+1] << 16) - | (buf[4+4+8+2] << 8) - | buf[4+4+8+3]); /* QCowHeader.backing_file_size */ - if (size == 0) - return BACKING_STORE_OK; - if (offset + size > buf_size || offset + size < offset) - return BACKING_STORE_INVALID; - if (size + 1 == 0) - return BACKING_STORE_INVALID; - if (VIR_ALLOC_N(*res, size + 1) < 0) { - virReportOOMError(conn); - return BACKING_STORE_ERROR; - } - memcpy(*res, buf + offset, size); - (*res)[size] = '\0'; - return BACKING_STORE_OK; -} - - -static int -vmdk4GetBackingStore(virConnectPtr conn, - char **res, - const unsigned char *buf, - size_t buf_size) -{ - static const char prefix[] = "parentFileNameHint=\""; - - char desc[20*512 + 1], *start, *end; - size_t len; - - *res = NULL; - - if (buf_size <= 0x200) - return BACKING_STORE_INVALID; - len = buf_size - 0x200; - if (len > sizeof(desc) - 1) - len = sizeof(desc) - 1; - memcpy(desc, buf + 0x200, len); - desc[len] = '\0'; - start = strstr(desc, prefix); - if (start == NULL) - return BACKING_STORE_OK; - start += strlen(prefix); - end = strchr(start, '"'); - if (end == NULL) - return BACKING_STORE_INVALID; - if (end == start) - return BACKING_STORE_OK; - *end = '\0'; - *res = strdup(start); - if (*res == NULL) { - virReportOOMError(conn); - return BACKING_STORE_ERROR; - } - return BACKING_STORE_OK; -} - -/** - * Return an absolute path corresponding to PATH, which is absolute or relative - * to the directory containing BASE_FILE, or NULL on error - */ -static char *absolutePathFromBaseFile(const char *base_file, const char *path) +virStorageBackendProbeTarget(virConnectPtr conn, + virStorageVolTargetPtr target, + char **backingStore, + unsigned long long *allocation, + unsigned long long *capacity, + virStorageEncryptionPtr *encryption) { - size_t base_size, path_size; - char *res, *p; - - if (*path == '/') - return strdup(path); - - base_size = strlen(base_file) + 1; - path_size = strlen(path) + 1; - if (VIR_ALLOC_N(res, base_size - 1 + path_size) < 0) - return NULL; - memcpy(res, base_file, base_size); - p = strrchr(res, '/'); - if (p != NULL) - p++; - else - p = res; - memcpy(p, path, path_size); - if (VIR_REALLOC_N(res, (p + path_size) - res) < 0) { - /* Ignore failure */ - } - return res; -} - - - -/** - * Probe the header of a file to determine what type of disk image - * it is, and info about its capacity if available. - */ -static int virStorageBackendProbeTarget(virConnectPtr conn, - virStorageVolTargetPtr target, - char **backingStore, - unsigned long long *allocation, - unsigned long long *capacity, - virStorageEncryptionPtr *encryption) { - int fd; - unsigned char head[20*512]; /* vmdk4GetBackingStore needs this much. */ - int len, i, ret; + int fd, ret; + virStorageFileMetadata meta; - if (backingStore) - *backingStore = NULL; if (encryption) *encryption = NULL; @@ -311,148 +76,51 @@ static int virStorageBackendProbeTarget(virConnectPtr conn, return ret; /* Take care to propagate ret, it is not always -1 */ } - if ((len = read(fd, head, sizeof(head))) < 0) { - virReportSystemError(conn, errno, - _("cannot read header '%s'"), - target->path); + memset(&meta, 0, sizeof(meta)); + + if (virStorageFileGetMetadataFromFD(conn, target->path, fd, &meta) < 0) { close(fd); return -1; } close(fd); - /* First check file magic */ - for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { - int mlen; - bool encrypted_qcow = false; - - if (fileTypeInfo[i].magic == NULL) - continue; - - /* Validate magic data */ - mlen = strlen(fileTypeInfo[i].magic); - if (mlen > len) - continue; - if (memcmp(head, fileTypeInfo[i].magic, mlen) != 0) - continue; - - /* Validate version number info */ - if (fileTypeInfo[i].versionNumber != -1) { - int version; - - if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { - version = (head[fileTypeInfo[i].versionOffset+3] << 24) | - (head[fileTypeInfo[i].versionOffset+2] << 16) | - (head[fileTypeInfo[i].versionOffset+1] << 8) | - head[fileTypeInfo[i].versionOffset]; - } else { - version = (head[fileTypeInfo[i].versionOffset] << 24) | - (head[fileTypeInfo[i].versionOffset+1] << 16) | - (head[fileTypeInfo[i].versionOffset+2] << 8) | - head[fileTypeInfo[i].versionOffset+3]; - } - if (version != fileTypeInfo[i].versionNumber) - continue; - } - - /* Optionally extract capacity from file */ - if (fileTypeInfo[i].sizeOffset != -1 && capacity) { - if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { - *capacity = - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7] << 56) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 48) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 40) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 32) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 24) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 16) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 8) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset]); - } else { - *capacity = - ((unsigned long long)head[fileTypeInfo[i].sizeOffset] << 56) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 48) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 40) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 32) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 24) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 16) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 8) | - ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7]); - } - /* Avoid unlikely, but theoretically possible overflow */ - if (*capacity > (ULLONG_MAX / fileTypeInfo[i].sizeMultiplier)) - continue; - *capacity *= fileTypeInfo[i].sizeMultiplier; - } - - if (fileTypeInfo[i].qcowCryptOffset != -1) { - int crypt_format; + target->format = meta.format; - crypt_format = (head[fileTypeInfo[i].qcowCryptOffset] << 24) | - (head[fileTypeInfo[i].qcowCryptOffset+1] << 16) | - (head[fileTypeInfo[i].qcowCryptOffset+2] << 8) | - head[fileTypeInfo[i].qcowCryptOffset+3]; - encrypted_qcow = crypt_format != 0; - } - - /* Validation passed, we know the file format now */ - target->format = fileTypeInfo[i].type; - if (fileTypeInfo[i].getBackingStore != NULL && backingStore) { - char *base; + if (backingStore) { + *backingStore = meta.backingStore; + meta.backingStore = NULL; + } - switch (fileTypeInfo[i].getBackingStore(conn, &base, head, len)) { - case BACKING_STORE_OK: - break; + VIR_FREE(meta.backingStore); - case BACKING_STORE_INVALID: - continue; + if (capacity && meta.capacity) + *capacity = meta.capacity; - case BACKING_STORE_ERROR: - return -1; - } - if (base != NULL) { - *backingStore - = absolutePathFromBaseFile(target->path, base); - VIR_FREE(base); - if (*backingStore == NULL) { - virReportOOMError(conn); - return -1; - } - } + if (encryption != NULL && meta.encrypted) { + if (VIR_ALLOC(*encryption) < 0) { + virReportOOMError(conn); + if (backingStore) + VIR_FREE(*backingStore); + return -1; } - if (encryption != NULL && encrypted_qcow) { - virStorageEncryptionPtr enc; - if (VIR_ALLOC(enc) < 0) { - virReportOOMError(conn); - if (backingStore) - VIR_FREE(*backingStore); - return -1; - } - enc->format = VIR_STORAGE_ENCRYPTION_FORMAT_QCOW; - *encryption = enc; - /* XXX ideally we'd fill in secret UUID here - * but we cannot guarentee 'conn' is non-NULL - * at this point in time :-( So we only fill - * in secrets when someone first queries a vol - */ + switch (target->format) { + case VIR_STORAGE_FILE_QCOW: + case VIR_STORAGE_FILE_QCOW2: + (*encryption)->format = VIR_STORAGE_ENCRYPTION_FORMAT_QCOW; + break; + default: + break; } - return 0; - } - - /* No magic, so check file extension */ - for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { - if (fileTypeInfo[i].extension == NULL) - continue; - - if (!virFileHasSuffix(target->path, fileTypeInfo[i].extension)) - continue; - target->format = fileTypeInfo[i].type; - return 0; + /* XXX ideally we'd fill in secret UUID here + * but we cannot guarentee 'conn' is non-NULL + * at this point in time :-( So we only fill + * in secrets when someone first queries a vol + */ } - /* All fails, so call it a raw file */ - target->format = VIR_STORAGE_VOL_FILE_RAW; return 0; } @@ -891,7 +559,7 @@ virStorageBackendFileSystemRefresh(virConnectPtr conn, goto no_memory; vol->type = VIR_STORAGE_VOL_FILE; - vol->target.format = VIR_STORAGE_VOL_FILE_RAW; /* Real value is filled in during probe */ + vol->target.format = VIR_STORAGE_FILE_RAW; /* Real value is filled in during probe */ if (virAsprintf(&vol->target.path, "%s/%s", pool->def->target.path, vol->name) == -1) @@ -918,7 +586,7 @@ virStorageBackendFileSystemRefresh(virConnectPtr conn, } if (backingStore != NULL) { - if (vol->target.format == VIR_STORAGE_VOL_FILE_QCOW2 && + if (vol->target.format == VIR_STORAGE_FILE_QCOW2 && STRPREFIX("fmt:", backingStore)) { char *fmtstr = backingStore + 4; char *path = strchr(fmtstr, ':'); @@ -927,7 +595,7 @@ virStorageBackendFileSystemRefresh(virConnectPtr conn, } else { *path = '\0'; if ((vol->backingStore.format = - virStorageVolFormatFileSystemTypeFromString(fmtstr)) < 0) { + virStorageFileFormatTypeFromString(fmtstr)) < 0) { VIR_FREE(backingStore); } else { memmove(backingStore, path, strlen(path) + 1); @@ -1121,9 +789,9 @@ _virStorageBackendFileSystemVolBuild(virConnectPtr conn, inputvol); if (!create_func) return -1; - } else if (vol->target.format == VIR_STORAGE_VOL_FILE_RAW) { + } else if (vol->target.format == VIR_STORAGE_FILE_RAW) { create_func = virStorageBackendCreateRaw; - } else if (vol->target.format == VIR_STORAGE_VOL_FILE_DIR) { + } else if (vol->target.format == VIR_STORAGE_FILE_DIR) { create_func = createFileDir; } else if ((tool_type = virStorageBackendFindFSImageTool(NULL)) != -1) { create_func = virStorageBackendFSImageToolTypeToFunc(conn, tool_type); diff --git a/src/storage_conf.c b/src/storage_conf.c index cb063cc..788de15 100644 --- a/src/storage_conf.c +++ b/src/storage_conf.c @@ -36,6 +36,7 @@ #include "virterror_internal.h" #include "datatypes.h" #include "storage_conf.h" +#include "storage_file.h" #include "xml.h" #include "uuid.h" @@ -82,12 +83,6 @@ VIR_ENUM_IMPL(virStorageVolFormatDisk, "linux-lvm", "linux-raid", "extended") -VIR_ENUM_IMPL(virStorageVolFormatFileSystem, - VIR_STORAGE_VOL_FILE_LAST, - "raw", "dir", "bochs", - "cloop", "cow", "dmg", "iso", - "qcow", "qcow2", "vmdk", "vpc") - VIR_ENUM_IMPL(virStoragePartedFsType, VIR_STORAGE_PARTED_FS_TYPE_LAST, "ext2", "ext2", "fat16", @@ -150,9 +145,9 @@ static virStoragePoolTypeInfo poolTypeInfo[] = { }, { .poolType = VIR_STORAGE_POOL_DIR, .volOptions = { - .defaultFormat = VIR_STORAGE_VOL_FILE_RAW, - .formatFromString = virStorageVolFormatFileSystemTypeFromString, - .formatToString = virStorageVolFormatFileSystemTypeToString, + .defaultFormat = VIR_STORAGE_FILE_RAW, + .formatFromString = virStorageFileFormatTypeFromString, + .formatToString = virStorageFileFormatTypeToString, }, }, { .poolType = VIR_STORAGE_POOL_FS, @@ -162,9 +157,9 @@ static virStoragePoolTypeInfo poolTypeInfo[] = { .formatToString = virStoragePoolFormatFileSystemTypeToString, }, .volOptions = { - .defaultFormat = VIR_STORAGE_VOL_FILE_RAW, - .formatFromString = virStorageVolFormatFileSystemTypeFromString, - .formatToString = virStorageVolFormatFileSystemTypeToString, + .defaultFormat = VIR_STORAGE_FILE_RAW, + .formatFromString = virStorageFileFormatTypeFromString, + .formatToString = virStorageFileFormatTypeToString, }, }, { .poolType = VIR_STORAGE_POOL_NETFS, @@ -176,9 +171,9 @@ static virStoragePoolTypeInfo poolTypeInfo[] = { .formatToString = virStoragePoolFormatFileSystemNetTypeToString, }, .volOptions = { - .defaultFormat = VIR_STORAGE_VOL_FILE_RAW, - .formatFromString = virStorageVolFormatFileSystemTypeFromString, - .formatToString = virStorageVolFormatFileSystemTypeToString, + .defaultFormat = VIR_STORAGE_FILE_RAW, + .formatFromString = virStorageFileFormatTypeFromString, + .formatToString = virStorageFileFormatTypeToString, }, }, { .poolType = VIR_STORAGE_POOL_ISCSI, diff --git a/src/storage_conf.h b/src/storage_conf.h index 421d305..9fedb12 100644 --- a/src/storage_conf.h +++ b/src/storage_conf.h @@ -429,23 +429,6 @@ enum virStoragePoolFormatLogical { }; VIR_ENUM_DECL(virStoragePoolFormatLogical) - -enum virStorageVolFormatFileSystem { - VIR_STORAGE_VOL_FILE_RAW = 0, - VIR_STORAGE_VOL_FILE_DIR, - VIR_STORAGE_VOL_FILE_BOCHS, - VIR_STORAGE_VOL_FILE_CLOOP, - VIR_STORAGE_VOL_FILE_COW, - VIR_STORAGE_VOL_FILE_DMG, - VIR_STORAGE_VOL_FILE_ISO, - VIR_STORAGE_VOL_FILE_QCOW, - VIR_STORAGE_VOL_FILE_QCOW2, - VIR_STORAGE_VOL_FILE_VMDK, - VIR_STORAGE_VOL_FILE_VPC, - VIR_STORAGE_VOL_FILE_LAST, -}; -VIR_ENUM_DECL(virStorageVolFormatFileSystem) - /* * XXX these are basically partition types. * diff --git a/src/storage_file.c b/src/storage_file.c new file mode 100644 index 0000000..44057d2 --- /dev/null +++ b/src/storage_file.c @@ -0,0 +1,424 @@ +/* + * storage_file.c: file utility functions for FS storage backend + * + * Copyright (C) 2007-2009 Red Hat, Inc. + * Copyright (C) 2007-2008 Daniel P. Berrange + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange + */ + +#include +#include "storage_file.h" + +#include +#include +#include "memory.h" +#include "virterror_internal.h" + +#define VIR_FROM_THIS VIR_FROM_STORAGE + +VIR_ENUM_IMPL(virStorageFileFormat, + VIR_STORAGE_FILE_LAST, + "raw", "dir", "bochs", + "cloop", "cow", "dmg", "iso", + "qcow", "qcow2", "vmdk", "vpc") + +enum lv_endian { + LV_LITTLE_ENDIAN = 1, /* 1234 */ + LV_BIG_ENDIAN /* 4321 */ +}; + +enum { + BACKING_STORE_OK, + BACKING_STORE_INVALID, + BACKING_STORE_ERROR, +}; + +/* Either 'magic' or 'extension' *must* be provided */ +struct FileTypeInfo { + int type; /* One of the constants above */ + const char *magic; /* Optional string of file magic + * to check at head of file */ + const char *extension; /* Optional file extension to check */ + enum lv_endian endian; /* Endianness of file format */ + int versionOffset; /* Byte offset from start of file + * where we find version number, + * -1 to skip version test */ + int versionNumber; /* Version number to validate */ + int sizeOffset; /* Byte offset from start of file + * where we find capacity info, + * -1 to use st_size as capacity */ + int sizeBytes; /* Number of bytes for size field */ + int sizeMultiplier; /* A scaling factor if size is not in bytes */ + /* Store a COW base image path (possibly relative), + * or NULL if there is no COW base image, to RES; + * return BACKING_STORE_* */ + int qcowCryptOffset; /* Byte offset from start of file + * where to find encryption mode, + * -1 if encryption is not used */ + int (*getBackingStore)(virConnectPtr conn, char **res, + const unsigned char *buf, size_t buf_size); +}; + +static int cowGetBackingStore(virConnectPtr, char **, + const unsigned char *, size_t); +static int qcowXGetBackingStore(virConnectPtr, char **, + const unsigned char *, size_t); +static int vmdk4GetBackingStore(virConnectPtr, char **, + const unsigned char *, size_t); + + +static struct FileTypeInfo const fileTypeInfo[] = { + /* Bochs */ + /* XXX Untested + { VIR_STORAGE_FILE_BOCHS, "Bochs Virtual HD Image", NULL, + LV_LITTLE_ENDIAN, 64, 0x20000, + 32+16+16+4+4+4+4+4, 8, 1, -1, NULL },*/ + /* CLoop */ + /* XXX Untested + { VIR_STORAGE_VOL_CLOOP, "#!/bin/sh\n#V2.0 Format\nmodprobe cloop file=$0 && mount -r -t iso9660 /dev/cloop $1\n", NULL, + LV_LITTLE_ENDIAN, -1, 0, + -1, 0, 0, -1, NULL }, */ + /* Cow */ + { VIR_STORAGE_FILE_COW, "OOOM", NULL, + LV_BIG_ENDIAN, 4, 2, + 4+4+1024+4, 8, 1, -1, cowGetBackingStore }, + /* DMG */ + /* XXX QEMU says there's no magic for dmg, but we should check... */ + { VIR_STORAGE_FILE_DMG, NULL, ".dmg", + 0, -1, 0, + -1, 0, 0, -1, NULL }, + /* XXX there's probably some magic for iso we can validate too... */ + { VIR_STORAGE_FILE_ISO, NULL, ".iso", + 0, -1, 0, + -1, 0, 0, -1, NULL }, + /* Parallels */ + /* XXX Untested + { VIR_STORAGE_FILE_PARALLELS, "WithoutFreeSpace", NULL, + LV_LITTLE_ENDIAN, 16, 2, + 16+4+4+4+4, 4, 512, -1, NULL }, + */ + /* QCow */ + { VIR_STORAGE_FILE_QCOW, "QFI", NULL, + LV_BIG_ENDIAN, 4, 1, + 4+4+8+4+4, 8, 1, 4+4+8+4+4+8+1+1+2, qcowXGetBackingStore }, + /* QCow 2 */ + { VIR_STORAGE_FILE_QCOW2, "QFI", NULL, + LV_BIG_ENDIAN, 4, 2, + 4+4+8+4+4, 8, 1, 4+4+8+4+4+8, qcowXGetBackingStore }, + /* VMDK 3 */ + /* XXX Untested + { VIR_STORAGE_FILE_VMDK, "COWD", NULL, + LV_LITTLE_ENDIAN, 4, 1, + 4+4+4, 4, 512, -1, NULL }, + */ + /* VMDK 4 */ + { VIR_STORAGE_FILE_VMDK, "KDMV", NULL, + LV_LITTLE_ENDIAN, 4, 1, + 4+4+4, 8, 512, -1, vmdk4GetBackingStore }, + /* Connectix / VirtualPC */ + /* XXX Untested + { VIR_STORAGE_FILE_VPC, "conectix", NULL, + LV_BIG_ENDIAN, -1, 0, + -1, 0, 0, -1, NULL}, + */ +}; + +static int +cowGetBackingStore(virConnectPtr conn, + char **res, + const unsigned char *buf, + size_t buf_size) +{ +#define COW_FILENAME_MAXLEN 1024 + *res = NULL; + if (buf_size < 4+4+ COW_FILENAME_MAXLEN) + return BACKING_STORE_INVALID; + if (buf[4+4] == '\0') /* cow_header_v2.backing_file[0] */ + return BACKING_STORE_OK; + + *res = strndup ((const char*)buf + 4+4, COW_FILENAME_MAXLEN); + if (*res == NULL) { + virReportOOMError(conn); + return BACKING_STORE_ERROR; + } + return BACKING_STORE_OK; +} + +static int +qcowXGetBackingStore(virConnectPtr conn, + char **res, + const unsigned char *buf, + size_t buf_size) +{ + unsigned long long offset; + unsigned long size; + + *res = NULL; + if (buf_size < 4+4+8+4) + return BACKING_STORE_INVALID; + offset = (((unsigned long long)buf[4+4] << 56) + | ((unsigned long long)buf[4+4+1] << 48) + | ((unsigned long long)buf[4+4+2] << 40) + | ((unsigned long long)buf[4+4+3] << 32) + | ((unsigned long long)buf[4+4+4] << 24) + | ((unsigned long long)buf[4+4+5] << 16) + | ((unsigned long long)buf[4+4+6] << 8) + | buf[4+4+7]); /* QCowHeader.backing_file_offset */ + if (offset > buf_size) + return BACKING_STORE_INVALID; + size = ((buf[4+4+8] << 24) + | (buf[4+4+8+1] << 16) + | (buf[4+4+8+2] << 8) + | buf[4+4+8+3]); /* QCowHeader.backing_file_size */ + if (size == 0) + return BACKING_STORE_OK; + if (offset + size > buf_size || offset + size < offset) + return BACKING_STORE_INVALID; + if (size + 1 == 0) + return BACKING_STORE_INVALID; + if (VIR_ALLOC_N(*res, size + 1) < 0) { + virReportOOMError(conn); + return BACKING_STORE_ERROR; + } + memcpy(*res, buf + offset, size); + (*res)[size] = '\0'; + return BACKING_STORE_OK; +} + + +static int +vmdk4GetBackingStore(virConnectPtr conn, + char **res, + const unsigned char *buf, + size_t buf_size) +{ + static const char prefix[] = "parentFileNameHint=\""; + + char desc[20*512 + 1], *start, *end; + size_t len; + + *res = NULL; + + if (buf_size <= 0x200) + return BACKING_STORE_INVALID; + len = buf_size - 0x200; + if (len > sizeof(desc) - 1) + len = sizeof(desc) - 1; + memcpy(desc, buf + 0x200, len); + desc[len] = '\0'; + start = strstr(desc, prefix); + if (start == NULL) + return BACKING_STORE_OK; + start += strlen(prefix); + end = strchr(start, '"'); + if (end == NULL) + return BACKING_STORE_INVALID; + if (end == start) + return BACKING_STORE_OK; + *end = '\0'; + *res = strdup(start); + if (*res == NULL) { + virReportOOMError(conn); + return BACKING_STORE_ERROR; + } + return BACKING_STORE_OK; +} + +/** + * Return an absolute path corresponding to PATH, which is absolute or relative + * to the directory containing BASE_FILE, or NULL on error + */ +static char * +absolutePathFromBaseFile(const char *base_file, const char *path) +{ + size_t base_size, path_size; + char *res, *p; + + if (*path == '/') + return strdup(path); + + base_size = strlen(base_file) + 1; + path_size = strlen(path) + 1; + if (VIR_ALLOC_N(res, base_size - 1 + path_size) < 0) + return NULL; + memcpy(res, base_file, base_size); + p = strrchr(res, '/'); + if (p != NULL) + p++; + else + p = res; + memcpy(p, path, path_size); + if (VIR_REALLOC_N(res, (p + path_size) - res) < 0) { + /* Ignore failure */ + } + return res; +} + +/** + * Probe the header of a file to determine what type of disk image + * it is, and info about its capacity if available. + */ +int +virStorageFileGetMetadataFromFD(virConnectPtr conn, + const char *path, + int fd, + virStorageFileMetadata *meta) +{ + unsigned char head[20*512]; /* vmdk4GetBackingStore needs this much. */ + int len, i; + + /* If all else fails, call it a raw file */ + meta->format = VIR_STORAGE_FILE_RAW; + + if ((len = read(fd, head, sizeof(head))) < 0) { + virReportSystemError(conn, errno, _("cannot read header '%s'"), path); + return -1; + } + + /* First check file magic */ + for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { + int mlen; + + if (fileTypeInfo[i].magic == NULL) + continue; + + /* Validate magic data */ + mlen = strlen(fileTypeInfo[i].magic); + if (mlen > len) + continue; + if (memcmp(head, fileTypeInfo[i].magic, mlen) != 0) + continue; + + /* Validate version number info */ + if (fileTypeInfo[i].versionNumber != -1) { + int version; + + if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { + version = (head[fileTypeInfo[i].versionOffset+3] << 24) | + (head[fileTypeInfo[i].versionOffset+2] << 16) | + (head[fileTypeInfo[i].versionOffset+1] << 8) | + head[fileTypeInfo[i].versionOffset]; + } else { + version = (head[fileTypeInfo[i].versionOffset] << 24) | + (head[fileTypeInfo[i].versionOffset+1] << 16) | + (head[fileTypeInfo[i].versionOffset+2] << 8) | + head[fileTypeInfo[i].versionOffset+3]; + } + if (version != fileTypeInfo[i].versionNumber) + continue; + } + + /* Optionally extract capacity from file */ + if (fileTypeInfo[i].sizeOffset != -1) { + if (fileTypeInfo[i].endian == LV_LITTLE_ENDIAN) { + meta->capacity = + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7] << 56) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 48) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 40) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 32) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 24) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 16) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 8) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset]); + } else { + meta->capacity = + ((unsigned long long)head[fileTypeInfo[i].sizeOffset] << 56) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+1] << 48) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+2] << 40) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+3] << 32) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+4] << 24) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+5] << 16) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+6] << 8) | + ((unsigned long long)head[fileTypeInfo[i].sizeOffset+7]); + } + /* Avoid unlikely, but theoretically possible overflow */ + if (meta->capacity > (ULLONG_MAX / fileTypeInfo[i].sizeMultiplier)) + continue; + meta->capacity *= fileTypeInfo[i].sizeMultiplier; + } + + if (fileTypeInfo[i].qcowCryptOffset != -1) { + int crypt_format; + + crypt_format = (head[fileTypeInfo[i].qcowCryptOffset] << 24) | + (head[fileTypeInfo[i].qcowCryptOffset+1] << 16) | + (head[fileTypeInfo[i].qcowCryptOffset+2] << 8) | + head[fileTypeInfo[i].qcowCryptOffset+3]; + meta->encrypted = crypt_format != 0; + } + + /* Validation passed, we know the file format now */ + meta->format = fileTypeInfo[i].type; + if (fileTypeInfo[i].getBackingStore != NULL) { + char *base; + + switch (fileTypeInfo[i].getBackingStore(conn, &base, head, len)) { + case BACKING_STORE_OK: + break; + + case BACKING_STORE_INVALID: + continue; + + case BACKING_STORE_ERROR: + return -1; + } + if (base != NULL) { + meta->backingStore = absolutePathFromBaseFile(path, base); + VIR_FREE(base); + if (meta->backingStore == NULL) { + virReportOOMError(conn); + return -1; + } + } + } + return 0; + } + + /* No magic, so check file extension */ + for (i = 0 ; i < ARRAY_CARDINALITY(fileTypeInfo) ; i++) { + if (fileTypeInfo[i].extension == NULL) + continue; + + if (!virFileHasSuffix(path, fileTypeInfo[i].extension)) + continue; + + meta->format = fileTypeInfo[i].type; + return 0; + } + + return 0; +} + +int +virStorageFileGetMetadata(virConnectPtr conn, + const char *path, + virStorageFileMetadata *meta) +{ + int fd, ret; + + if ((fd = open(path, O_RDONLY)) < 0) { + virReportSystemError(conn, errno, _("cannot open file '%s'"), path); + return -1; + } + + ret = virStorageFileGetMetadataFromFD(conn, path, fd, meta); + + close(fd); + + return ret; +} diff --git a/src/storage_file.h b/src/storage_file.h new file mode 100644 index 0000000..b0abcaf --- /dev/null +++ b/src/storage_file.h @@ -0,0 +1,62 @@ +/* + * storage_file.c: file utility functions for FS storage backend + * + * Copyright (C) 2007-2009 Red Hat, Inc. + * Copyright (C) 2007-2008 Daniel P. Berrange + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange + */ + +#ifndef __VIR_STORAGE_FILE_H__ +#define __VIR_STORAGE_FILE_H__ + +#include "util.h" +#include + +enum virStorageFileFormat { + VIR_STORAGE_FILE_RAW = 0, + VIR_STORAGE_FILE_DIR, + VIR_STORAGE_FILE_BOCHS, + VIR_STORAGE_FILE_CLOOP, + VIR_STORAGE_FILE_COW, + VIR_STORAGE_FILE_DMG, + VIR_STORAGE_FILE_ISO, + VIR_STORAGE_FILE_QCOW, + VIR_STORAGE_FILE_QCOW2, + VIR_STORAGE_FILE_VMDK, + VIR_STORAGE_FILE_VPC, + VIR_STORAGE_FILE_LAST, +}; + +VIR_ENUM_DECL(virStorageFileFormat); + +typedef struct _virStorageFileMetadata { + int format; + char *backingStore; + unsigned long long capacity; + bool encrypted; +} virStorageFileMetadata; + +int virStorageFileGetMetadata(virConnectPtr conn, + const char *path, + virStorageFileMetadata *meta); +int virStorageFileGetMetadataFromFD(virConnectPtr conn, + const char *path, + int fd, + virStorageFileMetadata *meta); + +#endif /* __VIR_STORAGE_FILE_H__ */ diff --git a/src/util.h b/src/util.h index f9715ab..75afecc 100644 --- a/src/util.h +++ b/src/util.h @@ -26,6 +26,7 @@ #define __VIR_UTIL_H__ #include "verify.h" +#include "internal.h" #include #include diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c index 7270710..783a216 100644 --- a/src/vbox/vbox_tmpl.c +++ b/src/vbox/vbox_tmpl.c @@ -45,6 +45,7 @@ #include "virterror_internal.h" #include "domain_event.h" #include "storage_conf.h" +#include "storage_file.h" #include "uuid.h" #include "event.h" #include "memory.h" @@ -5980,14 +5981,14 @@ static virStorageVolPtr vboxStorageVolCreateXML(virStoragePoolPtr pool, /* TODO: for now only the vmdk, vpc and vdi type harddisk * variants can be created, also since there is no vdi - * type in enum virStorageVolFormatFileSystem {} the default + * type in enum virStorageFileFormat {} the default * will be to create vdi if nothing is specified in * def->target.format */ - if (def->target.format == VIR_STORAGE_VOL_FILE_VMDK) { + if (def->target.format == VIR_STORAGE_FILE_VMDK) { data->pFuncs->pfnUtf8ToUtf16("VMDK", &hddFormatUtf16); - } else if (def->target.format == VIR_STORAGE_VOL_FILE_VPC) { + } else if (def->target.format == VIR_STORAGE_FILE_VPC) { data->pFuncs->pfnUtf8ToUtf16("VHD", &hddFormatUtf16); } else { data->pFuncs->pfnUtf8ToUtf16("VDI", &hddFormatUtf16); @@ -6302,13 +6303,13 @@ static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags A DEBUG("Storage Volume Format: %s", hddFormatUtf8); if (STRCASEEQ("vmdk", hddFormatUtf8)) - def.target.format = VIR_STORAGE_VOL_FILE_VMDK; + def.target.format = VIR_STORAGE_FILE_VMDK; else if (STRCASEEQ("vhd", hddFormatUtf8)) - def.target.format = VIR_STORAGE_VOL_FILE_VPC; + def.target.format = VIR_STORAGE_FILE_VPC; else - def.target.format = VIR_STORAGE_VOL_FILE_RAW; + def.target.format = VIR_STORAGE_FILE_RAW; - /* TODO: need to add vdi to enum virStorageVolFormatFileSystem {} + /* TODO: need to add vdi to enum virStorageFileFormat {} * and then add it here */ -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.185 retrieving revision 1.186 diff -u -p -r1.185 -r1.186 --- libvirt.spec 1 Oct 2009 08:35:47 -0000 1.185 +++ libvirt.spec 1 Oct 2009 15:17:32 -0000 1.186 @@ -172,6 +172,9 @@ Patch05: libvirt-fix-usb-device-passthro # Disable sound backend (#524499, #508317) Patch06: libvirt-disable-audio-backend.patch +# Re-label qcow2 backing files (#497131) +Patch07: libvirt-svirt-relabel-qcow2-backing-files.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -390,6 +393,7 @@ of recent versions of Linux (and other O %patch04 -p1 %patch05 -p1 %patch06 -p1 +%patch07 -p1 %build %if ! %{with_xen} @@ -782,6 +786,7 @@ fi %changelog * Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 - Disable sound backend, even when selinux is disabled (#524499) +- Re-label qcow2 backing files (#497131) * Wed Sep 30 2009 Mark McLoughlin - 0.7.1-7 - Fix USB device passthrough (#522683) From jforbes at fedoraproject.org Thu Oct 1 21:29:40 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Thu, 1 Oct 2009 21:29:40 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu-improve-error-reporting-on-file-access.patch, NONE, 1.1 qemu.spec, 1.135, 1.136 Message-ID: <20091001212940.93B5E11C0261@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26302 Modified Files: qemu.spec Added Files: qemu-improve-error-reporting-on-file-access.patch Log Message: Improve error reporting on file access (#524695) qemu-improve-error-reporting-on-file-access.patch: hw/pc.c | 12 ++++++------ vl.c | 21 ++++++++++----------- 2 files changed, 16 insertions(+), 17 deletions(-) --- NEW FILE qemu-improve-error-reporting-on-file-access.patch --- >From a40f520f7b94d2a5de04c7ca3a7513a99c84e9ef Mon Sep 17 00:00:00 2001 From: Justin M. Forbes Date: Thu, 1 Oct 2009 16:13:56 -0500 Subject: [PATCH] Improve error reporting on file access By making the error reporting include strerror(errno), it gives the user a bit more indication as to why qemu failed. This is particularly important for people running qemu as a non root user. Signed-off-by: Justin M. Forbes --- hw/pc.c | 12 ++++++------ vl.c | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/hw/pc.c b/hw/pc.c index 3b226f4..7a184cd 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -841,8 +841,8 @@ static void load_linux(void *fw_cfg, if (!f || !(kernel_size = get_file_size(f)) || fread(header, 1, MIN(ARRAY_SIZE(header), kernel_size), f) != MIN(ARRAY_SIZE(header), kernel_size)) { - fprintf(stderr, "qemu: could not load kernel '%s'\n", - kernel_filename); + fprintf(stderr, "qemu: could not load kernel '%s': %s\n", + kernel_filename, strerror(errno)); exit(1); } @@ -947,8 +947,8 @@ static void load_linux(void *fw_cfg, fi = fopen(initrd_filename, "rb"); if (!fi) { - fprintf(stderr, "qemu: could not load initial ram disk '%s'\n", - initrd_filename); + fprintf(stderr, "qemu: could not load initial ram disk '%s': %s\n", + initrd_filename, strerror(errno)); exit(1); } @@ -956,8 +956,8 @@ static void load_linux(void *fw_cfg, initrd_addr = (initrd_max-initrd_size) & ~4095; if (!fread_targphys_ok(initrd_addr, initrd_size, fi)) { - fprintf(stderr, "qemu: read error on initial ram disk '%s'\n", - initrd_filename); + fprintf(stderr, "qemu: read error on initial ram disk '%s': %s\n", + initrd_filename, strerror(errno)); exit(1); } fclose(fi); diff --git a/vl.c b/vl.c index d7c7ab1..9182d89 100644 --- a/vl.c +++ b/vl.c @@ -2379,8 +2379,8 @@ int drive_init(struct drive_opt *arg, int snapshot, void *opaque) else if (cache == 2) /* write-back */ bdrv_flags |= BDRV_O_CACHE_WB; if (bdrv_open2(bdrv, file, bdrv_flags, drv) < 0) { - fprintf(stderr, "qemu: could not open disk image %s\n", - file); + fprintf(stderr, "qemu: could not open disk image %s: %s\n", + file, strerror(errno)); return -1; } if (bdrv_key_required(bdrv)) @@ -5799,7 +5799,7 @@ int main(int argc, char **argv, char **envp) if (len != 1) exit(1); else if (status == 1) { - fprintf(stderr, "Could not acquire pidfile\n"); + fprintf(stderr, "Could not acquire pidfile: %s\n", strerror(errno)); exit(1); } else exit(0); @@ -5826,7 +5826,7 @@ int main(int argc, char **argv, char **envp) uint8_t status = 1; write(fds[1], &status, 1); } else - fprintf(stderr, "Could not acquire pid file\n"); + fprintf(stderr, "Could not acquire pid file: %s\n", strerror(errno)); exit(1); } #endif @@ -6031,8 +6031,8 @@ int main(int argc, char **argv, char **envp) snprintf(label, sizeof(label), "serial%d", i); serial_hds[i] = qemu_chr_open(label, devname, NULL); if (!serial_hds[i]) { - fprintf(stderr, "qemu: could not open serial device '%s'\n", - devname); + fprintf(stderr, "qemu: could not open serial device '%s': %s\n", + devname, strerror(errno)); exit(1); } } @@ -6045,8 +6045,8 @@ int main(int argc, char **argv, char **envp) snprintf(label, sizeof(label), "parallel%d", i); parallel_hds[i] = qemu_chr_open(label, devname, NULL); if (!parallel_hds[i]) { - fprintf(stderr, "qemu: could not open parallel device '%s'\n", - devname); + fprintf(stderr, "qemu: could not open parallel device '%s': %s\n", + devname, strerror(errno)); exit(1); } } @@ -6059,8 +6059,8 @@ int main(int argc, char **argv, char **envp) snprintf(label, sizeof(label), "virtcon%d", i); virtcon_hds[i] = qemu_chr_open(label, devname, NULL); if (!virtcon_hds[i]) { - fprintf(stderr, "qemu: could not open virtio console '%s'\n", - devname); + fprintf(stderr, "qemu: could not open virtio console '%s': %s\n", + devname, strerror(errno)); exit(1); } } -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.135 retrieving revision 1.136 diff -u -p -r1.135 -r1.136 --- qemu.spec 28 Sep 2009 17:13:52 -0000 1.135 +++ qemu.spec 1 Oct 2009 21:29:40 -0000 1.136 @@ -43,6 +43,9 @@ Patch05: qemu-correctly-free-nic-info-st Patch06: qemu-do-not-exit-on-pci-hotplug-invalid-nic1.patch Patch07: qemu-do-not-exit-on-pci-hotplug-invalid-nic2.patch +# Improve error reporting on file access +Patch08: qemu-improve-error-reporting-on-file-access.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -233,6 +236,7 @@ such as kvmtrace and kvm_stat. %patch05 -p1 %patch06 -p1 %patch07 -p1 +%patch08 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -526,6 +530,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Thu Oct 1 2009 Justin M. Forbes - 2:0.11.0-3 +- Improve error reporting on file access (#524695) + * Mon Sep 28 2009 Mark McLoughlin - 2:0.11.0-2 - Fix pci hotplug to not exit if supplied an invalid NIC model (#524022) From jforbes at fedoraproject.org Thu Oct 1 21:32:06 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Thu, 1 Oct 2009 21:32:06 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-improve-error-reporting-on-file-access.patch, NONE, 1.1 qemu.spec, 1.135, 1.136 Message-ID: <20091001213206.D8A2911C0261@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27594 Modified Files: qemu.spec Added Files: qemu-improve-error-reporting-on-file-access.patch Log Message: Improve error reporting on file access (#524695) qemu-improve-error-reporting-on-file-access.patch: hw/pc.c | 12 ++++++------ vl.c | 21 ++++++++++----------- 2 files changed, 16 insertions(+), 17 deletions(-) --- NEW FILE qemu-improve-error-reporting-on-file-access.patch --- >From a40f520f7b94d2a5de04c7ca3a7513a99c84e9ef Mon Sep 17 00:00:00 2001 From: Justin M. Forbes Date: Thu, 1 Oct 2009 16:13:56 -0500 Subject: [PATCH] Improve error reporting on file access By making the error reporting include strerror(errno), it gives the user a bit more indication as to why qemu failed. This is particularly important for people running qemu as a non root user. Signed-off-by: Justin M. Forbes --- hw/pc.c | 12 ++++++------ vl.c | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/hw/pc.c b/hw/pc.c index 3b226f4..7a184cd 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -841,8 +841,8 @@ static void load_linux(void *fw_cfg, if (!f || !(kernel_size = get_file_size(f)) || fread(header, 1, MIN(ARRAY_SIZE(header), kernel_size), f) != MIN(ARRAY_SIZE(header), kernel_size)) { - fprintf(stderr, "qemu: could not load kernel '%s'\n", - kernel_filename); + fprintf(stderr, "qemu: could not load kernel '%s': %s\n", + kernel_filename, strerror(errno)); exit(1); } @@ -947,8 +947,8 @@ static void load_linux(void *fw_cfg, fi = fopen(initrd_filename, "rb"); if (!fi) { - fprintf(stderr, "qemu: could not load initial ram disk '%s'\n", - initrd_filename); + fprintf(stderr, "qemu: could not load initial ram disk '%s': %s\n", + initrd_filename, strerror(errno)); exit(1); } @@ -956,8 +956,8 @@ static void load_linux(void *fw_cfg, initrd_addr = (initrd_max-initrd_size) & ~4095; if (!fread_targphys_ok(initrd_addr, initrd_size, fi)) { - fprintf(stderr, "qemu: read error on initial ram disk '%s'\n", - initrd_filename); + fprintf(stderr, "qemu: read error on initial ram disk '%s': %s\n", + initrd_filename, strerror(errno)); exit(1); } fclose(fi); diff --git a/vl.c b/vl.c index d7c7ab1..9182d89 100644 --- a/vl.c +++ b/vl.c @@ -2379,8 +2379,8 @@ int drive_init(struct drive_opt *arg, int snapshot, void *opaque) else if (cache == 2) /* write-back */ bdrv_flags |= BDRV_O_CACHE_WB; if (bdrv_open2(bdrv, file, bdrv_flags, drv) < 0) { - fprintf(stderr, "qemu: could not open disk image %s\n", - file); + fprintf(stderr, "qemu: could not open disk image %s: %s\n", + file, strerror(errno)); return -1; } if (bdrv_key_required(bdrv)) @@ -5799,7 +5799,7 @@ int main(int argc, char **argv, char **envp) if (len != 1) exit(1); else if (status == 1) { - fprintf(stderr, "Could not acquire pidfile\n"); + fprintf(stderr, "Could not acquire pidfile: %s\n", strerror(errno)); exit(1); } else exit(0); @@ -5826,7 +5826,7 @@ int main(int argc, char **argv, char **envp) uint8_t status = 1; write(fds[1], &status, 1); } else - fprintf(stderr, "Could not acquire pid file\n"); + fprintf(stderr, "Could not acquire pid file: %s\n", strerror(errno)); exit(1); } #endif @@ -6031,8 +6031,8 @@ int main(int argc, char **argv, char **envp) snprintf(label, sizeof(label), "serial%d", i); serial_hds[i] = qemu_chr_open(label, devname, NULL); if (!serial_hds[i]) { - fprintf(stderr, "qemu: could not open serial device '%s'\n", - devname); + fprintf(stderr, "qemu: could not open serial device '%s': %s\n", + devname, strerror(errno)); exit(1); } } @@ -6045,8 +6045,8 @@ int main(int argc, char **argv, char **envp) snprintf(label, sizeof(label), "parallel%d", i); parallel_hds[i] = qemu_chr_open(label, devname, NULL); if (!parallel_hds[i]) { - fprintf(stderr, "qemu: could not open parallel device '%s'\n", - devname); + fprintf(stderr, "qemu: could not open parallel device '%s': %s\n", + devname, strerror(errno)); exit(1); } } @@ -6059,8 +6059,8 @@ int main(int argc, char **argv, char **envp) snprintf(label, sizeof(label), "virtcon%d", i); virtcon_hds[i] = qemu_chr_open(label, devname, NULL); if (!virtcon_hds[i]) { - fprintf(stderr, "qemu: could not open virtio console '%s'\n", - devname); + fprintf(stderr, "qemu: could not open virtio console '%s': %s\n", + devname, strerror(errno)); exit(1); } } -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.135 retrieving revision 1.136 diff -u -p -r1.135 -r1.136 --- qemu.spec 28 Sep 2009 17:13:52 -0000 1.135 +++ qemu.spec 1 Oct 2009 21:32:06 -0000 1.136 @@ -43,6 +43,9 @@ Patch05: qemu-correctly-free-nic-info-st Patch06: qemu-do-not-exit-on-pci-hotplug-invalid-nic1.patch Patch07: qemu-do-not-exit-on-pci-hotplug-invalid-nic2.patch +# Improve error reporting on file access +Patch08: qemu-improve-error-reporting-on-file-access.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -233,6 +236,7 @@ such as kvmtrace and kvm_stat. %patch05 -p1 %patch06 -p1 %patch07 -p1 +%patch08 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -526,6 +530,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Thu Oct 1 2009 Justin M. Forbes - 2:0.11.0-3 +- Improve error reporting on file access (#524695) + * Mon Sep 28 2009 Mark McLoughlin - 2:0.11.0-2 - Fix pci hotplug to not exit if supplied an invalid NIC model (#524022) From jforbes at fedoraproject.org Thu Oct 1 22:34:54 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Thu, 1 Oct 2009 22:34:54 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu.spec,1.136,1.137 Message-ID: <20091001223454.C9D5A11C0261@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18768 Modified Files: qemu.spec Log Message: Update the Release for build Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.136 retrieving revision 1.137 diff -u -p -r1.136 -r1.137 --- qemu.spec 1 Oct 2009 21:32:06 -0000 1.136 +++ qemu.spec 1 Oct 2009 22:34:54 -0000 1.137 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 2%{?dist} +Release: 3%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD From jforbes at fedoraproject.org Thu Oct 1 22:38:01 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Thu, 1 Oct 2009 22:38:01 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu.spec,1.136,1.137 Message-ID: <20091001223801.9AFA411C0261@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23278 Modified Files: qemu.spec Log Message: Update the Release for build Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.136 retrieving revision 1.137 diff -u -p -r1.136 -r1.137 --- qemu.spec 1 Oct 2009 21:29:40 -0000 1.136 +++ qemu.spec 1 Oct 2009 22:38:01 -0000 1.137 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 2%{?dist} +Release: 3%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD From rel-eng at fedoraproject.org Thu Oct 1 21:11:55 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 01 Oct 2009 21:11:55 -0000 Subject: [fedora-virt-maint] #2274: please tag libvirt-0.7.1-8.fc12 into dist-f12 Message-ID: <049.3c136ac2b7f4deb147b0fcce73c3a952@fedoraproject.org> #2274: please tag libvirt-0.7.1-8.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- please tag libvirt-0.7.1-8.fc12 into dist-f12 libvirt-0.7.1-8.fc12 contains two fixes: - Disable sound backend, even when selinux is disabled (#524499) - Re-label qcow2 backing files (#497131) The former is a more comprehensive patch from upstream replacing an existing non-upstream patch. The old patch doesn't work with selinux disabled because of the VirtPrivileges feature. The latter is an issue with sVirt discovered during F-11, but has gained importance because we're advertising better qcow2 support as an F-12 feature. Fixes for this issue are pulled from latest upstream. I've just done some testing of the build and it seems fine -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Thu Oct 1 23:20:59 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Thu, 01 Oct 2009 23:20:59 -0000 Subject: [fedora-virt-maint] Re: #2274: please tag libvirt-0.7.1-8.fc12 into dist-f12 In-Reply-To: <049.3c136ac2b7f4deb147b0fcce73c3a952@fedoraproject.org> References: <049.3c136ac2b7f4deb147b0fcce73c3a952@fedoraproject.org> Message-ID: <058.25aa9c56ce5e96d3aa7f9030b2b483cd@fedoraproject.org> #2274: please tag libvirt-0.7.1-8.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 2 14:27:12 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 02 Oct 2009 14:27:12 -0000 Subject: [fedora-virt-maint] #2287: please tag qemu-0_11_0-3_fc12 into f12-beta Message-ID: <050.b91891684d609933120294fc20ebee08@fedoraproject.org> #2287: please tag qemu-0_11_0-3_fc12 into f12-beta ----------------------------+----------------------------------------------- Reporter: jforbes | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Beta | Component: koji Keywords: | ----------------------------+----------------------------------------------- Improve error reporting so that the user has some idea of why an image cannot be booted. https://bugzilla.redhat.com/show_bug.cgi?id=524695 Trivial fix; tested by me. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 2 14:30:25 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 02 Oct 2009 14:30:25 -0000 Subject: [fedora-virt-maint] Re: #2287: please tag qemu-0.11.0-3.fc12 into f12 In-Reply-To: <050.b91891684d609933120294fc20ebee08@fedoraproject.org> References: <050.b91891684d609933120294fc20ebee08@fedoraproject.org> Message-ID: <059.6f28810bd3ba31cb8dd3905840aeb62b@fedoraproject.org> #2287: please tag qemu-0.11.0-3.fc12 into f12 -----------------------------+---------------------------------------------- Reporter: jforbes | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Beta | Component: koji Resolution: | Keywords: -----------------------------+---------------------------------------------- Changes (by jforbes): * summary: please tag qemu-0_11_0-3_fc12 into f12-beta => please tag qemu-0.11.0-3.fc12 into f12 -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 2 14:59:59 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 02 Oct 2009 14:59:59 -0000 Subject: [fedora-virt-maint] Re: #2287: please tag qemu-0.11.0-3.fc12 into f12 In-Reply-To: <050.b91891684d609933120294fc20ebee08@fedoraproject.org> References: <050.b91891684d609933120294fc20ebee08@fedoraproject.org> Message-ID: <059.23a439ecb89472b5722888b7207aa1a0@fedoraproject.org> #2287: please tag qemu-0.11.0-3.fc12 into f12 -----------------------------+---------------------------------------------- Reporter: jforbes | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Beta | Component: koji Resolution: fixed | Keywords: -----------------------------+---------------------------------------------- Changes (by notting): * status: new => closed * resolution: => fixed Comment: Tagged. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From crobinso at fedoraproject.org Mon Oct 5 14:19:29 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 14:19:29 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-manager/devel virt-manager-0.8.0-more-translations.patch, NONE, 1.1 virt-manager.spec, 1.61, 1.62 Message-ID: <20091005141929.D0B5A11C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/virt-manager/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31766 Modified Files: virt-manager.spec Added Files: virt-manager-0.8.0-more-translations.patch Log Message: More translations (bz 493795) virt-manager-0.8.0-more-translations.patch: fr.po | 22 +- pl.po | 526 +++++++++++++++++++++++++++++++----------------------------------- 2 files changed, 258 insertions(+), 290 deletions(-) --- NEW FILE virt-manager-0.8.0-more-translations.patch --- # HG changeset patch # User Cole Robinson # Date 1254751589 14400 # Node ID 67d5721a535f204db27f532e59f491f562c8ff18 # Parent dab7da238a24f68a15c276b425d7cbf0ef544a92 Updated french and polish translations. diff -r dab7da238a24 -r 67d5721a535f po/fr.po --- a/po/fr.po Thu Oct 01 12:07:14 2009 -0400 +++ b/po/fr.po Mon Oct 05 10:06:29 2009 -0400 @@ -13,7 +13,7 @@ "Project-Id-Version: virt-manager.tip\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-29 14:34-0400\n" -"PO-Revision-Date: 2009-09-13 00:49+0200\n" +"PO-Revision-Date: 2009-10-04 02:15+0200\n" "Last-Translator: Laurent L?onard \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -118,8 +118,7 @@ #: ../src/virt-manager.schemas.in.h:19 msgid "The number of samples to keep in the statistics history" -msgstr "" -"Le nombre d'?chantillons ? conserver dans l'historique des statistiques" +msgstr "Le nombre d'?chantillons ? conserver dans l'historique des statistiques" #: ../src/virt-manager.schemas.in.h:20 msgid "" @@ -191,8 +190,7 @@ #: ../src/virt-manager.schemas.in.h:33 msgid "Whether to install a sound device for remote VMs or not" -msgstr "" -"S'il faut ou non installer un p?riph?rique de son pour les MV distantes" +msgstr "S'il faut ou non installer un p?riph?rique de son pour les MV distantes" #: ../src/virt-manager.schemas.in.h:34 msgid "" @@ -265,8 +263,7 @@ #: ../src/virtManager/addhardware.py:442 #, python-format msgid "Uncaught error validating hardware input: %s" -msgstr "" -"Erreur non attrapp?e lors de la validation de l'entr?e du mat?riel : %s" +msgstr "Erreur non attrapp?e lors de la validation de l'entr?e du mat?riel : %s" #: ../src/virtManager/addhardware.py:636 msgid "Disk image:" @@ -2180,8 +2177,7 @@ #: ../src/vmm-add-hardware.glade.h:23 msgid "" "Sound" -msgstr "" -"Son" +msgstr "Son" #: ../src/vmm-add-hardware.glade.h:24 msgid "" @@ -2529,7 +2525,6 @@ msgstr "R?acheminement" #: ../src/vmm-create-net.glade.h:4 -#, fuzzy msgid "" "Hint: The network should be chosen from one of the IPv4 private " "address ranges. eg 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16" @@ -2634,7 +2629,7 @@ #: ../src/vmm-create-net.glade.h:21 msgid "Enable DHCP:" -msgstr "" +msgstr "Activer le DHCP :" #: ../src/vmm-create-net.glade.h:22 msgid "End Address" @@ -2755,8 +2750,7 @@ #: ../src/vmm-create-net.glade.h:53 msgid "You will need to choose an IPv4 address space for the virtual network:" -msgstr "" -"Vous devrez choisir un espace d'adressage IPv4 pour le r?seau virtuel :" +msgstr "Vous devrez choisir un espace d'adressage IPv4 pour le r?seau virtuel :" #: ../src/vmm-create-pool.glade.h:1 msgid "Add Storage Pool" @@ -2956,7 +2950,7 @@ #: ../src/vmm-create.glade.h:21 msgid "Error message" -msgstr "" +msgstr "Message d'erreur" #: ../src/vmm-create.glade.h:23 msgid "GB" diff -r dab7da238a24 -r 67d5721a535f po/pl.po --- a/po/pl.po Thu Oct 01 12:07:14 2009 -0400 +++ b/po/pl.po Mon Oct 05 10:06:29 2009 -0400 @@ -5,10 +5,10 @@ msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-29 14:34-0400\n" -"PO-Revision-Date: 2009-07-31 02:37+0200\n" +"POT-Creation-Date: 2009-10-04 18:47+0000\n" +"PO-Revision-Date: 2009-10-04 21:42+0200\n" "Last-Translator: Piotr Dr?g \n" -"Language-Team: Polish \n" +"Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -91,11 +91,12 @@ #: ../src/virt-manager.schemas.in.h:15 msgid "Show system tray icon" -msgstr "Wy?wietl ikon? obszaru powiadamiania" +msgstr "Wy?wietlenie ikony obszaru powiadamiania" #: ../src/virt-manager.schemas.in.h:16 msgid "Show system tray icon while app is running" -msgstr "Wy?wietl ikon? obszaru powiadamiania, kiedy aplikacja jest uruchomiona" +msgstr "" +"Wy?wietlenie ikony obszaru powiadamiania, kiedy aplikacja jest uruchomiona" #: ../src/virt-manager.schemas.in.h:17 msgid "Stats type in manager view" @@ -122,11 +123,11 @@ #: ../src/virt-manager.schemas.in.h:22 msgid "The statistics update interval" -msgstr "Cz?sto?? aktualizacji statystyk" +msgstr "Cz?stotliwo?? aktualizacji statystyk" #: ../src/virt-manager.schemas.in.h:23 msgid "The statistics update interval in seconds" -msgstr "Cz?sto?? aktualizacji statystyk w sekundach" +msgstr "Cz?stotliwo?? aktualizacji statystyk w sekundach" #: ../src/virt-manager.schemas.in.h:24 msgid "Type of stats to graph (cpu, disk, net) in manager view" @@ -236,11 +237,11 @@ #: ../src/virtManager/addhardware.py:414 msgid "Connection does not support host device enumeration" -msgstr "Po??czenie nie obs?uguje wyliczania urz?dzenia hosta" +msgstr "Po??czenie nie obs?uguje wyliczania urz?dze? gospodarza" #: ../src/virtManager/addhardware.py:418 msgid "Libvirt version does not support video devices." -msgstr "Ta wersja libvirt nie obs?uguje urz?dze? graficznych." +msgstr "Ta wersja biblioteki libvirt nie obs?uguje urz?dze? graficznych." #: ../src/virtManager/addhardware.py:442 #, python-format @@ -292,11 +293,11 @@ #: ../src/virtManager/addhardware.py:661 msgid "Absolute movement" -msgstr "Ruch absolutny" +msgstr "Ruch bezwzgl?dny" #: ../src/virtManager/addhardware.py:663 msgid "Relative movement" -msgstr "Ruch relatywny" +msgstr "Ruch wzgl?dny" #: ../src/virtManager/addhardware.py:666 ../src/virtManager/addhardware.py:692 #: ../src/virtManager/addhardware.py:710 ../src/virtManager/addhardware.py:737 @@ -341,7 +342,7 @@ #: ../src/virtManager/addhardware.py:689 ../src/vmm-add-hardware.glade.h:65 msgid "Same as host" -msgstr "Takie same, jak host" +msgstr "Takie same, jak gospodarz" #: ../src/virtManager/addhardware.py:693 ../src/vmm-add-hardware.glade.h:27 #: ../src/vmm-details.glade.h:22 @@ -382,7 +383,7 @@ #: ../src/virtManager/addhardware.py:740 msgid "Physical Host Device" -msgstr "Fizyczne urz?dzenie hosta" +msgstr "Fizyczne urz?dzenie gospodarza" #: ../src/virtManager/addhardware.py:746 ../src/virtManager/details.py:1936 msgid "Video" @@ -399,12 +400,11 @@ #: ../src/virtManager/addhardware.py:823 msgid "Allocation of disk storage may take a few minutes to complete." -msgstr "" -"Zako?czenia przydzielania pami?ci masowej dysku mo?e zaj?? kilka minut." +msgstr "Uko?czenia przydzielania pami?ci masowej dysku mo?e zaj?? kilka minut." #: ../src/virtManager/addhardware.py:847 msgid "Are you sure you want to add this device?" -msgstr "Na pewno chcesz doda? te urz?dzenie?" +msgstr "Na pewno doda? te urz?dzenie?" #: ../src/virtManager/addhardware.py:849 msgid "" @@ -413,7 +413,7 @@ "\n" "Warning: this will overwrite any other changes that require a VM reboot." msgstr "" -"To urz?dzenie nie mo?e zosta? do??czone do uruchomionej maszyny. Czy to " +"Te urz?dzenie nie mo?e zosta? do??czone do uruchomionej maszyny. Czy to " "urz?dzenie ma by? dost?pne po nast?pnym wy??czeniu maszyny wirtualnej?\n" "\n" "Ostrze?enie: zast?pi to wszystkie inne zmiany wymagaj?ce ponownego " @@ -423,15 +423,15 @@ #: ../src/virtManager/create.py:1535 #, python-format msgid "Unable to complete install: '%s'" -msgstr "Nie mo?na zako?czy? instalacji: \"%s\"" +msgstr "Nie mo?na uko?czy? instalacji: \"%s\"" #: ../src/virtManager/addhardware.py:885 msgid "Locate Storage Partition" -msgstr "Ustal po?o?enie partycji pami?ci masowej" +msgstr "Ustalenie po?o?enia partycji pami?ci masowej" #: ../src/virtManager/addhardware.py:893 msgid "Locate or Create New Storage File" -msgstr "Ustal po?o?enie lub utw?rz nowy plik pami?ci masowej" +msgstr "Ustalenie po?o?enia lub utworzenie nowego pliku pami?ci masowej" #: ../src/virtManager/addhardware.py:1054 msgid "Hardware Type Required" @@ -439,7 +439,7 @@ #: ../src/virtManager/addhardware.py:1055 msgid "You must specify what type of hardware to add." -msgstr "Musisz poda? typ sprz?tu do dodania." +msgstr "Nale?y poda? typ sprz?tu do dodania." #: ../src/virtManager/addhardware.py:1060 msgid "Storage Path Required" @@ -447,7 +447,7 @@ #: ../src/virtManager/addhardware.py:1061 msgid "You must specify a partition or a file for disk storage." -msgstr "Musisz poda? partycj? lub plik dla dyskowej pami?ci masowej." +msgstr "Nale?y poda? partycj? lub plik dla dyskowej pami?ci masowej." #: ../src/virtManager/addhardware.py:1064 msgid "Target Device Required" @@ -455,7 +455,7 @@ #: ../src/virtManager/addhardware.py:1065 msgid "You must select a target device for the disk." -msgstr "Musisz wybra? urz?dzenie docelowe dla dysku." +msgstr "Nale?y wybra? urz?dzenie docelowe dla dysku." #: ../src/virtManager/addhardware.py:1092 msgid "Invalid Storage Parameters" @@ -469,11 +469,11 @@ #: ../src/virtManager/addhardware.py:1101 ../src/virtManager/create.py:1311 #, python-format msgid "Disk \"%s\" is already in use by another guest!" -msgstr "Dysk \"%s\" jest ju? u?ywany przez innego go?cia!" +msgstr "Dysk \"%s\" jest ju? u?ywany przez innego go?cia." #: ../src/virtManager/addhardware.py:1102 ../src/virtManager/create.py:1313 msgid "Do you really want to use the disk?" -msgstr "Na pewno chcesz u?y? dysku?" +msgstr "Na pewno u?y? dysku?" #: ../src/virtManager/addhardware.py:1109 msgid "Virtual Network Required" @@ -481,7 +481,7 @@ #: ../src/virtManager/addhardware.py:1110 msgid "You must select one of the virtual networks." -msgstr "Musisz wybra? jedn? z sieci wirtualnych." +msgstr "Nale?y wybra? jedn? z sieci wirtualnych." #: ../src/virtManager/addhardware.py:1113 msgid "Physical Device Required" @@ -489,7 +489,7 @@ #: ../src/virtManager/addhardware.py:1114 msgid "You must select a physical device." -msgstr "Musisz wybra? urz?dzenie fizyczne." +msgstr "Nale?y wybra? urz?dzenie fizyczne." #: ../src/virtManager/addhardware.py:1120 #: ../src/virtManager/addhardware.py:1126 @@ -498,7 +498,7 @@ #: ../src/virtManager/addhardware.py:1121 msgid "No MAC address was entered. Please enter a valid MAC address." -msgstr "Nie podano adresu MAC. Podaj prawid?owy adres MAC." +msgstr "Nie podano adresu MAC. Prosz? poda? prawid?owy adres MAC." #: ../src/virtManager/addhardware.py:1139 msgid "Unsupported networking type" @@ -515,11 +515,11 @@ #: ../src/virtManager/addhardware.py:1152 msgid "Are you sure you want to use this address?" -msgstr "Na pewno chcesz u?y? tego adresu?" +msgstr "Na pewno u?y? tego adresu?" #: ../src/virtManager/addhardware.py:1167 msgid "Graphics device parameter error" -msgstr "B??d parametru urz?dzenia grafiki" +msgstr "B??d parametru urz?dzenia graficznego" #: ../src/virtManager/addhardware.py:1174 msgid "Sound device parameter error" @@ -535,7 +535,7 @@ #: ../src/virtManager/addhardware.py:1189 msgid "Host device parameter error" -msgstr "B??d parametru urz?dzenia hosta" +msgstr "B??d parametru urz?dzenia gospodarza" #: ../src/virtManager/addhardware.py:1231 #, python-format @@ -552,7 +552,7 @@ #: ../src/virtManager/addhardware.py:1265 ../src/virtManager/create.py:671 msgid "Not bridged" -msgstr "Nie mostkowane" +msgstr "Bez mostku" #. [xml value, label] #: ../src/virtManager/addhardware.py:1272 @@ -580,7 +580,7 @@ #: ../src/virtManager/asyncjob.py:42 ../src/vmm-progress.glade.h:1 msgid "Operation in progress" -msgstr "Operacja jest wykonywana" +msgstr "Dzia?anie jest wykonywane" #: ../src/virtManager/asyncjob.py:89 ../src/virtManager/asyncjob.py:102 #: ../src/vmm-progress.glade.h:3 @@ -589,7 +589,7 @@ #: ../src/virtManager/asyncjob.py:117 msgid "Completed" -msgstr "Zako?czono" +msgstr "Uko?czono" #: ../src/virtManager/choosecd.py:99 ../src/virtManager/choosecd.py:109 msgid "Invalid Media Path" @@ -601,7 +601,7 @@ #: ../src/virtManager/choosecd.py:128 ../src/virtManager/create.py:1019 msgid "Locate ISO Image" -msgstr "Ustal po?o?enie obrazu ISO" +msgstr "Ustalenie po?o?enia obrazu ISO" #: ../src/virtManager/clone.py:216 ../src/virtManager/clone.py:437 msgid "Details..." @@ -639,7 +639,7 @@ #: ../src/virtManager/clone.py:433 #, python-format msgid "Share disk with %s" -msgstr "Wsp??dziel plik z %s" +msgstr "Wsp??dziel dysk z %s" #: ../src/virtManager/clone.py:445 msgid "Storage cannot be shared or cloned." @@ -663,13 +663,13 @@ "Using an existing image will overwrite the path during the clone process. " "Are you sure you want to use this path?" msgstr "" -"U?ycie istniej?cego obrazu zast?pi ?cie?k? podczas procesu klonowania. Czy " -"jeste? pewny, ?e chcesz u?y? tej ?cie?ki?" +"U?ycie istniej?cego obrazu zast?pi ?cie?k? podczas procesu klonowania. Na " +"u?y? tej ?cie?ki?" #: ../src/virtManager/clone.py:639 #, python-format msgid "Error changing storage path: %s" -msgstr "B??d podczas ?cie?ki do pami?ci masowej: %s" +msgstr "B??d podczas zmieniania ?cie?ki do pami?ci masowej: %s" #: ../src/virtManager/clone.py:690 msgid "Skipping disks may cause data to be overwritten." @@ -686,7 +686,7 @@ "Nast?puj?ce urz?dzenia dysk?w nie zostan? sklonowane:\n" "\n" "%s\n" -"Uruchomienie nowego go?cia mog?oby zast?pi? dane w tych obrazach dysk?w." +"Uruchomienie nowego go?cia mo?e zast?pi? dane w tych obrazach dysk?w." #: ../src/virtManager/clone.py:711 ../src/virtManager/createpool.py:264 #: ../src/virtManager/createvol.py:147 @@ -701,7 +701,7 @@ #: ../src/virtManager/clone.py:722 ../src/virtManager/delete.py:142 msgid " and selected storage (this may take a while)" -msgstr " i wybranej pami?ci masowej (mo?e to troch? zaj??)" +msgstr " i wybranej pami?ci masowej (mo?e to chwil? zaj??)" #: ../src/virtManager/clone.py:756 #, python-format @@ -718,11 +718,11 @@ #: ../src/virtManager/clone.py:797 msgid "Cannot clone unmanaged remote storage." -msgstr "Nie mo?na sklonowa? niezarz?dzanej zdanej pami?ci masowej." +msgstr "Nie mo?na sklonowa? niezarz?dzanej zdalnej pami?ci masowej." #: ../src/virtManager/clone.py:799 ../src/virtManager/delete.py:342 msgid "No write access to parent directory." -msgstr "Brak uprawnienia do zapisu do folder nadrz?dnego." +msgstr "Brak uprawnienia do zapisu do katalogu nadrz?dnego." #: ../src/virtManager/clone.py:801 ../src/virtManager/delete.py:340 msgid "Path does not exist." @@ -750,30 +750,30 @@ msgid "Name" msgstr "Nazwa" -#: ../src/virtManager/connection.py:1119 +#: ../src/virtManager/connection.py:1121 msgid "Disconnected" msgstr "Roz??czono" -#: ../src/virtManager/connection.py:1121 +#: ../src/virtManager/connection.py:1123 msgid "Connecting" msgstr "??czenie" -#: ../src/virtManager/connection.py:1124 +#: ../src/virtManager/connection.py:1126 msgid "Active (RO)" -msgstr "Aktywuj (tylko do odczytu)" +msgstr "Aktywacja (tylko do odczytu)" -#: ../src/virtManager/connection.py:1126 ../src/virtManager/host.py:327 +#: ../src/virtManager/connection.py:1128 ../src/virtManager/host.py:327 #: ../src/virtManager/host.py:555 ../src/vmm-host.glade.h:5 msgid "Active" -msgstr "Aktywuj" +msgstr "Aktywacja" -#: ../src/virtManager/connection.py:1128 ../src/virtManager/create.py:634 +#: ../src/virtManager/connection.py:1130 ../src/virtManager/create.py:634 #: ../src/virtManager/host.py:332 ../src/virtManager/host.py:375 #: ../src/virtManager/host.py:555 ../src/virtManager/host.py:587 msgid "Inactive" -msgstr "Deaktywuj" +msgstr "Deaktywacja" -#: ../src/virtManager/connection.py:1130 ../src/virtManager/create.py:1605 +#: ../src/virtManager/connection.py:1132 ../src/virtManager/create.py:1605 #: ../src/virtManager/create.py:1606 ../src/virtManager/create.py:1608 #: ../src/virtManager/details.py:934 ../src/virtManager/details.py:1063 msgid "Unknown" @@ -794,9 +794,9 @@ "Pe?ne przydzielenie pami?ci masowej zajmie wi?cej czasu, ale faza instalacji " "systemu operacyjnego b?dzie kr?tsza. \n" "\n" -"Pomini?cie przydzielenie spowoduje tak?e problemy z przestrzeni? na maszynie " -"hosta, je?li maksymalny rozmiar obrazu przekracza dost?pn? przestrze? " -"pami?ci masowej." +"Pomini?cie przydzielenie spowoduje tak?e problemy z przestrzeni? na " +"komputerze gospodarza, je?li maksymalny rozmiar obrazu przekracza dost?pn? " +"przestrze? pami?ci masowej." #: ../src/virtManager/create.py:297 msgid "No active connection to install on." @@ -830,7 +830,7 @@ #: ../src/virtManager/create.py:426 #, python-format msgid "Up to %(maxmem)s available on the host" -msgstr "Do %(maxmem)s dost?pnej na ho?cie" +msgstr "Do %(maxmem)s dost?pnej na gospodarzu" #: ../src/virtManager/create.py:440 #, python-format @@ -871,7 +871,7 @@ #: ../src/virtManager/create.py:676 #, python-format msgid "Host device %s %s" -msgstr "Urz?dzenie hosta %s %s" +msgstr "Urz?dzenie gospodarza %s %s" #: ../src/virtManager/create.py:688 msgid "No networking." @@ -879,7 +879,7 @@ #: ../src/virtManager/create.py:733 msgid "Local CDROM/ISO" -msgstr "Lokalny CD-ROM/ISO" +msgstr "Lokalna p?yta CD-ROM/plik ISO" #: ../src/virtManager/create.py:735 msgid "URL Install Tree" @@ -895,7 +895,7 @@ #: ../src/virtManager/create.py:1028 msgid "Locate existing storage" -msgstr "Ustal po?o?enie istniej?cej pami?ci masowej" +msgstr "Ustalenie po?o?enia istniej?cej pami?ci masowej" #: ../src/virtManager/create.py:1099 #, python-format @@ -955,8 +955,7 @@ #, python-format msgid "" "Virtual Network '%s' is not active. Would you like to start the network now?" -msgstr "" -"Sie? wirtualna \"%s\" jest nieaktywna. Czy chcesz teraz uruchomi? sie??" +msgstr "Sie? wirtualna \"%s\" jest nieaktywna. Uruchomi? sie? teraz?" #: ../src/virtManager/create.py:1341 #, python-format @@ -979,7 +978,7 @@ #: ../src/virtManager/create.py:1385 #, python-format msgid "%s Are you sure you want to use this address?" -msgstr "%s Na pewno chcesz u?y? tego adresu?" +msgstr "%s Na pewno u?y? tego adresu?" #: ../src/virtManager/create.py:1428 #, python-format @@ -988,7 +987,7 @@ #: ../src/virtManager/create.py:1436 msgid "Error setting up graphics device:" -msgstr "B??d podczas ustawiania urz?dzenia grafiki:" +msgstr "B??d podczas ustawiania urz?dzenia graficznego:" #: ../src/virtManager/create.py:1446 msgid "Error setting up sound device:" @@ -1041,7 +1040,7 @@ #: ../src/virtManager/createnet.py:166 msgid "Reserved" -msgstr "Zarezerwowane" +msgstr "Zastrze?one" #: ../src/virtManager/createnet.py:168 msgid "Other" @@ -1081,7 +1080,7 @@ #: ../src/virtManager/createnet.py:343 msgid "Network name may contain alphanumeric and '_' characters only" -msgstr "Nazwa sieci mo?e zawiera? tylko znaki alfanumeryczne oraz \"_\"" +msgstr "Nazwa sieci mo?e zawiera? tylko znaki alfanumeryczne i \"_\"" #: ../src/virtManager/createnet.py:349 ../src/virtManager/createnet.py:353 #: ../src/virtManager/createnet.py:357 @@ -1102,7 +1101,7 @@ #: ../src/virtManager/createnet.py:361 msgid "Check Network Address" -msgstr "Sprawd? adres sieci" +msgstr "Sprawdzenie adresu sieci" #: ../src/virtManager/createnet.py:362 msgid "" @@ -1137,19 +1136,19 @@ #: ../src/virtManager/createnet.py:387 msgid "Invalid forwarding mode" -msgstr "Nieprawid?owy tryb przekazywania" +msgstr "Nieprawid?owy tryb przekierowania" #: ../src/virtManager/createnet.py:388 msgid "Please select where the traffic should be forwarded" -msgstr "Wybierz, gdzie ruch powinien by? przekazywany" +msgstr "Prosz? wybra?, gdzie ruch powinien by? przekierowywany" #: ../src/virtManager/createpool.py:241 msgid "Choose source path" -msgstr "Wybierz ?cie?k? ?r?d?ow?" +msgstr "Wyb?r ?cie?ki ?r?d?owej" #: ../src/virtManager/createpool.py:247 msgid "Choose target directory" -msgstr "Wybierz folder docelowy" +msgstr "Wyb?r katalogu docelowego" #: ../src/virtManager/createpool.py:278 msgid "Creating storage pool..." @@ -1173,16 +1172,16 @@ "Building a pool of this type will format the source device. Are you sure you " "want to 'build' this pool?" msgstr "" -"Budowanie puli tego typu sformatuje urz?dzenie ?r?d?owe. Czy jeste? pewny, " -"?e chcesz \"zbudowa?\" t? pul??" +"Budowanie puli tego typu sformatuje urz?dzenie ?r?d?owe. Na pewno " +"\"zbudowa?\" t? pul??" #: ../src/virtManager/createpool.py:375 msgid "Format the source device." -msgstr "Sformatuj urz?dzenie ?r?d?owe." +msgstr "Sformatowanie urz?dzenia ?r?d?owego." #: ../src/virtManager/createpool.py:377 msgid "Create a logical volume group from the source device." -msgstr "Utw?rz grup? wolumin?w logicznych z urz?dzenia ?r?d?owego." +msgstr "Utworzenie grupy wolumin?w logicznych z urz?dzenia ?r?d?owego." #: ../src/virtManager/createvol.py:158 msgid "Creating storage volume..." @@ -1281,9 +1280,9 @@ "with the specified label. The administrator is responsible for making sure " "the images are labeled corectly on disk." msgstr "" -"Statyczny tryb bezpiecze?stwa SELinuksa przekazuje libvirt, aby zawsze " -"uruchamia? proces go?cia za pomoc? podanej etykiety. Administrator jest " -"odpowiedzialny za upewnienie si?, ?e obrazy na dysku maj? odpowiednie " +"Statyczny tryb bezpiecze?stwa SELinuksa przekazuje bibliotece libvirt, aby " +"zawsze uruchamia? proces go?cia za pomoc? podanej etykiety. Administrator " +"jest odpowiedzialny za upewnienie si?, ?e obrazy na dysku maj? odpowiednie " "etykiety." #: ../src/virtManager/details.py:175 @@ -1292,13 +1291,13 @@ "unique label for the guest process and guest image, ensuring total isolation " "of the guest. (Default)" msgstr "" -"Dynamiczny tryb bezpiecze?stwa SELinuksa przekazuje libvirt, aby " +"Dynamiczny tryb bezpiecze?stwa SELinuksa przekazuje bibliotece libvirt, aby " "automatycznie wybiera?o unikaln? etykiet? dla procesu i obrazu go?cia, " -"zapewniaj?c ca?kowite odizolowanie go?cia (domy?lne)." +"zapewniaj?c ca?kowite odizolowanie go?cia (domy?lnie)." #: ../src/virtManager/details.py:380 msgid "Press Ctrl+Alt to release pointer." -msgstr "Naci?nij Ctrl+Alt, aby uwolni? wska?nik." +msgstr "Naci?ni?cie Ctrl+Alt uwalnia wska?nik." #: ../src/virtManager/details.py:388 msgid "Pointer grabbed" @@ -1310,15 +1309,15 @@ "release the pointer, press the key pair: Ctrl+Alt" msgstr "" "Wska?nik myszy zosta? ograniczony do okna konsoli wirtualnej. Aby go " -"uwolni?, naci?nij par? klawiszy Ctrl+Alt" +"uwolni?, nale?y nacisn?? par? klawiszy Ctrl+Alt" #: ../src/virtManager/details.py:390 msgid "Do not show this notification in the future." -msgstr "Nie wy?wietlaj tego powiadomienia w przysz?o?ci." +msgstr "Bez wy?wietlania tego powiadomienia w przysz?o?ci." #: ../src/virtManager/details.py:513 msgid "No serial devices found" -msgstr "Nie znaleziono urz?dze? szeregowych" +msgstr "Nie odnaleziono urz?dze? szeregowych" #: ../src/virtManager/details.py:535 msgid "Serial console not yet supported over remote connection." @@ -1341,12 +1340,12 @@ #: ../src/virtManager/details.py:561 msgid "No graphics console found." -msgstr "Nie znaleziono konsoli graficznej." +msgstr "Nie odnaleziono konsoli graficznej." #: ../src/virtManager/details.py:566 #, python-format msgid "Graphical Console %s" -msgstr "Konsoli graficzna %s" +msgstr "Konsola graficzna %s" #: ../src/virtManager/details.py:856 msgid "paused" @@ -1354,7 +1353,7 @@ #: ../src/virtManager/details.py:869 msgid "Console not available while paused" -msgstr "Konsola nie jest dost?pna podczas pauzy" +msgstr "Konsola nie jest dost?pna podczas wstrzymania" #: ../src/virtManager/details.py:1089 msgid "Hypervisor Default" @@ -1370,11 +1369,11 @@ #: ../src/virtManager/details.py:1111 msgid "Absolute Movement" -msgstr "Ruch absolutny" +msgstr "Ruch bezwzgl?dny" #: ../src/virtManager/details.py:1113 msgid "Relative Movement" -msgstr "Ruch relatywny" +msgstr "Ruch wzgl?dny" #: ../src/virtManager/details.py:1139 ../src/vmm-add-hardware.glade.h:29 msgid "Automatically allocated" @@ -1396,8 +1395,8 @@ msgid "" "TCP/IP error: VNC connection to hypervisor host got refused or disconnected!" msgstr "" -"B??d TCP/IP: po??czenie VNC do hosta nadzorcy zosta?o odrzucone lub " -"roz??czone!" +"B??d TCP/IP: po??czenie VNC do gospodarza nadzorcy zosta?o odrzucone lub " +"roz??czone." #: ../src/virtManager/details.py:1348 msgid "Console not configured for guest" @@ -1435,7 +1434,7 @@ #: ../src/virtManager/details.py:1482 msgid "Save Virtual Machine Screenshot" -msgstr "Zapisz zrzut ekranu maszyny wirtualnej" +msgstr "Zapisanie zrzutu ekranu maszyny wirtualnej" #: ../src/virtManager/details.py:1507 #, python-format @@ -1468,7 +1467,7 @@ #: ../src/virtManager/details.py:1678 ../src/virtManager/details.py:1742 msgid "These changes will take effect after the next guest reboot. " msgstr "" -"Te zmiany zostan? uwzgl?dnione po nast?pnych ponownych uruchomieniu go?cia. " +"Te zmiany zostan? uwzgl?dnione po nast?pnym ponownym uruchomieniu go?cia. " #: ../src/virtManager/details.py:1737 #, python-format @@ -1478,7 +1477,7 @@ #: ../src/virtManager/details.py:1755 #, python-format msgid "Error changing autostart value: %s" -msgstr "B??d podczas zmienianie warto?ci automatycznego uruchamiania: %s" +msgstr "B??d podczas zmieniania warto?ci automatycznego uruchamiania: %s" #: ../src/virtManager/details.py:1762 #, python-format @@ -1514,16 +1513,16 @@ #: ../src/virtManager/details.py:2028 #, python-format msgid "Error Removing CDROM: %s" -msgstr "B??d podczas usuwania CD-ROM: %s" +msgstr "B??d podczas usuwania p?yty CD-ROM: %s" #: ../src/virtManager/details.py:2045 #, python-format msgid "Error Connecting CDROM: %s" -msgstr "B??d podczas ??czenia do CD-ROM: %s" +msgstr "B??d podczas ??czenia p?yty CD-ROM: %s" #: ../src/virtManager/details.py:2062 msgid "Are you sure you want to remove this device?" -msgstr "Na pewno chcesz usun?? to urz?dzenie?" +msgstr "Na pewno usun?? te urz?dzenie?" #: ../src/virtManager/details.py:2064 msgid "" @@ -1532,7 +1531,7 @@ "\n" "Warning: this will overwrite any other changes that require a VM reboot." msgstr "" -"To urz?dzenie nie mo?e zosta? usuni?te z uruchomionej maszyny. Czy to " +"Te urz?dzenie nie mo?e zosta? usuni?te z uruchomionej maszyny. Czy to " "urz?dzenie ma zosta? usuni?te po nast?pnym wy??czeniu maszyny wirtualnej?\n" "\n" "Ostrze?enie: zast?pi to wszystkie inne zmiany wymagaj?ce ponownego " @@ -1575,104 +1574,104 @@ #: ../src/virtManager/domain.py:1270 #, python-format msgid "Didn't find the specified device to remove. Device was: %s %s" -msgstr "Nie znaleziono podanego urz?dzenia do usuni?cia. Urz?dzenie to: %s %s" +msgstr "Nie odnaleziono podanego urz?dzenia do usuni?cia. Urz?dzenie to: %s %s" -#: ../src/virtManager/engine.py:338 +#: ../src/virtManager/engine.py:339 #, python-format msgid "Error bringing up domain details: %s" msgstr "B??d podczas podnoszenia szczeg???w domeny: %s" -#: ../src/virtManager/engine.py:444 +#: ../src/virtManager/engine.py:445 #, python-format msgid "Unknown connection URI %s" msgstr "Nieznany adres URI po??czenia %s" #. FIXME: This should work with remote storage stuff -#: ../src/virtManager/engine.py:452 +#: ../src/virtManager/engine.py:453 msgid "Saving virtual machines over remote connections is not yet supported." msgstr "" "Zapisywanie maszyn wirtualnych przez zdalne po??czeniach nie jest jeszcze " "obs?ugiwane." -#: ../src/virtManager/engine.py:467 +#: ../src/virtManager/engine.py:468 msgid "Save Virtual Machine" -msgstr "Zapisz maszyn? wirtualn?" +msgstr "Zapisanie maszyny wirtualnej" -#: ../src/virtManager/engine.py:476 +#: ../src/virtManager/engine.py:477 msgid "Saving Virtual Machine" msgstr "Zapisywanie maszyny wirtualnej" -#: ../src/virtManager/engine.py:481 +#: ../src/virtManager/engine.py:482 #, python-format msgid "Error saving domain: %s" msgstr "B??d podczas zapisywania domeny: %s" -#: ../src/virtManager/engine.py:500 +#: ../src/virtManager/engine.py:501 #, python-format msgid "About to poweroff virtual machine %s" msgstr "Maszyna wirtualna %s zaraz zostanie wy??czona" -#: ../src/virtManager/engine.py:502 +#: ../src/virtManager/engine.py:503 msgid "" "This will immediately poweroff the VM without shutting down the OS and may " "cause data loss. Are you sure?" msgstr "" "To natychmiast wy??czy maszyn? wirtualn? bez wy??czania systemu operacyjnego " -"i mo?e spowodowa? utrat? danych. Jeste? pewny?" +"i mo?e spowodowa? utrat? danych. Na pewno?" -#: ../src/virtManager/engine.py:512 ../src/virtManager/engine.py:592 -#: ../src/virtManager/engine.py:611 +#: ../src/virtManager/engine.py:513 ../src/virtManager/engine.py:593 +#: ../src/virtManager/engine.py:612 #, python-format msgid "Error shutting down domain: %s" msgstr "B??d podczas wy??czania domeny: %s" -#: ../src/virtManager/engine.py:534 +#: ../src/virtManager/engine.py:535 #, python-format msgid "Error pausing domain: %s" msgstr "B??d podczas wstrzymywania domeny: %s" -#: ../src/virtManager/engine.py:557 +#: ../src/virtManager/engine.py:558 #, python-format msgid "Error unpausing domain: %s" -msgstr "B??d podczas wychodzenia domeny ze wstrzymania: %s" +msgstr "B??d podczas wznawiania domeny: %s" -#: ../src/virtManager/engine.py:573 +#: ../src/virtManager/engine.py:574 #, python-format msgid "Error starting domain: %s" msgstr "B??d podczas uruchamiania domeny: %s" -#: ../src/virtManager/engine.py:619 +#: ../src/virtManager/engine.py:620 #, python-format msgid "Are you sure you want to migrate %s from %s to %s?" -msgstr "Na pewno chcesz migrowa? %s z %s do %s?" +msgstr "Na pewno migrowa? %s z %s do %s?" -#: ../src/virtManager/engine.py:627 +#: ../src/virtManager/engine.py:628 #, python-format msgid "Migrating VM '%s'" msgstr "Migrowanie maszyny wirtualnej \"%s\"" -#: ../src/virtManager/engine.py:628 +#: ../src/virtManager/engine.py:629 #, python-format msgid "Migrating VM '%s' from %s to %s. This may take awhile." msgstr "Migrowanie maszyny wirtualnej \"%s\" z %s do %s. To mo?e chwil? zaj??." -#: ../src/virtManager/engine.py:685 +#: ../src/virtManager/engine.py:686 msgid "No connections available." msgstr "Brak dost?pnych po??cze?." -#: ../src/virtManager/engine.py:712 +#: ../src/virtManager/engine.py:713 msgid "Connection hypervisors do not match." -msgstr "Nadzorcy po??czenia si? nie zgadzaj?." +msgstr "Nadzorcy po??czenia nie zgadzaj? si?." -#: ../src/virtManager/engine.py:714 +#: ../src/virtManager/engine.py:715 msgid "Connection is disconnected." msgstr "Po??czenie jest roz??czone." -#: ../src/virtManager/engine.py:716 +#: ../src/virtManager/engine.py:717 msgid "Cannot migrate to same connection." msgstr "Nie mo?na migrowa? do tego samego po??czenia." -#: ../src/virtManager/engine.py:746 +#: ../src/virtManager/engine.py:747 #, python-format msgid "Error setting clone parameters: %s" msgstr "B??d podczas ustawiania parametr?w klonowania: %s" @@ -1692,7 +1691,7 @@ #: ../src/virtManager/host.py:72 msgid "Copy Volume Path" -msgstr "Skopiuj ?cie?k? do woluminu" +msgstr "Skopiowanie ?cie?ki do woluminu" #: ../src/virtManager/host.py:210 #, python-format @@ -1702,7 +1701,7 @@ #: ../src/virtManager/host.py:234 #, python-format msgid "Are you sure you want to permanently delete the network %s?" -msgstr "Na pewno chcesz na trwa?e usun?? sie? %s?" +msgstr "Na pewno trwale usun?? sie? %s?" #: ../src/virtManager/host.py:241 #, python-format @@ -1749,7 +1748,7 @@ #: ../src/virtManager/host.py:436 #, python-format msgid "Are you sure you want to permanently delete the pool %s?" -msgstr "Na pewno chcesz na trwa?e usun?? pul? %s?" +msgstr "Na pewno trwale usun?? pul? %s?" #: ../src/virtManager/host.py:443 #, python-format @@ -1759,7 +1758,7 @@ #: ../src/virtManager/host.py:451 #, python-format msgid "Are you sure you want to permanently delete the volume %s?" -msgstr "Na pewno chcesz na trwa?e usun?? wolumin %s?" +msgstr "Na pewno trwale usun?? wolumin %s?" #: ../src/virtManager/host.py:460 #, python-format @@ -1785,7 +1784,7 @@ #: ../src/virtManager/manager.py:84 ../src/virtManager/manager.py:249 #: ../src/virtManager/systray.py:136 msgid "_Reboot" -msgstr "_Uruchom ponownie" +msgstr "U_ruchom ponownie" #: ../src/virtManager/manager.py:90 ../src/virtManager/manager.py:244 #: ../src/virtManager/manager.py:255 ../src/virtManager/systray.py:143 @@ -1829,9 +1828,9 @@ "A hypervisor connection can be manually added via \n" "File->Add Connection" msgstr "" -"Nie mo?na rozprowadzi? domy?lnego po??czenia. Upewnij si?, ?e odpowiednie " -"pakiety wirtualizacji s? zainstalowane (kvm, qemu itp.), a libvirtd zosta? " -"ponownie uruchomiony, aby uwzgl?dni? zmiany.\n" +"Nie mo?na rozprowadzi? domy?lnego po??czenia. Nale?y upewni? si?, ?e " +"odpowiednie pakiety wirtualizacji s? zainstalowane (kvm, qemu itp.), a " +"us?uga libvirtd zosta?a ponownie uruchomiona, aby uwzgl?dni? zmiany.\n" "\n" "Mo?na r?cznie doda? po??czenie do nadzorcy przez \n" "Plik->Dodaj po??czenie" @@ -1852,7 +1851,7 @@ #: ../src/virtManager/manager.py:436 msgid "Restore Virtual Machine" -msgstr "Przywr?? maszyn? wirtualn?" +msgstr "Przywr?cenie maszyny wirtualnej" #: ../src/virtManager/manager.py:444 #, python-format @@ -1885,7 +1884,7 @@ "\n" "%s\n" "\n" -"Jeste? pewny?" +"Na pewno?" #: ../src/virtManager/manager.py:840 msgid "CPU usage" @@ -1934,7 +1933,7 @@ #. Arguments to pass to util.browse_local for local storage #: ../src/virtManager/storagebrowse.py:68 msgid "Choose local storage" -msgstr "Zmie? lokaln? pami?? masow?" +msgstr "Zmiana lokalnej pami?ci masowej" #: ../src/virtManager/storagebrowse.py:115 msgid "Size" @@ -1988,7 +1987,7 @@ #: ../src/vmm-add-hardware.glade.h:3 msgid "Physical Host Device" -msgstr "Fizyczne urz?dzenie hosta" +msgstr "Fizyczne urz?dzenie gospodarza" #: ../src/vmm-add-hardware.glade.h:4 ../src/vmm-details.glade.h:11 msgid "Sound Device" @@ -2034,9 +2033,9 @@ "connected via wireless, or dynamically configured with NetworkManager." msgstr "" -"Wskaz?wka: wybierz t? opcj?, je?li host jest roz??czony, " -"po??czony bezprzewodowo lub konfigurowany automatycznie za pomoc? mened?era " -"sieci." +"Wskaz?wka: nale?y wybra? t? opcj?, je?li gospodarz jest " +"roz??czony, po??czony bezprzewodowo lub konfigurowany automatycznie za " +"pomoc? Mened?era sieci." #: ../src/vmm-add-hardware.glade.h:13 msgid "" @@ -2044,9 +2043,9 @@ "to wired ethernet, to gain the ability to migrate the virtual machine." msgstr "" -"Wskaz?wka: wybierz t? opcj?, je?li host jest statycznie " -"po??czony z przewodowym ethernetem, aby uzyska? mo?liwo?? migrowania maszyny " -"wirtualnej." +"Wskaz?wka: nale?y wybra? t? opcj?, je?li gospodarz jest " +"statycznie po??czony z przewodow? sieci? Ethernet, aby uzyska? mo?liwo?? " +"migrowania maszyny wirtualnej." #: ../src/vmm-add-hardware.glade.h:14 msgid "" @@ -2054,8 +2053,8 @@ "virtual display to be embedded inside this application. It may also be used " "to allow access to the virtual display from a remote system." msgstr "" -"Wskaz?wka: serwer VNC jest bardzo zalecany, poniewa? pozwala " -"on oknie ekranowi wirtualnemu na zagnie?d?enie w tej aplikacji. Mo?e by? " +"Wskaz?wka: serwer VNC jest bardzo zalecany, poniewa? umo?liwia " +"oknie ekranowi wirtualnemu na zagnie?d?enie w tej aplikacji. Mo?e by? " "tak?e u?yty, aby umo?liwi? dost?p do ekranu wirtualnego ze zdalnego systemu." "" @@ -2076,10 +2075,10 @@ "free space is not available on the host, this may result in data corruption " "on the virtual machine." msgstr "" -"Ostrze?enie: je?li nie przydzielisz ca?ego dysku teraz, " +"Ostrze?enie: je?li ca?y dysk nie zostanie teraz przydzielony, " "przestrze? b?dzie przydzielana w miar? potrzeb wtedy, gdy maszyna wirtualna " "b?dzie uruchomiona. Je?li wystarczaj?ca ilo?? wolnego miejsca nie b?dzie " -"dost?pna na ho?cie, mo?e to spowodowa? uszkodzeniem danych na maszynie " +"dost?pna na gospodarzu, mo?e to spowodowa? uszkodzeniem danych na maszynie " "wirtualnej." #: ../src/vmm-add-hardware.glade.h:17 @@ -2095,7 +2094,7 @@ "Finish Adding " "Virtual Hardware" msgstr "" -"Zako?czono " +"Uko?czono " "dodawanie sprz?tu wirtualnego" #: ../src/vmm-add-hardware.glade.h:19 @@ -2110,7 +2109,7 @@ "span>" msgstr "" "Urz?dzenie " -"hosta" +"gospodarza" #: ../src/vmm-add-hardware.glade.h:21 msgid "" @@ -2147,15 +2146,15 @@ #: ../src/vmm-add-hardware.glade.h:26 msgid "Add new virtual hardware" -msgstr "Dodaj nowy sprz?t wirtualny" +msgstr "Dodanie nowego sprz?tu wirtualnego" #: ../src/vmm-add-hardware.glade.h:28 msgid "Allocate entire virtual disk now" -msgstr "Przydziel ca?y dysk wirtualny" +msgstr "Przydzielenie ca?ego dysku wirtualnego" #: ../src/vmm-add-hardware.glade.h:30 msgid "Bind Host:" -msgstr "Dowi?? hosta:" +msgstr "Dowi?zanie gospodarza:" #: ../src/vmm-add-hardware.glade.h:31 ../src/vmm-clone.glade.h:13 #: ../src/vmm-create.glade.h:12 @@ -2196,11 +2195,11 @@ #: ../src/vmm-add-hardware.glade.h:42 msgid "Host:" -msgstr "Host:" +msgstr "Gospodarz:" #: ../src/vmm-add-hardware.glade.h:44 msgid "Listen on all public network interfaces " -msgstr "Nas?uchuj na wszystkich publicznych interfejsach sieciowych " +msgstr "Nas?uchiwanie na wszystkich publicznych interfejsach sieciowych " #: ../src/vmm-add-hardware.glade.h:45 msgid "Loc_ation:" @@ -2233,50 +2232,53 @@ #: ../src/vmm-add-hardware.glade.h:55 msgid "Please indicate how you would like to view the virtual display." -msgstr "Wska?, jak chcesz wy?wietla? ekran wirtualny." +msgstr "Prosz? wskaza?, jak ekran wirtualny ma by? wy?wietlany." #: ../src/vmm-add-hardware.glade.h:56 msgid "" "Please indicate how you'd like to assign space on this physical host system " "for your new virtual storage device." msgstr "" -"Wska?, jak chcesz przydzieli? przestrze? na tym fizycznym systemie hosta dla " -"nowego systemu wirtualnego." +"Prosz? wskaza?, jak przydzieli? przestrze? na tym fizycznym systemie " +"gospodarza dla nowego urz?dzenia wirtualnej pami?ci masowej." #: ../src/vmm-add-hardware.glade.h:57 msgid "" "Please indicate how you'd like to connect your new virtual network device to " "the host network." msgstr "" -"Wska?, jak chcesz po??czy? nowe wirtualne urz?dzenie sieciowe do sieci hosta." +"Prosz? wskaza?, jak po??czy? nowe wirtualne urz?dzenie sieciowe do sieci " +"gospodarza." #: ../src/vmm-add-hardware.glade.h:58 msgid "" "Please indicate what kind of pointer device to connect to the virtual " "machine." msgstr "" -"Wska?, jakim typem urz?dzenia wska?nika po??czy? si? z maszyn? wirtualn?." +"Prosz? wskaza?, jakim typem urz?dzenia wska?nika po??czy? si? z maszyn? " +"wirtualn?." #: ../src/vmm-add-hardware.glade.h:59 msgid "" "Please indicate what physical device\n" "to connect to the virtual machine." msgstr "" -"Wska?, kt?re urz?dzenie fizyczne\n" +"Prosz? wskaza?, kt?re urz?dzenie fizyczne\n" "po??czy? z maszyn? wirtualn?." #: ../src/vmm-add-hardware.glade.h:61 msgid "" "Please indicate what sound device type to connect to the virtual machine." msgstr "" -"Wska?, jakim typem urz?dzenia d?wi?kowego po??czy? si? z maszyn? wirtualn?." +"Prosz? wskaza?, jakim typem urz?dzenia d?wi?kowego po??czy? si? z maszyn? " +"wirtualn?." #: ../src/vmm-add-hardware.glade.h:62 msgid "" "Please indicate what video device type\n" "to connect to the virtual machine." msgstr "" -"Wska?, jakim typem urz?dzenia graficznego\n" +"Prosz? wskaza?, jakim typem urz?dzenia graficznego\n" "po??czy? si? z maszyn? wirtualn?." #: ../src/vmm-add-hardware.glade.h:66 @@ -2288,12 +2290,12 @@ "This assistant will guide you through adding a new piece of virtual " "hardware. First select what type of hardware you wish to add:" msgstr "" -"Ten asystent przeprowadzi ci? przez dodawanie nowego sprz?tu wirtualnego. " -"Najpierw wybierz typ sprz?tu, kt?ry chcesz doda?:" +"Ten asystent przeprowadzi u?ytkownika przez dodawanie nowego sprz?tu " +"wirtualnego. Prosz? najpierw wybra? typ sprz?tu do dodania:" #: ../src/vmm-add-hardware.glade.h:69 msgid "Use Telnet:" -msgstr "U?yj telnet:" +msgstr "U?ycie telnetu:" #: ../src/vmm-add-hardware.glade.h:70 msgid "Virtual Network Select" @@ -2346,7 +2348,7 @@ #: ../src/vmm-choose-cd.glade.h:2 msgid "Choose A CD Source Device" -msgstr "Wybierz ?r?d?owe urz?dzenie CD" +msgstr "Wyb?r ?r?d?owego urz?dzenia CD" #: ../src/vmm-choose-cd.glade.h:3 msgid "ISO _Location:" @@ -2358,7 +2360,7 @@ #: ../src/vmm-choose-cd.glade.h:5 msgid "_CD-ROM or DVD" -msgstr "_CD-ROM lub DVD" +msgstr "P?yta _CD-ROM lub DVD" #: ../src/vmm-choose-cd.glade.h:6 msgid "_Device Media:" @@ -2406,7 +2408,7 @@ #: ../src/vmm-clone.glade.h:10 msgid "Clone virtual machine" -msgstr "Sklonuj maszyn? wirtualn?" +msgstr "Sklonowanie maszyny wirtualnej" #: ../src/vmm-clone.glade.h:11 msgid "" @@ -2425,23 +2427,23 @@ #: ../src/vmm-clone.glade.h:15 msgid "Change MAC address" -msgstr "Zmie? adres MAC" +msgstr "Zmiana adresu MAC" #: ../src/vmm-clone.glade.h:16 msgid "Change storage path" -msgstr "Wybierz ?cie?k? pami?ci masowej" +msgstr "Zmiana ?cie?ki pami?ci masowej" #: ../src/vmm-clone.glade.h:17 msgid "Clone Virtual Machine" -msgstr "Sklonuj maszyn? wirtualn?" +msgstr "Sklonowanie maszyny wirtualnej" #: ../src/vmm-clone.glade.h:18 msgid "Create a clone based on:" -msgstr "Utw?rz klona w oparciu o:" +msgstr "Utworzenie klona w oparciu o:" #: ../src/vmm-clone.glade.h:19 msgid "Create a new disk (clone) for the virtual machine" -msgstr "Utw?rz nowy dysk (klona) dla maszyny wirtualnej" +msgstr "Utworzenie nowego dysku (klona) dla maszyny wirtualnej" #: ../src/vmm-clone.glade.h:20 msgid "Existing disk" @@ -2449,7 +2451,7 @@ #: ../src/vmm-clone.glade.h:21 msgid "New MAC:" -msgstr "Nowy MAC:" +msgstr "Nowy adres MAC:" #: ../src/vmm-clone.glade.h:22 msgid "No networking devices" @@ -2469,16 +2471,15 @@ #: ../src/vmm-create-net.glade.h:3 msgid "Forwarding" -msgstr "Przekazywanie" +msgstr "Przekierowywanie" #: ../src/vmm-create-net.glade.h:4 -#, fuzzy msgid "" "Hint: The network should be chosen from one of the IPv4 private " "address ranges. eg 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16" msgstr "" "Wskaz?wka: sie? powinna zosta? wybrana z podanych zakres?w prywatnych " -"adres?w IPv4, np. 10.0.0.0/8, 172.16.0.0/12 lub 192.168.0.0/16" +"adres?w IPv4, np. 10.0.0.0/8, 172.16.0.0/12 lub 192.168.0.0/16." #: ../src/vmm-create-net.glade.h:5 msgid "IPv4 network" @@ -2494,7 +2495,7 @@ "network configuration in virtual machines, these parameters can be left with " "their default values." msgstr "" -"Wskaz?wka: je?li nie chcesz zarezerwowa? niekt?rych adres?w, aby " +"Wskaz?wka: je?li niekt?re adres nie maj? zosta? zastrze?one, aby " "umo?liwi? statyczn? konfiguracj? sieci w maszynie wirtualnej, te parametry " "powinny zosta? z domy?lnymi warto?ciami." @@ -2511,7 +2512,7 @@ "Connecting to " "physical network" msgstr "" -"??czenie si? z " +"??czenie z " "sieci? fizyczn?" #: ../src/vmm-create-net.glade.h:10 @@ -2564,7 +2565,7 @@ #: ../src/vmm-create-net.glade.h:18 msgid "Create a new virtual network" -msgstr "Utw?rz now? sie? wirtualn?" +msgstr "Utworzenie nowej sieci wirtualnej" #: ../src/vmm-create-net.glade.h:19 msgid "DHCP" @@ -2576,7 +2577,7 @@ #: ../src/vmm-create-net.glade.h:21 msgid "Enable DHCP:" -msgstr "" +msgstr "W??czenie DHCP:" #: ../src/vmm-create-net.glade.h:22 msgid "End Address" @@ -2592,11 +2593,11 @@ #: ../src/vmm-create-net.glade.h:25 msgid "Forwarding" -msgstr "Przekazywanie" +msgstr "Przekierowywanie" #: ../src/vmm-create-net.glade.h:26 msgid "Forwarding to physical network" -msgstr "Przekazywanie do sieci fizycznej" +msgstr "Przekierowywanie do sieci fizycznej" #: ../src/vmm-create-net.glade.h:27 msgid "Gateway:" @@ -2640,22 +2641,23 @@ #: ../src/vmm-create-net.glade.h:40 msgid "Please choose a name for your virtual network:" -msgstr "Wybierz nazw? sieci wirtualnej:" +msgstr "Prosz? wybra? nazw? sieci wirtualnej:" #: ../src/vmm-create-net.glade.h:41 msgid "" "Please choose the range of addresses the DHCP server will allocate to " "virtual machines attached to the virtual network." msgstr "" -"Wybierz zakres adres?w, kt?rych serwer DHCP b?dzie przydziela? maszynom " -"wirtualnym pod??czonym do sieci wirtualnej." +"Prosz? wybra? zakres adres?w, kt?rych serwer DHCP b?dzie przydziela? " +"maszynom wirtualnym pod??czonym do sieci wirtualnej." #: ../src/vmm-create-net.glade.h:42 msgid "" "Please indicate whether this virtual network should be connected to the " "physical network." msgstr "" -"Wska?, czy ta sie? wirtualna powinna zosta? po??czona z sieci? fizyczn?." +"Prosz? wskaza?, czy ta sie? wirtualna powinna zosta? po??czona z sieci? " +"fizyczn?." #: ../src/vmm-create-net.glade.h:44 msgid "Size:" @@ -2687,25 +2689,25 @@ "will be asked for some information about the virtual network you'd like to " "create, such as:" msgstr "" -"Ten asystent przeprowadzi ci? przez tworzenie nowej sieci wirtualnej. " -"Zastaniesz poproszony o kilka informacji o sieci wirtualnej, kt?r? chcesz " -"utworzy?, takich jak:" +"Ten asystent przeprowadzi u?ytkownika przez tworzenie nowej sieci " +"wirtualnej. U?ytkownik zastanie poproszony o kilka informacji o sieci " +"wirtualnej, kt?ra ma zosta? utworzona, takich jak:" #: ../src/vmm-create-net.glade.h:52 msgid "Whether to forward traffic to the physical network" -msgstr "Czy przekazywa? ruch do urz?dzenia fizycznego" +msgstr "Czy przekierowywa? ruch do urz?dzenia fizycznego" #: ../src/vmm-create-net.glade.h:53 msgid "You will need to choose an IPv4 address space for the virtual network:" -msgstr "Musisz wybra? przestrze? adres?w IPv4 dla sieci wirtualnej:" +msgstr "Nale?y wybra? przestrze? adres?w IPv4 dla sieci wirtualnej:" #: ../src/vmm-create-pool.glade.h:1 msgid "Add Storage Pool" -msgstr "Dodaj pul? pami?ci masowej" +msgstr "Dodanie puli pami?ci masowej" #: ../src/vmm-create-pool.glade.h:2 msgid "Add a New Storage Pool" -msgstr "Dodaj now? pul? pami?ci masowej" +msgstr "Dodanie nowej puli pami?ci masowej" #: ../src/vmm-create-pool.glade.h:3 msgid "Browse" @@ -2725,7 +2727,7 @@ #: ../src/vmm-create-pool.glade.h:8 msgid "Host Name:" -msgstr "Nazwa hosta:" +msgstr "Nazwa gospodarza:" #: ../src/vmm-create-pool.glade.h:10 ../src/vmm-create-vol.glade.h:23 #: ../src/vmm-create.glade.h:34 ../src/vmm-details.glade.h:67 @@ -2741,8 +2743,8 @@ msgid "" "Specify a storage location to be later split into virtual machine storage." msgstr "" -"Podaj po?o?enie pami?ci masowej, kt?ra ma zosta? p??niej rozdzielona na " -"pami?ci masowe maszyn wirtualnych." +"Prosz? poda? po?o?enie pami?ci masowej, kt?ra ma zosta? p??niej rozdzielona " +"na pami?ci masowe maszyn wirtualnych." #: ../src/vmm-create-pool.glade.h:13 msgid "Step 1 of 2" @@ -2758,7 +2760,7 @@ #: ../src/vmm-create-vol.glade.h:1 msgid "Storage Volume Quota" -msgstr "Quota woluminu pami?ci masowej" +msgstr "Przydzia? woluminu pami?ci masowej" #: ../src/vmm-create-vol.glade.h:2 msgid "" @@ -2797,7 +2799,7 @@ #: ../src/vmm-create-vol.glade.h:17 msgid "Add a Storage Volume" -msgstr "Dodaj wolumin pami?ci masowej" +msgstr "Dodanie woluminu pami?ci masowej" #: ../src/vmm-create-vol.glade.h:18 msgid "Allocation:" @@ -2806,8 +2808,8 @@ #: ../src/vmm-create-vol.glade.h:19 msgid "Create a storage unit that can be used directly by a virtual machine." msgstr "" -"Utw?rz jednostk? pami?ci masowej, kt?ra mo?e by? u?ywana bezpo?rednio przez " -"maszyn? wirtualn?." +"Utworzenie jednostki pami?ci masowej, kt?ra mo?e by? u?ywana bezpo?rednio " +"przez maszyn? wirtualn?." #: ../src/vmm-create-vol.glade.h:22 msgid "Max Capacity:" @@ -2815,11 +2817,11 @@ #: ../src/vmm-create-vol.glade.h:25 msgid "available space:" -msgstr "dost?pna przestrze?:" +msgstr "dost?pne miejsce:" #: ../src/vmm-create.glade.h:1 msgid "(Insert host mem)" -msgstr "(Podaj pami?? hosta)" +msgstr "(Prosz? poda? pami?? gospodarza)" #: ../src/vmm-create.glade.h:2 msgid "CPUs:" @@ -2839,7 +2841,8 @@ #: ../src/vmm-create.glade.h:7 msgid "Create a new virtual machine" -msgstr "Utw?rz now? maszyn? wirtualn?" +msgstr "" +"Utworzenie nowej maszyny wirtualnej" #: ../src/vmm-create.glade.h:8 msgid "Advanced options" @@ -2847,7 +2850,7 @@ #: ../src/vmm-create.glade.h:9 msgid "Allocate entire disk now" -msgstr "Przydziel teraz ca?y dysk" +msgstr "Przydzielenie ca?ego dysku" #: ../src/vmm-create.glade.h:10 ../src/vmm-details.glade.h:24 #: ../src/vmm-host.glade.h:9 @@ -2856,7 +2859,8 @@ #: ../src/vmm-create.glade.h:11 msgid "Automatically detect operating system based on install media" -msgstr "Automatycznie wykryj system operacyjny, w oparciu o no?nik instalacji" +msgstr "" +"Automatyczne wykrywanie systemu operacyjny, w oparciu o no?nik instalacji" #: ../src/vmm-create.glade.h:13 msgid "CPUs:" @@ -2864,15 +2868,15 @@ #: ../src/vmm-create.glade.h:14 msgid "Choose Memory and CPU settings" -msgstr "Wybierz ustawienia pami?ci i procesora" +msgstr "Prosz? wybra? ustawienia pami?ci i procesora" #: ../src/vmm-create.glade.h:15 msgid "Choose an operating systen type and version" -msgstr "Wybierz typ i wersj? systemu operacyjnego" +msgstr "Prosz? wybra? typ i wersj? systemu operacyjnego" #: ../src/vmm-create.glade.h:16 msgid "Choose how you would like to install the operating system" -msgstr "Wska?, jak chcesz zainstalowa? system operacyjny" +msgstr "Prosz? wybra?, jak zainstalowa? system operacyjny" #: ../src/vmm-create.glade.h:17 ../src/vmm-host.glade.h:13 #: ../src/vmm-open-connection.glade.h:6 @@ -2881,19 +2885,19 @@ #: ../src/vmm-create.glade.h:18 msgid "Create a disk image on the computer's hard drive" -msgstr "Utw?rz obraz dysku na dysku twardym komputera" +msgstr "Utworzenie obrazu dysku na dysku twardym komputera" #: ../src/vmm-create.glade.h:19 msgid "Enable storage for this virtual machine" -msgstr "W??cz pami?? masow? dla tej maszyny wirtualnej" +msgstr "W??czenie pami?ci masowej dla tej maszyny wirtualnej" #: ../src/vmm-create.glade.h:20 msgid "Enter your virtual machine details" -msgstr "Podaj szczeg??y maszyny wirtualnej" +msgstr "Prosz? poda? szczeg??y maszyny wirtualnej" #: ../src/vmm-create.glade.h:21 msgid "Error message" -msgstr "" +msgstr "Komunikat b??du" #: ../src/vmm-create.glade.h:23 msgid "GB" @@ -2905,7 +2909,7 @@ #: ../src/vmm-create.glade.h:25 msgid "Install" -msgstr "Zainstaluj" +msgstr "Instalacja" #: ../src/vmm-create.glade.h:26 msgid "Kernel Options:" @@ -2917,11 +2921,11 @@ #: ../src/vmm-create.glade.h:28 msgid "Local install media (ISO image or CDROM)" -msgstr "Lokalny no?nik instalacji (obraz ISO lub CD-ROM)" +msgstr "Lokalny no?nik instalacji (obraz ISO lub p?yta CD-ROM)" #: ../src/vmm-create.glade.h:29 msgid "Locate your install media" -msgstr "Ustal po?o?enie no?nika instalacyjnego" +msgstr "Ustalenie po?o?enia no?nika instalacji" #: ../src/vmm-create.glade.h:31 msgid "Memory" @@ -2953,15 +2957,15 @@ #: ../src/vmm-create.glade.h:40 msgid "Provide the operating system URL" -msgstr "Podaj URL do systemu operacyjnego" +msgstr "Prosz? poda? adres URL systemu operacyjnego" #: ../src/vmm-create.glade.h:41 msgid "Select managed or other existing storage" -msgstr "Wybierz zarz?dzan? lub inn? istniej?c? pami?? masow?" +msgstr "Prosz? wybra? zarz?dzan? lub inn? istniej?c? pami?? masow?" #: ../src/vmm-create.glade.h:42 msgid "Set a fixed mac address" -msgstr "Ustaw sta?y adres MAC" +msgstr "Ustawienie sta?ego adresu MAC" #: ../src/vmm-create.glade.h:44 msgid "URL" @@ -2973,11 +2977,11 @@ #: ../src/vmm-create.glade.h:46 msgid "Use CDROM or DVD" -msgstr "U?yj CD-ROM lub DVD" +msgstr "U?ycie p?yty CD-ROM lub DVD" #: ../src/vmm-create.glade.h:47 msgid "Use ISO image:" -msgstr "U?yj obrazu ISO:" +msgstr "U?ycie obrazu ISO:" #: ../src/vmm-create.glade.h:48 msgid "Version:" @@ -2993,7 +2997,7 @@ #: ../src/vmm-delete.glade.h:2 msgid "Delete associated storage files" -msgstr "Usu? powi?zane pliki pami?ci masowej" +msgstr "Usuni?cie powi?zanych plik?w pami?ci masowej" #: ../src/vmm-details.glade.h:1 msgid "" @@ -3045,7 +3049,7 @@ "the host OS." msgstr "" "Wskaz?wka: \"urz?dzenie ?r?d?owe\" odnosi si? do nazwy urz?dzenia " -"widzianego z systemu operacyjnego hosta." +"widzianego z systemu operacyjnego gospodarza." #: ../src/vmm-details.glade.h:14 msgid "" @@ -3053,7 +3057,7 @@ "'target' refers to information seen from the guest OS" msgstr "" "Wskaz?wka: \"?r?d?o\" odnosi si? do informacji o systemie operacyjnym " -"hosta, a \"cel\" do informacji o systemie operacyjnym go?cia" +"gospodarza, a \"cel\" do informacji o systemie operacyjnym go?cia" #: ../src/vmm-details.glade.h:15 msgid "" @@ -3072,7 +3076,7 @@ msgstr "" "Wskaz?wka: W celu uzyskania najlepszej wydajno?ci liczba wirtualnych " "procesor?w powinna by? ni?sza ni? (lub r?wna) liczbie fizycznych procesor?w " -"w systemie hosta." +"w systemie gospodarza." #: ../src/vmm-details.glade.h:17 msgid "Virtual Disk" @@ -3092,7 +3096,7 @@ #: ../src/vmm-details.glade.h:21 msgid "insert type" -msgstr "wstaw typ" +msgstr "prosz? poda? typ" #: ../src/vmm-details.glade.h:23 msgid "Always" @@ -3120,7 +3124,7 @@ #: ../src/vmm-details.glade.h:30 msgid "Change allocation:" -msgstr "Zmie? przydzia?:" +msgstr "Zmiana przydzia?u:" #: ../src/vmm-details.glade.h:31 msgid "Char" @@ -3180,7 +3184,7 @@ #: ../src/vmm-details.glade.h:48 msgid "Host CPUs:" -msgstr "Procesory hosta:" +msgstr "Procesory gospodarza:" #: ../src/vmm-details.glade.h:49 msgid "How many virtual CPUs should be allocated for this machine?" @@ -3281,11 +3285,11 @@ #: ../src/vmm-details.glade.h:84 msgid "Save this password in your keyring" -msgstr "Zapisz to has?o w pliku kluczy" +msgstr "Zapisanie has?a w bazie kluczy" #: ../src/vmm-details.glade.h:85 msgid "Scale Display" -msgstr "Skaluj ekran" +msgstr "Skalowanie ekranu" #: ../src/vmm-details.glade.h:86 msgid "Screenshot" @@ -3293,7 +3297,7 @@ #: ../src/vmm-details.glade.h:87 msgid "Send Key" -msgstr "Wy?lij klawisz" +msgstr "Wys?anie klawisza" #: ../src/vmm-details.glade.h:88 msgid "Shut Down" @@ -3325,7 +3329,7 @@ #: ../src/vmm-details.glade.h:97 msgid "Start virtual machine on host boot up" -msgstr "Uruchom maszyn? wirtualn? podczas uruchamiania hosta" +msgstr "Uruchamianie maszyny wirtualnej podczas uruchamiania gospodarza" #: ../src/vmm-details.glade.h:98 msgid "Static" @@ -3357,7 +3361,7 @@ #: ../src/vmm-details.glade.h:106 msgid "Total memory on host machine:" -msgstr "Ca?kowita pami?? w maszynie hosta:" +msgstr "Ca?kowita pami?? w komputerze gospodarza:" #: ../src/vmm-details.glade.h:108 msgid "UUID:" @@ -3381,7 +3385,7 @@ #: ../src/vmm-details.glade.h:113 msgid "View Manager" -msgstr "Wy?wietl mened?era" +msgstr "Wy?wietlenie mened?era" #: ../src/vmm-details.glade.h:114 msgid "Virtual CPU Affinity Select" @@ -3479,15 +3483,15 @@ #: ../src/vmm-host.glade.h:20 msgid "Forwarding:" -msgstr "Przekazywanie:" +msgstr "Przekierowywanie:" #: ../src/vmm-host.glade.h:21 ../src/vmm-manager.glade.h:4 msgid "Host Details" -msgstr "Szczeg??y hosta" +msgstr "Szczeg??y gospodarza" #: ../src/vmm-host.glade.h:22 ../src/vmm-open-connection.glade.h:8 msgid "Hostname:" -msgstr "Nazwa hosta:" +msgstr "Nazwa gospodarza:" #: ../src/vmm-host.glade.h:24 msgid "Location:" @@ -3551,7 +3555,7 @@ #: ../src/vmm-manager.glade.h:6 msgid "Restore a saved machine from a filesystem image" -msgstr "Przywr?? zapisan? maszyn? z obrazu systemu plik?w" +msgstr "Przywr?cenie zapisanej maszyny z obrazu systemu plik?w" #: ../src/vmm-manager.glade.h:8 msgid "_Edit" @@ -3591,7 +3595,7 @@ #: ../src/vmm-open-connection.glade.h:7 msgid "Hostname Field" -msgstr "Pole nazwy hosta" +msgstr "Pole nazwy gospodarza" #: ../src/vmm-open-connection.glade.h:9 msgid "Hypervisor Select" @@ -3623,7 +3627,7 @@ #: ../src/vmm-preferences.glade.h:2 msgid "Enable Stats Polling" -msgstr "W??cz sonda? statystyk" +msgstr "W??czenie sonda?u statystyk" #: ../src/vmm-preferences.glade.h:3 msgid "General" @@ -3639,11 +3643,11 @@ #: ../src/vmm-preferences.glade.h:6 msgid "Automatically open consoles:" -msgstr "Automatycznie otw?rz konsole:" +msgstr "Automatyczne otwarcie konsol:" #: ../src/vmm-preferences.glade.h:8 msgid "Enable system tray icon" -msgstr "W??cz ikon? obszaru powiadamiania" +msgstr "Ikona obszaru powiadamiania" #: ../src/vmm-preferences.glade.h:9 msgid "General" @@ -3651,7 +3655,7 @@ #: ../src/vmm-preferences.glade.h:10 msgid "Grab keyboard input:" -msgstr "Przechwy? wej?cie klawiatury:" +msgstr "Przechwycenie wej?cia klawiatury:" #: ../src/vmm-preferences.glade.h:11 msgid "Graphical Console Scaling:" @@ -3667,7 +3671,7 @@ #: ../src/vmm-preferences.glade.h:14 msgid "Maintain history of" -msgstr "Zarz?dzaj histori?" +msgstr "Zarz?dzanie histori?" #: ../src/vmm-preferences.glade.h:16 msgid "" @@ -3696,7 +3700,7 @@ "On mouse over" msgstr "" "Nigdy\n" -"Kiedy jest na pe?nym ekranie\n" +"Na pe?nym ekranie\n" "Przy najechaniu mysz?" #: ../src/vmm-preferences.glade.h:25 @@ -3709,7 +3713,7 @@ #: ../src/vmm-preferences.glade.h:28 msgid "Update status every" -msgstr "Zaktualizuj stan co" +msgstr "Aktualizacja stanu co" #: ../src/vmm-preferences.glade.h:29 msgid "VM Details" @@ -3725,7 +3729,7 @@ #: ../src/vmm-storage-browse.glade.h:1 msgid "Choose Storage Volume" -msgstr "Wybierz wolumin pami?ci masowej" +msgstr "Wyb?r woluminu pami?ci masowej" #: ../src/vmm-storage-browse.glade.h:2 msgid "Choose _Volume" @@ -3738,33 +3742,3 @@ #: ../src/vmm-storage-browse.glade.h:4 msgid "_New Volume" msgstr "_Nowy wolumin" - -#~ msgid "gtk-cancel" -#~ msgstr "gtk-cancel" - -#~ msgid "gtk-help" -#~ msgstr "gtk-help" - -#~ msgid "gtk-ok" -#~ msgstr "gtk-ok" - -#~ msgid "Create _Volume" -#~ msgstr "Utw?rz _wolumin" - -#~ msgid "gtk-delete" -#~ msgstr "gtk-delete" - -#~ msgid "_Contents" -#~ msgstr "_Zawarto??" - -#~ msgid "Add Connection..." -#~ msgstr "Dodaj po??czenie..." - -#~ msgid "Delete Virtual Machine" -#~ msgstr "Usu? maszyn? wirtualn?" - -#~ msgid "Restore saved machine..." -#~ msgstr "Przywr?? zapisan? maszyn?..." - -#~ msgid "Virtual Machine Details" -#~ msgstr "Szczeg??y maszyny wirtualnej" Index: virt-manager.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-manager/devel/virt-manager.spec,v retrieving revision 1.61 retrieving revision 1.62 diff -u -p -r1.61 -r1.62 --- virt-manager.spec 29 Sep 2009 19:37:26 -0000 1.61 +++ virt-manager.spec 5 Oct 2009 14:19:29 -0000 1.62 @@ -8,7 +8,7 @@ Name: virt-manager Version: 0.8.0 -Release: 6%{_extra_release} +Release: 7%{_extra_release} Summary: Virtual Machine Manager Group: Applications/Emulators @@ -48,6 +48,8 @@ Patch12: %{name}-%{version}-hide-help-do Patch13: %{name}-%{version}-update-vm-state.patch # Update translations (bz 493795) Patch14: %{name}-%{version}-update-translations.patch +# More translations (bz 493795) +Patch15: %{name}-%{version}-more-translations.patch # These two are just the oldest version tested Requires: pygtk2 >= 1.99.12-6 @@ -129,6 +131,7 @@ cp %{SOURCE3} pixmaps %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %build %configure @@ -202,6 +205,9 @@ fi %{_datadir}/dbus-1/services/%{name}.service %changelog +* Mon Oct 05 2009 Cole Robinson - 0.8.0-7.fc13 +- More translations (bz 493795) + * Tue Sep 29 2009 Cole Robinson - 0.8.0-6.fc13 - Fix VCPU hotplug - Remove access to outdated docs (bz 522823, bz 524805) From crobinso at fedoraproject.org Mon Oct 5 14:21:23 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 14:21:23 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/devel virtinst-0.500.0-more-translations.patch, NONE, 1.1 python-virtinst.spec, 1.73, 1.74 Message-ID: <20091005142123.05D0711C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32403 Modified Files: python-virtinst.spec Added Files: virtinst-0.500.0-more-translations.patch Log Message: Update translations (bz 493795) virtinst-0.500.0-more-translations.patch: es.po | 1390 ++++++++++++++++++++++++------------------------------------------ it.po | 556 ++++++-------------------- pl.po | 581 ++++++++++++--------------- 3 files changed, 932 insertions(+), 1595 deletions(-) --- NEW FILE virtinst-0.500.0-more-translations.patch --- # HG changeset patch # User Cole Robinson # Date 1254751649 14400 # Node ID 419a9fbd63b3f8d6b1d310c1eb2b2f09995311d2 # Parent 30700fede5b629cab255ffb000f79b230c0bbf27 Updated translations. diff -r 30700fede5b6 -r 419a9fbd63b3 po/es.po --- a/po/es.po Mon Sep 28 14:13:35 2009 -0400 +++ b/po/es.po Mon Oct 05 10:07:29 2009 -0400 @@ -1,67 +1,68 @@ +# translation of virt-inst.tip.es.po to Spanish # Fedora Spanish Translation of virtinst. # This file is distributed under the same license as the virtinst package. # +# # H?ctor Daniel Cabrera , 2009. -# +# Gladys Guerrero Lozano , 2009. msgid "" msgstr "" -"Project-Id-Version: Fedora Spanish Translation of virtinst\n" +"Project-Id-Version: virt-inst.tip.es\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-07-28 20:34-0400\n" -"PO-Revision-Date: 2009-01-20 13:06-0300\n" -"Last-Translator: h?ctor daniel cabrera \n" +"PO-Revision-Date: 2009-08-21 10:48-0300\n" +"Last-Translator: Domingo Becker \n" "Language-Team: Fedora Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"X-Poedit-Language: Spanish\n" #: virtinst/CapabilitiesParser.py:172 -#, fuzzy, python-format +#, python-format msgid "No domains available for virt type '%(type)s', arch %(arch)s." -msgstr "No existen dominios disponibles para este hu?sped." +msgstr "No existen dominios disponibles para '%(type)s', arquitectura %(arch)s de virtualizaci?n." #: virtinst/CapabilitiesParser.py:412 #, python-format msgid "for arch '%s'" -msgstr "para arq '%s'" +msgstr "para arquitectura '%s'" #: virtinst/CapabilitiesParser.py:416 -#, fuzzy, python-format +#, python-format msgid "virtualization type '%s'" msgstr "Tipo de virtualizaci?n '%s' no soportada" #: virtinst/CapabilitiesParser.py:418 -#, fuzzy msgid "any virtualization options" -msgstr "Opciones del Tipo de Virtualizaci?n" +msgstr "Opciones de Virtualizaci?n" #: virtinst/CapabilitiesParser.py:420 #, python-format msgid "Host does not support %(virttype)s %(arch)s" -msgstr "" +msgstr "El host no soporta %(virttype)s %(arch)s" #: virtinst/CapabilitiesParser.py:433 #, python-format -msgid "" -"Host does not support domain type '%(domain)s' for virtualization type '%" -"(virttype)s' arch '%(arch)s'" -msgstr "" +msgid "Host does not support domain type '%(domain)s' for virtualization type '%(virttype)s' arch '%(arch)s'" +msgstr "El host no soporta tipo de dominio '%(domain)s' para tipo de virtualizaci?n '%(virttype)s' arch '%(arch)s'" #: virtinst/cli.py:152 msgid "Exiting at user request." -msgstr "Saliendo a pedido del usuario." +msgstr "Salida a petici?n del usuario." #: virtinst/cli.py:159 msgid "Must be root to create Xen guests" -msgstr "Debe ser root para poder crear un hu?sped Xen" +msgstr "Se debe ser root para poder crear un hu?sped Xen" #: virtinst/cli.py:297 msgid "(use --prompt to run interactively)" -msgstr "" +msgstr "(use --prompt para ejecutar de modo interactivo)" #: virtinst/cli.py:317 msgid " (Use --prompt or --force to override)" -msgstr "" +msgstr " (Use --prompt o --force para sobrescribir)" #: virtinst/cli.py:352 msgid "Graphics Configuration" @@ -77,12 +78,11 @@ #: virtinst/cli.py:358 msgid "Address to listen on for VNC connections." -msgstr "" +msgstr "Direcci?n para escuchar conexiones VNC" #: virtinst/cli.py:361 -#, fuzzy msgid "set up keymap for the VNC console" -msgstr "define un mapa de teclado para una consola gr?fica" +msgstr "definir un mapa de teclado para la consola VNC" #: virtinst/cli.py:363 msgid "Use SDL for graphics support" @@ -90,42 +90,37 @@ #: virtinst/cli.py:365 msgid "Don't set up a graphical console for the guest." -msgstr "No configura una consola gr?fica para el hu?sped." +msgstr "No configurar una consola gr?fica para el hu?sped." #: virtinst/cli.py:388 -#, fuzzy msgid "A disk path must be specified." -msgstr "Se debe especificar, o bien grupo, o bien pool_name." +msgstr "Se debe especificar la ruta de disco." #: virtinst/cli.py:390 -#, fuzzy msgid "What would you like to use as the disk (file path)?" -msgstr "?Qu? (ruta de archivo) le gustar?a utilizar para el disco clonado?" +msgstr "?Qu? (ruta de archivo) le gustar?a utilizar para el disco?" #: virtinst/cli.py:392 #, python-format -msgid "" -"Please enter the path to the file you would like to use for storage. It will " -"have size %sGB." -msgstr "" +msgid "Please enter the path to the file you would like to use for storage. It will have size %sGB." +msgstr "Por favor entre la ruta al archivo en el que desea guardar la informaci?n. Tendr? un tama?o de %sGB." #: virtinst/cli.py:401 -#, fuzzy msgid "A size must be specified for non-existent disks." -msgstr "Un tama?o debe ser especificado para rutas no existentes: '%s'" +msgstr "Se debe especificar el tama?o para discos no existentes." #: virtinst/cli.py:403 #, python-format msgid "How large would you like the disk (%s) to be (in gigabytes)?" -msgstr "" +msgstr "?Qu? tan grande le gustar?a que fuera el disco (%s) en GB?" -#: virtinst/cli.py:424 virt-install:274 +#: virtinst/cli.py:424 +#: virt-install:274 #, python-format msgid "Error with storage parameters: %s" msgstr "Error en los par?metros de almacenamiento: %s" #: virtinst/cli.py:426 -#, fuzzy msgid "Do you really want to use this disk (yes or no)" msgstr "?Realmente quiere utilizar este disco (si o no)?" @@ -140,9 +135,8 @@ msgstr "?El disco %s ya est? siendo utilizado por otro hu?sped!\n" #: virtinst/cli.py:464 -#, fuzzy msgid "What is the name of your virtual machine?" -msgstr "?Cu?l es el nombre de la m?quina virtual clonada?" +msgstr "?Cu?l es el nombre de la m?quina virtual?" #: virtinst/cli.py:465 msgid "A name is required for the virtual machine." @@ -150,7 +144,7 @@ #: virtinst/cli.py:472 msgid "How much RAM should be allocated (in megabytes)?" -msgstr "" +msgstr "?Cu?nta RAM deber?a ser asignada en MB?" #: virtinst/cli.py:473 msgid "Memory amount is required for the virtual machine." @@ -159,34 +153,29 @@ #: virtinst/cli.py:477 #, python-format msgid "Installs currently require %d megs of RAM." -msgstr "La instalaci?n actualmente requiere %d megas de RAM." +msgstr "La instalaci?n actualmente requiere %d MB de RAM." #: virtinst/cli.py:498 -#, fuzzy, python-format -msgid "" -"You have asked for more virtual CPUs (%d) than there are physical CPUs (%d) " -"on the host. This will work, but performance will be poor. " -msgstr "" -"Ha pedido m?s CPUs virtuales (%d) que los CPUs f?sicos (%d) en el anfitri?n. " [...5003 lines suppressed...] @@ -2137,10 +2136,14 @@ "--disk path=/my/new/disk,size=5 (in gigabytes)\n" "--disk vol=poolname:volname,device=cdrom,bus=scsi,..." msgstr "" +"Nale?y poda? pami?? masow? za pomoc? r??nych opcji. Np.:\n" +"--disk path=/m?j/istniej?cy/dysk\n" +"--disk path=/m?j/nowy/dysk,size=5 (w gigabajtach)\n" +"--disk vol=nazwa_puli:nazwa_woluminu,device=cdrom,bus=scsi,..." #: virt-install:596 msgid "Don't set up any disks for the guest." -msgstr "Nie ustawiaj ?adnych dysk?w dla go?cia." +msgstr "Nie ustawia ?adnych dysk?w dla go?cia." #: virt-install:613 msgid "" @@ -2149,22 +2152,26 @@ "--network network=my_libvirt_virtual_net\n" "--network network=mynet,model=virtio,mac=00:11..." msgstr "" +"Nale?y poda? interfejs sieciowy. Np.:\n" +"--network bridge=m?j_mostek0\n" +"--network network=moja_wirtualna_sie?_libvirt\n" +"--network network=moja_sie?,model=virtio,mac=00:11..." #: virt-install:618 msgid "Don't create network interfaces for the guest." -msgstr "Nie tw?rz interfejs?w sieciowych dla go?cia." +msgstr "Nie tworzy interfejs?w sieciowych dla go?cia." #: virt-install:632 msgid "Specify video hardware type." -msgstr "" +msgstr "Podaje typ sprz?tu graficznego." #: virt-install:635 msgid "Don't automatically try to connect to the guest console" -msgstr "Nie pr?buj automatycznie ??czy? si? z konsol? go?cia" +msgstr "Nie pr?buje automatycznie ??czy? si? z konsol? go?cia" #: virt-install:643 msgid "Disables the automatic rebooting when the installation is complete." -msgstr "Wy??cza automatyczne ponowne uruchamianie po zako?czeniu instalacji." +msgstr "Wy??cza automatyczne ponowne uruchamianie po uko?czeniu instalacji." #: virt-install:646 msgid "Time to wait (in minutes)" @@ -2174,15 +2181,15 @@ msgid "Forces 'yes' for any applicable prompts, terminates for all others" msgstr "" "Wymusza \"tak\" tam, gdzie to mo?liwe, ko?czy prac? przy wszystkich innych " -"pro?bach" +"??daniach" #: virt-install:671 msgid "" "Unable to connect to graphical console: virt-viewer not installed. Please " "install the 'virt-viewer' package." msgstr "" -"Nie mo?na po??czy? si? z konsol? graficzn?: nie zainstalowano virt-viewer. " -"Zainstaluj pakiet \"virt-viewer\"." +"Nie mo?na po??czy? si? z konsol? graficzn?: nie zainstalowano pakietu " +"virt-viewer. Prosz? zainstalowa? pakiet \"virt-viewer\"." #: virt-install:713 msgid "Can't use --pxe with --nonetworks" @@ -2207,9 +2214,9 @@ " restart your installation." msgstr "" "Instalacja domeny chyba nie powiod?a si?. Je?li jednak\n" -" powiod?a si?, mo?esz ponownie uruchomi? domen?\n" -" uruchamiaj?c \"virsh start %s\"; w innym przypadku\n" -" uruchom ponownie instalacj?." +" powiod?a si?, mo?na ponownie uruchomi? domen?\n" +" wykonuj?c \"virsh start %s\"; w innym przypadku\n" +" prosz? ponownie uruchomi? instalacj?." #: virt-install:840 #, python-format @@ -2217,12 +2224,12 @@ "Guest installation complete... you can restart your domain\n" "by running 'virsh start %s'" msgstr "" -"Instalacja go?cia zosta?a zako?czona... Mo?na ponownie\n" +"Instalacja go?cia zosta?a uko?czona... Mo?na ponownie\n" "uruchomi? domen? wykonuj?c \"virsh start %s\"" #: virt-install:844 msgid "Guest installation complete... restarting guest." -msgstr "Instalacja go?cia zosta?a zako?czona... Ponowne uruchamianie go?cia." +msgstr "Instalacja go?cia zosta?a uko?czona... Ponowne uruchamianie go?cia." #: virt-install:850 msgid "Guest install interrupted." @@ -2237,9 +2244,9 @@ " restart your installation." msgstr "" "Instalacja domeny chyba si? nie powiod?a. Je?li jednak\n" -" powiod?a si?, mo?esz ponownie uruchomi? domen?\n" -" uruchamiaj?c \"virsh start %s\"; w innym przypadku\n" -" uruchom ponownie instalacj?." +" powiod?a si?, mo?na ponownie uruchomi? domen?\n" +" wykonuj?c \"virsh start %s\"; w innym przypadku\n" +" prosz? ponownie uruchomi? instalacj?." #: virt-install:883 msgid "Guest installation failed." @@ -2251,13 +2258,12 @@ msgstr "%d minuty " #: virt-install:895 -#, fuzzy, python-format +#, python-format msgid "" "Domain installation still in progress. Waiting %sfor installation to " "complete." msgstr "" -"Wci?? trwa instalacja domeny. Oczekiwanie %s na domen?, aby zako?czy? " -"instalacj?." +"Wci?? trwa instalacja domeny. Oczekiwanie %s na uko?czenie instalacji." #: virt-install:901 msgid "Domain has shutdown. Continuing." @@ -2271,73 +2277,12 @@ #: virt-install:915 msgid "Installation has exceeded specified time limit. Exiting application." msgstr "" -"Instalacja przekroczy?a podane ograniczenie czasu. Zamykanie aplikacji." +"Instalacja przekroczy?a podane ograniczenie czasu. Ko?czenie pracy aplikacji." #: virt-install:921 msgid "" "Domain installation still in progress. You can reconnect to \n" "the console to complete the installation process." msgstr "" -"Trwa instalacja domeny. Mo?esz ponownie po??czy? si? z \n" -"konsol?, aby zako?czy? proces instalacji." - -#~ msgid "Could not find usable default libvirt connection." -#~ msgstr "Nie mo?na znale?? u?ywalnego domy?lnego po??czenia libvirt." - -#~ msgid "Unknown network type " -#~ msgstr "Nieznany typ sieci " - -#~ msgid "Need to pass equal numbers of networks & mac addresses" -#~ msgstr "Nale?y poda? r?wn? liczb? sieci i adres?w MAC" - -#~ msgid "Cannot clone remote VM storage." -#~ msgstr "Nie mo?na sklonowa? pami?ci masowej zdalnej maszyny wirtualnej." - -#~ msgid "Missing path to use as disk clone destination for '%s'" -#~ msgstr "Brak ?cie?ki do u?ycia jako celu klonowania dysku dla \"%s\"" - -#~ msgid "Could not determine storage type for '%s'" -#~ msgstr "Nie mo?na ustali? typu pami?ci masowej dla \"%s\"" - -#~ msgid "Disk volume creation is not implemented." -#~ msgstr "Tworzenie wolumin?w dysku nie jest zaimplementowane." - -#~ msgid "" -#~ "Bridge to connect guest NIC to; if none given, will try to determine the " -#~ "default" -#~ msgstr "" -#~ "Mostek do ??czenia NIC go?cia; je?li ?aden nie zostanie podany, spr?buje " -#~ "ustali? domy?lny" - -#~ msgid "" -#~ "Connect the guest to a virtual network, forwarding to the physical " -#~ "network with NAT" -#~ msgstr "" -#~ "Po??cz go?cia z sieci? wirtualn?, przekazywan? do sieci fizycznej za " -#~ "pomoc? NAT" - -#~ msgid "" -#~ "Fixed MAC address for the guest; if none or RANDOM is given a random " -#~ "address will be used" -#~ msgstr "" -#~ "Sta?y adres MAC dla go?cia; je?li ?aden nie zostanie podany lub podasz " -#~ "RANDOM, u?yty zostanie losowy adres" - -#~ msgid "Use kernel acceleration capabilities (kvm, kqemu, ...)" -#~ msgstr "U?yj mo?liwo?ci akceleracji j?dra (kvm, kqemu...)" - -#~ msgid "Specify storage to use as a disk with various options." -#~ msgstr "Podaj pami?? masow? u?yt? jako dysk za pomoc? r??nych opcji." - -#~ msgid "File to use as the disk image" -#~ msgstr "U?ycie obrazu dysku nie powiod?o si?" - -#~ msgid "Size of the disk image (if it doesn't exist) in gigabytes" -#~ msgstr "Rozmiar obrazu dysku (je?li nie istnieje) w gigabajtach" - -#~ msgid "" -#~ "Don't use sparse files for disks. Note that this will be significantly " -#~ "slower for guest creation" -#~ msgstr "" -#~ "Nie u?ywaj plik?w sparse dla dysk?w. Zauwa?, ?e znacznie spowolni to " -#~ "tworzenie go?cia" +"Trwa instalacja domeny. Mo?na ponownie po??czy? si? z \n" +"konsol?, aby uko?czy? proces instalacji." Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/devel/python-virtinst.spec,v retrieving revision 1.73 retrieving revision 1.74 diff -u -p -r1.73 -r1.74 --- python-virtinst.spec 24 Sep 2009 13:55:17 -0000 1.73 +++ python-virtinst.spec 5 Oct 2009 14:21:22 -0000 1.74 @@ -17,7 +17,7 @@ Summary: Python modules and utilities for installing virtual machines Name: python-%{appname} Version: 0.500.0 -Release: 4%{_extra_release} +Release: 5%{_extra_release} Source0: http://virt-manager.org/download/sources/%{appname}/%{appname}-%{version}.tar.gz # Don't erroneously set limit for amount of virtio devices (bz 499654) Patch1: %{appname}-%{version}-virtio-dev-limit.patch @@ -39,6 +39,8 @@ Patch8: %{appname}-%{version}-nonroot-qe Patch9: %{appname}-%{version}-no-iso-driver.patch # Fix path permissions for kernel/initrd download location (bz 523960) Patch10: %{appname}-%{version}-change-path-perms.patch +# Update translations (bz 493795) +Patch11: %{appname}-%{version}-more-translations.patch License: GPLv2+ Group: Development/Libraries @@ -76,6 +78,7 @@ and install new VMs) and virt-clone (clo %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 %build python setup.py build @@ -111,6 +114,9 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/virt-convert %changelog +* Mon Oct 05 2009 Cole Robinson - 0.500.0-5.fc12 +- Update translations (bz 493795) + * Thu Sep 24 2009 Cole Robinson - 0.500.0-4.fc12 - Don't use usermode net for non-root qemu:///system via virt-install - Fix cdrom installs where the iso is a storage volume (bz 524109) From markmc at fedoraproject.org Mon Oct 5 14:26:45 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 14:26:45 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu.spec,1.137,1.138 Message-ID: <20091005142645.BEC7711C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2165 Modified Files: qemu.spec Log Message: * Mon Oct 5 2009 Mark McLoughlin - 2:0.11.0-4 - Use rtl8029 PXE rom for ne2k_pci, not ne (#526777) - Also, replace the gpxe-roms-qemu pkg requires with file-based requires Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.137 retrieving revision 1.138 diff -u -p -r1.137 -r1.138 --- qemu.spec 1 Oct 2009 22:38:01 -0000 1.137 +++ qemu.spec 5 Oct 2009 14:26:45 -0000 1.138 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 3%{?dist} +Release: 4%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -131,11 +131,15 @@ This package provides the user mode emul Summary: QEMU system emulator for x86 Group: Development/Tools Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: gpxe-roms-qemu -Requires: vgabios -Requires: bochs-bios >= 2.3.8-0.8 Provides: kvm = 85 Obsoletes: kvm < 85 +Requires: vgabios +Requires: bochs-bios >= 2.3.8-0.8 +Requires: /usr/share/gpxe/e1000-0x100e.rom +Requires: /usr/share/gpxe/rtl8029.rom +Requires: /usr/share/gpxe/pcnet32.rom +Requires: /usr/share/gpxe/rtl8139.rom +Requires: /usr/share/gpxe/virtio-net.rom %description system-x86 QEMU is a generic and open source processor emulator which achieves a good @@ -359,7 +363,7 @@ pxe_link() { } pxe_link e1000 e1000-0x100e -pxe_link ne2k_pci ne +pxe_link ne2k_pci rtl8029 pxe_link pcnet pcnet32 pxe_link rtl8139 rtl8139 pxe_link virtio virtio-net @@ -530,6 +534,10 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Mon Oct 5 2009 Mark McLoughlin - 2:0.11.0-4 +- Use rtl8029 PXE rom for ne2k_pci, not ne (#526777) +- Also, replace the gpxe-roms-qemu pkg requires with file-based requires + * Thu Oct 1 2009 Justin M. Forbes - 2:0.11.0-3 - Improve error reporting on file access (#524695) From markmc at fedoraproject.org Mon Oct 5 14:27:23 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 14:27:23 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu.spec,1.137,1.138 Message-ID: <20091005142723.5646E11C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2365 Modified Files: qemu.spec Log Message: * Mon Oct 5 2009 Mark McLoughlin - 2:0.11.0-4 - Use rtl8029 PXE rom for ne2k_pci, not ne (#526777) - Also, replace the gpxe-roms-qemu pkg requires with file-based requires Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.137 retrieving revision 1.138 diff -u -p -r1.137 -r1.138 --- qemu.spec 1 Oct 2009 22:34:54 -0000 1.137 +++ qemu.spec 5 Oct 2009 14:27:23 -0000 1.138 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 3%{?dist} +Release: 4%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -131,11 +131,15 @@ This package provides the user mode emul Summary: QEMU system emulator for x86 Group: Development/Tools Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: gpxe-roms-qemu -Requires: vgabios -Requires: bochs-bios >= 2.3.8-0.8 Provides: kvm = 85 Obsoletes: kvm < 85 +Requires: vgabios +Requires: bochs-bios >= 2.3.8-0.8 +Requires: /usr/share/gpxe/e1000-0x100e.rom +Requires: /usr/share/gpxe/rtl8029.rom +Requires: /usr/share/gpxe/pcnet32.rom +Requires: /usr/share/gpxe/rtl8139.rom +Requires: /usr/share/gpxe/virtio-net.rom %description system-x86 QEMU is a generic and open source processor emulator which achieves a good @@ -359,7 +363,7 @@ pxe_link() { } pxe_link e1000 e1000-0x100e -pxe_link ne2k_pci ne +pxe_link ne2k_pci rtl8029 pxe_link pcnet pcnet32 pxe_link rtl8139 rtl8139 pxe_link virtio virtio-net @@ -530,6 +534,10 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Mon Oct 5 2009 Mark McLoughlin - 2:0.11.0-4 +- Use rtl8029 PXE rom for ne2k_pci, not ne (#526777) +- Also, replace the gpxe-roms-qemu pkg requires with file-based requires + * Thu Oct 1 2009 Justin M. Forbes - 2:0.11.0-3 - Improve error reporting on file access (#524695) From markmc at fedoraproject.org Mon Oct 5 14:39:50 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 14:39:50 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-11 qemu.spec,1.105,1.106 Message-ID: <20091005143950.E861911C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6867 Modified Files: qemu.spec Log Message: * Mon Oct 5 2009 Mark McLoughlin - 2:0.10.6-7 - Use rtl8029 PXE rom for ne2k_pci, not ne (#526243) - Also, replace the etherboot-zroms-kvm pkg requires with file-based requires Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu.spec,v retrieving revision 1.105 retrieving revision 1.106 diff -u -p -r1.105 -r1.106 --- qemu.spec 29 Sep 2009 20:53:23 -0000 1.105 +++ qemu.spec 5 Oct 2009 14:39:50 -0000 1.106 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.6 -Release: 6%{?dist} +Release: 7%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -119,11 +119,15 @@ This package provides the user mode emul Summary: QEMU system emulator for x86 Group: Development/Tools Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: etherboot-zroms-kvm -Requires: vgabios -Requires: bochs-bios >= 2.3.8-0.5 Provides: kvm = 85 Obsoletes: kvm < 85 +Requires: vgabios +Requires: bochs-bios >= 2.3.8-0.5 +Requires: /usr/share/etherboot/e1000-82542.zrom +Requires: /usr/share/etherboot/rtl8029.zrom +Requires: /usr/share/etherboot/pcnet32.zrom +Requires: /usr/share/etherboot/rtl8139.zrom +Requires: /usr/share/etherboot/virtio-net.zrom %description system-x86 QEMU is a generic and open source processor emulator which achieves a good @@ -481,6 +485,10 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Mon Oct 5 2009 Mark McLoughlin - 2:0.10.6-7 +- Use rtl8029 PXE rom for ne2k_pci, not ne (#526243) +- Also, replace the etherboot-zroms-kvm pkg requires with file-based requires + * Tue Sep 29 2009 Mark McLoughlin - 2:0.10.6-6 - Fix broken virtio-net with 2.6.30 guests (#522994) From markmc at fedoraproject.org Mon Oct 5 15:03:49 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 15:03:49 +0000 (UTC) Subject: [fedora-virt-maint] rpms/etherboot/devel etherboot.spec,1.18,1.19 Message-ID: <20091005150349.54C1111C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/etherboot/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13545 Modified Files: etherboot.spec Log Message: * Mon Oct 5 2009 Mark McLoughlin - 5.4.4-18 - Include rtl8209 in etherboot-zroms-qemu (#526781) Index: etherboot.spec =================================================================== RCS file: /cvs/pkgs/rpms/etherboot/devel/etherboot.spec,v retrieving revision 1.18 retrieving revision 1.19 diff -u -p -r1.18 -r1.19 --- etherboot.spec 24 Jul 2009 22:19:51 -0000 1.18 +++ etherboot.spec 5 Oct 2009 15:03:48 -0000 1.19 @@ -7,7 +7,7 @@ Name: etherboot Version: 5.4.4 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Etherboot collection of boot roms Group: Development/Tools @@ -148,8 +148,9 @@ popd # the roms supported by kvm will be packaged separatedly # remove from the main rom list and add them to kvm.list -for fmt in rom zrom;do - for rom in ne e1000-82542 pcnet32 rtl8139 virtio-net;do +# ne is included only for compatibility with earlier versions of qemu +for fmt in rom zrom;do + for rom in rtl8209 ne e1000-82542 pcnet32 rtl8139 virtio-net;do sed -i -e "/\/${rom}.${fmt}/d" ${fmt}.list echo %{_datadir}/%{name}/${rom}.${fmt} >> kvm.${fmt}.list done @@ -183,6 +184,9 @@ rm -rf %{buildroot} %changelog +* Mon Oct 5 2009 Mark McLoughlin - 5.4.4-18 +- Include rtl8209 in etherboot-zroms-qemu (#526781) + * Fri Jul 24 2009 Fedora Release Engineering - 5.4.4-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From markmc at fedoraproject.org Mon Oct 5 15:04:26 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 15:04:26 +0000 (UTC) Subject: [fedora-virt-maint] rpms/etherboot/F-12 etherboot.spec,1.18,1.19 Message-ID: <20091005150426.40A9911C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/etherboot/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13763 Modified Files: etherboot.spec Log Message: * Mon Oct 5 2009 Mark McLoughlin - 5.4.4-18 - Include rtl8209 in etherboot-zroms-qemu (#526781) Index: etherboot.spec =================================================================== RCS file: /cvs/pkgs/rpms/etherboot/F-12/etherboot.spec,v retrieving revision 1.18 retrieving revision 1.19 diff -u -p -r1.18 -r1.19 --- etherboot.spec 24 Jul 2009 22:19:51 -0000 1.18 +++ etherboot.spec 5 Oct 2009 15:04:26 -0000 1.19 @@ -7,7 +7,7 @@ Name: etherboot Version: 5.4.4 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Etherboot collection of boot roms Group: Development/Tools @@ -148,8 +148,9 @@ popd # the roms supported by kvm will be packaged separatedly # remove from the main rom list and add them to kvm.list -for fmt in rom zrom;do - for rom in ne e1000-82542 pcnet32 rtl8139 virtio-net;do +# ne is included only for compatibility with earlier versions of qemu +for fmt in rom zrom;do + for rom in rtl8209 ne e1000-82542 pcnet32 rtl8139 virtio-net;do sed -i -e "/\/${rom}.${fmt}/d" ${fmt}.list echo %{_datadir}/%{name}/${rom}.${fmt} >> kvm.${fmt}.list done @@ -183,6 +184,9 @@ rm -rf %{buildroot} %changelog +* Mon Oct 5 2009 Mark McLoughlin - 5.4.4-18 +- Include rtl8209 in etherboot-zroms-qemu (#526781) + * Fri Jul 24 2009 Fedora Release Engineering - 5.4.4-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From markmc at fedoraproject.org Mon Oct 5 15:05:18 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 15:05:18 +0000 (UTC) Subject: [fedora-virt-maint] rpms/etherboot/F-11 etherboot.spec,1.17,1.18 Message-ID: <20091005150518.D96DD11C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/etherboot/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14072 Modified Files: etherboot.spec Log Message: * Mon Oct 5 2009 Mark McLoughlin - 5.4.4-17 - Include rtl8209 in etherboot-zroms-qemu (#526781) Index: etherboot.spec =================================================================== RCS file: /cvs/pkgs/rpms/etherboot/F-11/etherboot.spec,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -r1.17 -r1.18 --- etherboot.spec 23 Jun 2009 11:46:18 -0000 1.17 +++ etherboot.spec 5 Oct 2009 15:05:18 -0000 1.18 @@ -7,7 +7,7 @@ Name: etherboot Version: 5.4.4 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Etherboot collection of boot roms Group: Development/Tools @@ -148,8 +148,9 @@ popd # the roms supported by kvm will be packaged separatedly # remove from the main rom list and add them to kvm.list -for fmt in rom zrom;do - for rom in ne e1000-82542 pcnet32 rtl8139 virtio-net;do +# ne is included only for compatibility with earlier versions of qemu +for fmt in rom zrom;do + for rom in rtl8209 ne e1000-82542 pcnet32 rtl8139 virtio-net;do sed -i -e "/\/${rom}.${fmt}/d" ${fmt}.list echo %{_datadir}/%{name}/${rom}.${fmt} >> kvm.${fmt}.list done @@ -183,6 +184,9 @@ rm -rf %{buildroot} %changelog +* Mon Oct 5 2009 Mark McLoughlin - 5.4.4-17 +- Include rtl8209 in etherboot-zroms-qemu (#526781) + * Tue Jun 23 2009 Mark McLoughlin - 5.4.4-16 - Fix e1000 PXE boot - caused by compiler optimization (bug #507391) From markmc at fedoraproject.org Mon Oct 5 15:17:45 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 15:17:45 +0000 (UTC) Subject: [fedora-virt-maint] rpms/etherboot/devel etherboot.spec,1.19,1.20 Message-ID: <20091005151745.2DF0411C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/etherboot/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18681 Modified Files: etherboot.spec Log Message: 8209 vs. 8029 typo Index: etherboot.spec =================================================================== RCS file: /cvs/pkgs/rpms/etherboot/devel/etherboot.spec,v retrieving revision 1.19 retrieving revision 1.20 diff -u -p -r1.19 -r1.20 --- etherboot.spec 5 Oct 2009 15:03:48 -0000 1.19 +++ etherboot.spec 5 Oct 2009 15:17:44 -0000 1.20 @@ -150,7 +150,7 @@ popd # remove from the main rom list and add them to kvm.list # ne is included only for compatibility with earlier versions of qemu for fmt in rom zrom;do - for rom in rtl8209 ne e1000-82542 pcnet32 rtl8139 virtio-net;do + for rom in rtl8029 ne e1000-82542 pcnet32 rtl8139 virtio-net;do sed -i -e "/\/${rom}.${fmt}/d" ${fmt}.list echo %{_datadir}/%{name}/${rom}.${fmt} >> kvm.${fmt}.list done @@ -185,7 +185,7 @@ rm -rf %{buildroot} %changelog * Mon Oct 5 2009 Mark McLoughlin - 5.4.4-18 -- Include rtl8209 in etherboot-zroms-qemu (#526781) +- Include rtl8029 in etherboot-zroms-qemu (#526781) * Fri Jul 24 2009 Fedora Release Engineering - 5.4.4-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From markmc at fedoraproject.org Mon Oct 5 15:18:37 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 15:18:37 +0000 (UTC) Subject: [fedora-virt-maint] rpms/etherboot/F-12 etherboot.spec,1.19,1.20 Message-ID: <20091005151837.E142811C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/etherboot/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19028 Modified Files: etherboot.spec Log Message: 8209 vs. 8029 typo Index: etherboot.spec =================================================================== RCS file: /cvs/pkgs/rpms/etherboot/F-12/etherboot.spec,v retrieving revision 1.19 retrieving revision 1.20 diff -u -p -r1.19 -r1.20 --- etherboot.spec 5 Oct 2009 15:04:26 -0000 1.19 +++ etherboot.spec 5 Oct 2009 15:18:36 -0000 1.20 @@ -150,7 +150,7 @@ popd # remove from the main rom list and add them to kvm.list # ne is included only for compatibility with earlier versions of qemu for fmt in rom zrom;do - for rom in rtl8209 ne e1000-82542 pcnet32 rtl8139 virtio-net;do + for rom in rtl8029 ne e1000-82542 pcnet32 rtl8139 virtio-net;do sed -i -e "/\/${rom}.${fmt}/d" ${fmt}.list echo %{_datadir}/%{name}/${rom}.${fmt} >> kvm.${fmt}.list done @@ -185,7 +185,7 @@ rm -rf %{buildroot} %changelog * Mon Oct 5 2009 Mark McLoughlin - 5.4.4-18 -- Include rtl8209 in etherboot-zroms-qemu (#526781) +- Include rtl8029 in etherboot-zroms-qemu (#526781) * Fri Jul 24 2009 Fedora Release Engineering - 5.4.4-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From markmc at fedoraproject.org Mon Oct 5 15:19:34 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 5 Oct 2009 15:19:34 +0000 (UTC) Subject: [fedora-virt-maint] rpms/etherboot/F-11 etherboot.spec,1.18,1.19 Message-ID: <20091005151934.25AA511C00DB@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/etherboot/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19742 Modified Files: etherboot.spec Log Message: 8209 vs. 8029 typo Index: etherboot.spec =================================================================== RCS file: /cvs/pkgs/rpms/etherboot/F-11/etherboot.spec,v retrieving revision 1.18 retrieving revision 1.19 diff -u -p -r1.18 -r1.19 --- etherboot.spec 5 Oct 2009 15:05:18 -0000 1.18 +++ etherboot.spec 5 Oct 2009 15:19:33 -0000 1.19 @@ -150,7 +150,7 @@ popd # remove from the main rom list and add them to kvm.list # ne is included only for compatibility with earlier versions of qemu for fmt in rom zrom;do - for rom in rtl8209 ne e1000-82542 pcnet32 rtl8139 virtio-net;do + for rom in rtl8029 ne e1000-82542 pcnet32 rtl8139 virtio-net;do sed -i -e "/\/${rom}.${fmt}/d" ${fmt}.list echo %{_datadir}/%{name}/${rom}.${fmt} >> kvm.${fmt}.list done @@ -185,7 +185,7 @@ rm -rf %{buildroot} %changelog * Mon Oct 5 2009 Mark McLoughlin - 5.4.4-17 -- Include rtl8209 in etherboot-zroms-qemu (#526781) +- Include rtl8029 in etherboot-zroms-qemu (#526781) * Tue Jun 23 2009 Mark McLoughlin - 5.4.4-16 - Fix e1000 PXE boot - caused by compiler optimization (bug #507391) From rjones at fedoraproject.org Mon Oct 5 15:26:51 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Mon, 5 Oct 2009 15:26:51 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-top/devel virt-top-1.0.4-bogus-ja-plurals.patch, NONE, 1.1 .cvsignore, 1.3, 1.4 sources, 1.4, 1.5 virt-top-1.0.3-bogus-zh_CN-plurals.patch, 1.1, 1.2 virt-top.spec, 1.7, 1.8 Message-ID: <20091005152651.1FEBB11C00DB@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/virt-top/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23079 Modified Files: .cvsignore sources virt-top-1.0.3-bogus-zh_CN-plurals.patch virt-top.spec Added Files: virt-top-1.0.4-bogus-ja-plurals.patch Log Message: * Mon Oct 5 2009 Richard W.M. Jones - 1.0.4-1 - New upstream release 1.0.4. - Includes new translations (RHBZ#493799). - Overall hardware memory is now displayed in CSV file (RHBZ#521785). - Several fixes to Japanese support (RHBZ#508197). - Japanese PO file also has bogus plural forms. virt-top-1.0.4-bogus-ja-plurals.patch: ja.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE virt-top-1.0.4-bogus-ja-plurals.patch --- diff -ur virt-top-1.0.4.orig/po/ja.po virt-top-1.0.4/po/ja.po --- virt-top-1.0.4.orig/po/ja.po 2009-10-05 16:24:06.295900599 +0100 +++ virt-top-1.0.4/po/ja.po 2009-10-05 16:24:49.296650985 +0100 @@ -10,7 +10,7 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: Plural-Forms: nplurals=1; plural=0;\n\n" +"Plural-Forms: nplurals=1; plural=0;\n\n" "X-Generator: KBabel 1.11.4\n" #: ../virt-top/virt_top.ml:1492 Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/devel/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- .cvsignore 21 Oct 2008 09:29:56 -0000 1.3 +++ .cvsignore 5 Oct 2009 15:26:50 -0000 1.4 @@ -1,2 +1 @@ -virt-top-1.0.1.tar.gz -virt-top-1.0.3.tar.gz +virt-top-1.0.4.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/devel/sources,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- sources 21 Oct 2008 09:59:18 -0000 1.4 +++ sources 5 Oct 2009 15:26:50 -0000 1.5 @@ -1 +1 @@ -18662bfbaa13c314ed07734cb1f5913e virt-top-1.0.3.tar.gz +491929219b5b49b4e502a1643599be95 virt-top-1.0.4.tar.gz virt-top-1.0.3-bogus-zh_CN-plurals.patch: zh_CN.po | 1 - 1 file changed, 1 deletion(-) Index: virt-top-1.0.3-bogus-zh_CN-plurals.patch =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/devel/virt-top-1.0.3-bogus-zh_CN-plurals.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- virt-top-1.0.3-bogus-zh_CN-plurals.patch 21 Oct 2008 09:59:18 -0000 1.1 +++ virt-top-1.0.3-bogus-zh_CN-plurals.patch 5 Oct 2009 15:26:50 -0000 1.2 @@ -7,4 +7,4 @@ -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "X-Generator: KBabel 1.11.4\n" - #: ../virt-top/virt_top.ml:1490 + #: ../virt-top/virt_top.ml:1492 Index: virt-top.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/devel/virt-top.spec,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- virt-top.spec 27 Jul 2009 06:55:36 -0000 1.7 +++ virt-top.spec 5 Oct 2009 15:26:50 -0000 1.8 @@ -2,8 +2,8 @@ %define debug_package %{nil} Name: virt-top -Version: 1.0.3 -Release: 5%{?dist} +Version: 1.0.4 +Release: 1%{?dist} Summary: Utility like top(1) for displaying virtualization stats Group: Development/Libraries @@ -14,11 +14,13 @@ BuildRoot: %{_tmppath}/%{name}-%{ve ExcludeArch: sparc64 s390 s390x Patch0: virt-top-1.0.3-bogus-zh_CN-plurals.patch +Patch1: virt-top-1.0.4-bogus-ja-plurals.patch BuildRequires: ocaml >= 3.10.2 BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-findlib-devel -BuildRequires: ocaml-curses-devel +# Need the ncurses / ncursesw (--enable-widec) fix. +BuildRequires: ocaml-curses-devel >= 1.0.3-7 BuildRequires: ocaml-extlib-devel BuildRequires: ocaml-xml-light-devel BuildRequires: ocaml-csv-devel @@ -37,9 +39,6 @@ BuildRequires: libvirt-devel BuildRequires: perl BuildRequires: gawk -#%define _use_internal_dependency_generator 0 -#%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh -#%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh %description virt-top is a 'top(1)'-like utility for showing stats of virtualized @@ -53,6 +52,7 @@ different virtualization systems. %prep %setup -q %patch0 -p1 +%patch1 -p1 chmod -x COPYING @@ -99,6 +99,13 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Oct 5 2009 Richard W.M. Jones - 1.0.4-1 +- New upstream release 1.0.4. +- Includes new translations (RHBZ#493799). +- Overall hardware memory is now displayed in CSV file (RHBZ#521785). +- Several fixes to Japanese support (RHBZ#508197). +- Japanese PO file also has bogus plural forms. + * Sun Jul 26 2009 Fedora Release Engineering - 1.0.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From rjones at fedoraproject.org Mon Oct 5 15:36:15 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Mon, 5 Oct 2009 15:36:15 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-top/devel virt-top.spec,1.8,1.9 Message-ID: <20091005153615.55EBE11C0298@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/virt-top/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26690 Modified Files: virt-top.spec Log Message: Additional BR on gettext (for msgfmt). Index: virt-top.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/devel/virt-top.spec,v retrieving revision 1.8 retrieving revision 1.9 diff -u -p -r1.8 -r1.9 --- virt-top.spec 5 Oct 2009 15:26:50 -0000 1.8 +++ virt-top.spec 5 Oct 2009 15:36:15 -0000 1.9 @@ -3,7 +3,7 @@ Name: virt-top Version: 1.0.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Utility like top(1) for displaying virtualization stats Group: Development/Libraries @@ -33,6 +33,8 @@ BuildRequires: ocaml-fileutils-devel %ifnarch ppc64 BuildRequires: ocaml-camomile-data %endif +# For msgfmt: +BuildRequires: gettext # Non-OCaml BRs. BuildRequires: libvirt-devel @@ -99,12 +101,13 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Mon Oct 5 2009 Richard W.M. Jones - 1.0.4-1 +* Mon Oct 5 2009 Richard W.M. Jones - 1.0.4-2 - New upstream release 1.0.4. - Includes new translations (RHBZ#493799). - Overall hardware memory is now displayed in CSV file (RHBZ#521785). - Several fixes to Japanese support (RHBZ#508197). - Japanese PO file also has bogus plural forms. +- Additional BR on gettext (for msgfmt). * Sun Jul 26 2009 Fedora Release Engineering - 1.0.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From crobinso at fedoraproject.org Mon Oct 5 17:25:32 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 17:25:32 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-manager/devel virt-manager-0.8.0-createvol-alloc.patch, NONE, 1.1 virt-manager-0.8.0-createvol-name.patch, NONE, 1.1 virt-manager-0.8.0-toolbar-tooltips.patch, NONE, 1.1 virt-manager.spec, 1.62, 1.63 Message-ID: <20091005172532.7A34111C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/virt-manager/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19628 Modified Files: virt-manager.spec Added Files: virt-manager-0.8.0-createvol-alloc.patch virt-manager-0.8.0-createvol-name.patch virt-manager-0.8.0-toolbar-tooltips.patch Log Message: Don't allow creating a volume without a name (bz 526111) Don't allow volume allocation > capacity (bz 526077) Add tooltips for toolbar buttons (bz 524083) virt-manager-0.8.0-createvol-alloc.patch: src/virtManager/createvol.py | 20 ++++++++++++++++++++ virt-manager-0.8.0/src/vmm-create-vol.glade | 10 ++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) --- NEW FILE virt-manager-0.8.0-createvol-alloc.patch --- # HG changeset patch # User Cole Robinson # Date 1254757810 14400 # Node ID 97c40c4fb29f7b1b1aadcebd42781f0d471d4697 # Parent c0cffb13680c120ceff22386754104f66bb01d25 create-vol: Don't allow allocation to be higher than capacity. Also tweak the spin button climb rates to be more useful. diff -r c0cffb13680c -r 97c40c4fb29f src/virtManager/createvol.py --- a/src/virtManager/createvol.py Mon Oct 05 11:34:39 2009 -0400 +++ b/src/virtManager/createvol.py Mon Oct 05 11:50:10 2009 -0400 @@ -63,6 +63,8 @@ "on_vol_cancel_clicked" : self.close, "on_vol_create_clicked" : self.finish, "on_vol_name_changed" : self.vol_name_changed, + "on_vol_allocation_value_changed" : self.vol_allocation_changed, + "on_vol_capacity_value_changed" : self.vol_capacity_changed, }) format_list = self.window.get_widget("vol-format") @@ -144,6 +146,24 @@ text = src.get_text() self.window.get_widget("vol-create").set_sensitive(bool(text)) + def vol_allocation_changed(self, src): + cap_widget = self.window.get_widget("vol-capacity") + + alloc = src.get_value() + cap = cap_widget.get_value() + + if alloc > cap: + cap_widget.set_value(alloc) + + def vol_capacity_changed(self, src): + alloc_widget = self.window.get_widget("vol-allocation") + + cap = src.get_value() + alloc = self.window.get_widget("vol-allocation").get_value() + + if cap < alloc: + alloc_widget.set_value(cap) + def finish(self, src): # validate input try: diff -rup old/src/vmm-create-vol.glade virt-manager-0.8.0/src/vmm-create-vol.glade --- old/src/vmm-create-vol.glade 2009-10-05 13:18:10.212062000 -0400 +++ virt-manager-0.8.0/src/vmm-create-vol.glade 2009-10-05 13:19:57.343395000 -0400 @@ -237,8 +237,9 @@ True True - 1 0 100000 1 10 0 - 1 + 1 0 100000 1 1000 0 + 10 + 1 @@ -251,8 +252,9 @@ True True - 1 0 100000 1 10 0 - 1 + 1 0 100000 1 1000 0 + 10 + 1 virt-manager-0.8.0-createvol-name.patch: src/virtManager/createvol.py | 6 ++++++ virt-manager-0.8.0/src/vmm-create-vol.glade | 1 + 2 files changed, 7 insertions(+) --- NEW FILE virt-manager-0.8.0-createvol-name.patch --- # HG changeset patch # User Cole Robinson # Date 1254756879 14400 # Node ID c0cffb13680c120ceff22386754104f66bb01d25 # Parent 67d5721a535f204db27f532e59f491f562c8ff18 create-vol: Don't allow creating vol without a name entered diff -r 67d5721a535f -r c0cffb13680c src/virtManager/createvol.py --- a/src/virtManager/createvol.py Mon Oct 05 10:06:29 2009 -0400 +++ b/src/virtManager/createvol.py Mon Oct 05 11:34:39 2009 -0400 @@ -62,6 +62,7 @@ "on_vmm_create_vol_delete_event" : self.close, "on_vol_cancel_clicked" : self.close, "on_vol_create_clicked" : self.finish, + "on_vol_name_changed" : self.vol_name_changed, }) format_list = self.window.get_widget("vol-format") @@ -99,6 +100,7 @@ def reset_state(self): self.window.get_widget("vol-name").set_text("") + self.window.get_widget("vol-create").set_sensitive(False) self.populate_vol_format() self.populate_vol_suffix() @@ -138,6 +140,10 @@ suffix = ".img" self.window.get_widget("vol-name-suffix").set_text(suffix) + def vol_name_changed(self, src): + text = src.get_text() + self.window.get_widget("vol-create").set_sensitive(bool(text)) + def finish(self, src): # validate input try: diff -rup new/src/vmm-create-vol.glade virt-manager-0.8.0/src/vmm-create-vol.glade --- new/src/vmm-create-vol.glade 2009-10-05 13:15:48.335564000 -0400 +++ virt-manager-0.8.0/src/vmm-create-vol.glade 2009-10-05 13:16:48.288704000 -0400 @@ -96,6 +96,7 @@ True True + virt-manager-0.8.0-toolbar-tooltips.patch: vmm-details.glade | 6 ++++++ vmm-manager.glade | 5 +++++ 2 files changed, 11 insertions(+) --- NEW FILE virt-manager-0.8.0-toolbar-tooltips.patch --- # HG changeset patch # User Cole Robinson # Date 1254762221 14400 # Node ID 7df46187c156c7697b9b93e46e3b391a19c4fbb2 # Parent 97c40c4fb29f7b1b1aadcebd42781f0d471d4697 Add tooltips for toolbar buttons in manager and details. diff -r 97c40c4fb29f -r 7df46187c156 src/vmm-details.glade --- a/src/vmm-details.glade Mon Oct 05 11:50:10 2009 -0400 +++ b/src/vmm-details.glade Mon Oct 05 13:03:41 2009 -0400 @@ -430,6 +430,7 @@ True + Show the graphical console Console icon_console True @@ -443,6 +444,7 @@ True + Show virtual hardware details Details gtk-info control-vm-console @@ -465,6 +467,7 @@ True + Power on the virtual machine True Run True @@ -479,6 +482,7 @@ True + Pause the virtual machine True Pause True @@ -493,6 +497,7 @@ True + Shutdown the virtual machine True Shut Down True @@ -514,6 +519,7 @@ True + Switch to fullscreen view gtk-fullscreen diff -r 97c40c4fb29f -r 7df46187c156 src/vmm-manager.glade --- a/src/vmm-manager.glade Mon Oct 05 11:50:10 2009 -0400 +++ b/src/vmm-manager.glade Mon Oct 05 13:03:41 2009 -0400 @@ -229,6 +229,7 @@ True + Create a new virtual machine _New True vm_new_large @@ -251,6 +252,7 @@ True + Show the virtual machine's details _Open True icon_console @@ -264,6 +266,7 @@ True + Power on the virtual machine _Run True gtk-media-play @@ -277,6 +280,7 @@ True + Pause the virtual machine _Pause True gtk-media-pause @@ -290,6 +294,7 @@ True + Shutdown the virtual machine _Shutdown True Index: virt-manager.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-manager/devel/virt-manager.spec,v retrieving revision 1.62 retrieving revision 1.63 diff -u -p -r1.62 -r1.63 --- virt-manager.spec 5 Oct 2009 14:19:29 -0000 1.62 +++ virt-manager.spec 5 Oct 2009 17:25:32 -0000 1.63 @@ -8,7 +8,7 @@ Name: virt-manager Version: 0.8.0 -Release: 7%{_extra_release} +Release: 8%{_extra_release} Summary: Virtual Machine Manager Group: Applications/Emulators @@ -50,6 +50,12 @@ Patch13: %{name}-%{version}-update-vm-st Patch14: %{name}-%{version}-update-translations.patch # More translations (bz 493795) Patch15: %{name}-%{version}-more-translations.patch +# Don't allow creating a volume without a name (bz 526111) +Patch16: %{name}-%{version}-createvol-name.patch +# Don't allow volume allocation > capacity (bz 526077) +Patch17: %{name}-%{version}-createvol-alloc.patch +# Add tooltips for toolbar buttons (bz 524083) +Patch18: %{name}-%{version}-toolbar-tooltips.patch # These two are just the oldest version tested Requires: pygtk2 >= 1.99.12-6 @@ -132,6 +138,9 @@ cp %{SOURCE3} pixmaps %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 %build %configure @@ -205,6 +214,11 @@ fi %{_datadir}/dbus-1/services/%{name}.service %changelog +* Mon Oct 05 2009 Cole Robinson - 0.8.0-8.fc13 +- Don't allow creating a volume without a name (bz 526111) +- Don't allow volume allocation > capacity (bz 526077) +- Add tooltips for toolbar buttons (bz 524083) + * Mon Oct 05 2009 Cole Robinson - 0.8.0-7.fc13 - More translations (bz 493795) From crobinso at fedoraproject.org Mon Oct 5 17:27:09 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 17:27:09 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/F-12 virtinst-0.500.0-more-translations.patch, NONE, 1.1 python-virtinst.spec, 1.73, 1.74 Message-ID: <20091005172709.C4B0B11C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20339 Modified Files: python-virtinst.spec Added Files: virtinst-0.500.0-more-translations.patch Log Message: Update translations (bz 493795) virtinst-0.500.0-more-translations.patch: es.po | 1390 ++++++++++++++++++++++++------------------------------------------ it.po | 556 ++++++-------------------- pl.po | 581 ++++++++++++--------------- 3 files changed, 932 insertions(+), 1595 deletions(-) --- NEW FILE virtinst-0.500.0-more-translations.patch --- # HG changeset patch # User Cole Robinson # Date 1254751649 14400 # Node ID 419a9fbd63b3f8d6b1d310c1eb2b2f09995311d2 # Parent 30700fede5b629cab255ffb000f79b230c0bbf27 Updated translations. diff -r 30700fede5b6 -r 419a9fbd63b3 po/es.po --- a/po/es.po Mon Sep 28 14:13:35 2009 -0400 +++ b/po/es.po Mon Oct 05 10:07:29 2009 -0400 @@ -1,67 +1,68 @@ +# translation of virt-inst.tip.es.po to Spanish # Fedora Spanish Translation of virtinst. # This file is distributed under the same license as the virtinst package. # +# # H?ctor Daniel Cabrera , 2009. -# +# Gladys Guerrero Lozano , 2009. msgid "" msgstr "" -"Project-Id-Version: Fedora Spanish Translation of virtinst\n" +"Project-Id-Version: virt-inst.tip.es\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-07-28 20:34-0400\n" -"PO-Revision-Date: 2009-01-20 13:06-0300\n" -"Last-Translator: h?ctor daniel cabrera \n" +"PO-Revision-Date: 2009-08-21 10:48-0300\n" +"Last-Translator: Domingo Becker \n" "Language-Team: Fedora Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"X-Poedit-Language: Spanish\n" #: virtinst/CapabilitiesParser.py:172 -#, fuzzy, python-format +#, python-format msgid "No domains available for virt type '%(type)s', arch %(arch)s." -msgstr "No existen dominios disponibles para este hu?sped." +msgstr "No existen dominios disponibles para '%(type)s', arquitectura %(arch)s de virtualizaci?n." #: virtinst/CapabilitiesParser.py:412 #, python-format msgid "for arch '%s'" -msgstr "para arq '%s'" +msgstr "para arquitectura '%s'" #: virtinst/CapabilitiesParser.py:416 -#, fuzzy, python-format +#, python-format msgid "virtualization type '%s'" msgstr "Tipo de virtualizaci?n '%s' no soportada" #: virtinst/CapabilitiesParser.py:418 -#, fuzzy msgid "any virtualization options" -msgstr "Opciones del Tipo de Virtualizaci?n" +msgstr "Opciones de Virtualizaci?n" #: virtinst/CapabilitiesParser.py:420 #, python-format msgid "Host does not support %(virttype)s %(arch)s" -msgstr "" +msgstr "El host no soporta %(virttype)s %(arch)s" #: virtinst/CapabilitiesParser.py:433 #, python-format -msgid "" -"Host does not support domain type '%(domain)s' for virtualization type '%" -"(virttype)s' arch '%(arch)s'" -msgstr "" +msgid "Host does not support domain type '%(domain)s' for virtualization type '%(virttype)s' arch '%(arch)s'" +msgstr "El host no soporta tipo de dominio '%(domain)s' para tipo de virtualizaci?n '%(virttype)s' arch '%(arch)s'" #: virtinst/cli.py:152 msgid "Exiting at user request." -msgstr "Saliendo a pedido del usuario." +msgstr "Salida a petici?n del usuario." #: virtinst/cli.py:159 msgid "Must be root to create Xen guests" -msgstr "Debe ser root para poder crear un hu?sped Xen" +msgstr "Se debe ser root para poder crear un hu?sped Xen" #: virtinst/cli.py:297 msgid "(use --prompt to run interactively)" -msgstr "" +msgstr "(use --prompt para ejecutar de modo interactivo)" #: virtinst/cli.py:317 msgid " (Use --prompt or --force to override)" -msgstr "" +msgstr " (Use --prompt o --force para sobrescribir)" #: virtinst/cli.py:352 msgid "Graphics Configuration" @@ -77,12 +78,11 @@ #: virtinst/cli.py:358 msgid "Address to listen on for VNC connections." -msgstr "" +msgstr "Direcci?n para escuchar conexiones VNC" #: virtinst/cli.py:361 -#, fuzzy msgid "set up keymap for the VNC console" -msgstr "define un mapa de teclado para una consola gr?fica" +msgstr "definir un mapa de teclado para la consola VNC" #: virtinst/cli.py:363 msgid "Use SDL for graphics support" @@ -90,42 +90,37 @@ #: virtinst/cli.py:365 msgid "Don't set up a graphical console for the guest." -msgstr "No configura una consola gr?fica para el hu?sped." +msgstr "No configurar una consola gr?fica para el hu?sped." #: virtinst/cli.py:388 -#, fuzzy msgid "A disk path must be specified." -msgstr "Se debe especificar, o bien grupo, o bien pool_name." +msgstr "Se debe especificar la ruta de disco." #: virtinst/cli.py:390 -#, fuzzy msgid "What would you like to use as the disk (file path)?" -msgstr "?Qu? (ruta de archivo) le gustar?a utilizar para el disco clonado?" +msgstr "?Qu? (ruta de archivo) le gustar?a utilizar para el disco?" #: virtinst/cli.py:392 #, python-format -msgid "" -"Please enter the path to the file you would like to use for storage. It will " -"have size %sGB." -msgstr "" +msgid "Please enter the path to the file you would like to use for storage. It will have size %sGB." +msgstr "Por favor entre la ruta al archivo en el que desea guardar la informaci?n. Tendr? un tama?o de %sGB." #: virtinst/cli.py:401 -#, fuzzy msgid "A size must be specified for non-existent disks." -msgstr "Un tama?o debe ser especificado para rutas no existentes: '%s'" +msgstr "Se debe especificar el tama?o para discos no existentes." #: virtinst/cli.py:403 #, python-format msgid "How large would you like the disk (%s) to be (in gigabytes)?" -msgstr "" +msgstr "?Qu? tan grande le gustar?a que fuera el disco (%s) en GB?" -#: virtinst/cli.py:424 virt-install:274 +#: virtinst/cli.py:424 +#: virt-install:274 #, python-format msgid "Error with storage parameters: %s" msgstr "Error en los par?metros de almacenamiento: %s" #: virtinst/cli.py:426 -#, fuzzy msgid "Do you really want to use this disk (yes or no)" msgstr "?Realmente quiere utilizar este disco (si o no)?" @@ -140,9 +135,8 @@ msgstr "?El disco %s ya est? siendo utilizado por otro hu?sped!\n" #: virtinst/cli.py:464 -#, fuzzy msgid "What is the name of your virtual machine?" -msgstr "?Cu?l es el nombre de la m?quina virtual clonada?" +msgstr "?Cu?l es el nombre de la m?quina virtual?" #: virtinst/cli.py:465 msgid "A name is required for the virtual machine." @@ -150,7 +144,7 @@ #: virtinst/cli.py:472 msgid "How much RAM should be allocated (in megabytes)?" -msgstr "" +msgstr "?Cu?nta RAM deber?a ser asignada en MB?" #: virtinst/cli.py:473 msgid "Memory amount is required for the virtual machine." @@ -159,34 +153,29 @@ #: virtinst/cli.py:477 #, python-format msgid "Installs currently require %d megs of RAM." -msgstr "La instalaci?n actualmente requiere %d megas de RAM." +msgstr "La instalaci?n actualmente requiere %d MB de RAM." #: virtinst/cli.py:498 -#, fuzzy, python-format -msgid "" -"You have asked for more virtual CPUs (%d) than there are physical CPUs (%d) " -"on the host. This will work, but performance will be poor. " -msgstr "" -"Ha pedido m?s CPUs virtuales (%d) que los CPUs f?sicos (%d) en el anfitri?n. " [...5003 lines suppressed...] @@ -2137,10 +2136,14 @@ "--disk path=/my/new/disk,size=5 (in gigabytes)\n" "--disk vol=poolname:volname,device=cdrom,bus=scsi,..." msgstr "" +"Nale?y poda? pami?? masow? za pomoc? r??nych opcji. Np.:\n" +"--disk path=/m?j/istniej?cy/dysk\n" +"--disk path=/m?j/nowy/dysk,size=5 (w gigabajtach)\n" +"--disk vol=nazwa_puli:nazwa_woluminu,device=cdrom,bus=scsi,..." #: virt-install:596 msgid "Don't set up any disks for the guest." -msgstr "Nie ustawiaj ?adnych dysk?w dla go?cia." +msgstr "Nie ustawia ?adnych dysk?w dla go?cia." #: virt-install:613 msgid "" @@ -2149,22 +2152,26 @@ "--network network=my_libvirt_virtual_net\n" "--network network=mynet,model=virtio,mac=00:11..." msgstr "" +"Nale?y poda? interfejs sieciowy. Np.:\n" +"--network bridge=m?j_mostek0\n" +"--network network=moja_wirtualna_sie?_libvirt\n" +"--network network=moja_sie?,model=virtio,mac=00:11..." #: virt-install:618 msgid "Don't create network interfaces for the guest." -msgstr "Nie tw?rz interfejs?w sieciowych dla go?cia." +msgstr "Nie tworzy interfejs?w sieciowych dla go?cia." #: virt-install:632 msgid "Specify video hardware type." -msgstr "" +msgstr "Podaje typ sprz?tu graficznego." #: virt-install:635 msgid "Don't automatically try to connect to the guest console" -msgstr "Nie pr?buj automatycznie ??czy? si? z konsol? go?cia" +msgstr "Nie pr?buje automatycznie ??czy? si? z konsol? go?cia" #: virt-install:643 msgid "Disables the automatic rebooting when the installation is complete." -msgstr "Wy??cza automatyczne ponowne uruchamianie po zako?czeniu instalacji." +msgstr "Wy??cza automatyczne ponowne uruchamianie po uko?czeniu instalacji." #: virt-install:646 msgid "Time to wait (in minutes)" @@ -2174,15 +2181,15 @@ msgid "Forces 'yes' for any applicable prompts, terminates for all others" msgstr "" "Wymusza \"tak\" tam, gdzie to mo?liwe, ko?czy prac? przy wszystkich innych " -"pro?bach" +"??daniach" #: virt-install:671 msgid "" "Unable to connect to graphical console: virt-viewer not installed. Please " "install the 'virt-viewer' package." msgstr "" -"Nie mo?na po??czy? si? z konsol? graficzn?: nie zainstalowano virt-viewer. " -"Zainstaluj pakiet \"virt-viewer\"." +"Nie mo?na po??czy? si? z konsol? graficzn?: nie zainstalowano pakietu " +"virt-viewer. Prosz? zainstalowa? pakiet \"virt-viewer\"." #: virt-install:713 msgid "Can't use --pxe with --nonetworks" @@ -2207,9 +2214,9 @@ " restart your installation." msgstr "" "Instalacja domeny chyba nie powiod?a si?. Je?li jednak\n" -" powiod?a si?, mo?esz ponownie uruchomi? domen?\n" -" uruchamiaj?c \"virsh start %s\"; w innym przypadku\n" -" uruchom ponownie instalacj?." +" powiod?a si?, mo?na ponownie uruchomi? domen?\n" +" wykonuj?c \"virsh start %s\"; w innym przypadku\n" +" prosz? ponownie uruchomi? instalacj?." #: virt-install:840 #, python-format @@ -2217,12 +2224,12 @@ "Guest installation complete... you can restart your domain\n" "by running 'virsh start %s'" msgstr "" -"Instalacja go?cia zosta?a zako?czona... Mo?na ponownie\n" +"Instalacja go?cia zosta?a uko?czona... Mo?na ponownie\n" "uruchomi? domen? wykonuj?c \"virsh start %s\"" #: virt-install:844 msgid "Guest installation complete... restarting guest." -msgstr "Instalacja go?cia zosta?a zako?czona... Ponowne uruchamianie go?cia." +msgstr "Instalacja go?cia zosta?a uko?czona... Ponowne uruchamianie go?cia." #: virt-install:850 msgid "Guest install interrupted." @@ -2237,9 +2244,9 @@ " restart your installation." msgstr "" "Instalacja domeny chyba si? nie powiod?a. Je?li jednak\n" -" powiod?a si?, mo?esz ponownie uruchomi? domen?\n" -" uruchamiaj?c \"virsh start %s\"; w innym przypadku\n" -" uruchom ponownie instalacj?." +" powiod?a si?, mo?na ponownie uruchomi? domen?\n" +" wykonuj?c \"virsh start %s\"; w innym przypadku\n" +" prosz? ponownie uruchomi? instalacj?." #: virt-install:883 msgid "Guest installation failed." @@ -2251,13 +2258,12 @@ msgstr "%d minuty " #: virt-install:895 -#, fuzzy, python-format +#, python-format msgid "" "Domain installation still in progress. Waiting %sfor installation to " "complete." msgstr "" -"Wci?? trwa instalacja domeny. Oczekiwanie %s na domen?, aby zako?czy? " -"instalacj?." +"Wci?? trwa instalacja domeny. Oczekiwanie %s na uko?czenie instalacji." #: virt-install:901 msgid "Domain has shutdown. Continuing." @@ -2271,73 +2277,12 @@ #: virt-install:915 msgid "Installation has exceeded specified time limit. Exiting application." msgstr "" -"Instalacja przekroczy?a podane ograniczenie czasu. Zamykanie aplikacji." +"Instalacja przekroczy?a podane ograniczenie czasu. Ko?czenie pracy aplikacji." #: virt-install:921 msgid "" "Domain installation still in progress. You can reconnect to \n" "the console to complete the installation process." msgstr "" -"Trwa instalacja domeny. Mo?esz ponownie po??czy? si? z \n" -"konsol?, aby zako?czy? proces instalacji." - -#~ msgid "Could not find usable default libvirt connection." -#~ msgstr "Nie mo?na znale?? u?ywalnego domy?lnego po??czenia libvirt." - -#~ msgid "Unknown network type " -#~ msgstr "Nieznany typ sieci " - -#~ msgid "Need to pass equal numbers of networks & mac addresses" -#~ msgstr "Nale?y poda? r?wn? liczb? sieci i adres?w MAC" - -#~ msgid "Cannot clone remote VM storage." -#~ msgstr "Nie mo?na sklonowa? pami?ci masowej zdalnej maszyny wirtualnej." - -#~ msgid "Missing path to use as disk clone destination for '%s'" -#~ msgstr "Brak ?cie?ki do u?ycia jako celu klonowania dysku dla \"%s\"" - -#~ msgid "Could not determine storage type for '%s'" -#~ msgstr "Nie mo?na ustali? typu pami?ci masowej dla \"%s\"" - -#~ msgid "Disk volume creation is not implemented." -#~ msgstr "Tworzenie wolumin?w dysku nie jest zaimplementowane." - -#~ msgid "" -#~ "Bridge to connect guest NIC to; if none given, will try to determine the " -#~ "default" -#~ msgstr "" -#~ "Mostek do ??czenia NIC go?cia; je?li ?aden nie zostanie podany, spr?buje " -#~ "ustali? domy?lny" - -#~ msgid "" -#~ "Connect the guest to a virtual network, forwarding to the physical " -#~ "network with NAT" -#~ msgstr "" -#~ "Po??cz go?cia z sieci? wirtualn?, przekazywan? do sieci fizycznej za " -#~ "pomoc? NAT" - -#~ msgid "" -#~ "Fixed MAC address for the guest; if none or RANDOM is given a random " -#~ "address will be used" -#~ msgstr "" -#~ "Sta?y adres MAC dla go?cia; je?li ?aden nie zostanie podany lub podasz " -#~ "RANDOM, u?yty zostanie losowy adres" - -#~ msgid "Use kernel acceleration capabilities (kvm, kqemu, ...)" -#~ msgstr "U?yj mo?liwo?ci akceleracji j?dra (kvm, kqemu...)" - -#~ msgid "Specify storage to use as a disk with various options." -#~ msgstr "Podaj pami?? masow? u?yt? jako dysk za pomoc? r??nych opcji." - -#~ msgid "File to use as the disk image" -#~ msgstr "U?ycie obrazu dysku nie powiod?o si?" - -#~ msgid "Size of the disk image (if it doesn't exist) in gigabytes" -#~ msgstr "Rozmiar obrazu dysku (je?li nie istnieje) w gigabajtach" - -#~ msgid "" -#~ "Don't use sparse files for disks. Note that this will be significantly " -#~ "slower for guest creation" -#~ msgstr "" -#~ "Nie u?ywaj plik?w sparse dla dysk?w. Zauwa?, ?e znacznie spowolni to " -#~ "tworzenie go?cia" +"Trwa instalacja domeny. Mo?na ponownie po??czy? si? z \n" +"konsol?, aby uko?czy? proces instalacji." Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/F-12/python-virtinst.spec,v retrieving revision 1.73 retrieving revision 1.74 diff -u -p -r1.73 -r1.74 --- python-virtinst.spec 24 Sep 2009 13:55:17 -0000 1.73 +++ python-virtinst.spec 5 Oct 2009 17:27:09 -0000 1.74 @@ -17,7 +17,7 @@ Summary: Python modules and utilities for installing virtual machines Name: python-%{appname} Version: 0.500.0 -Release: 4%{_extra_release} +Release: 5%{_extra_release} Source0: http://virt-manager.org/download/sources/%{appname}/%{appname}-%{version}.tar.gz # Don't erroneously set limit for amount of virtio devices (bz 499654) Patch1: %{appname}-%{version}-virtio-dev-limit.patch @@ -39,6 +39,8 @@ Patch8: %{appname}-%{version}-nonroot-qe Patch9: %{appname}-%{version}-no-iso-driver.patch # Fix path permissions for kernel/initrd download location (bz 523960) Patch10: %{appname}-%{version}-change-path-perms.patch +# Update translations (bz 493795) +Patch11: %{appname}-%{version}-more-translations.patch License: GPLv2+ Group: Development/Libraries @@ -76,6 +78,7 @@ and install new VMs) and virt-clone (clo %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 %build python setup.py build @@ -111,6 +114,9 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/virt-convert %changelog +* Mon Oct 05 2009 Cole Robinson - 0.500.0-5.fc12 +- Update translations (bz 493795) + * Thu Sep 24 2009 Cole Robinson - 0.500.0-4.fc12 - Don't use usermode net for non-root qemu:///system via virt-install - Fix cdrom installs where the iso is a storage volume (bz 524109) From crobinso at fedoraproject.org Mon Oct 5 17:40:57 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 17:40:57 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-manager/F-12 virt-manager-0.8.0-createvol-alloc.patch, NONE, 1.1 virt-manager-0.8.0-createvol-name.patch, NONE, 1.1 virt-manager-0.8.0-more-translations.patch, NONE, 1.1 virt-manager-0.8.0-toolbar-tooltips.patch, NONE, 1.1 virt-manager.spec, 1.61, 1.62 Message-ID: <20091005174057.4216211C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/virt-manager/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26913 Modified Files: virt-manager.spec Added Files: virt-manager-0.8.0-createvol-alloc.patch virt-manager-0.8.0-createvol-name.patch virt-manager-0.8.0-more-translations.patch virt-manager-0.8.0-toolbar-tooltips.patch Log Message: More translations (bz 493795) Don't allow creating a volume without a name (bz 526111) Don't allow volume allocation > capacity (bz 526077) Add tooltips for toolbar buttons (bz 524083) virt-manager-0.8.0-createvol-alloc.patch: src/virtManager/createvol.py | 20 ++++++++++++++++++++ virt-manager-0.8.0/src/vmm-create-vol.glade | 10 ++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) --- NEW FILE virt-manager-0.8.0-createvol-alloc.patch --- # HG changeset patch # User Cole Robinson # Date 1254757810 14400 # Node ID 97c40c4fb29f7b1b1aadcebd42781f0d471d4697 # Parent c0cffb13680c120ceff22386754104f66bb01d25 create-vol: Don't allow allocation to be higher than capacity. Also tweak the spin button climb rates to be more useful. diff -r c0cffb13680c -r 97c40c4fb29f src/virtManager/createvol.py --- a/src/virtManager/createvol.py Mon Oct 05 11:34:39 2009 -0400 +++ b/src/virtManager/createvol.py Mon Oct 05 11:50:10 2009 -0400 @@ -63,6 +63,8 @@ "on_vol_cancel_clicked" : self.close, "on_vol_create_clicked" : self.finish, "on_vol_name_changed" : self.vol_name_changed, + "on_vol_allocation_value_changed" : self.vol_allocation_changed, + "on_vol_capacity_value_changed" : self.vol_capacity_changed, }) format_list = self.window.get_widget("vol-format") @@ -144,6 +146,24 @@ text = src.get_text() self.window.get_widget("vol-create").set_sensitive(bool(text)) + def vol_allocation_changed(self, src): + cap_widget = self.window.get_widget("vol-capacity") + + alloc = src.get_value() + cap = cap_widget.get_value() + + if alloc > cap: + cap_widget.set_value(alloc) + + def vol_capacity_changed(self, src): + alloc_widget = self.window.get_widget("vol-allocation") + + cap = src.get_value() + alloc = self.window.get_widget("vol-allocation").get_value() + + if cap < alloc: + alloc_widget.set_value(cap) + def finish(self, src): # validate input try: diff -rup old/src/vmm-create-vol.glade virt-manager-0.8.0/src/vmm-create-vol.glade --- old/src/vmm-create-vol.glade 2009-10-05 13:18:10.212062000 -0400 +++ virt-manager-0.8.0/src/vmm-create-vol.glade 2009-10-05 13:19:57.343395000 -0400 @@ -237,8 +237,9 @@ True True - 1 0 100000 1 10 0 - 1 + 1 0 100000 1 1000 0 + 10 + 1 @@ -251,8 +252,9 @@ True True - 1 0 100000 1 10 0 - 1 + 1 0 100000 1 1000 0 + 10 + 1 virt-manager-0.8.0-createvol-name.patch: src/virtManager/createvol.py | 6 ++++++ virt-manager-0.8.0/src/vmm-create-vol.glade | 1 + 2 files changed, 7 insertions(+) --- NEW FILE virt-manager-0.8.0-createvol-name.patch --- # HG changeset patch # User Cole Robinson # Date 1254756879 14400 # Node ID c0cffb13680c120ceff22386754104f66bb01d25 # Parent 67d5721a535f204db27f532e59f491f562c8ff18 create-vol: Don't allow creating vol without a name entered diff -r 67d5721a535f -r c0cffb13680c src/virtManager/createvol.py --- a/src/virtManager/createvol.py Mon Oct 05 10:06:29 2009 -0400 +++ b/src/virtManager/createvol.py Mon Oct 05 11:34:39 2009 -0400 @@ -62,6 +62,7 @@ "on_vmm_create_vol_delete_event" : self.close, "on_vol_cancel_clicked" : self.close, "on_vol_create_clicked" : self.finish, + "on_vol_name_changed" : self.vol_name_changed, }) format_list = self.window.get_widget("vol-format") @@ -99,6 +100,7 @@ def reset_state(self): self.window.get_widget("vol-name").set_text("") + self.window.get_widget("vol-create").set_sensitive(False) self.populate_vol_format() self.populate_vol_suffix() @@ -138,6 +140,10 @@ suffix = ".img" self.window.get_widget("vol-name-suffix").set_text(suffix) + def vol_name_changed(self, src): + text = src.get_text() + self.window.get_widget("vol-create").set_sensitive(bool(text)) + def finish(self, src): # validate input try: diff -rup new/src/vmm-create-vol.glade virt-manager-0.8.0/src/vmm-create-vol.glade --- new/src/vmm-create-vol.glade 2009-10-05 13:15:48.335564000 -0400 +++ virt-manager-0.8.0/src/vmm-create-vol.glade 2009-10-05 13:16:48.288704000 -0400 @@ -96,6 +96,7 @@ True True + virt-manager-0.8.0-more-translations.patch: fr.po | 22 +- pl.po | 526 +++++++++++++++++++++++++++++++----------------------------------- 2 files changed, 258 insertions(+), 290 deletions(-) --- NEW FILE virt-manager-0.8.0-more-translations.patch --- # HG changeset patch # User Cole Robinson # Date 1254751589 14400 # Node ID 67d5721a535f204db27f532e59f491f562c8ff18 # Parent dab7da238a24f68a15c276b425d7cbf0ef544a92 Updated french and polish translations. diff -r dab7da238a24 -r 67d5721a535f po/fr.po --- a/po/fr.po Thu Oct 01 12:07:14 2009 -0400 +++ b/po/fr.po Mon Oct 05 10:06:29 2009 -0400 @@ -13,7 +13,7 @@ "Project-Id-Version: virt-manager.tip\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-29 14:34-0400\n" -"PO-Revision-Date: 2009-09-13 00:49+0200\n" +"PO-Revision-Date: 2009-10-04 02:15+0200\n" "Last-Translator: Laurent L?onard \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -118,8 +118,7 @@ #: ../src/virt-manager.schemas.in.h:19 msgid "The number of samples to keep in the statistics history" -msgstr "" -"Le nombre d'?chantillons ? conserver dans l'historique des statistiques" +msgstr "Le nombre d'?chantillons ? conserver dans l'historique des statistiques" #: ../src/virt-manager.schemas.in.h:20 msgid "" @@ -191,8 +190,7 @@ #: ../src/virt-manager.schemas.in.h:33 msgid "Whether to install a sound device for remote VMs or not" -msgstr "" -"S'il faut ou non installer un p?riph?rique de son pour les MV distantes" +msgstr "S'il faut ou non installer un p?riph?rique de son pour les MV distantes" #: ../src/virt-manager.schemas.in.h:34 msgid "" @@ -265,8 +263,7 @@ #: ../src/virtManager/addhardware.py:442 #, python-format msgid "Uncaught error validating hardware input: %s" -msgstr "" -"Erreur non attrapp?e lors de la validation de l'entr?e du mat?riel : %s" +msgstr "Erreur non attrapp?e lors de la validation de l'entr?e du mat?riel : %s" #: ../src/virtManager/addhardware.py:636 msgid "Disk image:" @@ -2180,8 +2177,7 @@ #: ../src/vmm-add-hardware.glade.h:23 msgid "" "Sound" -msgstr "" -"Son" +msgstr "Son" #: ../src/vmm-add-hardware.glade.h:24 msgid "" @@ -2529,7 +2525,6 @@ msgstr "R?acheminement" #: ../src/vmm-create-net.glade.h:4 -#, fuzzy msgid "" "Hint: The network should be chosen from one of the IPv4 private " "address ranges. eg 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16" @@ -2634,7 +2629,7 @@ #: ../src/vmm-create-net.glade.h:21 msgid "Enable DHCP:" -msgstr "" +msgstr "Activer le DHCP :" #: ../src/vmm-create-net.glade.h:22 msgid "End Address" @@ -2755,8 +2750,7 @@ #: ../src/vmm-create-net.glade.h:53 msgid "You will need to choose an IPv4 address space for the virtual network:" -msgstr "" -"Vous devrez choisir un espace d'adressage IPv4 pour le r?seau virtuel :" +msgstr "Vous devrez choisir un espace d'adressage IPv4 pour le r?seau virtuel :" #: ../src/vmm-create-pool.glade.h:1 msgid "Add Storage Pool" @@ -2956,7 +2950,7 @@ #: ../src/vmm-create.glade.h:21 msgid "Error message" -msgstr "" +msgstr "Message d'erreur" #: ../src/vmm-create.glade.h:23 msgid "GB" diff -r dab7da238a24 -r 67d5721a535f po/pl.po --- a/po/pl.po Thu Oct 01 12:07:14 2009 -0400 +++ b/po/pl.po Mon Oct 05 10:06:29 2009 -0400 @@ -5,10 +5,10 @@ msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-29 14:34-0400\n" -"PO-Revision-Date: 2009-07-31 02:37+0200\n" +"POT-Creation-Date: 2009-10-04 18:47+0000\n" +"PO-Revision-Date: 2009-10-04 21:42+0200\n" "Last-Translator: Piotr Dr?g \n" -"Language-Team: Polish \n" +"Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -91,11 +91,12 @@ #: ../src/virt-manager.schemas.in.h:15 msgid "Show system tray icon" -msgstr "Wy?wietl ikon? obszaru powiadamiania" +msgstr "Wy?wietlenie ikony obszaru powiadamiania" #: ../src/virt-manager.schemas.in.h:16 msgid "Show system tray icon while app is running" -msgstr "Wy?wietl ikon? obszaru powiadamiania, kiedy aplikacja jest uruchomiona" +msgstr "" +"Wy?wietlenie ikony obszaru powiadamiania, kiedy aplikacja jest uruchomiona" #: ../src/virt-manager.schemas.in.h:17 msgid "Stats type in manager view" @@ -122,11 +123,11 @@ #: ../src/virt-manager.schemas.in.h:22 msgid "The statistics update interval" -msgstr "Cz?sto?? aktualizacji statystyk" +msgstr "Cz?stotliwo?? aktualizacji statystyk" #: ../src/virt-manager.schemas.in.h:23 msgid "The statistics update interval in seconds" -msgstr "Cz?sto?? aktualizacji statystyk w sekundach" +msgstr "Cz?stotliwo?? aktualizacji statystyk w sekundach" #: ../src/virt-manager.schemas.in.h:24 msgid "Type of stats to graph (cpu, disk, net) in manager view" @@ -236,11 +237,11 @@ #: ../src/virtManager/addhardware.py:414 msgid "Connection does not support host device enumeration" -msgstr "Po??czenie nie obs?uguje wyliczania urz?dzenia hosta" +msgstr "Po??czenie nie obs?uguje wyliczania urz?dze? gospodarza" #: ../src/virtManager/addhardware.py:418 msgid "Libvirt version does not support video devices." -msgstr "Ta wersja libvirt nie obs?uguje urz?dze? graficznych." +msgstr "Ta wersja biblioteki libvirt nie obs?uguje urz?dze? graficznych." #: ../src/virtManager/addhardware.py:442 #, python-format @@ -292,11 +293,11 @@ #: ../src/virtManager/addhardware.py:661 msgid "Absolute movement" -msgstr "Ruch absolutny" +msgstr "Ruch bezwzgl?dny" #: ../src/virtManager/addhardware.py:663 msgid "Relative movement" -msgstr "Ruch relatywny" +msgstr "Ruch wzgl?dny" #: ../src/virtManager/addhardware.py:666 ../src/virtManager/addhardware.py:692 #: ../src/virtManager/addhardware.py:710 ../src/virtManager/addhardware.py:737 @@ -341,7 +342,7 @@ #: ../src/virtManager/addhardware.py:689 ../src/vmm-add-hardware.glade.h:65 msgid "Same as host" -msgstr "Takie same, jak host" +msgstr "Takie same, jak gospodarz" #: ../src/virtManager/addhardware.py:693 ../src/vmm-add-hardware.glade.h:27 #: ../src/vmm-details.glade.h:22 @@ -382,7 +383,7 @@ #: ../src/virtManager/addhardware.py:740 msgid "Physical Host Device" -msgstr "Fizyczne urz?dzenie hosta" +msgstr "Fizyczne urz?dzenie gospodarza" #: ../src/virtManager/addhardware.py:746 ../src/virtManager/details.py:1936 msgid "Video" @@ -399,12 +400,11 @@ #: ../src/virtManager/addhardware.py:823 msgid "Allocation of disk storage may take a few minutes to complete." -msgstr "" -"Zako?czenia przydzielania pami?ci masowej dysku mo?e zaj?? kilka minut." +msgstr "Uko?czenia przydzielania pami?ci masowej dysku mo?e zaj?? kilka minut." #: ../src/virtManager/addhardware.py:847 msgid "Are you sure you want to add this device?" -msgstr "Na pewno chcesz doda? te urz?dzenie?" +msgstr "Na pewno doda? te urz?dzenie?" #: ../src/virtManager/addhardware.py:849 msgid "" @@ -413,7 +413,7 @@ "\n" "Warning: this will overwrite any other changes that require a VM reboot." msgstr "" -"To urz?dzenie nie mo?e zosta? do??czone do uruchomionej maszyny. Czy to " +"Te urz?dzenie nie mo?e zosta? do??czone do uruchomionej maszyny. Czy to " "urz?dzenie ma by? dost?pne po nast?pnym wy??czeniu maszyny wirtualnej?\n" "\n" "Ostrze?enie: zast?pi to wszystkie inne zmiany wymagaj?ce ponownego " @@ -423,15 +423,15 @@ #: ../src/virtManager/create.py:1535 #, python-format msgid "Unable to complete install: '%s'" -msgstr "Nie mo?na zako?czy? instalacji: \"%s\"" +msgstr "Nie mo?na uko?czy? instalacji: \"%s\"" #: ../src/virtManager/addhardware.py:885 msgid "Locate Storage Partition" -msgstr "Ustal po?o?enie partycji pami?ci masowej" +msgstr "Ustalenie po?o?enia partycji pami?ci masowej" #: ../src/virtManager/addhardware.py:893 msgid "Locate or Create New Storage File" -msgstr "Ustal po?o?enie lub utw?rz nowy plik pami?ci masowej" +msgstr "Ustalenie po?o?enia lub utworzenie nowego pliku pami?ci masowej" #: ../src/virtManager/addhardware.py:1054 msgid "Hardware Type Required" @@ -439,7 +439,7 @@ #: ../src/virtManager/addhardware.py:1055 msgid "You must specify what type of hardware to add." -msgstr "Musisz poda? typ sprz?tu do dodania." +msgstr "Nale?y poda? typ sprz?tu do dodania." #: ../src/virtManager/addhardware.py:1060 msgid "Storage Path Required" @@ -447,7 +447,7 @@ #: ../src/virtManager/addhardware.py:1061 msgid "You must specify a partition or a file for disk storage." -msgstr "Musisz poda? partycj? lub plik dla dyskowej pami?ci masowej." +msgstr "Nale?y poda? partycj? lub plik dla dyskowej pami?ci masowej." #: ../src/virtManager/addhardware.py:1064 msgid "Target Device Required" @@ -455,7 +455,7 @@ #: ../src/virtManager/addhardware.py:1065 msgid "You must select a target device for the disk." -msgstr "Musisz wybra? urz?dzenie docelowe dla dysku." +msgstr "Nale?y wybra? urz?dzenie docelowe dla dysku." #: ../src/virtManager/addhardware.py:1092 msgid "Invalid Storage Parameters" @@ -469,11 +469,11 @@ #: ../src/virtManager/addhardware.py:1101 ../src/virtManager/create.py:1311 #, python-format msgid "Disk \"%s\" is already in use by another guest!" -msgstr "Dysk \"%s\" jest ju? u?ywany przez innego go?cia!" +msgstr "Dysk \"%s\" jest ju? u?ywany przez innego go?cia." #: ../src/virtManager/addhardware.py:1102 ../src/virtManager/create.py:1313 msgid "Do you really want to use the disk?" -msgstr "Na pewno chcesz u?y? dysku?" +msgstr "Na pewno u?y? dysku?" #: ../src/virtManager/addhardware.py:1109 msgid "Virtual Network Required" @@ -481,7 +481,7 @@ #: ../src/virtManager/addhardware.py:1110 msgid "You must select one of the virtual networks." -msgstr "Musisz wybra? jedn? z sieci wirtualnych." +msgstr "Nale?y wybra? jedn? z sieci wirtualnych." #: ../src/virtManager/addhardware.py:1113 msgid "Physical Device Required" @@ -489,7 +489,7 @@ #: ../src/virtManager/addhardware.py:1114 msgid "You must select a physical device." -msgstr "Musisz wybra? urz?dzenie fizyczne." +msgstr "Nale?y wybra? urz?dzenie fizyczne." #: ../src/virtManager/addhardware.py:1120 #: ../src/virtManager/addhardware.py:1126 @@ -498,7 +498,7 @@ #: ../src/virtManager/addhardware.py:1121 msgid "No MAC address was entered. Please enter a valid MAC address." -msgstr "Nie podano adresu MAC. Podaj prawid?owy adres MAC." +msgstr "Nie podano adresu MAC. Prosz? poda? prawid?owy adres MAC." #: ../src/virtManager/addhardware.py:1139 msgid "Unsupported networking type" @@ -515,11 +515,11 @@ #: ../src/virtManager/addhardware.py:1152 msgid "Are you sure you want to use this address?" -msgstr "Na pewno chcesz u?y? tego adresu?" +msgstr "Na pewno u?y? tego adresu?" #: ../src/virtManager/addhardware.py:1167 msgid "Graphics device parameter error" -msgstr "B??d parametru urz?dzenia grafiki" +msgstr "B??d parametru urz?dzenia graficznego" #: ../src/virtManager/addhardware.py:1174 msgid "Sound device parameter error" @@ -535,7 +535,7 @@ #: ../src/virtManager/addhardware.py:1189 msgid "Host device parameter error" -msgstr "B??d parametru urz?dzenia hosta" +msgstr "B??d parametru urz?dzenia gospodarza" #: ../src/virtManager/addhardware.py:1231 #, python-format @@ -552,7 +552,7 @@ #: ../src/virtManager/addhardware.py:1265 ../src/virtManager/create.py:671 msgid "Not bridged" -msgstr "Nie mostkowane" +msgstr "Bez mostku" #. [xml value, label] #: ../src/virtManager/addhardware.py:1272 @@ -580,7 +580,7 @@ #: ../src/virtManager/asyncjob.py:42 ../src/vmm-progress.glade.h:1 msgid "Operation in progress" -msgstr "Operacja jest wykonywana" +msgstr "Dzia?anie jest wykonywane" #: ../src/virtManager/asyncjob.py:89 ../src/virtManager/asyncjob.py:102 #: ../src/vmm-progress.glade.h:3 @@ -589,7 +589,7 @@ #: ../src/virtManager/asyncjob.py:117 msgid "Completed" -msgstr "Zako?czono" +msgstr "Uko?czono" #: ../src/virtManager/choosecd.py:99 ../src/virtManager/choosecd.py:109 msgid "Invalid Media Path" @@ -601,7 +601,7 @@ #: ../src/virtManager/choosecd.py:128 ../src/virtManager/create.py:1019 msgid "Locate ISO Image" -msgstr "Ustal po?o?enie obrazu ISO" +msgstr "Ustalenie po?o?enia obrazu ISO" #: ../src/virtManager/clone.py:216 ../src/virtManager/clone.py:437 msgid "Details..." @@ -639,7 +639,7 @@ #: ../src/virtManager/clone.py:433 #, python-format msgid "Share disk with %s" -msgstr "Wsp??dziel plik z %s" +msgstr "Wsp??dziel dysk z %s" #: ../src/virtManager/clone.py:445 msgid "Storage cannot be shared or cloned." @@ -663,13 +663,13 @@ "Using an existing image will overwrite the path during the clone process. " "Are you sure you want to use this path?" msgstr "" -"U?ycie istniej?cego obrazu zast?pi ?cie?k? podczas procesu klonowania. Czy " -"jeste? pewny, ?e chcesz u?y? tej ?cie?ki?" +"U?ycie istniej?cego obrazu zast?pi ?cie?k? podczas procesu klonowania. Na " +"u?y? tej ?cie?ki?" #: ../src/virtManager/clone.py:639 #, python-format msgid "Error changing storage path: %s" -msgstr "B??d podczas ?cie?ki do pami?ci masowej: %s" +msgstr "B??d podczas zmieniania ?cie?ki do pami?ci masowej: %s" #: ../src/virtManager/clone.py:690 msgid "Skipping disks may cause data to be overwritten." @@ -686,7 +686,7 @@ "Nast?puj?ce urz?dzenia dysk?w nie zostan? sklonowane:\n" "\n" "%s\n" -"Uruchomienie nowego go?cia mog?oby zast?pi? dane w tych obrazach dysk?w." +"Uruchomienie nowego go?cia mo?e zast?pi? dane w tych obrazach dysk?w." #: ../src/virtManager/clone.py:711 ../src/virtManager/createpool.py:264 #: ../src/virtManager/createvol.py:147 @@ -701,7 +701,7 @@ #: ../src/virtManager/clone.py:722 ../src/virtManager/delete.py:142 msgid " and selected storage (this may take a while)" -msgstr " i wybranej pami?ci masowej (mo?e to troch? zaj??)" +msgstr " i wybranej pami?ci masowej (mo?e to chwil? zaj??)" #: ../src/virtManager/clone.py:756 #, python-format @@ -718,11 +718,11 @@ #: ../src/virtManager/clone.py:797 msgid "Cannot clone unmanaged remote storage." -msgstr "Nie mo?na sklonowa? niezarz?dzanej zdanej pami?ci masowej." +msgstr "Nie mo?na sklonowa? niezarz?dzanej zdalnej pami?ci masowej." #: ../src/virtManager/clone.py:799 ../src/virtManager/delete.py:342 msgid "No write access to parent directory." -msgstr "Brak uprawnienia do zapisu do folder nadrz?dnego." +msgstr "Brak uprawnienia do zapisu do katalogu nadrz?dnego." #: ../src/virtManager/clone.py:801 ../src/virtManager/delete.py:340 msgid "Path does not exist." @@ -750,30 +750,30 @@ msgid "Name" msgstr "Nazwa" -#: ../src/virtManager/connection.py:1119 +#: ../src/virtManager/connection.py:1121 msgid "Disconnected" msgstr "Roz??czono" -#: ../src/virtManager/connection.py:1121 +#: ../src/virtManager/connection.py:1123 msgid "Connecting" msgstr "??czenie" -#: ../src/virtManager/connection.py:1124 +#: ../src/virtManager/connection.py:1126 msgid "Active (RO)" -msgstr "Aktywuj (tylko do odczytu)" +msgstr "Aktywacja (tylko do odczytu)" -#: ../src/virtManager/connection.py:1126 ../src/virtManager/host.py:327 +#: ../src/virtManager/connection.py:1128 ../src/virtManager/host.py:327 #: ../src/virtManager/host.py:555 ../src/vmm-host.glade.h:5 msgid "Active" -msgstr "Aktywuj" +msgstr "Aktywacja" -#: ../src/virtManager/connection.py:1128 ../src/virtManager/create.py:634 +#: ../src/virtManager/connection.py:1130 ../src/virtManager/create.py:634 #: ../src/virtManager/host.py:332 ../src/virtManager/host.py:375 #: ../src/virtManager/host.py:555 ../src/virtManager/host.py:587 msgid "Inactive" -msgstr "Deaktywuj" +msgstr "Deaktywacja" -#: ../src/virtManager/connection.py:1130 ../src/virtManager/create.py:1605 +#: ../src/virtManager/connection.py:1132 ../src/virtManager/create.py:1605 #: ../src/virtManager/create.py:1606 ../src/virtManager/create.py:1608 #: ../src/virtManager/details.py:934 ../src/virtManager/details.py:1063 msgid "Unknown" @@ -794,9 +794,9 @@ "Pe?ne przydzielenie pami?ci masowej zajmie wi?cej czasu, ale faza instalacji " "systemu operacyjnego b?dzie kr?tsza. \n" "\n" -"Pomini?cie przydzielenie spowoduje tak?e problemy z przestrzeni? na maszynie " -"hosta, je?li maksymalny rozmiar obrazu przekracza dost?pn? przestrze? " -"pami?ci masowej." +"Pomini?cie przydzielenie spowoduje tak?e problemy z przestrzeni? na " +"komputerze gospodarza, je?li maksymalny rozmiar obrazu przekracza dost?pn? " +"przestrze? pami?ci masowej." #: ../src/virtManager/create.py:297 msgid "No active connection to install on." @@ -830,7 +830,7 @@ #: ../src/virtManager/create.py:426 #, python-format msgid "Up to %(maxmem)s available on the host" -msgstr "Do %(maxmem)s dost?pnej na ho?cie" +msgstr "Do %(maxmem)s dost?pnej na gospodarzu" #: ../src/virtManager/create.py:440 #, python-format @@ -871,7 +871,7 @@ #: ../src/virtManager/create.py:676 #, python-format msgid "Host device %s %s" -msgstr "Urz?dzenie hosta %s %s" +msgstr "Urz?dzenie gospodarza %s %s" #: ../src/virtManager/create.py:688 msgid "No networking." @@ -879,7 +879,7 @@ #: ../src/virtManager/create.py:733 msgid "Local CDROM/ISO" -msgstr "Lokalny CD-ROM/ISO" +msgstr "Lokalna p?yta CD-ROM/plik ISO" #: ../src/virtManager/create.py:735 msgid "URL Install Tree" @@ -895,7 +895,7 @@ #: ../src/virtManager/create.py:1028 msgid "Locate existing storage" -msgstr "Ustal po?o?enie istniej?cej pami?ci masowej" +msgstr "Ustalenie po?o?enia istniej?cej pami?ci masowej" #: ../src/virtManager/create.py:1099 #, python-format @@ -955,8 +955,7 @@ #, python-format msgid "" "Virtual Network '%s' is not active. Would you like to start the network now?" -msgstr "" -"Sie? wirtualna \"%s\" jest nieaktywna. Czy chcesz teraz uruchomi? sie??" +msgstr "Sie? wirtualna \"%s\" jest nieaktywna. Uruchomi? sie? teraz?" #: ../src/virtManager/create.py:1341 #, python-format @@ -979,7 +978,7 @@ #: ../src/virtManager/create.py:1385 #, python-format msgid "%s Are you sure you want to use this address?" -msgstr "%s Na pewno chcesz u?y? tego adresu?" +msgstr "%s Na pewno u?y? tego adresu?" #: ../src/virtManager/create.py:1428 #, python-format @@ -988,7 +987,7 @@ #: ../src/virtManager/create.py:1436 msgid "Error setting up graphics device:" -msgstr "B??d podczas ustawiania urz?dzenia grafiki:" +msgstr "B??d podczas ustawiania urz?dzenia graficznego:" #: ../src/virtManager/create.py:1446 msgid "Error setting up sound device:" @@ -1041,7 +1040,7 @@ #: ../src/virtManager/createnet.py:166 msgid "Reserved" -msgstr "Zarezerwowane" +msgstr "Zastrze?one" #: ../src/virtManager/createnet.py:168 msgid "Other" @@ -1081,7 +1080,7 @@ #: ../src/virtManager/createnet.py:343 msgid "Network name may contain alphanumeric and '_' characters only" -msgstr "Nazwa sieci mo?e zawiera? tylko znaki alfanumeryczne oraz \"_\"" +msgstr "Nazwa sieci mo?e zawiera? tylko znaki alfanumeryczne i \"_\"" #: ../src/virtManager/createnet.py:349 ../src/virtManager/createnet.py:353 #: ../src/virtManager/createnet.py:357 @@ -1102,7 +1101,7 @@ #: ../src/virtManager/createnet.py:361 msgid "Check Network Address" -msgstr "Sprawd? adres sieci" +msgstr "Sprawdzenie adresu sieci" #: ../src/virtManager/createnet.py:362 msgid "" @@ -1137,19 +1136,19 @@ #: ../src/virtManager/createnet.py:387 msgid "Invalid forwarding mode" -msgstr "Nieprawid?owy tryb przekazywania" +msgstr "Nieprawid?owy tryb przekierowania" #: ../src/virtManager/createnet.py:388 msgid "Please select where the traffic should be forwarded" -msgstr "Wybierz, gdzie ruch powinien by? przekazywany" +msgstr "Prosz? wybra?, gdzie ruch powinien by? przekierowywany" #: ../src/virtManager/createpool.py:241 msgid "Choose source path" -msgstr "Wybierz ?cie?k? ?r?d?ow?" +msgstr "Wyb?r ?cie?ki ?r?d?owej" #: ../src/virtManager/createpool.py:247 msgid "Choose target directory" -msgstr "Wybierz folder docelowy" +msgstr "Wyb?r katalogu docelowego" #: ../src/virtManager/createpool.py:278 msgid "Creating storage pool..." @@ -1173,16 +1172,16 @@ "Building a pool of this type will format the source device. Are you sure you " "want to 'build' this pool?" msgstr "" -"Budowanie puli tego typu sformatuje urz?dzenie ?r?d?owe. Czy jeste? pewny, " -"?e chcesz \"zbudowa?\" t? pul??" +"Budowanie puli tego typu sformatuje urz?dzenie ?r?d?owe. Na pewno " +"\"zbudowa?\" t? pul??" #: ../src/virtManager/createpool.py:375 msgid "Format the source device." -msgstr "Sformatuj urz?dzenie ?r?d?owe." +msgstr "Sformatowanie urz?dzenia ?r?d?owego." #: ../src/virtManager/createpool.py:377 msgid "Create a logical volume group from the source device." -msgstr "Utw?rz grup? wolumin?w logicznych z urz?dzenia ?r?d?owego." +msgstr "Utworzenie grupy wolumin?w logicznych z urz?dzenia ?r?d?owego." #: ../src/virtManager/createvol.py:158 msgid "Creating storage volume..." @@ -1281,9 +1280,9 @@ "with the specified label. The administrator is responsible for making sure " "the images are labeled corectly on disk." msgstr "" -"Statyczny tryb bezpiecze?stwa SELinuksa przekazuje libvirt, aby zawsze " -"uruchamia? proces go?cia za pomoc? podanej etykiety. Administrator jest " -"odpowiedzialny za upewnienie si?, ?e obrazy na dysku maj? odpowiednie " +"Statyczny tryb bezpiecze?stwa SELinuksa przekazuje bibliotece libvirt, aby " +"zawsze uruchamia? proces go?cia za pomoc? podanej etykiety. Administrator " +"jest odpowiedzialny za upewnienie si?, ?e obrazy na dysku maj? odpowiednie " "etykiety." #: ../src/virtManager/details.py:175 @@ -1292,13 +1291,13 @@ "unique label for the guest process and guest image, ensuring total isolation " "of the guest. (Default)" msgstr "" -"Dynamiczny tryb bezpiecze?stwa SELinuksa przekazuje libvirt, aby " +"Dynamiczny tryb bezpiecze?stwa SELinuksa przekazuje bibliotece libvirt, aby " "automatycznie wybiera?o unikaln? etykiet? dla procesu i obrazu go?cia, " -"zapewniaj?c ca?kowite odizolowanie go?cia (domy?lne)." +"zapewniaj?c ca?kowite odizolowanie go?cia (domy?lnie)." #: ../src/virtManager/details.py:380 msgid "Press Ctrl+Alt to release pointer." -msgstr "Naci?nij Ctrl+Alt, aby uwolni? wska?nik." +msgstr "Naci?ni?cie Ctrl+Alt uwalnia wska?nik." #: ../src/virtManager/details.py:388 msgid "Pointer grabbed" @@ -1310,15 +1309,15 @@ "release the pointer, press the key pair: Ctrl+Alt" msgstr "" "Wska?nik myszy zosta? ograniczony do okna konsoli wirtualnej. Aby go " -"uwolni?, naci?nij par? klawiszy Ctrl+Alt" +"uwolni?, nale?y nacisn?? par? klawiszy Ctrl+Alt" #: ../src/virtManager/details.py:390 msgid "Do not show this notification in the future." -msgstr "Nie wy?wietlaj tego powiadomienia w przysz?o?ci." +msgstr "Bez wy?wietlania tego powiadomienia w przysz?o?ci." #: ../src/virtManager/details.py:513 msgid "No serial devices found" -msgstr "Nie znaleziono urz?dze? szeregowych" +msgstr "Nie odnaleziono urz?dze? szeregowych" #: ../src/virtManager/details.py:535 msgid "Serial console not yet supported over remote connection." @@ -1341,12 +1340,12 @@ #: ../src/virtManager/details.py:561 msgid "No graphics console found." -msgstr "Nie znaleziono konsoli graficznej." +msgstr "Nie odnaleziono konsoli graficznej." #: ../src/virtManager/details.py:566 #, python-format msgid "Graphical Console %s" -msgstr "Konsoli graficzna %s" +msgstr "Konsola graficzna %s" #: ../src/virtManager/details.py:856 msgid "paused" @@ -1354,7 +1353,7 @@ #: ../src/virtManager/details.py:869 msgid "Console not available while paused" -msgstr "Konsola nie jest dost?pna podczas pauzy" +msgstr "Konsola nie jest dost?pna podczas wstrzymania" #: ../src/virtManager/details.py:1089 msgid "Hypervisor Default" @@ -1370,11 +1369,11 @@ #: ../src/virtManager/details.py:1111 msgid "Absolute Movement" -msgstr "Ruch absolutny" +msgstr "Ruch bezwzgl?dny" #: ../src/virtManager/details.py:1113 msgid "Relative Movement" -msgstr "Ruch relatywny" +msgstr "Ruch wzgl?dny" #: ../src/virtManager/details.py:1139 ../src/vmm-add-hardware.glade.h:29 msgid "Automatically allocated" @@ -1396,8 +1395,8 @@ msgid "" "TCP/IP error: VNC connection to hypervisor host got refused or disconnected!" msgstr "" -"B??d TCP/IP: po??czenie VNC do hosta nadzorcy zosta?o odrzucone lub " -"roz??czone!" +"B??d TCP/IP: po??czenie VNC do gospodarza nadzorcy zosta?o odrzucone lub " +"roz??czone." #: ../src/virtManager/details.py:1348 msgid "Console not configured for guest" @@ -1435,7 +1434,7 @@ #: ../src/virtManager/details.py:1482 msgid "Save Virtual Machine Screenshot" -msgstr "Zapisz zrzut ekranu maszyny wirtualnej" +msgstr "Zapisanie zrzutu ekranu maszyny wirtualnej" #: ../src/virtManager/details.py:1507 #, python-format @@ -1468,7 +1467,7 @@ #: ../src/virtManager/details.py:1678 ../src/virtManager/details.py:1742 msgid "These changes will take effect after the next guest reboot. " msgstr "" -"Te zmiany zostan? uwzgl?dnione po nast?pnych ponownych uruchomieniu go?cia. " +"Te zmiany zostan? uwzgl?dnione po nast?pnym ponownym uruchomieniu go?cia. " #: ../src/virtManager/details.py:1737 #, python-format @@ -1478,7 +1477,7 @@ #: ../src/virtManager/details.py:1755 #, python-format msgid "Error changing autostart value: %s" -msgstr "B??d podczas zmienianie warto?ci automatycznego uruchamiania: %s" +msgstr "B??d podczas zmieniania warto?ci automatycznego uruchamiania: %s" #: ../src/virtManager/details.py:1762 #, python-format @@ -1514,16 +1513,16 @@ #: ../src/virtManager/details.py:2028 #, python-format msgid "Error Removing CDROM: %s" -msgstr "B??d podczas usuwania CD-ROM: %s" +msgstr "B??d podczas usuwania p?yty CD-ROM: %s" #: ../src/virtManager/details.py:2045 #, python-format msgid "Error Connecting CDROM: %s" -msgstr "B??d podczas ??czenia do CD-ROM: %s" +msgstr "B??d podczas ??czenia p?yty CD-ROM: %s" #: ../src/virtManager/details.py:2062 msgid "Are you sure you want to remove this device?" -msgstr "Na pewno chcesz usun?? to urz?dzenie?" +msgstr "Na pewno usun?? te urz?dzenie?" #: ../src/virtManager/details.py:2064 msgid "" @@ -1532,7 +1531,7 @@ "\n" "Warning: this will overwrite any other changes that require a VM reboot." msgstr "" -"To urz?dzenie nie mo?e zosta? usuni?te z uruchomionej maszyny. Czy to " +"Te urz?dzenie nie mo?e zosta? usuni?te z uruchomionej maszyny. Czy to " "urz?dzenie ma zosta? usuni?te po nast?pnym wy??czeniu maszyny wirtualnej?\n" "\n" "Ostrze?enie: zast?pi to wszystkie inne zmiany wymagaj?ce ponownego " @@ -1575,104 +1574,104 @@ #: ../src/virtManager/domain.py:1270 #, python-format msgid "Didn't find the specified device to remove. Device was: %s %s" -msgstr "Nie znaleziono podanego urz?dzenia do usuni?cia. Urz?dzenie to: %s %s" +msgstr "Nie odnaleziono podanego urz?dzenia do usuni?cia. Urz?dzenie to: %s %s" -#: ../src/virtManager/engine.py:338 +#: ../src/virtManager/engine.py:339 #, python-format msgid "Error bringing up domain details: %s" msgstr "B??d podczas podnoszenia szczeg???w domeny: %s" -#: ../src/virtManager/engine.py:444 +#: ../src/virtManager/engine.py:445 #, python-format msgid "Unknown connection URI %s" msgstr "Nieznany adres URI po??czenia %s" #. FIXME: This should work with remote storage stuff -#: ../src/virtManager/engine.py:452 +#: ../src/virtManager/engine.py:453 msgid "Saving virtual machines over remote connections is not yet supported." msgstr "" "Zapisywanie maszyn wirtualnych przez zdalne po??czeniach nie jest jeszcze " "obs?ugiwane." -#: ../src/virtManager/engine.py:467 +#: ../src/virtManager/engine.py:468 msgid "Save Virtual Machine" -msgstr "Zapisz maszyn? wirtualn?" +msgstr "Zapisanie maszyny wirtualnej" -#: ../src/virtManager/engine.py:476 +#: ../src/virtManager/engine.py:477 msgid "Saving Virtual Machine" msgstr "Zapisywanie maszyny wirtualnej" -#: ../src/virtManager/engine.py:481 +#: ../src/virtManager/engine.py:482 #, python-format msgid "Error saving domain: %s" msgstr "B??d podczas zapisywania domeny: %s" -#: ../src/virtManager/engine.py:500 +#: ../src/virtManager/engine.py:501 #, python-format msgid "About to poweroff virtual machine %s" msgstr "Maszyna wirtualna %s zaraz zostanie wy??czona" -#: ../src/virtManager/engine.py:502 +#: ../src/virtManager/engine.py:503 msgid "" "This will immediately poweroff the VM without shutting down the OS and may " "cause data loss. Are you sure?" msgstr "" "To natychmiast wy??czy maszyn? wirtualn? bez wy??czania systemu operacyjnego " -"i mo?e spowodowa? utrat? danych. Jeste? pewny?" +"i mo?e spowodowa? utrat? danych. Na pewno?" -#: ../src/virtManager/engine.py:512 ../src/virtManager/engine.py:592 -#: ../src/virtManager/engine.py:611 +#: ../src/virtManager/engine.py:513 ../src/virtManager/engine.py:593 +#: ../src/virtManager/engine.py:612 #, python-format msgid "Error shutting down domain: %s" msgstr "B??d podczas wy??czania domeny: %s" -#: ../src/virtManager/engine.py:534 +#: ../src/virtManager/engine.py:535 #, python-format msgid "Error pausing domain: %s" msgstr "B??d podczas wstrzymywania domeny: %s" -#: ../src/virtManager/engine.py:557 +#: ../src/virtManager/engine.py:558 #, python-format msgid "Error unpausing domain: %s" -msgstr "B??d podczas wychodzenia domeny ze wstrzymania: %s" +msgstr "B??d podczas wznawiania domeny: %s" -#: ../src/virtManager/engine.py:573 +#: ../src/virtManager/engine.py:574 #, python-format msgid "Error starting domain: %s" msgstr "B??d podczas uruchamiania domeny: %s" -#: ../src/virtManager/engine.py:619 +#: ../src/virtManager/engine.py:620 #, python-format msgid "Are you sure you want to migrate %s from %s to %s?" -msgstr "Na pewno chcesz migrowa? %s z %s do %s?" +msgstr "Na pewno migrowa? %s z %s do %s?" -#: ../src/virtManager/engine.py:627 +#: ../src/virtManager/engine.py:628 #, python-format msgid "Migrating VM '%s'" msgstr "Migrowanie maszyny wirtualnej \"%s\"" -#: ../src/virtManager/engine.py:628 +#: ../src/virtManager/engine.py:629 #, python-format msgid "Migrating VM '%s' from %s to %s. This may take awhile." msgstr "Migrowanie maszyny wirtualnej \"%s\" z %s do %s. To mo?e chwil? zaj??." -#: ../src/virtManager/engine.py:685 +#: ../src/virtManager/engine.py:686 msgid "No connections available." msgstr "Brak dost?pnych po??cze?." -#: ../src/virtManager/engine.py:712 +#: ../src/virtManager/engine.py:713 msgid "Connection hypervisors do not match." -msgstr "Nadzorcy po??czenia si? nie zgadzaj?." +msgstr "Nadzorcy po??czenia nie zgadzaj? si?." -#: ../src/virtManager/engine.py:714 +#: ../src/virtManager/engine.py:715 msgid "Connection is disconnected." msgstr "Po??czenie jest roz??czone." -#: ../src/virtManager/engine.py:716 +#: ../src/virtManager/engine.py:717 msgid "Cannot migrate to same connection." msgstr "Nie mo?na migrowa? do tego samego po??czenia." -#: ../src/virtManager/engine.py:746 +#: ../src/virtManager/engine.py:747 #, python-format msgid "Error setting clone parameters: %s" msgstr "B??d podczas ustawiania parametr?w klonowania: %s" @@ -1692,7 +1691,7 @@ #: ../src/virtManager/host.py:72 msgid "Copy Volume Path" -msgstr "Skopiuj ?cie?k? do woluminu" +msgstr "Skopiowanie ?cie?ki do woluminu" #: ../src/virtManager/host.py:210 #, python-format @@ -1702,7 +1701,7 @@ #: ../src/virtManager/host.py:234 #, python-format msgid "Are you sure you want to permanently delete the network %s?" -msgstr "Na pewno chcesz na trwa?e usun?? sie? %s?" +msgstr "Na pewno trwale usun?? sie? %s?" #: ../src/virtManager/host.py:241 #, python-format @@ -1749,7 +1748,7 @@ #: ../src/virtManager/host.py:436 #, python-format msgid "Are you sure you want to permanently delete the pool %s?" -msgstr "Na pewno chcesz na trwa?e usun?? pul? %s?" +msgstr "Na pewno trwale usun?? pul? %s?" #: ../src/virtManager/host.py:443 #, python-format @@ -1759,7 +1758,7 @@ #: ../src/virtManager/host.py:451 #, python-format msgid "Are you sure you want to permanently delete the volume %s?" -msgstr "Na pewno chcesz na trwa?e usun?? wolumin %s?" +msgstr "Na pewno trwale usun?? wolumin %s?" #: ../src/virtManager/host.py:460 #, python-format @@ -1785,7 +1784,7 @@ #: ../src/virtManager/manager.py:84 ../src/virtManager/manager.py:249 #: ../src/virtManager/systray.py:136 msgid "_Reboot" -msgstr "_Uruchom ponownie" +msgstr "U_ruchom ponownie" #: ../src/virtManager/manager.py:90 ../src/virtManager/manager.py:244 #: ../src/virtManager/manager.py:255 ../src/virtManager/systray.py:143 @@ -1829,9 +1828,9 @@ "A hypervisor connection can be manually added via \n" "File->Add Connection" msgstr "" -"Nie mo?na rozprowadzi? domy?lnego po??czenia. Upewnij si?, ?e odpowiednie " -"pakiety wirtualizacji s? zainstalowane (kvm, qemu itp.), a libvirtd zosta? " -"ponownie uruchomiony, aby uwzgl?dni? zmiany.\n" +"Nie mo?na rozprowadzi? domy?lnego po??czenia. Nale?y upewni? si?, ?e " +"odpowiednie pakiety wirtualizacji s? zainstalowane (kvm, qemu itp.), a " +"us?uga libvirtd zosta?a ponownie uruchomiona, aby uwzgl?dni? zmiany.\n" "\n" "Mo?na r?cznie doda? po??czenie do nadzorcy przez \n" "Plik->Dodaj po??czenie" @@ -1852,7 +1851,7 @@ #: ../src/virtManager/manager.py:436 msgid "Restore Virtual Machine" -msgstr "Przywr?? maszyn? wirtualn?" +msgstr "Przywr?cenie maszyny wirtualnej" #: ../src/virtManager/manager.py:444 #, python-format @@ -1885,7 +1884,7 @@ "\n" "%s\n" "\n" -"Jeste? pewny?" +"Na pewno?" #: ../src/virtManager/manager.py:840 msgid "CPU usage" @@ -1934,7 +1933,7 @@ #. Arguments to pass to util.browse_local for local storage #: ../src/virtManager/storagebrowse.py:68 msgid "Choose local storage" -msgstr "Zmie? lokaln? pami?? masow?" +msgstr "Zmiana lokalnej pami?ci masowej" #: ../src/virtManager/storagebrowse.py:115 msgid "Size" @@ -1988,7 +1987,7 @@ #: ../src/vmm-add-hardware.glade.h:3 msgid "Physical Host Device" -msgstr "Fizyczne urz?dzenie hosta" +msgstr "Fizyczne urz?dzenie gospodarza" #: ../src/vmm-add-hardware.glade.h:4 ../src/vmm-details.glade.h:11 msgid "Sound Device" @@ -2034,9 +2033,9 @@ "connected via wireless, or dynamically configured with NetworkManager." msgstr "" -"Wskaz?wka: wybierz t? opcj?, je?li host jest roz??czony, " -"po??czony bezprzewodowo lub konfigurowany automatycznie za pomoc? mened?era " -"sieci." +"Wskaz?wka: nale?y wybra? t? opcj?, je?li gospodarz jest " +"roz??czony, po??czony bezprzewodowo lub konfigurowany automatycznie za " +"pomoc? Mened?era sieci." #: ../src/vmm-add-hardware.glade.h:13 msgid "" @@ -2044,9 +2043,9 @@ "to wired ethernet, to gain the ability to migrate the virtual machine." msgstr "" -"Wskaz?wka: wybierz t? opcj?, je?li host jest statycznie " -"po??czony z przewodowym ethernetem, aby uzyska? mo?liwo?? migrowania maszyny " -"wirtualnej." +"Wskaz?wka: nale?y wybra? t? opcj?, je?li gospodarz jest " +"statycznie po??czony z przewodow? sieci? Ethernet, aby uzyska? mo?liwo?? " +"migrowania maszyny wirtualnej." #: ../src/vmm-add-hardware.glade.h:14 msgid "" @@ -2054,8 +2053,8 @@ "virtual display to be embedded inside this application. It may also be used " "to allow access to the virtual display from a remote system." msgstr "" -"Wskaz?wka: serwer VNC jest bardzo zalecany, poniewa? pozwala " -"on oknie ekranowi wirtualnemu na zagnie?d?enie w tej aplikacji. Mo?e by? " +"Wskaz?wka: serwer VNC jest bardzo zalecany, poniewa? umo?liwia " +"oknie ekranowi wirtualnemu na zagnie?d?enie w tej aplikacji. Mo?e by? " "tak?e u?yty, aby umo?liwi? dost?p do ekranu wirtualnego ze zdalnego systemu." "" @@ -2076,10 +2075,10 @@ "free space is not available on the host, this may result in data corruption " "on the virtual machine." msgstr "" -"Ostrze?enie: je?li nie przydzielisz ca?ego dysku teraz, " +"Ostrze?enie: je?li ca?y dysk nie zostanie teraz przydzielony, " "przestrze? b?dzie przydzielana w miar? potrzeb wtedy, gdy maszyna wirtualna " "b?dzie uruchomiona. Je?li wystarczaj?ca ilo?? wolnego miejsca nie b?dzie " -"dost?pna na ho?cie, mo?e to spowodowa? uszkodzeniem danych na maszynie " +"dost?pna na gospodarzu, mo?e to spowodowa? uszkodzeniem danych na maszynie " "wirtualnej." #: ../src/vmm-add-hardware.glade.h:17 @@ -2095,7 +2094,7 @@ "Finish Adding " "Virtual Hardware" msgstr "" -"Zako?czono " +"Uko?czono " "dodawanie sprz?tu wirtualnego" #: ../src/vmm-add-hardware.glade.h:19 @@ -2110,7 +2109,7 @@ "span>" msgstr "" "Urz?dzenie " -"hosta" +"gospodarza" #: ../src/vmm-add-hardware.glade.h:21 msgid "" @@ -2147,15 +2146,15 @@ #: ../src/vmm-add-hardware.glade.h:26 msgid "Add new virtual hardware" -msgstr "Dodaj nowy sprz?t wirtualny" +msgstr "Dodanie nowego sprz?tu wirtualnego" #: ../src/vmm-add-hardware.glade.h:28 msgid "Allocate entire virtual disk now" -msgstr "Przydziel ca?y dysk wirtualny" +msgstr "Przydzielenie ca?ego dysku wirtualnego" #: ../src/vmm-add-hardware.glade.h:30 msgid "Bind Host:" -msgstr "Dowi?? hosta:" +msgstr "Dowi?zanie gospodarza:" #: ../src/vmm-add-hardware.glade.h:31 ../src/vmm-clone.glade.h:13 #: ../src/vmm-create.glade.h:12 @@ -2196,11 +2195,11 @@ #: ../src/vmm-add-hardware.glade.h:42 msgid "Host:" -msgstr "Host:" +msgstr "Gospodarz:" #: ../src/vmm-add-hardware.glade.h:44 msgid "Listen on all public network interfaces " -msgstr "Nas?uchuj na wszystkich publicznych interfejsach sieciowych " +msgstr "Nas?uchiwanie na wszystkich publicznych interfejsach sieciowych " #: ../src/vmm-add-hardware.glade.h:45 msgid "Loc_ation:" @@ -2233,50 +2232,53 @@ #: ../src/vmm-add-hardware.glade.h:55 msgid "Please indicate how you would like to view the virtual display." -msgstr "Wska?, jak chcesz wy?wietla? ekran wirtualny." +msgstr "Prosz? wskaza?, jak ekran wirtualny ma by? wy?wietlany." #: ../src/vmm-add-hardware.glade.h:56 msgid "" "Please indicate how you'd like to assign space on this physical host system " "for your new virtual storage device." msgstr "" -"Wska?, jak chcesz przydzieli? przestrze? na tym fizycznym systemie hosta dla " -"nowego systemu wirtualnego." +"Prosz? wskaza?, jak przydzieli? przestrze? na tym fizycznym systemie " +"gospodarza dla nowego urz?dzenia wirtualnej pami?ci masowej." #: ../src/vmm-add-hardware.glade.h:57 msgid "" "Please indicate how you'd like to connect your new virtual network device to " "the host network." msgstr "" -"Wska?, jak chcesz po??czy? nowe wirtualne urz?dzenie sieciowe do sieci hosta." +"Prosz? wskaza?, jak po??czy? nowe wirtualne urz?dzenie sieciowe do sieci " +"gospodarza." #: ../src/vmm-add-hardware.glade.h:58 msgid "" "Please indicate what kind of pointer device to connect to the virtual " "machine." msgstr "" -"Wska?, jakim typem urz?dzenia wska?nika po??czy? si? z maszyn? wirtualn?." +"Prosz? wskaza?, jakim typem urz?dzenia wska?nika po??czy? si? z maszyn? " +"wirtualn?." #: ../src/vmm-add-hardware.glade.h:59 msgid "" "Please indicate what physical device\n" "to connect to the virtual machine." msgstr "" -"Wska?, kt?re urz?dzenie fizyczne\n" +"Prosz? wskaza?, kt?re urz?dzenie fizyczne\n" "po??czy? z maszyn? wirtualn?." #: ../src/vmm-add-hardware.glade.h:61 msgid "" "Please indicate what sound device type to connect to the virtual machine." msgstr "" -"Wska?, jakim typem urz?dzenia d?wi?kowego po??czy? si? z maszyn? wirtualn?." +"Prosz? wskaza?, jakim typem urz?dzenia d?wi?kowego po??czy? si? z maszyn? " +"wirtualn?." #: ../src/vmm-add-hardware.glade.h:62 msgid "" "Please indicate what video device type\n" "to connect to the virtual machine." msgstr "" -"Wska?, jakim typem urz?dzenia graficznego\n" +"Prosz? wskaza?, jakim typem urz?dzenia graficznego\n" "po??czy? si? z maszyn? wirtualn?." #: ../src/vmm-add-hardware.glade.h:66 @@ -2288,12 +2290,12 @@ "This assistant will guide you through adding a new piece of virtual " "hardware. First select what type of hardware you wish to add:" msgstr "" -"Ten asystent przeprowadzi ci? przez dodawanie nowego sprz?tu wirtualnego. " -"Najpierw wybierz typ sprz?tu, kt?ry chcesz doda?:" +"Ten asystent przeprowadzi u?ytkownika przez dodawanie nowego sprz?tu " +"wirtualnego. Prosz? najpierw wybra? typ sprz?tu do dodania:" #: ../src/vmm-add-hardware.glade.h:69 msgid "Use Telnet:" -msgstr "U?yj telnet:" +msgstr "U?ycie telnetu:" #: ../src/vmm-add-hardware.glade.h:70 msgid "Virtual Network Select" @@ -2346,7 +2348,7 @@ #: ../src/vmm-choose-cd.glade.h:2 msgid "Choose A CD Source Device" -msgstr "Wybierz ?r?d?owe urz?dzenie CD" +msgstr "Wyb?r ?r?d?owego urz?dzenia CD" #: ../src/vmm-choose-cd.glade.h:3 msgid "ISO _Location:" @@ -2358,7 +2360,7 @@ #: ../src/vmm-choose-cd.glade.h:5 msgid "_CD-ROM or DVD" -msgstr "_CD-ROM lub DVD" +msgstr "P?yta _CD-ROM lub DVD" #: ../src/vmm-choose-cd.glade.h:6 msgid "_Device Media:" @@ -2406,7 +2408,7 @@ #: ../src/vmm-clone.glade.h:10 msgid "Clone virtual machine" -msgstr "Sklonuj maszyn? wirtualn?" +msgstr "Sklonowanie maszyny wirtualnej" #: ../src/vmm-clone.glade.h:11 msgid "" @@ -2425,23 +2427,23 @@ #: ../src/vmm-clone.glade.h:15 msgid "Change MAC address" -msgstr "Zmie? adres MAC" +msgstr "Zmiana adresu MAC" #: ../src/vmm-clone.glade.h:16 msgid "Change storage path" -msgstr "Wybierz ?cie?k? pami?ci masowej" +msgstr "Zmiana ?cie?ki pami?ci masowej" #: ../src/vmm-clone.glade.h:17 msgid "Clone Virtual Machine" -msgstr "Sklonuj maszyn? wirtualn?" +msgstr "Sklonowanie maszyny wirtualnej" #: ../src/vmm-clone.glade.h:18 msgid "Create a clone based on:" -msgstr "Utw?rz klona w oparciu o:" +msgstr "Utworzenie klona w oparciu o:" #: ../src/vmm-clone.glade.h:19 msgid "Create a new disk (clone) for the virtual machine" -msgstr "Utw?rz nowy dysk (klona) dla maszyny wirtualnej" +msgstr "Utworzenie nowego dysku (klona) dla maszyny wirtualnej" #: ../src/vmm-clone.glade.h:20 msgid "Existing disk" @@ -2449,7 +2451,7 @@ #: ../src/vmm-clone.glade.h:21 msgid "New MAC:" -msgstr "Nowy MAC:" +msgstr "Nowy adres MAC:" #: ../src/vmm-clone.glade.h:22 msgid "No networking devices" @@ -2469,16 +2471,15 @@ #: ../src/vmm-create-net.glade.h:3 msgid "Forwarding" -msgstr "Przekazywanie" +msgstr "Przekierowywanie" #: ../src/vmm-create-net.glade.h:4 -#, fuzzy msgid "" "Hint: The network should be chosen from one of the IPv4 private " "address ranges. eg 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16" msgstr "" "Wskaz?wka: sie? powinna zosta? wybrana z podanych zakres?w prywatnych " -"adres?w IPv4, np. 10.0.0.0/8, 172.16.0.0/12 lub 192.168.0.0/16" +"adres?w IPv4, np. 10.0.0.0/8, 172.16.0.0/12 lub 192.168.0.0/16." #: ../src/vmm-create-net.glade.h:5 msgid "IPv4 network" @@ -2494,7 +2495,7 @@ "network configuration in virtual machines, these parameters can be left with " "their default values." msgstr "" -"Wskaz?wka: je?li nie chcesz zarezerwowa? niekt?rych adres?w, aby " +"Wskaz?wka: je?li niekt?re adres nie maj? zosta? zastrze?one, aby " "umo?liwi? statyczn? konfiguracj? sieci w maszynie wirtualnej, te parametry " "powinny zosta? z domy?lnymi warto?ciami." @@ -2511,7 +2512,7 @@ "Connecting to " "physical network" msgstr "" -"??czenie si? z " +"??czenie z " "sieci? fizyczn?" #: ../src/vmm-create-net.glade.h:10 @@ -2564,7 +2565,7 @@ #: ../src/vmm-create-net.glade.h:18 msgid "Create a new virtual network" -msgstr "Utw?rz now? sie? wirtualn?" +msgstr "Utworzenie nowej sieci wirtualnej" #: ../src/vmm-create-net.glade.h:19 msgid "DHCP" @@ -2576,7 +2577,7 @@ #: ../src/vmm-create-net.glade.h:21 msgid "Enable DHCP:" -msgstr "" +msgstr "W??czenie DHCP:" #: ../src/vmm-create-net.glade.h:22 msgid "End Address" @@ -2592,11 +2593,11 @@ #: ../src/vmm-create-net.glade.h:25 msgid "Forwarding" -msgstr "Przekazywanie" +msgstr "Przekierowywanie" #: ../src/vmm-create-net.glade.h:26 msgid "Forwarding to physical network" -msgstr "Przekazywanie do sieci fizycznej" +msgstr "Przekierowywanie do sieci fizycznej" #: ../src/vmm-create-net.glade.h:27 msgid "Gateway:" @@ -2640,22 +2641,23 @@ #: ../src/vmm-create-net.glade.h:40 msgid "Please choose a name for your virtual network:" -msgstr "Wybierz nazw? sieci wirtualnej:" +msgstr "Prosz? wybra? nazw? sieci wirtualnej:" #: ../src/vmm-create-net.glade.h:41 msgid "" "Please choose the range of addresses the DHCP server will allocate to " "virtual machines attached to the virtual network." msgstr "" -"Wybierz zakres adres?w, kt?rych serwer DHCP b?dzie przydziela? maszynom " -"wirtualnym pod??czonym do sieci wirtualnej." +"Prosz? wybra? zakres adres?w, kt?rych serwer DHCP b?dzie przydziela? " +"maszynom wirtualnym pod??czonym do sieci wirtualnej." #: ../src/vmm-create-net.glade.h:42 msgid "" "Please indicate whether this virtual network should be connected to the " "physical network." msgstr "" -"Wska?, czy ta sie? wirtualna powinna zosta? po??czona z sieci? fizyczn?." +"Prosz? wskaza?, czy ta sie? wirtualna powinna zosta? po??czona z sieci? " +"fizyczn?." #: ../src/vmm-create-net.glade.h:44 msgid "Size:" @@ -2687,25 +2689,25 @@ "will be asked for some information about the virtual network you'd like to " "create, such as:" msgstr "" -"Ten asystent przeprowadzi ci? przez tworzenie nowej sieci wirtualnej. " -"Zastaniesz poproszony o kilka informacji o sieci wirtualnej, kt?r? chcesz " -"utworzy?, takich jak:" +"Ten asystent przeprowadzi u?ytkownika przez tworzenie nowej sieci " +"wirtualnej. U?ytkownik zastanie poproszony o kilka informacji o sieci " +"wirtualnej, kt?ra ma zosta? utworzona, takich jak:" #: ../src/vmm-create-net.glade.h:52 msgid "Whether to forward traffic to the physical network" -msgstr "Czy przekazywa? ruch do urz?dzenia fizycznego" +msgstr "Czy przekierowywa? ruch do urz?dzenia fizycznego" #: ../src/vmm-create-net.glade.h:53 msgid "You will need to choose an IPv4 address space for the virtual network:" -msgstr "Musisz wybra? przestrze? adres?w IPv4 dla sieci wirtualnej:" +msgstr "Nale?y wybra? przestrze? adres?w IPv4 dla sieci wirtualnej:" #: ../src/vmm-create-pool.glade.h:1 msgid "Add Storage Pool" -msgstr "Dodaj pul? pami?ci masowej" +msgstr "Dodanie puli pami?ci masowej" #: ../src/vmm-create-pool.glade.h:2 msgid "Add a New Storage Pool" -msgstr "Dodaj now? pul? pami?ci masowej" +msgstr "Dodanie nowej puli pami?ci masowej" #: ../src/vmm-create-pool.glade.h:3 msgid "Browse" @@ -2725,7 +2727,7 @@ #: ../src/vmm-create-pool.glade.h:8 msgid "Host Name:" -msgstr "Nazwa hosta:" +msgstr "Nazwa gospodarza:" #: ../src/vmm-create-pool.glade.h:10 ../src/vmm-create-vol.glade.h:23 #: ../src/vmm-create.glade.h:34 ../src/vmm-details.glade.h:67 @@ -2741,8 +2743,8 @@ msgid "" "Specify a storage location to be later split into virtual machine storage." msgstr "" -"Podaj po?o?enie pami?ci masowej, kt?ra ma zosta? p??niej rozdzielona na " -"pami?ci masowe maszyn wirtualnych." +"Prosz? poda? po?o?enie pami?ci masowej, kt?ra ma zosta? p??niej rozdzielona " +"na pami?ci masowe maszyn wirtualnych." #: ../src/vmm-create-pool.glade.h:13 msgid "Step 1 of 2" @@ -2758,7 +2760,7 @@ #: ../src/vmm-create-vol.glade.h:1 msgid "Storage Volume Quota" -msgstr "Quota woluminu pami?ci masowej" +msgstr "Przydzia? woluminu pami?ci masowej" #: ../src/vmm-create-vol.glade.h:2 msgid "" @@ -2797,7 +2799,7 @@ #: ../src/vmm-create-vol.glade.h:17 msgid "Add a Storage Volume" -msgstr "Dodaj wolumin pami?ci masowej" +msgstr "Dodanie woluminu pami?ci masowej" #: ../src/vmm-create-vol.glade.h:18 msgid "Allocation:" @@ -2806,8 +2808,8 @@ #: ../src/vmm-create-vol.glade.h:19 msgid "Create a storage unit that can be used directly by a virtual machine." msgstr "" -"Utw?rz jednostk? pami?ci masowej, kt?ra mo?e by? u?ywana bezpo?rednio przez " -"maszyn? wirtualn?." +"Utworzenie jednostki pami?ci masowej, kt?ra mo?e by? u?ywana bezpo?rednio " +"przez maszyn? wirtualn?." #: ../src/vmm-create-vol.glade.h:22 msgid "Max Capacity:" @@ -2815,11 +2817,11 @@ #: ../src/vmm-create-vol.glade.h:25 msgid "available space:" -msgstr "dost?pna przestrze?:" +msgstr "dost?pne miejsce:" #: ../src/vmm-create.glade.h:1 msgid "(Insert host mem)" -msgstr "(Podaj pami?? hosta)" +msgstr "(Prosz? poda? pami?? gospodarza)" #: ../src/vmm-create.glade.h:2 msgid "CPUs:" @@ -2839,7 +2841,8 @@ #: ../src/vmm-create.glade.h:7 msgid "Create a new virtual machine" -msgstr "Utw?rz now? maszyn? wirtualn?" +msgstr "" +"Utworzenie nowej maszyny wirtualnej" #: ../src/vmm-create.glade.h:8 msgid "Advanced options" @@ -2847,7 +2850,7 @@ #: ../src/vmm-create.glade.h:9 msgid "Allocate entire disk now" -msgstr "Przydziel teraz ca?y dysk" +msgstr "Przydzielenie ca?ego dysku" #: ../src/vmm-create.glade.h:10 ../src/vmm-details.glade.h:24 #: ../src/vmm-host.glade.h:9 @@ -2856,7 +2859,8 @@ #: ../src/vmm-create.glade.h:11 msgid "Automatically detect operating system based on install media" -msgstr "Automatycznie wykryj system operacyjny, w oparciu o no?nik instalacji" +msgstr "" +"Automatyczne wykrywanie systemu operacyjny, w oparciu o no?nik instalacji" #: ../src/vmm-create.glade.h:13 msgid "CPUs:" @@ -2864,15 +2868,15 @@ #: ../src/vmm-create.glade.h:14 msgid "Choose Memory and CPU settings" -msgstr "Wybierz ustawienia pami?ci i procesora" +msgstr "Prosz? wybra? ustawienia pami?ci i procesora" #: ../src/vmm-create.glade.h:15 msgid "Choose an operating systen type and version" -msgstr "Wybierz typ i wersj? systemu operacyjnego" +msgstr "Prosz? wybra? typ i wersj? systemu operacyjnego" #: ../src/vmm-create.glade.h:16 msgid "Choose how you would like to install the operating system" -msgstr "Wska?, jak chcesz zainstalowa? system operacyjny" +msgstr "Prosz? wybra?, jak zainstalowa? system operacyjny" #: ../src/vmm-create.glade.h:17 ../src/vmm-host.glade.h:13 #: ../src/vmm-open-connection.glade.h:6 @@ -2881,19 +2885,19 @@ #: ../src/vmm-create.glade.h:18 msgid "Create a disk image on the computer's hard drive" -msgstr "Utw?rz obraz dysku na dysku twardym komputera" +msgstr "Utworzenie obrazu dysku na dysku twardym komputera" #: ../src/vmm-create.glade.h:19 msgid "Enable storage for this virtual machine" -msgstr "W??cz pami?? masow? dla tej maszyny wirtualnej" +msgstr "W??czenie pami?ci masowej dla tej maszyny wirtualnej" #: ../src/vmm-create.glade.h:20 msgid "Enter your virtual machine details" -msgstr "Podaj szczeg??y maszyny wirtualnej" +msgstr "Prosz? poda? szczeg??y maszyny wirtualnej" #: ../src/vmm-create.glade.h:21 msgid "Error message" -msgstr "" +msgstr "Komunikat b??du" #: ../src/vmm-create.glade.h:23 msgid "GB" @@ -2905,7 +2909,7 @@ #: ../src/vmm-create.glade.h:25 msgid "Install" -msgstr "Zainstaluj" +msgstr "Instalacja" #: ../src/vmm-create.glade.h:26 msgid "Kernel Options:" @@ -2917,11 +2921,11 @@ #: ../src/vmm-create.glade.h:28 msgid "Local install media (ISO image or CDROM)" -msgstr "Lokalny no?nik instalacji (obraz ISO lub CD-ROM)" +msgstr "Lokalny no?nik instalacji (obraz ISO lub p?yta CD-ROM)" #: ../src/vmm-create.glade.h:29 msgid "Locate your install media" -msgstr "Ustal po?o?enie no?nika instalacyjnego" +msgstr "Ustalenie po?o?enia no?nika instalacji" #: ../src/vmm-create.glade.h:31 msgid "Memory" @@ -2953,15 +2957,15 @@ #: ../src/vmm-create.glade.h:40 msgid "Provide the operating system URL" -msgstr "Podaj URL do systemu operacyjnego" +msgstr "Prosz? poda? adres URL systemu operacyjnego" #: ../src/vmm-create.glade.h:41 msgid "Select managed or other existing storage" -msgstr "Wybierz zarz?dzan? lub inn? istniej?c? pami?? masow?" +msgstr "Prosz? wybra? zarz?dzan? lub inn? istniej?c? pami?? masow?" #: ../src/vmm-create.glade.h:42 msgid "Set a fixed mac address" -msgstr "Ustaw sta?y adres MAC" +msgstr "Ustawienie sta?ego adresu MAC" #: ../src/vmm-create.glade.h:44 msgid "URL" @@ -2973,11 +2977,11 @@ #: ../src/vmm-create.glade.h:46 msgid "Use CDROM or DVD" -msgstr "U?yj CD-ROM lub DVD" +msgstr "U?ycie p?yty CD-ROM lub DVD" #: ../src/vmm-create.glade.h:47 msgid "Use ISO image:" -msgstr "U?yj obrazu ISO:" +msgstr "U?ycie obrazu ISO:" #: ../src/vmm-create.glade.h:48 msgid "Version:" @@ -2993,7 +2997,7 @@ #: ../src/vmm-delete.glade.h:2 msgid "Delete associated storage files" -msgstr "Usu? powi?zane pliki pami?ci masowej" +msgstr "Usuni?cie powi?zanych plik?w pami?ci masowej" #: ../src/vmm-details.glade.h:1 msgid "" @@ -3045,7 +3049,7 @@ "the host OS." msgstr "" "Wskaz?wka: \"urz?dzenie ?r?d?owe\" odnosi si? do nazwy urz?dzenia " -"widzianego z systemu operacyjnego hosta." +"widzianego z systemu operacyjnego gospodarza." #: ../src/vmm-details.glade.h:14 msgid "" @@ -3053,7 +3057,7 @@ "'target' refers to information seen from the guest OS" msgstr "" "Wskaz?wka: \"?r?d?o\" odnosi si? do informacji o systemie operacyjnym " -"hosta, a \"cel\" do informacji o systemie operacyjnym go?cia" +"gospodarza, a \"cel\" do informacji o systemie operacyjnym go?cia" #: ../src/vmm-details.glade.h:15 msgid "" @@ -3072,7 +3076,7 @@ msgstr "" "Wskaz?wka: W celu uzyskania najlepszej wydajno?ci liczba wirtualnych " "procesor?w powinna by? ni?sza ni? (lub r?wna) liczbie fizycznych procesor?w " -"w systemie hosta." +"w systemie gospodarza." #: ../src/vmm-details.glade.h:17 msgid "Virtual Disk" @@ -3092,7 +3096,7 @@ #: ../src/vmm-details.glade.h:21 msgid "insert type" -msgstr "wstaw typ" +msgstr "prosz? poda? typ" #: ../src/vmm-details.glade.h:23 msgid "Always" @@ -3120,7 +3124,7 @@ #: ../src/vmm-details.glade.h:30 msgid "Change allocation:" -msgstr "Zmie? przydzia?:" +msgstr "Zmiana przydzia?u:" #: ../src/vmm-details.glade.h:31 msgid "Char" @@ -3180,7 +3184,7 @@ #: ../src/vmm-details.glade.h:48 msgid "Host CPUs:" -msgstr "Procesory hosta:" +msgstr "Procesory gospodarza:" #: ../src/vmm-details.glade.h:49 msgid "How many virtual CPUs should be allocated for this machine?" @@ -3281,11 +3285,11 @@ #: ../src/vmm-details.glade.h:84 msgid "Save this password in your keyring" -msgstr "Zapisz to has?o w pliku kluczy" +msgstr "Zapisanie has?a w bazie kluczy" #: ../src/vmm-details.glade.h:85 msgid "Scale Display" -msgstr "Skaluj ekran" +msgstr "Skalowanie ekranu" #: ../src/vmm-details.glade.h:86 msgid "Screenshot" @@ -3293,7 +3297,7 @@ #: ../src/vmm-details.glade.h:87 msgid "Send Key" -msgstr "Wy?lij klawisz" +msgstr "Wys?anie klawisza" #: ../src/vmm-details.glade.h:88 msgid "Shut Down" @@ -3325,7 +3329,7 @@ #: ../src/vmm-details.glade.h:97 msgid "Start virtual machine on host boot up" -msgstr "Uruchom maszyn? wirtualn? podczas uruchamiania hosta" +msgstr "Uruchamianie maszyny wirtualnej podczas uruchamiania gospodarza" #: ../src/vmm-details.glade.h:98 msgid "Static" @@ -3357,7 +3361,7 @@ #: ../src/vmm-details.glade.h:106 msgid "Total memory on host machine:" -msgstr "Ca?kowita pami?? w maszynie hosta:" +msgstr "Ca?kowita pami?? w komputerze gospodarza:" #: ../src/vmm-details.glade.h:108 msgid "UUID:" @@ -3381,7 +3385,7 @@ #: ../src/vmm-details.glade.h:113 msgid "View Manager" -msgstr "Wy?wietl mened?era" +msgstr "Wy?wietlenie mened?era" #: ../src/vmm-details.glade.h:114 msgid "Virtual CPU Affinity Select" @@ -3479,15 +3483,15 @@ #: ../src/vmm-host.glade.h:20 msgid "Forwarding:" -msgstr "Przekazywanie:" +msgstr "Przekierowywanie:" #: ../src/vmm-host.glade.h:21 ../src/vmm-manager.glade.h:4 msgid "Host Details" -msgstr "Szczeg??y hosta" +msgstr "Szczeg??y gospodarza" #: ../src/vmm-host.glade.h:22 ../src/vmm-open-connection.glade.h:8 msgid "Hostname:" -msgstr "Nazwa hosta:" +msgstr "Nazwa gospodarza:" #: ../src/vmm-host.glade.h:24 msgid "Location:" @@ -3551,7 +3555,7 @@ #: ../src/vmm-manager.glade.h:6 msgid "Restore a saved machine from a filesystem image" -msgstr "Przywr?? zapisan? maszyn? z obrazu systemu plik?w" +msgstr "Przywr?cenie zapisanej maszyny z obrazu systemu plik?w" #: ../src/vmm-manager.glade.h:8 msgid "_Edit" @@ -3591,7 +3595,7 @@ #: ../src/vmm-open-connection.glade.h:7 msgid "Hostname Field" -msgstr "Pole nazwy hosta" +msgstr "Pole nazwy gospodarza" #: ../src/vmm-open-connection.glade.h:9 msgid "Hypervisor Select" @@ -3623,7 +3627,7 @@ #: ../src/vmm-preferences.glade.h:2 msgid "Enable Stats Polling" -msgstr "W??cz sonda? statystyk" +msgstr "W??czenie sonda?u statystyk" #: ../src/vmm-preferences.glade.h:3 msgid "General" @@ -3639,11 +3643,11 @@ #: ../src/vmm-preferences.glade.h:6 msgid "Automatically open consoles:" -msgstr "Automatycznie otw?rz konsole:" +msgstr "Automatyczne otwarcie konsol:" #: ../src/vmm-preferences.glade.h:8 msgid "Enable system tray icon" -msgstr "W??cz ikon? obszaru powiadamiania" +msgstr "Ikona obszaru powiadamiania" #: ../src/vmm-preferences.glade.h:9 msgid "General" @@ -3651,7 +3655,7 @@ #: ../src/vmm-preferences.glade.h:10 msgid "Grab keyboard input:" -msgstr "Przechwy? wej?cie klawiatury:" +msgstr "Przechwycenie wej?cia klawiatury:" #: ../src/vmm-preferences.glade.h:11 msgid "Graphical Console Scaling:" @@ -3667,7 +3671,7 @@ #: ../src/vmm-preferences.glade.h:14 msgid "Maintain history of" -msgstr "Zarz?dzaj histori?" +msgstr "Zarz?dzanie histori?" #: ../src/vmm-preferences.glade.h:16 msgid "" @@ -3696,7 +3700,7 @@ "On mouse over" msgstr "" "Nigdy\n" -"Kiedy jest na pe?nym ekranie\n" +"Na pe?nym ekranie\n" "Przy najechaniu mysz?" #: ../src/vmm-preferences.glade.h:25 @@ -3709,7 +3713,7 @@ #: ../src/vmm-preferences.glade.h:28 msgid "Update status every" -msgstr "Zaktualizuj stan co" +msgstr "Aktualizacja stanu co" #: ../src/vmm-preferences.glade.h:29 msgid "VM Details" @@ -3725,7 +3729,7 @@ #: ../src/vmm-storage-browse.glade.h:1 msgid "Choose Storage Volume" -msgstr "Wybierz wolumin pami?ci masowej" +msgstr "Wyb?r woluminu pami?ci masowej" #: ../src/vmm-storage-browse.glade.h:2 msgid "Choose _Volume" @@ -3738,33 +3742,3 @@ #: ../src/vmm-storage-browse.glade.h:4 msgid "_New Volume" msgstr "_Nowy wolumin" - -#~ msgid "gtk-cancel" -#~ msgstr "gtk-cancel" - -#~ msgid "gtk-help" -#~ msgstr "gtk-help" - -#~ msgid "gtk-ok" -#~ msgstr "gtk-ok" - -#~ msgid "Create _Volume" -#~ msgstr "Utw?rz _wolumin" - -#~ msgid "gtk-delete" -#~ msgstr "gtk-delete" - -#~ msgid "_Contents" -#~ msgstr "_Zawarto??" - -#~ msgid "Add Connection..." -#~ msgstr "Dodaj po??czenie..." - -#~ msgid "Delete Virtual Machine" -#~ msgstr "Usu? maszyn? wirtualn?" - -#~ msgid "Restore saved machine..." -#~ msgstr "Przywr?? zapisan? maszyn?..." - -#~ msgid "Virtual Machine Details" -#~ msgstr "Szczeg??y maszyny wirtualnej" virt-manager-0.8.0-toolbar-tooltips.patch: vmm-details.glade | 6 ++++++ vmm-manager.glade | 5 +++++ 2 files changed, 11 insertions(+) --- NEW FILE virt-manager-0.8.0-toolbar-tooltips.patch --- # HG changeset patch # User Cole Robinson # Date 1254762221 14400 # Node ID 7df46187c156c7697b9b93e46e3b391a19c4fbb2 # Parent 97c40c4fb29f7b1b1aadcebd42781f0d471d4697 Add tooltips for toolbar buttons in manager and details. diff -r 97c40c4fb29f -r 7df46187c156 src/vmm-details.glade --- a/src/vmm-details.glade Mon Oct 05 11:50:10 2009 -0400 +++ b/src/vmm-details.glade Mon Oct 05 13:03:41 2009 -0400 @@ -430,6 +430,7 @@ True + Show the graphical console Console icon_console True @@ -443,6 +444,7 @@ True + Show virtual hardware details Details gtk-info control-vm-console @@ -465,6 +467,7 @@ True + Power on the virtual machine True Run True @@ -479,6 +482,7 @@ True + Pause the virtual machine True Pause True @@ -493,6 +497,7 @@ True + Shutdown the virtual machine True Shut Down True @@ -514,6 +519,7 @@ True + Switch to fullscreen view gtk-fullscreen diff -r 97c40c4fb29f -r 7df46187c156 src/vmm-manager.glade --- a/src/vmm-manager.glade Mon Oct 05 11:50:10 2009 -0400 +++ b/src/vmm-manager.glade Mon Oct 05 13:03:41 2009 -0400 @@ -229,6 +229,7 @@ True + Create a new virtual machine _New True vm_new_large @@ -251,6 +252,7 @@ True + Show the virtual machine's details _Open True icon_console @@ -264,6 +266,7 @@ True + Power on the virtual machine _Run True gtk-media-play @@ -277,6 +280,7 @@ True + Pause the virtual machine _Pause True gtk-media-pause @@ -290,6 +294,7 @@ True + Shutdown the virtual machine _Shutdown True Index: virt-manager.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-manager/F-12/virt-manager.spec,v retrieving revision 1.61 retrieving revision 1.62 diff -u -p -r1.61 -r1.62 --- virt-manager.spec 29 Sep 2009 19:24:28 -0000 1.61 +++ virt-manager.spec 5 Oct 2009 17:40:55 -0000 1.62 @@ -8,7 +8,7 @@ Name: virt-manager Version: 0.8.0 -Release: 6%{_extra_release} +Release: 7%{_extra_release} Summary: Virtual Machine Manager Group: Applications/Emulators @@ -48,6 +48,14 @@ Patch12: %{name}-%{version}-hide-help-do Patch13: %{name}-%{version}-update-vm-state.patch # Update translations (bz 493795) Patch14: %{name}-%{version}-update-translations.patch +# More translations (bz 493795) +Patch15: %{name}-%{version}-more-translations.patch +# Don't allow creating a volume without a name (bz 526111) +Patch16: %{name}-%{version}-createvol-name.patch +# Don't allow volume allocation > capacity (bz 526077) +Patch17: %{name}-%{version}-createvol-alloc.patch +# Add tooltips for toolbar buttons (bz 524083) +Patch18: %{name}-%{version}-toolbar-tooltips.patch # These two are just the oldest version tested Requires: pygtk2 >= 1.99.12-6 @@ -129,6 +137,10 @@ cp %{SOURCE3} pixmaps %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 %build %configure @@ -202,6 +214,12 @@ fi %{_datadir}/dbus-1/services/%{name}.service %changelog +* Mon Oct 05 2009 Cole Robinson - 0.8.0-7.fc12 +- More translations (bz 493795) +- Don't allow creating a volume without a name (bz 526111) +- Don't allow volume allocation > capacity (bz 526077) +- Add tooltips for toolbar buttons (bz 524083) + * Tue Sep 29 2009 Cole Robinson - 0.8.0-6.fc12 - Fix VCPU hotplug - Remove access to outdated docs (bz 522823, bz 524805) From crobinso at fedoraproject.org Mon Oct 5 17:49:39 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 17:49:39 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/F-11 virtinst-0.400.3-f12-distro.patch, NONE, 1.1 virtinst-0.400.3-preview-detection.patch, NONE, 1.1 python-virtinst.spec, 1.70, 1.71 Message-ID: <20091005174939.D655511C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32072 Modified Files: python-virtinst.spec Added Files: virtinst-0.400.3-f12-distro.patch virtinst-0.400.3-preview-detection.patch Log Message: Fix detection of fedora preview trees (bz 499718) Add F12 to os dictionary virtinst-0.400.3-f12-distro.patch: osdict.py | 7 +++++++ 1 file changed, 7 insertions(+) --- NEW FILE virtinst-0.400.3-f12-distro.patch --- # HG changeset patch # User Cole Robinson # Date 1253115773 14400 # Node ID d8f88998215ae844534b2bf9a7024edc1bf46826 # Parent 6a398359952bfd8cc62e36afc26bb470862ce42d osdict: Add 'Fedora 12' entry diff -r 6a398359952b -r d8f88998215a virtinst/osdict.py --- a/virtinst/osdict.py Wed Sep 16 10:53:50 2009 -0400 +++ b/virtinst/osdict.py Wed Sep 16 11:42:53 2009 -0400 @@ -179,6 +179,13 @@ "input" : { "type" : [ (["all"], "tablet") ], "bus" : [ (["all"], "usb"), ] }, }}, + "fedora12": { "label": "Fedora 12", "distro": "fedora", + "devices" : { + "disk" : { "bus" : [ (["kvm"], "virtio") ] }, + "net" : { "model" : [ (["kvm"], "virtio") ] }, + "input" : { "type" : [ (["all"], "tablet") ], + "bus" : [ (["all"], "usb"), ] }, + }}, "sles10": { "label": "Suse Linux Enterprise Server", "distro": "suse" }, "sles11": { "label": "Suse Linux Enterprise Server 11", virtinst-0.400.3-preview-detection.patch: tests/urltest.py | 5 +++++ virtinst/OSDistro.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) --- NEW FILE virtinst-0.400.3-preview-detection.patch --- # HG changeset patch # User Cole Robinson # Date 1241725806 14400 # Node ID 9768e52d4d624f83853f7f23f85402c8a078eb6f # Parent 94be2c80832ae1019cc1b3099636a5cb41dd6094 Fix os_variant autodetection for F11-{alpha/beta/preview} Prevents URL installs for the stated releases, unless an --os-variant is manually specified. diff -r 94be2c80832a -r 9768e52d4d62 tests/urltest.py --- a/tests/urltest.py Thu May 07 13:47:49 2009 -0400 +++ b/tests/urltest.py Thu May 07 15:50:06 2009 -0400 @@ -108,6 +108,11 @@ 'x86_64': FEDORA_BASEURL % ("10", "x86_64"), 'distro': ("linux", "fedora10") }, + "fedora11test" : { + 'i386' : FEDORA_BASEURL % ("test/11-Preview", "i386"), + 'x86_64': FEDORA_BASEURL % ("test/11-Preview", "x86_64"), + 'distro': ("linux", "fedora11") + }, "fedora-rawhide" : { 'i386' : FEDORA_RAWHIDE_BASEURL % ("i386"), 'x86_64': FEDORA_RAWHIDE_BASEURL % ("x86_64"), diff -r 94be2c80832a -r 9768e52d4d62 virtinst/OSDistro.py --- a/virtinst/OSDistro.py Thu May 07 13:47:49 2009 -0400 +++ b/virtinst/OSDistro.py Thu May 07 15:50:06 2009 -0400 @@ -429,7 +429,7 @@ if ver == "development": self.os_variant = self._latestFedoraVariant() elif ver: - self.os_variant = "fedora" + str(ver) + self.os_variant = "fedora" + (str(ver).split("-"))[0] return ret else: Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/F-11/python-virtinst.spec,v retrieving revision 1.70 retrieving revision 1.71 diff -u -p -r1.70 -r1.71 --- python-virtinst.spec 13 Sep 2009 23:48:25 -0000 1.70 +++ python-virtinst.spec 5 Oct 2009 17:49:39 -0000 1.71 @@ -17,7 +17,7 @@ Summary: Python modules and utilities for installing virtual machines Name: python-%{appname} Version: 0.400.3 -Release: 9%{_extra_release} +Release: 10%{_extra_release} Source0: http://virt-manager.org/download/sources/%{appname}/%{appname}-%{version}.tar.gz Patch1: %{appname}-%{version}-fix-virtimage-scratch.patch Patch2: %{appname}-%{version}-hostdev-libvirt-calls.patch @@ -39,6 +39,10 @@ Patch10: %{appname}-%{version}-default-b Patch11: %{appname}-%{version}-sles-virtio.patch # Don't erroneously set limit for amount of virtio devices (bz 499654) Patch12: %{appname}-%{version}-virtio-dev-limit.patch +# Fix detection of fedora preview trees (bz 499718) +Patch13: %{appname}-%{version}-preview-detection.patch +# Add F12 to os dictionary +Patch14: %{appname}-%{version}-f12-distro.patch License: GPLv2+ Group: Development/Libraries @@ -78,6 +82,8 @@ and install new VMs) and virt-clone (clo %patch10 -p1 %patch11 -p1 %patch12 -p1 +%patch13 -p1 +%patch14 -p1 %build python setup.py build @@ -113,6 +119,10 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/virt-convert %changelog +* Mon Oct 05 2009 Cole Robinson - 0.400.3-10.fc11 +- Fix detection of fedora preview trees (bz 499718) +- Add F12 to os dictionary + * Sun Sep 13 2009 Cole Robinson - 0.400.3-9.fc11 - Fix parse error when looking for default bridge (bz 506319) - Use virtio for SLES guests (bz 505317) From crobinso at fedoraproject.org Mon Oct 5 18:06:09 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 18:06:09 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/F-10 virtinst-0.400.3-f12-distro.patch, NONE, 1.1 virtinst-0.400.3-preview-detection.patch, NONE, 1.1 python-virtinst.spec, 1.55, 1.56 Message-ID: <20091005180609.36C8211C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/F-10 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8083 Modified Files: python-virtinst.spec Added Files: virtinst-0.400.3-f12-distro.patch virtinst-0.400.3-preview-detection.patch Log Message: Fix detection of fedora preview trees (bz 499718) Add F12 to os dictionary virtinst-0.400.3-f12-distro.patch: osdict.py | 7 +++++++ 1 file changed, 7 insertions(+) --- NEW FILE virtinst-0.400.3-f12-distro.patch --- diff -rup old/virtinst/osdict.py virtinst-0.400.3/virtinst/osdict.py --- old/virtinst/osdict.py 2009-10-05 14:04:44.757945000 -0400 +++ virtinst-0.400.3/virtinst/osdict.py 2009-10-05 14:05:00.137730000 -0400 @@ -107,6 +107,13 @@ OS_TYPES = {\ "input" : { "type" : [ (["all"], "tablet") ], "bus" : [ (["all"], "usb"), ] }, }}, + "fedora12": { "label": "Fedora 11", "distro": "fedora", + "devices" : { + "disk" : { "bus" : [ (["kvm"], "virtio") ] }, + "net" : { "model" : [ (["kvm"], "virtio") ] }, + "input" : { "type" : [ (["all"], "tablet") ], + "bus" : [ (["all"], "usb"), ] }, + }}, "sles10": { "label": "Suse Linux Enterprise Server", "distro": "suse" }, "debianetch": { "label": "Debian Etch", "distro": "debian" }, virtinst-0.400.3-preview-detection.patch: tests/urltest.py | 5 +++++ virtinst/OSDistro.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) --- NEW FILE virtinst-0.400.3-preview-detection.patch --- # HG changeset patch # User Cole Robinson # Date 1241725806 14400 # Node ID 9768e52d4d624f83853f7f23f85402c8a078eb6f # Parent 94be2c80832ae1019cc1b3099636a5cb41dd6094 Fix os_variant autodetection for F11-{alpha/beta/preview} Prevents URL installs for the stated releases, unless an --os-variant is manually specified. diff -r 94be2c80832a -r 9768e52d4d62 tests/urltest.py --- a/tests/urltest.py Thu May 07 13:47:49 2009 -0400 +++ b/tests/urltest.py Thu May 07 15:50:06 2009 -0400 @@ -108,6 +108,11 @@ 'x86_64': FEDORA_BASEURL % ("10", "x86_64"), 'distro': ("linux", "fedora10") }, + "fedora11test" : { + 'i386' : FEDORA_BASEURL % ("test/11-Preview", "i386"), + 'x86_64': FEDORA_BASEURL % ("test/11-Preview", "x86_64"), + 'distro': ("linux", "fedora11") + }, "fedora-rawhide" : { 'i386' : FEDORA_RAWHIDE_BASEURL % ("i386"), 'x86_64': FEDORA_RAWHIDE_BASEURL % ("x86_64"), diff -r 94be2c80832a -r 9768e52d4d62 virtinst/OSDistro.py --- a/virtinst/OSDistro.py Thu May 07 13:47:49 2009 -0400 +++ b/virtinst/OSDistro.py Thu May 07 15:50:06 2009 -0400 @@ -429,7 +429,7 @@ if ver == "development": self.os_variant = self._latestFedoraVariant() elif ver: - self.os_variant = "fedora" + str(ver) + self.os_variant = "fedora" + (str(ver).split("-"))[0] return ret else: Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/F-10/python-virtinst.spec,v retrieving revision 1.55 retrieving revision 1.56 diff -u -p -r1.55 -r1.56 --- python-virtinst.spec 9 Apr 2009 15:45:17 -0000 1.55 +++ python-virtinst.spec 5 Oct 2009 18:06:08 -0000 1.56 @@ -11,13 +11,17 @@ Summary: Python modules and utilities for installing virtual machines Name: python-%{appname} Version: 0.400.3 -Release: 3%{_extra_release} +Release: 4%{_extra_release} Source0: http://virt-manager.org/download/sources/%{appname}/%{appname}-%{version}.tar.gz Patch1: %{appname}-%{version}-fix-virtimage-scratch.patch Patch2: %{appname}-%{version}-hostdev-libvirt-calls.patch Patch3: %{appname}-%{version}-spanish-trans.patch Patch4: %{appname}-%{version}-fix-floppy-dev.patch Patch5: %{appname}-%{version}-updated-trans.patch +# Fix detection of fedora preview trees (bz 499718) +Patch6: %{appname}-%{version}-preview-detection.patch +# Add F12 to os dictionary +Patch7: %{appname}-%{version}-f12-distro.patch License: GPLv2+ Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -48,6 +52,8 @@ and install new VMs) and virt-clone (clo %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 %build python setup.py build @@ -81,6 +87,10 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/virt-convert %changelog +* Mon Oct 05 2009 Cole Robinson - 0.400.3-4.fc10 +- Fix detection of fedora preview trees (bz 499718) +- Add F12 to os dictionary + * Thu Apr 9 2009 Cole Robinson - 0.400.3-3.fc10 - Fix adding floppy devices (bz 493408) - Updated translations (bz 493944, bz 494358) From crobinso at fedoraproject.org Mon Oct 5 19:09:11 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 19:09:11 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/F-11 virtinst-0.400.3-sasl-auth.patch, NONE, 1.1 virtinst-0.400.3-windows-acpi.patch, NONE, 1.1 python-virtinst.spec, 1.71, 1.72 Message-ID: <20091005190911.C3F1111C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13686 Modified Files: python-virtinst.spec Added Files: virtinst-0.400.3-sasl-auth.patch virtinst-0.400.3-windows-acpi.patch Log Message: Allow SASL auth (bz 484099) Use ACPI for windows on KVM (bz 479977) virtinst-0.400.3-sasl-auth.patch: cli.py | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) --- NEW FILE virtinst-0.400.3-sasl-auth.patch --- # HG changeset patch # User Cole Robinson # Date 1241723712 14400 # Node ID 5d6dc8af58b592b00035f28334ab1284ae1a0f21 # Parent bec888f2890f7eff9c7d05c46a5059172497dba4 Allow PolicyKit and SASL authentication. Use openAuth when opening the initial connection: allows PolicyKit and SASA username/password auth. diff -r bec888f2890f -r 5d6dc8af58b5 virtinst/cli.py --- a/virtinst/cli.py Tue May 26 12:43:46 2009 -0400 +++ b/virtinst/cli.py Thu May 07 15:15:12 2009 -0400 @@ -145,6 +145,7 @@ print _("Exiting at user request.") sys.exit(0) +# Connection opening helper functions def getConnection(connect): if not User.current().has_priv(User.PRIV_CREATE_DOMAIN, connect): fail(_("Must be root to create Xen guests")) @@ -152,7 +153,105 @@ fail(_("Could not find usable default libvirt connection.")) logging.debug("Using libvirt URI '%s'" % connect) - return libvirt.open(connect) + return open_connection(connect) + +def open_connection(uri): + open_flags = 0 + valid_auth_options = [libvirt.VIR_CRED_AUTHNAME, + libvirt.VIR_CRED_PASSPHRASE, + libvirt.VIR_CRED_EXTERNAL] + authcb = do_creds + authcb_data = None + + return libvirt.openAuth(uri, [valid_auth_options, authcb, authcb_data], + open_flags) + +def do_creds(creds, cbdata): + try: + return _do_creds(creds, cbdata) + except: + _util.log_exception("Error in creds callback.") + raise + +def _do_creds(creds, cbdata_ignore): + + if (len(creds) == 1 and + creds[0][0] == libvirt.VIR_CRED_EXTERNAL and + creds[0][2] == "PolicyKit"): + return _do_creds_polkit(creds[0][1]) + + for cred in creds: + if cred[0] == libvirt.VIR_CRED_EXTERNAL: + return -1 + + return _do_creds_authname(creds) + +# PolicyKit auth +def _do_creds_polkit(action): + if os.getuid() == 0: + logging.debug("Skipping policykit check as root") + return 0 # Success + logging.debug("Doing policykit for %s" % action) + + import subprocess + import commands + + bin_path = "/usr/bin/polkit-auth" + + if not os.path.exists(bin_path): + logging.debug("%s not present, skipping polkit auth." % bin_path) + return 0 + + cmdstr = "%s %s" % (bin_path, "--explicit") + output = commands.getstatusoutput(cmdstr) + if output[1].count(action): + logging.debug("User already authorized for %s." % action) + # Hide spurious output from polkit-auth + popen_stdout = subprocess.PIPE + popen_stderr = subprocess.PIPE + else: + popen_stdout = None + popen_stderr = None + + # Force polkit prompting to be text mode. Not strictly required, but + # launching a dialog is overkill. + env = os.environ.copy() + env["POLKIT_AUTH_FORCE_TEXT"] = "set" + + cmd = [bin_path, "--obtain", action] + proc = subprocess.Popen(cmd, env=env, stdout=popen_stdout, + stderr=popen_stderr) + out, err = proc.communicate() + + if out and popen_stdout: + logging.debug("polkit-auth stdout: %s" % out) + if err and popen_stderr: + logging.debug("polkit-auth stderr: %s" % err) + + return 0 + +# SASL username/pass auth +def _do_creds_authname(creds): + retindex = 4 + + for cred in creds: + credtype, prompt, ignore, ignore, ignore = cred + prompt += ": " + + res = cred[retindex] + if credtype == libvirt.VIR_CRED_AUTHNAME: + res = raw_input(prompt) + elif credtype == libvirt.VIR_CRED_PASSPHRASE: + import getpass + res = getpass.getpass(prompt) + else: + logging.debug("Unknown auth type in creds callback: %d" % + credtype) + return -1 + + cred[retindex] = res + + return 0 # # Prompting virtinst-0.400.3-windows-acpi.patch: Guest.py | 26 +++------------------ osdict.py | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 77 insertions(+), 24 deletions(-) --- NEW FILE virtinst-0.400.3-windows-acpi.patch --- # HG changeset patch # User Cole Robinson # Date 1247587582 14400 # Node ID 8b5d60a01fe3f4300683b105c8cd3bffd62649bf # Parent 020c0a312e7fc3b39936b731f6373398aad1dcf2 Refactor osdict lookup routines. Allow specifying minimally supported libvirt and hypervisor version for various parameters. Move most of this code out of Guest and into osdict. diff -r 020c0a312e7f -r 8b5d60a01fe3 virtinst/Guest.py --- a/virtinst/Guest.py Tue Jul 14 09:53:46 2009 -0400 +++ b/virtinst/Guest.py Tue Jul 14 12:06:22 2009 -0400 @@ -816,34 +816,16 @@ Using self.os_type and self.os_variant to find key in OSTYPES @returns: dict value, or None if os_type/variant wasn't set """ - typ = self.os_type - var = self.os_variant - if typ: - if var and self._OS_TYPES[typ]["variants"][var].has_key(key): - return self._OS_TYPES[typ]["variants"][var][key] - elif self._OS_TYPES[typ].has_key(key): - return self._OS_TYPES[typ][key] - return self._DEFAULTS[key] + return osdict.lookup_osdict_key(self.conn, self.type, self.os_type, + self.os_variant, key) def _lookup_device_param(self, device_key, param): """ Check the OS dictionary for the prefered device setting for passed device type and param (bus, model, etc.) """ - os_devs = self._lookup_osdict_key("devices") - default_devs = self._DEFAULTS["devices"] - for devs in [os_devs, default_devs]: - if not devs.has_key(device_key): - continue - for ent in devs[device_key][param]: - hv_types = ent[0] - param_value = ent[1] - if self.type in hv_types: - return param_value - elif "all" in hv_types: - return param_value - raise RuntimeError(_("Invalid dictionary entry for device '%s %s'" % \ - (device_key, param))) + return osdict.lookup_device_param(self.conn, self.type, self.os_type, + self.os_variant, device_key, param) def terminate_console(self): if self._consolechild: diff -r 020c0a312e7f -r 8b5d60a01fe3 virtinst/osdict.py --- a/virtinst/osdict.py Tue Jul 14 09:53:46 2009 -0400 +++ b/virtinst/osdict.py Tue Jul 14 12:06:22 2009 -0400 @@ -19,6 +19,9 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301 USA. +import libvirt + +import _util """ Default values for OS_TYPES keys. Can be overwritten at os_type or @@ -64,6 +67,68 @@ return retlist +def parse_key_entry(conn, hv_type, key_entry): + d = _util.get_uri_driver(conn.getURI()) + libver = libvirt.getVersion() + try: + drvver = libvirt.getVersion(d)[1] + except: + drvver = 0 + + if type(key_entry) == list: + # List of tuples with hv_type, version, etc. mappings + for tup in key_entry: + exp_hvs = tup[0] + if type(exp_hvs) != list: + exp_hvs = [exp_hvs] + exp_hv_ver = 0 + exp_lib_ver = 0 + val = tup[-1] + + if len(tup) > 2: + exp_hv_ver = tup[1] + if len(tup) > 3: + exp_lib_ver = tup[2] + + if hv_type not in exp_hvs and "all" not in exp_hvs: + continue + + if exp_hv_ver and drvver > exp_hv_ver: + continue + + if exp_lib_ver and libver > exp_lib_ver: + continue + + return val + else: + return key_entry + +def lookup_osdict_key(conn, hv_type, os_type, var, key): + + dictval = DEFAULTS[key] + if os_type: + if var and OS_TYPES[os_type]["variants"][var].has_key(key): + dictval = OS_TYPES[os_type]["variants"][var][key] + elif OS_TYPES[os_type].has_key(key): + dictval = OS_TYPES[os_type][key] + + return parse_key_entry(conn, hv_type, dictval) + + +def lookup_device_param(conn, hv_type, os_type, var, device_key, param): + + os_devs = lookup_osdict_key(conn, hv_type, os_type, var, "devices") + default_devs = DEFAULTS["devices"] + + for devs in [os_devs, default_devs]: + if not devs.has_key(device_key): + continue + + return parse_key_entry(conn, hv_type, devs[device_key][param]) + + raise RuntimeError(_("Invalid dictionary entry for device '%s %s'" % + (device_key, param))) + # NOTE: keep variant keys using only lowercase so we can do case # insensitive checks on user passed input OS_TYPES = {\ # HG changeset patch # User Cole Robinson # Date 1247588030 14400 # Node ID 3c68ba7758a6190f28ec32ab20a3ce96f7802542 # Parent 8b5d60a01fe3f4300683b105c8cd3bffd62649bf Turn on ACPI/APIC for windows, except for Xen < 3.1.0. See discussion at: https://www.redhat.com/archives/et-mgmt-tools/2009-July/msg00000.html diff -r 8b5d60a01fe3 -r 3c68ba7758a6 virtinst/osdict.py --- a/virtinst/osdict.py Tue Jul 14 12:06:22 2009 -0400 +++ b/virtinst/osdict.py Tue Jul 14 12:13:50 2009 -0400 @@ -225,10 +225,16 @@ }, "variants": { \ "winxp":{ "label": "Microsoft Windows XP (x86)", - "acpi": False, "apic": False }, + "acpi": [ ("xen", 3001000, False), + ("all", True ), ], + "apic": [ ("xen", 3001000, False), + ("all", True ), ], }, "winxp64":{ "label": "Microsoft Windows XP (x86_64)" }, "win2k": { "label": "Microsoft Windows 2000", - "acpi": False, "apic": False }, + "acpi": [ ("xen", 3001000, False), + ("all", True ), ], + "apic": [ ("xen", 3001000, False), + ("all", True ), ], }, "win2k3": { "label": "Microsoft Windows 2003" }, "win2k8": { "label": "Microsoft Windows 2008" }, "vista": { "label": "Microsoft Windows Vista" }, Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/F-11/python-virtinst.spec,v retrieving revision 1.71 retrieving revision 1.72 diff -u -p -r1.71 -r1.72 --- python-virtinst.spec 5 Oct 2009 17:49:39 -0000 1.71 +++ python-virtinst.spec 5 Oct 2009 19:09:09 -0000 1.72 @@ -17,7 +17,7 @@ Summary: Python modules and utilities for installing virtual machines Name: python-%{appname} Version: 0.400.3 -Release: 10%{_extra_release} +Release: 11%{_extra_release} Source0: http://virt-manager.org/download/sources/%{appname}/%{appname}-%{version}.tar.gz Patch1: %{appname}-%{version}-fix-virtimage-scratch.patch Patch2: %{appname}-%{version}-hostdev-libvirt-calls.patch @@ -43,6 +43,10 @@ Patch12: %{appname}-%{version}-virtio-de Patch13: %{appname}-%{version}-preview-detection.patch # Add F12 to os dictionary Patch14: %{appname}-%{version}-f12-distro.patch +# Allow SASL auth (bz 484099) +Patch15: %{appname}-%{version}-sasl-auth.patch +# Use ACPI for windows on KVM (bz 479977) +Patch16: %{appname}-%{version}-windows-acpi.patch License: GPLv2+ Group: Development/Libraries @@ -84,6 +88,8 @@ and install new VMs) and virt-clone (clo %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 +%patch16 -p1 %build python setup.py build @@ -119,6 +125,10 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/virt-convert %changelog +* Mon Oct 05 2009 Cole Robinson - 0.400.3-11.fc11 +- Allow SASL auth (bz 484099) +- Use ACPI for windows on KVM (bz 479977) + * Mon Oct 05 2009 Cole Robinson - 0.400.3-10.fc11 - Fix detection of fedora preview trees (bz 499718) - Add F12 to os dictionary From crobinso at fedoraproject.org Mon Oct 5 19:19:56 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Mon, 5 Oct 2009 19:19:56 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-manager/F-11 virt-manager-0.7.0-fix-vcpu-hotplug.patch, NONE, 1.1 virt-manager-0.7.0-remove-hotplug-checks.patch, NONE, 1.1 virt-manager.spec, 1.53, 1.54 Message-ID: <20091005191956.E0B4C11C00DB@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/virt-manager/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19672 Modified Files: virt-manager.spec Added Files: virt-manager-0.7.0-fix-vcpu-hotplug.patch virt-manager-0.7.0-remove-hotplug-checks.patch Log Message: Fix typo in vcpu hotplug Allow memory hotplug for KVM (bz 524297) virt-manager-0.7.0-fix-vcpu-hotplug.patch: domain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE virt-manager-0.7.0-fix-vcpu-hotplug.patch --- # HG changeset patch # User Cole Robinson # Date 1253823268 14400 # Node ID d78b7e7131439dc9f22c8e7391e82c5f29888fe8 # Parent cfcd19d057ddc973a129e7816cd4ea39f0d4365a Fix vcpu hotplug. diff -r cfcd19d057dd -r d78b7e713143 src/virtManager/domain.py --- a/src/virtManager/domain.py Thu Sep 24 11:41:49 2009 -0400 +++ b/src/virtManager/domain.py Thu Sep 24 16:14:28 2009 -0400 @@ -1355,7 +1355,7 @@ self._change_cdrom(result, dev_id_info) def hotplug_vcpu(self, vcpus): - self.vm.setVcpus() + self.vm.setVcpus(int(vcpus)) def hotplug_vcpus(self, vcpus): vcpus = int(vcpus) virt-manager-0.7.0-remove-hotplug-checks.patch: details.py | 17 ++++++----------- domain.py | 24 ------------------------ 2 files changed, 6 insertions(+), 35 deletions(-) --- NEW FILE virt-manager-0.7.0-remove-hotplug-checks.patch --- # HG changeset patch # User Cole Robinson # Date 1236966695 14400 # Node ID 9530fb06ad66cd517ab305c3a4bf426ef69439ed # Parent 7ab8a12b3527d97bc92acca7e6e6ff3fbdd9746b Remove mem/cpu hotplug checks. We can't reliably determine whether it's supported or not, so just leave the error reporting up to libvirt. diff -r 7ab8a12b3527 -r 9530fb06ad66 src/virtManager/details.py --- a/src/virtManager/details.py Fri Mar 13 13:13:24 2009 -0400 +++ b/src/virtManager/details.py Fri Mar 13 13:51:35 2009 -0400 @@ -749,15 +749,9 @@ if status in [ libvirt.VIR_DOMAIN_SHUTOFF, libvirt.VIR_DOMAIN_CRASHED ] and not self.vm.is_read_only(): self.window.get_widget("control-run").set_sensitive(True) self.window.get_widget("details-menu-run").set_sensitive(True) - self.window.get_widget("config-vcpus").set_sensitive(True) - self.window.get_widget("config-memory").set_sensitive(True) - self.window.get_widget("config-maxmem").set_sensitive(True) else: self.window.get_widget("control-run").set_sensitive(False) self.window.get_widget("details-menu-run").set_sensitive(False) - self.window.get_widget("config-vcpus").set_sensitive(self.vm.is_vcpu_hotplug_capable()) - self.window.get_widget("config-memory").set_sensitive(self.vm.is_memory_hotplug_capable()) - self.window.get_widget("config-maxmem").set_sensitive(True) if status in [libvirt.VIR_DOMAIN_SHUTDOWN, libvirt.VIR_DOMAIN_SHUTOFF, libvirt.VIR_DOMAIN_CRASHED ] or vm.is_read_only(): @@ -775,11 +769,12 @@ self.window.get_widget("details-menu-shutdown").set_sensitive(True) self.window.get_widget("details-menu-save").set_sensitive(True) - # Currently, the condition that "Migrate" become insensitive is only "readonly". - if vm.is_read_only(): - self.window.get_widget("details-menu-migrate").set_sensitive(False) - else: - self.window.get_widget("details-menu-migrate").set_sensitive(True) + ro = vm.is_read_only() + self.window.get_widget("config-vcpus").set_sensitive(not ro) + self.window.get_widget("config-memory").set_sensitive(not ro) + self.window.get_widget("config-maxmem").set_sensitive(not ro) + self.window.get_widget("details-menu-migrate").set_sensitive(not ro) + if not ro: self.set_migrate_menu() if status in [ libvirt.VIR_DOMAIN_SHUTOFF ,libvirt.VIR_DOMAIN_CRASHED ]: diff -r 7ab8a12b3527 -r 9530fb06ad66 src/virtManager/domain.py --- a/src/virtManager/domain.py Fri Mar 13 13:13:24 2009 -0400 +++ b/src/virtManager/domain.py Fri Mar 13 13:51:35 2009 -0400 @@ -181,30 +181,6 @@ # FIXME: This should be static, not parse xml everytime return vutil.get_xml_path(self.get_xml(), "/domain/@type") - def is_vcpu_hotplug_capable(self): - # Read only connections aren't allowed to change it - if self.connection.is_read_only(): - return False - # Running paravirt guests can change it, or any inactive guest - if self.vm.OSType() == "linux" \ - or self.status() not in [libvirt.VIR_DOMAIN_RUNNING,\ - libvirt.VIR_DOMAIN_PAUSED]: - return True - # Everyone else is out of luck - return False - - def is_memory_hotplug_capable(self): - # Read only connections aren't allowed to change it - if self.connection.is_read_only(): - return False - # Running paravirt guests can change it, or any inactive guest - if self.vm.OSType() == "linux" \ - or self.status() not in [libvirt.VIR_DOMAIN_RUNNING,\ - libvirt.VIR_DOMAIN_PAUSED]: - return True - # Everyone else is out of luck - return False - def _normalize_status(self, status): if status == libvirt.VIR_DOMAIN_NOSTATE: return libvirt.VIR_DOMAIN_RUNNING Index: virt-manager.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-manager/F-11/virt-manager.spec,v retrieving revision 1.53 retrieving revision 1.54 diff -u -p -r1.53 -r1.54 --- virt-manager.spec 18 Sep 2009 14:50:44 -0000 1.53 +++ virt-manager.spec 5 Oct 2009 19:19:56 -0000 1.54 @@ -8,7 +8,7 @@ Name: virt-manager Version: 0.7.0 -Release: 6%{_extra_release} +Release: 7%{_extra_release} Summary: Virtual Machine Manager Group: Applications/Emulators @@ -41,6 +41,10 @@ Patch17: %{name}-%{version}-fix-memory-i Patch18: %{name}-%{version}-vcpu-mem-persistent.patch # Add pylint script Patch19: %{name}-%{version}-pylint-script.patch +# Fix typo in vcpu hotplug +Patch20: %{name}-%{version}-fix-vcpu-hotplug.patch +# Allow memory hotplug for KVM (bz 524297) +Patch21: %{name}-%{version}-remove-hotplug-checks.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # These two are just the oldest version tested @@ -132,6 +136,8 @@ management API. %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 +%patch21 -p1 %build %configure @@ -209,6 +215,10 @@ fi %{_datadir}/dbus-1/services/%{name}.service %changelog +* Mon Oct 05 2009 Cole Robinson - 0.7.0-7.fc11 +- Fix typo in vcpu hotplug +- Allow memory hotplug for KVM (bz 524297) + * Fri Sep 18 2009 Cole Robinson - 0.7.0-6.fc11 - Fix migration for qemu/kvm guests (bz 517548) - Fix sparse allocation confusion (bz 504605) From rel-eng at fedoraproject.org Tue Oct 6 08:27:00 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Tue, 06 Oct 2009 08:27:00 -0000 Subject: [fedora-virt-maint] #2350: please tag qemu-0.11.0-4.fc12 into dist-f12 Message-ID: <049.ce8d6bb7e0c5996705714a3c7084e5d4@fedoraproject.org> #2350: please tag qemu-0.11.0-4.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- Fixes PXE booting for ne2k_pci: https://bugzilla.redhat.com/526777 Tested by me -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From markmc at fedoraproject.org Tue Oct 6 09:43:53 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 09:43:53 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-change-logrotate-config-to-weekly.patch, NONE, 1.1 libvirt.spec, 1.186, 1.187 Message-ID: <20091006094353.440C511C0297@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19681 Modified Files: libvirt.spec Added Files: libvirt-change-logrotate-config-to-weekly.patch Log Message: * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-9 - Change logrotate config to weekly (#526769) libvirt-change-logrotate-config-to-weekly.patch: libvirtd.logrotate.in | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- NEW FILE libvirt-change-logrotate-config-to-weekly.patch --- >From bcd4180124afa20580d720912e2179b3a2f9295a Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Mon, 5 Oct 2009 17:03:14 +0200 Subject: [PATCH] 526769 change logrotate config default to weekly * daemon/libvirtd.logrotate.in: change to weekly rotation of logs, keep a month worth of data and also extend to cover LXC and UML domain logs (cherry picked from commit 529325bbdd050af89bda5a5c1a01b5553c49a57e) Fedora-patch: libvirt-change-logrotate-config-to-weekly.patch --- qemud/libvirtd.logrotate.in | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/qemud/libvirtd.logrotate.in b/qemud/libvirtd.logrotate.in index 9b42630..093651c 100644 --- a/qemud/libvirtd.logrotate.in +++ b/qemud/libvirtd.logrotate.in @@ -1,7 +1,7 @@ - at localstatedir@/log/libvirt/qemu/*.log { - daily + at localstatedir@/log/libvirt/qemu/*.log @localstatedir@/log/libvirt/uml/*.log @localstatedir@/log/libvirt/lxc/*.log { + weekly missingok - rotate 7 + rotate 4 compress delaycompress copytruncate -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.186 retrieving revision 1.187 diff -u -p -r1.186 -r1.187 --- libvirt.spec 1 Oct 2009 15:17:32 -0000 1.186 +++ libvirt.spec 6 Oct 2009 09:43:52 -0000 1.187 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 8%{?dist}%{?extra_release} +Release: 9%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -175,6 +175,9 @@ Patch06: libvirt-disable-audio-backend.p # Re-label qcow2 backing files (#497131) Patch07: libvirt-svirt-relabel-qcow2-backing-files.patch +# Change logrotate config to weekly (#526769) +Patch08: libvirt-change-logrotate-config-to-weekly.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -394,6 +397,7 @@ of recent versions of Linux (and other O %patch05 -p1 %patch06 -p1 %patch07 -p1 +%patch08 -p1 %build %if ! %{with_xen} @@ -784,6 +788,9 @@ fi %endif %changelog +* Tue Oct 6 2009 Mark McLoughlin - 0.7.1-9 +- Change logrotate config to weekly (#526769) + * Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 - Disable sound backend, even when selinux is disabled (#524499) - Re-label qcow2 backing files (#497131) From markmc at fedoraproject.org Tue Oct 6 09:45:05 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 09:45:05 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-change-logrotate-config-to-weekly.patch, NONE, 1.1 libvirt.spec, 1.186, 1.187 Message-ID: <20091006094505.5E96111C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20204 Modified Files: libvirt.spec Added Files: libvirt-change-logrotate-config-to-weekly.patch Log Message: * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-9 - Change logrotate config to weekly (#526769) libvirt-change-logrotate-config-to-weekly.patch: libvirtd.logrotate.in | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- NEW FILE libvirt-change-logrotate-config-to-weekly.patch --- >From bcd4180124afa20580d720912e2179b3a2f9295a Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Mon, 5 Oct 2009 17:03:14 +0200 Subject: [PATCH] 526769 change logrotate config default to weekly * daemon/libvirtd.logrotate.in: change to weekly rotation of logs, keep a month worth of data and also extend to cover LXC and UML domain logs (cherry picked from commit 529325bbdd050af89bda5a5c1a01b5553c49a57e) Fedora-patch: libvirt-change-logrotate-config-to-weekly.patch --- qemud/libvirtd.logrotate.in | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/qemud/libvirtd.logrotate.in b/qemud/libvirtd.logrotate.in index 9b42630..093651c 100644 --- a/qemud/libvirtd.logrotate.in +++ b/qemud/libvirtd.logrotate.in @@ -1,7 +1,7 @@ - at localstatedir@/log/libvirt/qemu/*.log { - daily + at localstatedir@/log/libvirt/qemu/*.log @localstatedir@/log/libvirt/uml/*.log @localstatedir@/log/libvirt/lxc/*.log { + weekly missingok - rotate 7 + rotate 4 compress delaycompress copytruncate -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.186 retrieving revision 1.187 diff -u -p -r1.186 -r1.187 --- libvirt.spec 1 Oct 2009 15:17:31 -0000 1.186 +++ libvirt.spec 6 Oct 2009 09:45:05 -0000 1.187 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 8%{?dist}%{?extra_release} +Release: 9%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -175,6 +175,9 @@ Patch06: libvirt-disable-audio-backend.p # Re-label qcow2 backing files (#497131) Patch07: libvirt-svirt-relabel-qcow2-backing-files.patch +# Change logrotate config to weekly (#526769) +Patch08: libvirt-change-logrotate-config-to-weekly.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -394,6 +397,7 @@ of recent versions of Linux (and other O %patch05 -p1 %patch06 -p1 %patch07 -p1 +%patch08 -p1 %build %if ! %{with_xen} @@ -784,6 +788,9 @@ fi %endif %changelog +* Tue Oct 6 2009 Mark McLoughlin - 0.7.1-9 +- Change logrotate config to weekly (#526769) + * Thu Oct 1 2009 Mark McLoughlin - 0.7.1-8 - Disable sound backend, even when selinux is disabled (#524499) - Re-label qcow2 backing files (#497131) From markmc at fedoraproject.org Tue Oct 6 12:42:17 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 12:42:17 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-logrotate-create-lxc-uml-dirs.patch, NONE, 1.1 libvirt.spec, 1.187, 1.188 Message-ID: <20091006124217.2E49A11C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28569 Modified Files: libvirt.spec Added Files: libvirt-logrotate-create-lxc-uml-dirs.patch Log Message: * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-10 - Create /var/log/libvirt/{lxc,uml} dirs for logrotate - Make libvirt-python dependon on libvirt-client - Sync misc minor changes from upstream spec libvirt-logrotate-create-lxc-uml-dirs.patch: Makefile.am | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- NEW FILE libvirt-logrotate-create-lxc-uml-dirs.patch --- >From b7e3ac4f23befe67518b57e34691c301820a436c Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Tue, 6 Oct 2009 12:33:17 +0100 Subject: [PATCH] Create /var/log/libvirt/{lxc,uml} dirs Otherwise logrotate barfs: error: error accessing /var/log/libvirt/uml: No such file or directory error: libvirtd:1 glob failed for /var/log/libvirt/uml/*.log error: found error in /var/log/libvirt/qemu/*.log /var/log/libvirt/uml/*.log /var/log/libvirt/lxc/*.log , skipping * qemud/Makefile.am: always create /var/log/libvirt/{lxc,uml} when installing the logrotate conf; not ideal, but easier than making the logrotate conf depend on which drivers are enabled Fedora-patch: libvirt-logrotate-create-lxc-uml-dirs.patch --- qemud/Makefile.am | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/qemud/Makefile.am b/qemud/Makefile.am index 3d143da..a7f4bdf 100644 --- a/qemud/Makefile.am +++ b/qemud/Makefile.am @@ -176,7 +176,7 @@ install-data-local: install-init install-data-sasl install-data-polkit \ test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \ ln -s ../default.xml \ $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml - mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/qemu + mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt mkdir -p $(DESTDIR)$(localstatedir)/run/libvirt mkdir -p $(DESTDIR)$(localstatedir)/lib/libvirt @@ -184,7 +184,7 @@ uninstall-local:: uninstall-init uninstall-data-sasl install-data-polkit rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml rm -f $(DESTDIR)$(sysconfdir)/$(default_xml_dest) rmdir $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart || : - rmdir $(DESTDIR)$(localstatedir)/log/libvirt/qemu || : + rmdir $(DESTDIR)$(localstatedir)/log/libvirt || : rmdir $(DESTDIR)$(localstatedir)/run/libvirt || : rmdir $(DESTDIR)$(localstatedir)/lib/libvirt || : @@ -240,6 +240,8 @@ libvirtd.logrotate: libvirtd.logrotate.in install-logrotate: libvirtd.logrotate 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/ $(INSTALL_DATA) $< $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.187 retrieving revision 1.188 diff -u -p -r1.187 -r1.188 --- libvirt.spec 6 Oct 2009 09:43:52 -0000 1.187 +++ libvirt.spec 6 Oct 2009 12:42:16 -0000 1.188 @@ -22,14 +22,14 @@ %endif -# Now set the defaults for all the important features, independant +# Now set the defaults for all the important features, independent # of any particular OS # First the daemon itself %define with_libvirtd 0%{!?_without_libvirtd:%{server_drivers}} %define with_avahi 0%{!?_without_avahi:%{server_drivers}} -# Then the hypervisor drivers +# Then the hypervisor drivers that run on local host %define with_xen 0%{!?_without_xen:%{server_drivers}} %define with_xen_proxy 0%{!?_without_xen_proxy:%{server_drivers}} %define with_qemu 0%{!?_without_qemu:%{server_drivers}} @@ -37,9 +37,12 @@ %define with_lxc 0%{!?_without_lxc:%{server_drivers}} %define with_vbox 0%{!?_without_vbox:%{server_drivers}} %define with_uml 0%{!?_without_uml:%{server_drivers}} +# XXX this shouldn't be here, but it mistakenly links into libvirtd %define with_one 0%{!?_without_one:%{server_drivers}} -%define with_phyp 0%{!?_without_phyp:%{server_drivers}} -%define with_esx 0%{!?_without_esx:%{server_drivers}} + +# Then the hypervisor drivers that talk a native remote protocol +%define with_phyp 0%{!?_without_phyp:1} +%define with_esx 0%{!?_without_esx:1} # Then the secondary host drivers %define with_network 0%{!?_without_network:%{server_drivers}} @@ -69,10 +72,6 @@ %define with_xen 0 %endif -# Numactl is not available on s390[x] -%ifarch s390 s390x -%define with_numactl 0 -%endif # RHEL doesn't ship OpenVZ, VBox, UML, OpenNebula, PowerHypervisor or ESX %if 0%{?rhel} @@ -100,6 +99,7 @@ %endif %define with_xen 0 %endif + # If Xen isn't turned on, we shouldn't build the xen proxy either %if ! %{with_xen} %define with_xen_proxy 0 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 9%{?dist}%{?extra_release} +Release: 10%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -177,6 +177,7 @@ Patch07: libvirt-svirt-relabel-qcow2-bac # Change logrotate config to weekly (#526769) Patch08: libvirt-change-logrotate-config-to-weekly.patch +Patch09: libvirt-logrotate-create-lxc-uml-dirs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ @@ -337,6 +338,9 @@ BuildRequires: netcf-devel # Fedora build root suckage BuildRequires: gawk +# Needed for libvirt-logrotate-create-lxc-uml-dirs.patch +BuildRequires: automake + %description Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The main package includes @@ -378,7 +382,7 @@ the virtualization capabilities of recen %package python Summary: Python bindings for the libvirt library Group: Development/Libraries -Requires: libvirt = %{version}-%{release} +Requires: libvirt-client = %{version}-%{release} %description python The libvirt-python package contains a module that permits applications @@ -398,8 +402,12 @@ of recent versions of Linux (and other O %patch06 -p1 %patch07 -p1 %patch08 -p1 +%patch09 -p1 %build +# Needed for libvirt-logrotate-create-lxc-uml-dirs.patch +automake + %if ! %{with_xen} %define _without_xen --without-xen %endif @@ -622,7 +630,7 @@ fi /sbin/chkconfig --add libvirtd if [ "$1" -ge "1" ]; then - /sbin/service libvirtd condrestart > /dev/null 2>&1 + /sbin/service libvirtd condrestart > /dev/null 2>&1 fi %endif @@ -655,6 +663,9 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ %if %{with_qemu} %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf @@ -712,13 +723,11 @@ fi %endif %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ -%if %{with_qemu} -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ -%endif %if %{with_xen_proxy} %attr(4755, root, root) %{_libexecdir}/libvirt_proxy %endif + %if %{with_lxc} %attr(0755, root, root) %{_libexecdir}/libvirt_lxc %endif @@ -788,6 +797,11 @@ fi %endif %changelog +* Tue Oct 6 2009 Mark McLoughlin - 0.7.1-10 +- Create /var/log/libvirt/{lxc,uml} dirs for logrotate +- Make libvirt-python dependon on libvirt-client +- Sync misc minor changes from upstream spec + * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-9 - Change logrotate config to weekly (#526769) From markmc at fedoraproject.org Tue Oct 6 12:48:58 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 12:48:58 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-logrotate-create-lxc-uml-dirs.patch, NONE, 1.1 libvirt.spec, 1.187, 1.188 Message-ID: <20091006124858.5B63D11C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30989 Modified Files: libvirt.spec Added Files: libvirt-logrotate-create-lxc-uml-dirs.patch Log Message: * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-10 - Create /var/log/libvirt/{lxc,uml} dirs for logrotate - Make libvirt-python dependon on libvirt-client - Sync misc minor changes from upstream spec libvirt-logrotate-create-lxc-uml-dirs.patch: Makefile.am | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- NEW FILE libvirt-logrotate-create-lxc-uml-dirs.patch --- >From b7e3ac4f23befe67518b57e34691c301820a436c Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Tue, 6 Oct 2009 12:33:17 +0100 Subject: [PATCH] Create /var/log/libvirt/{lxc,uml} dirs Otherwise logrotate barfs: error: error accessing /var/log/libvirt/uml: No such file or directory error: libvirtd:1 glob failed for /var/log/libvirt/uml/*.log error: found error in /var/log/libvirt/qemu/*.log /var/log/libvirt/uml/*.log /var/log/libvirt/lxc/*.log , skipping * qemud/Makefile.am: always create /var/log/libvirt/{lxc,uml} when installing the logrotate conf; not ideal, but easier than making the logrotate conf depend on which drivers are enabled Fedora-patch: libvirt-logrotate-create-lxc-uml-dirs.patch --- qemud/Makefile.am | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/qemud/Makefile.am b/qemud/Makefile.am index 3d143da..a7f4bdf 100644 --- a/qemud/Makefile.am +++ b/qemud/Makefile.am @@ -176,7 +176,7 @@ install-data-local: install-init install-data-sasl install-data-polkit \ test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \ ln -s ../default.xml \ $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml - mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/qemu + mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt mkdir -p $(DESTDIR)$(localstatedir)/run/libvirt mkdir -p $(DESTDIR)$(localstatedir)/lib/libvirt @@ -184,7 +184,7 @@ uninstall-local:: uninstall-init uninstall-data-sasl install-data-polkit rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml rm -f $(DESTDIR)$(sysconfdir)/$(default_xml_dest) rmdir $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart || : - rmdir $(DESTDIR)$(localstatedir)/log/libvirt/qemu || : + rmdir $(DESTDIR)$(localstatedir)/log/libvirt || : rmdir $(DESTDIR)$(localstatedir)/run/libvirt || : rmdir $(DESTDIR)$(localstatedir)/lib/libvirt || : @@ -240,6 +240,8 @@ libvirtd.logrotate: libvirtd.logrotate.in install-logrotate: libvirtd.logrotate 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/ $(INSTALL_DATA) $< $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.187 retrieving revision 1.188 diff -u -p -r1.187 -r1.188 --- libvirt.spec 6 Oct 2009 09:45:05 -0000 1.187 +++ libvirt.spec 6 Oct 2009 12:48:58 -0000 1.188 @@ -22,14 +22,14 @@ %endif -# Now set the defaults for all the important features, independant +# Now set the defaults for all the important features, independent # of any particular OS # First the daemon itself %define with_libvirtd 0%{!?_without_libvirtd:%{server_drivers}} %define with_avahi 0%{!?_without_avahi:%{server_drivers}} -# Then the hypervisor drivers +# Then the hypervisor drivers that run on local host %define with_xen 0%{!?_without_xen:%{server_drivers}} %define with_xen_proxy 0%{!?_without_xen_proxy:%{server_drivers}} %define with_qemu 0%{!?_without_qemu:%{server_drivers}} @@ -37,9 +37,12 @@ %define with_lxc 0%{!?_without_lxc:%{server_drivers}} %define with_vbox 0%{!?_without_vbox:%{server_drivers}} %define with_uml 0%{!?_without_uml:%{server_drivers}} +# XXX this shouldn't be here, but it mistakenly links into libvirtd %define with_one 0%{!?_without_one:%{server_drivers}} -%define with_phyp 0%{!?_without_phyp:%{server_drivers}} -%define with_esx 0%{!?_without_esx:%{server_drivers}} + +# Then the hypervisor drivers that talk a native remote protocol +%define with_phyp 0%{!?_without_phyp:1} +%define with_esx 0%{!?_without_esx:1} # Then the secondary host drivers %define with_network 0%{!?_without_network:%{server_drivers}} @@ -69,10 +72,6 @@ %define with_xen 0 %endif -# Numactl is not available on s390[x] -%ifarch s390 s390x -%define with_numactl 0 -%endif # RHEL doesn't ship OpenVZ, VBox, UML, OpenNebula, PowerHypervisor or ESX %if 0%{?rhel} @@ -100,6 +99,7 @@ %endif %define with_xen 0 %endif + # If Xen isn't turned on, we shouldn't build the xen proxy either %if ! %{with_xen} %define with_xen_proxy 0 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 9%{?dist}%{?extra_release} +Release: 10%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -177,6 +177,7 @@ Patch07: libvirt-svirt-relabel-qcow2-bac # Change logrotate config to weekly (#526769) Patch08: libvirt-change-logrotate-config-to-weekly.patch +Patch09: libvirt-logrotate-create-lxc-uml-dirs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ @@ -337,6 +338,9 @@ BuildRequires: netcf-devel # Fedora build root suckage BuildRequires: gawk +# Needed for libvirt-logrotate-create-lxc-uml-dirs.patch +BuildRequires: automake + %description Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The main package includes @@ -378,7 +382,7 @@ the virtualization capabilities of recen %package python Summary: Python bindings for the libvirt library Group: Development/Libraries -Requires: libvirt = %{version}-%{release} +Requires: libvirt-client = %{version}-%{release} %description python The libvirt-python package contains a module that permits applications @@ -398,8 +402,12 @@ of recent versions of Linux (and other O %patch06 -p1 %patch07 -p1 %patch08 -p1 +%patch09 -p1 %build +# Needed for libvirt-logrotate-create-lxc-uml-dirs.patch +automake + %if ! %{with_xen} %define _without_xen --without-xen %endif @@ -622,7 +630,7 @@ fi /sbin/chkconfig --add libvirtd if [ "$1" -ge "1" ]; then - /sbin/service libvirtd condrestart > /dev/null 2>&1 + /sbin/service libvirtd condrestart > /dev/null 2>&1 fi %endif @@ -655,6 +663,9 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ %if %{with_qemu} %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf @@ -712,13 +723,11 @@ fi %endif %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ -%if %{with_qemu} -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ -%endif %if %{with_xen_proxy} %attr(4755, root, root) %{_libexecdir}/libvirt_proxy %endif + %if %{with_lxc} %attr(0755, root, root) %{_libexecdir}/libvirt_lxc %endif @@ -788,6 +797,11 @@ fi %endif %changelog +* Tue Oct 6 2009 Mark McLoughlin - 0.7.1-10 +- Create /var/log/libvirt/{lxc,uml} dirs for logrotate +- Make libvirt-python dependon on libvirt-client +- Sync misc minor changes from upstream spec + * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-9 - Change logrotate config to weekly (#526769) From markmc at fedoraproject.org Tue Oct 6 13:26:25 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 13:26:25 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel ksmtuned, 1.1, 1.2 ksmtuned.init, 1.1, 1.2 qemu.spec, 1.138, 1.139 Message-ID: <20091006132626.2FC0E11C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11407 Modified Files: ksmtuned ksmtuned.init qemu.spec Log Message: * Tue Oct 6 2009 Mark McLoughlin - 2:0.11.0-5 - Add 'retune' verb to ksmtuned init script Index: ksmtuned =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/ksmtuned,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- ksmtuned 16 Sep 2009 17:31:15 -0000 1.1 +++ ksmtuned 6 Oct 2009 13:26:24 -0000 1.2 @@ -12,6 +12,9 @@ # make ksm work harder and harder untill memory load falls below that # threshold. # +# send SIGUSR1 to this process right after a new qemu process is started, or +# following its death, to retune ksm accordingly +# # needs testing and ironing. contact danken at redhat.com if something breaks. if [ -f /etc/ksmtuned.conf ]; then @@ -105,10 +108,16 @@ adjust () { return 0 } +function nothing () { + : +} + loop () { + trap nothing SIGUSR1 while true do - sleep $KSM_MONITOR_INTERVAL + sleep $KSM_MONITOR_INTERVAL & + wait $! adjust done } Index: ksmtuned.init =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/ksmtuned.init,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- ksmtuned.init 16 Sep 2009 17:31:15 -0000 1.1 +++ ksmtuned.init 6 Oct 2009 13:26:24 -0000 1.2 @@ -75,8 +75,11 @@ case "$1" in condrestart) condrestart ;; + retune) + kill -SIGUSR1 `cat ${pidfile}` + RETVAL=$? *) - echo $"Usage: $prog {start|stop|restart|condrestart|status|help}" + echo $"Usage: $prog {start|stop|restart|condrestart|status|retune|help}" RETVAL=3 esac Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.138 retrieving revision 1.139 diff -u -p -r1.138 -r1.139 --- qemu.spec 5 Oct 2009 14:27:23 -0000 1.138 +++ qemu.spec 6 Oct 2009 13:26:24 -0000 1.139 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 4%{?dist} +Release: 5%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -534,6 +534,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Tue Oct 6 2009 Mark McLoughlin - 2:0.11.0-5 +- Add 'retune' verb to ksmtuned init script + * Mon Oct 5 2009 Mark McLoughlin - 2:0.11.0-4 - Use rtl8029 PXE rom for ne2k_pci, not ne (#526777) - Also, replace the gpxe-roms-qemu pkg requires with file-based requires From markmc at fedoraproject.org Tue Oct 6 13:26:58 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 13:26:58 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 ksmtuned, 1.1, 1.2 ksmtuned.init, 1.1, 1.2 qemu.spec, 1.138, 1.139 Message-ID: <20091006132658.D6AD611C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11693 Modified Files: ksmtuned ksmtuned.init qemu.spec Log Message: * Tue Oct 6 2009 Mark McLoughlin - 2:0.11.0-5 - Add 'retune' verb to ksmtuned init script Index: ksmtuned =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/ksmtuned,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- ksmtuned 16 Sep 2009 17:31:15 -0000 1.1 +++ ksmtuned 6 Oct 2009 13:26:58 -0000 1.2 @@ -12,6 +12,9 @@ # make ksm work harder and harder untill memory load falls below that # threshold. # +# send SIGUSR1 to this process right after a new qemu process is started, or +# following its death, to retune ksm accordingly +# # needs testing and ironing. contact danken at redhat.com if something breaks. if [ -f /etc/ksmtuned.conf ]; then @@ -105,10 +108,16 @@ adjust () { return 0 } +function nothing () { + : +} + loop () { + trap nothing SIGUSR1 while true do - sleep $KSM_MONITOR_INTERVAL + sleep $KSM_MONITOR_INTERVAL & + wait $! adjust done } Index: ksmtuned.init =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/ksmtuned.init,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- ksmtuned.init 16 Sep 2009 17:31:15 -0000 1.1 +++ ksmtuned.init 6 Oct 2009 13:26:58 -0000 1.2 @@ -75,8 +75,11 @@ case "$1" in condrestart) condrestart ;; + retune) + kill -SIGUSR1 `cat ${pidfile}` + RETVAL=$? *) - echo $"Usage: $prog {start|stop|restart|condrestart|status|help}" + echo $"Usage: $prog {start|stop|restart|condrestart|status|retune|help}" RETVAL=3 esac Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.138 retrieving revision 1.139 diff -u -p -r1.138 -r1.139 --- qemu.spec 5 Oct 2009 14:26:45 -0000 1.138 +++ qemu.spec 6 Oct 2009 13:26:58 -0000 1.139 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 4%{?dist} +Release: 5%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -534,6 +534,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Tue Oct 6 2009 Mark McLoughlin - 2:0.11.0-5 +- Add 'retune' verb to ksmtuned init script + * Mon Oct 5 2009 Mark McLoughlin - 2:0.11.0-4 - Use rtl8029 PXE rom for ne2k_pci, not ne (#526777) - Also, replace the gpxe-roms-qemu pkg requires with file-based requires From markmc at fedoraproject.org Tue Oct 6 13:33:22 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 13:33:22 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel ksmtuned.init,1.2,1.3 Message-ID: <20091006133322.4BCC611C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14647 Modified Files: ksmtuned.init Log Message: Fix syntax error in ksmtuned.init Index: ksmtuned.init =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/ksmtuned.init,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- ksmtuned.init 6 Oct 2009 13:26:24 -0000 1.2 +++ ksmtuned.init 6 Oct 2009 13:33:22 -0000 1.3 @@ -78,6 +78,7 @@ case "$1" in retune) kill -SIGUSR1 `cat ${pidfile}` RETVAL=$? + ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|status|retune|help}" RETVAL=3 From markmc at fedoraproject.org Tue Oct 6 13:33:26 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 6 Oct 2009 13:33:26 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 ksmtuned.init,1.2,1.3 Message-ID: <20091006133326.3F7F511C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14693 Modified Files: ksmtuned.init Log Message: Fix syntax error in ksmtuned.init Index: ksmtuned.init =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/ksmtuned.init,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- ksmtuned.init 6 Oct 2009 13:26:58 -0000 1.2 +++ ksmtuned.init 6 Oct 2009 13:33:26 -0000 1.3 @@ -78,6 +78,7 @@ case "$1" in retune) kill -SIGUSR1 `cat ${pidfile}` RETVAL=$? + ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|status|retune|help}" RETVAL=3 From crobinso at fedoraproject.org Tue Oct 6 15:10:01 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Tue, 6 Oct 2009 15:10:01 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/F-11 virtinst-0.400.3-add-cli-test.patch, NONE, 1.1 python-virtinst.spec, 1.72, 1.73 Message-ID: <20091006151001.3BD1511C00C1@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7035 Modified Files: python-virtinst.spec Added Files: virtinst-0.400.3-add-cli-test.patch Log Message: Add CLI tests from upstream. virtinst-0.400.3-add-cli-test.patch: setup.py | 25 tests/cli-test-xml/clone-disk.xml | 34 + tests/cli-test-xml/faketree/images/boot.iso | 1 tests/cli-test-xml/faketree/images/pxeboot/initrd.img | 1 tests/cli-test-xml/faketree/images/pxeboot/vmlinuz | 1 tests/cli-test-xml/image.xml | 38 + tests/clitest.py | 489 ++++++++++++++++++ 7 files changed, 587 insertions(+), 2 deletions(-) --- NEW FILE virtinst-0.400.3-add-cli-test.patch --- diff -Nrup virtinst-0.400.3/setup.py new/setup.py --- virtinst-0.400.3/setup.py 2009-03-09 23:34:29.000000000 -0400 +++ new/setup.py 2009-06-18 14:46:45.023790000 -0400 @@ -58,14 +58,34 @@ class TestCommand(TestBaseCommand): ''' testfiles = [] for t in glob(pjoin(self._dir, 'tests', '*.py')): - if not t.endswith('__init__.py') and \ - not t.endswith("urltest.py"): + if (not t.endswith('__init__.py') and + not t.endswith("urltest.py") and + not t.endswith("clitest.py")): testfiles.append('.'.join( ['tests', splitext(basename(t))[0]]) ) self._testfiles = testfiles TestBaseCommand.run(self) +class TestCLI(TestBaseCommand): + + description = "Test various CLI invocations" + + user_options = (TestBaseCommand.user_options + + [("prompt", None, "Run interactive CLI invocations.")]) + + def initialize_options(self): + TestBaseCommand.initialize_options(self) + self.prompt = 0 + + def run(self): + cmd = "python tests/clitest.py" + if self.debug: + cmd += " debug" + if self.prompt: + cmd += " prompt" + os.system(cmd) + class TestURLFetch(TestBaseCommand): description = "Test fetching kernels and isos from various distro trees" @@ -281,6 +301,7 @@ setup(name='virtinst', packages=pkgs, data_files = datafiles, cmdclass = { 'test': TestCommand, 'test_urls' : TestURLFetch, + 'test_cli' : TestCLI, 'check': CheckPylint, 'rpm' : custom_rpm, 'sdist': sdist, 'build': build, diff -Nrup virtinst-0.400.3/tests/clitest.py new/tests/clitest.py --- virtinst-0.400.3/tests/clitest.py 1969-12-31 19:00:00.000000000 -0500 +++ new/tests/clitest.py 2009-06-18 14:46:28.081167000 -0400 @@ -0,0 +1,489 @@ +# +# 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 2 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA. + +import commands +import os, sys + +# Location +xmldir = "tests/cli-test-xml" +treedir = "tests/cli-test-xml/faketree" + +# Images that will be created by virt-install/virt-clone, and removed before +# each run +new_images = [ "cli_new1.img", "cli_new2.img", "cli_new3.img", + "cli_exist1-clone.img", "cli_exist2-clone.img"] + +# Images that are expected to exist before a command is run +exist_images = [ "cli_exist1.img", "cli_exist2.img" ] + +# Images that need to exist ahead of time for virt-image +virtimage_exist = [os.path.join(xmldir, "cli_root.raw")] + +# Images created by virt-image +virtimage_new = [os.path.join(xmldir, "cli_scratch.raw")] + +exist_files = exist_images + virtimage_exist +new_files = new_images + virtimage_new +clean_files = new_images + exist_images + virtimage_exist + virtimage_new + +test_files = { + 'CLONE_DISK_XML' : "%s/clone-disk.xml" % xmldir, + 'IMAGE_XML' : "%s/image.xml" % xmldir, + 'NEWIMG1' : new_images[0], + 'NEWIMG2' : new_images[1], + 'NEWIMG3' : new_images[2], + 'EXISTIMG1' : exist_images[0], + 'EXISTIMG2' : exist_images[1], +} + +debug = False +testprompt = False + +""" +CLI test matrix + +Format: + +"appname" { + "global_args" : Arguments to be passed to every app invocation + + "categoryfoo" : { Some descriptive test catagory name (e.g. storage) + + "categoryfoo_args" : Args to be applied to all invocations in category + + "valid" : { # Argument strings that should succeed + "--option --string --number1" # Some option string to test. The + resulting cmdstr would be: + $ appname global_args categoryfoo_args --option --string --number1 + } + + "invalid" : { # Argument strings that should fail + "--opt1 --opt2", + } + } # End categoryfoo + + "prompt" : { # Special category that will launch an interactive command. + # which is only run if special args are passed to the test + "--some --prompt --command --string" + } +} + " +""" +args_dict = { + + + "virt-install" : { + "global_args" : " --connect test:///default -d --name foobar --ram 64", + + "storage" : { + "storage_args": "--pxe --nographics --noautoconsole --hvm", + + "valid" : [ + # Existing file, other opts + "--file %(EXISTIMG1)s --nonsparse --file-size 4", + # Existing file, no opts + "--file %(EXISTIMG1)s", + # Multiple existing files + "--file %(EXISTIMG1)s --file virt-image --file virt-clone", + # Nonexistent file + "--file %(NEWIMG1)s --file-size .00001 --nonsparse", + + # Existing disk, lots of opts + "--disk path=%(EXISTIMG1)s,perms=ro,size=.0001,cache=writethrough", + # Existing floppy + "--disk path=%(EXISTIMG1)s,device=floppy", + # Existing disk, no extra options + "--disk path=%(EXISTIMG1)s", + # Create volume in a pool + "--disk pool=default-pool,size=.0001", + ], + + "invalid": [ + # Nonexisting file, size too big + "--file %(NEWIMG1)s --file-size 100000 --nonsparse", + # Huge file, sparse, but no prompting + "--file %(NEWIMG1)s --file-size 100000", + # Nonexisting file, no size + "--file %(NEWIMG1)s", + # Size, no file + "--file-size .0001", + # Specify a nonexistent pool + "--disk pool=foopool,size=.0001", + # Specify a nonexistent volume + "--disk vol=default-pool/foovol", + # Specify a pool with no size + "--disk pool=default-pool", + ] + }, # category "storage" + + "install" : { + "install_args": "--nographics --noautoconsole --nodisks", + + "valid" : [ + # Simple cdrom install + "--hvm --cdrom %(EXISTIMG1)s", + # Windows (2 stage) install + #"--hvm --wait 0 --os-variant winxp --cdrom %(EXISTIMG1)s", + # Explicit virt-type + #"--hvm --pxe --virt-type test", + # Explicity fullvirt + arch + "--arch i686 --pxe", + # Convert i*86 -> i686 + #"--arch i486 --pxe", + # Directory tree URL install + #"--hvm --location %s" % treedir, + # Directory tree CDROM install + #"--hvm --cdrom %s" % treedir, + ], + + "invalid": [ + # Bogus virt-type + #"--hvm --pxe --virt-type bogus", + # Bogus arch + "--hvm --pxe --arch bogus", + # PXE w/ paravirt + "--paravirt --pxe", + # Import with no disks + "--import", + # LiveCD with no media + "--livecd", + ], + }, # category "install" + + "graphics": { + "graphics_args": "--noautoconsole --nodisks --pxe", + + "valid": [ + # SDL + "--sdl", + # VNC w/ lots of options + #"--vnc --keymap ja --vncport 5950 --vnclisten 1.2.3.4", + ], + + "invalid": [ + # Invalid keymap + #"--vnc --keymap ZZZ", + # Invalid port + "--vnc --vncport -50", + ], + + }, # category "graphics" + + "misc": { + "misc_args": "--nographics --noautoconsole", + + "valid": [ + # Specifying cdrom media via --disk + "--hvm --disk path=virt-install,device=cdrom", + # FV Import install + "--hvm --import --disk path=virt-install", + # PV Import install + "--paravirt --import --disk path=virt-install", + ], + + "invalid": [ + # pxe and nonetworks + "--nodisks --pxe --nonetworks", + ], + }, # category "misc" + + "network": { + "network_args": "--pxe --nographics --noautoconsole --nodisks", + + "valid": [ + # Just a macaddr + "--mac 11:22:33:44:55:66", + # user networking + "--network=user", + # Old bridge option + "--bridge mybr0", + # Old bridge w/ mac + "--bridge mybr0 --mac 11:22:33:44:55:66", + # --network bridge: + "--network bridge:mybr0,model=e1000", + # VirtualNetwork with a random macaddr + "--network network:default --mac RANDOM", + # VirtualNetwork with a random macaddr + "--network network:default --mac 00:11:22:33:44:55", + # Using '=' as the net type delimiter + #"--network network=default,mac=11:00:11:00:11:00", + # with NIC model + #"--network=user,model=e1000", + # several networks + #"--network=network:default,model=e1000 --network=user,model=virtio,mac=11:22:33:44:55:66", + ], + "invalid": [ + # Nonexistent network + "--network=FOO", + # Invalid mac + "--network=network:default --mac 1234", + # More mac addrs than nics + "--network user --mac 00:11:22:33:44:55 --mac 00:11:22:33:44:66", + # Mixing bridge and network + "--network user --bridge foo0", + ], + + }, # category "network" + + + "prompt" : [ " --connect test:///default --debug --prompt" ] + }, + + + + + "virt-clone": { + "global_args" : " --connect test:///default -d", + + "general" : { + "general_args": "-n clonetest ", + + "valid" : [ + # Nodisk guest + "-o test", + # Nodisk, but with spurious files passed + "-o test --file %(NEWIMG1)s --file %(NEWIMG2)s", + + # XML File with 2 disks + "--original-xml %(CLONE_DISK_XML)s --file %(NEWIMG1)s --file %(NEWIMG2)s", + # XML w/ disks, overwriting existing files with --preserve + "--original-xml %(CLONE_DISK_XML)s --file virt-install --file %(EXISTIMG1)s --preserve", + # XML w/ disks, force copy a readonly target + "--original-xml %(CLONE_DISK_XML)s --file %(NEWIMG1)s --file %(NEWIMG2)s --file %(NEWIMG3)s --force-copy=hdc", + # XML w/ disks, force copy a target with no media + "--original-xml %(CLONE_DISK_XML)s --file %(NEWIMG1)s --file %(NEWIMG2)s --force-copy=fda", + ], + + "invalid": [ + # Non-existent vm name + "-o idontexist --force", + # Non-existent vm name with auto flag, + #"-o idontexist --auto-clone", + # Colliding new name + "-o test -n test --force", + # XML file with several disks, but non specified + "--original-xml %(CLONE_DISK_XML)s --force", + # XML w/ disks, overwriting existing files with no --preserve + #"--original-xml %(CLONE_DISK_XML)s --file virt-install --file %(EXISTIMG1)s", + # XML w/ disks, force copy but not enough disks passed + "--original-xml %(CLONE_DISK_XML)s --file %(NEWIMG1)s --file %(NEWIMG2)s --force-copy=hdc --force", + ] + }, # category "general" + + "misc" : { + "misc_args": "", + + "valid" : [ + # Auto flag, no storage + #"-o test --auto-clone", + # Auto flag w/ storage, + #"--original-xml %(CLONE_DISK_XML)s --auto-clone", + ], + + "invalid" : [ + # Just the auto flag + #"--auto-clone" + ] + }, # category "misc" + + "prompt" : [ " --connect test:///default --debug --prompt", + " --connect test:///default --debug --original-xml %(CLONE_DISK_XML)s --prompt" ] + }, # app 'virt-clone' + + + + + 'virt-image': { + "global_args" : " --connect test:///default -d %(IMAGE_XML)s", + + "general" : { + "general_args" : "--name test-image", + + "valid": [ + # All default values + "", + # Manual boot idx 0 + "--boot 0", + # Manual boot idx 1 + "--boot 1", + # Lots of options + "--name foobar --ram 64 --os-variant winxp", + ], + + "invalid": [ + # Out of bounds index + "--boot 10", + ], + }, # category 'general' + + "graphics" : { + "graphics_args" : "--name test-image --boot 0", + + "valid": [ + # SDL + "--sdl", + # VNC w/ lots of options + #"--vnc --keymap ja --vncport 5950 --vnclisten 1.2.3.4", + ], + + "invalid": [], + }, + + "misc": { + "misc_args" : "", + + "valid" : [], + "invalid" : [ + # No name specified, and no prompt flag + "", + ], + + }, # category 'misc' + + "network": { + #"network_args": "--name test-image --boot 0 --nographics", + "network_args": "--name test-image --boot 0", + + "valid": [ + # user networking + "--network=user", + # VirtualNetwork with a random macaddr + "--network network:default --mac RANDOM", + # VirtualNetwork with a random macaddr + "--network network:default --mac 00:11:22:33:44:55", + # with NIC model + #"--network=user,model=e1000", + # several networks + #"--network=network:default,model=e1000 --network=user,model=virtio", + # no networks + #"--nonetworks", + ], + "invalid": [ + # Nonexistent network + "--network=FOO", + # Invalid mac + "--network=network:default --mac 1234", + ], + + }, # category "network" + "prompt" : [ " --connect test:///default %(IMAGE_XML)s --debug --prompt" ], + + } # app 'virt-image' +} + +def runcomm(comm): + for i in new_files: + os.system("rm %s > /dev/null 2>&1" % i) + + if debug: + print comm % test_files + + ret = commands.getstatusoutput(comm % test_files) + if debug: + print ret[1] + print "\n" + + return ret + +def run_prompt_comm(comm): + print comm + os.system(comm % test_files) + +def assertPass(comm): + ret = runcomm(comm) + if ret[0] is not 0: + raise AssertionError("Expected command to pass, but failed.\n" + \ + "Command was: %s\n" % (comm) + \ + "Error code : %d\n" % ret[0] + \ + "Output was:\n%s" % ret[1]) + +def assertFail(comm): + ret = runcomm(comm) + if ret[0] is 0: + raise AssertionError("Expected command to fail, but passed.\n" + \ + "Command was: %s\n" % (comm) + \ + "Error code : %d\n" % ret[0] + \ + "Output was:\n%s" % ret[1]) + +# Setup: build cliarg dict, which uses +def run_tests(): + for app in args_dict: + unique = {} + prompts = [] + global_args = "" + + # Build default command line dict + for option in args_dict.get(app): + if option == "global_args": + global_args = args_dict[app][option] + continue + elif option == "prompt": + prompts = args_dict[app][option] + continue + + # Default is a unique cmd string + unique[option]= args_dict[app][option] + + # Build up prompt cases + if testprompt: + for optstr in prompts: + cmd = "./" + app + " " + optstr + run_prompt_comm(cmd) + continue + + # Build up unique command line cases + for category in unique.keys(): + catdict = unique[category] + category_args = catdict["%s_args" % category] + + for optstr in catdict["valid"]: + cmdstr = "./%s %s %s %s" % (app, global_args, + category_args, optstr) + assertPass(cmdstr) + + for optstr in catdict["invalid"]: + cmdstr = "./%s %s %s %s" % (app, global_args, + category_args, optstr) + assertFail(cmdstr) + +def main(): + # CLI Args + global debug + global testprompt + + if len(sys.argv) > 1: + for i in range(1, len(sys.argv)): + if sys.argv[i].count("debug"): + debug = True + elif sys.argv[i].count("prompt"): + testprompt = True + + # Setup needed files + for i in exist_files: + if os.path.exists(i): + raise ValueError("'%s' will be used by testsuite, can not already" + " exist." % i) + os.system("touch %s" % i) + + try: + run_tests() + finally: + # Cleanup files + for i in clean_files: + os.system("rm %s > /dev/null 2>&1" % i) + +if __name__ == "__main__": + main() diff -Nrup virtinst-0.400.3/tests/cli-test-xml/clone-disk.xml new/tests/cli-test-xml/clone-disk.xml --- virtinst-0.400.3/tests/cli-test-xml/clone-disk.xml 1969-12-31 19:00:00.000000000 -0500 +++ new/tests/cli-test-xml/clone-disk.xml 2009-06-18 14:46:28.102170000 -0400 @@ -0,0 +1,34 @@ + + origtest + db69fa1f-eef0-e567-3c20-3ef16f10376b + 8388608 + 2097152 + 2 + + hvm + + + + destroy + restart + destroy + + + + + + + + + + + + + + + + + + + + diff -Nrup virtinst-0.400.3/tests/cli-test-xml/faketree/images/boot.iso new/tests/cli-test-xml/faketree/images/boot.iso --- virtinst-0.400.3/tests/cli-test-xml/faketree/images/boot.iso 1969-12-31 19:00:00.000000000 -0500 +++ new/tests/cli-test-xml/faketree/images/boot.iso 2009-06-18 14:46:28.110167000 -0400 @@ -0,0 +1 @@ +testiso diff -Nrup virtinst-0.400.3/tests/cli-test-xml/faketree/images/pxeboot/initrd.img new/tests/cli-test-xml/faketree/images/pxeboot/initrd.img --- virtinst-0.400.3/tests/cli-test-xml/faketree/images/pxeboot/initrd.img 1969-12-31 19:00:00.000000000 -0500 +++ new/tests/cli-test-xml/faketree/images/pxeboot/initrd.img 2009-06-18 14:46:28.114169000 -0400 @@ -0,0 +1 @@ +testinitrd diff -Nrup virtinst-0.400.3/tests/cli-test-xml/faketree/images/pxeboot/vmlinuz new/tests/cli-test-xml/faketree/images/pxeboot/vmlinuz --- virtinst-0.400.3/tests/cli-test-xml/faketree/images/pxeboot/vmlinuz 1969-12-31 19:00:00.000000000 -0500 +++ new/tests/cli-test-xml/faketree/images/pxeboot/vmlinuz 2009-06-18 14:46:28.112171000 -0400 @@ -0,0 +1 @@ +testvmlinuz diff -Nrup virtinst-0.400.3/tests/cli-test-xml/image.xml new/tests/cli-test-xml/image.xml --- virtinst-0.400.3/tests/cli-test-xml/image.xml 1969-12-31 19:00:00.000000000 -0500 +++ new/tests/cli-test-xml/image.xml 2009-06-18 14:46:28.104169000 -0400 @@ -0,0 +1,38 @@ + + + + + + xen + i686 + + + + pygrub + + + + + + + i686 + + + + hvm + + + + + + 7 + 262144 + + + + + + + + + Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/F-11/python-virtinst.spec,v retrieving revision 1.72 retrieving revision 1.73 diff -u -p -r1.72 -r1.73 --- python-virtinst.spec 5 Oct 2009 19:09:09 -0000 1.72 +++ python-virtinst.spec 6 Oct 2009 15:10:00 -0000 1.73 @@ -47,6 +47,8 @@ Patch14: %{appname}-%{version}-f12-distr Patch15: %{appname}-%{version}-sasl-auth.patch # Use ACPI for windows on KVM (bz 479977) Patch16: %{appname}-%{version}-windows-acpi.patch +# Add CLI tests +Patch17: %{appname}-%{version}-add-cli-test.patch License: GPLv2+ Group: Development/Libraries @@ -90,6 +92,7 @@ and install new VMs) and virt-clone (clo %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 %build python setup.py build From rel-eng at fedoraproject.org Tue Oct 6 13:03:14 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Tue, 06 Oct 2009 13:03:14 -0000 Subject: [fedora-virt-maint] #2354: please tag libvirt-0.7.1-10.fc12 into dist-f12 Message-ID: <049.2d6502dae5616c0b069c2bdf2f847f9b@fedoraproject.org> #2354: please tag libvirt-0.7.1-10.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- Fixes libvirtd's logrotate config to not be too aggressive; it's hurting our ability to debug stuff : https://bugzilla.redhat.com/526769 Other notable change is that if fixes libvirt-python's dependency on the libvirt pkg; it should depend on libvirt-client Tested by me, hence the follow up fix * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-10 - Create /var/log/libvirt/{lxc,uml} dirs for logrotate - Make libvirt-python dependon on libvirt-client - Sync misc minor changes from upstream spec * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-9 - Change logrotate config to weekly (#526769) -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Tue Oct 6 15:20:26 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Tue, 06 Oct 2009 15:20:26 -0000 Subject: [fedora-virt-maint] Re: #2354: please tag libvirt-0.7.1-10.fc12 into dist-f12 In-Reply-To: <049.2d6502dae5616c0b069c2bdf2f847f9b@fedoraproject.org> References: <049.2d6502dae5616c0b069c2bdf2f847f9b@fedoraproject.org> Message-ID: <058.88b8a313e94f6614b3cb78551e93872d@fedoraproject.org> #2354: please tag libvirt-0.7.1-10.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Tue Oct 6 15:20:49 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Tue, 06 Oct 2009 15:20:49 -0000 Subject: [fedora-virt-maint] Re: #2350: please tag qemu-0.11.0-4.fc12 into dist-f12 In-Reply-To: <049.ce8d6bb7e0c5996705714a3c7084e5d4@fedoraproject.org> References: <049.ce8d6bb7e0c5996705714a3c7084e5d4@fedoraproject.org> Message-ID: <058.e23632b8403b23793dfe6e10da9e3d2c@fedoraproject.org> #2350: please tag qemu-0.11.0-4.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rjones at fedoraproject.org Tue Oct 6 16:07:46 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Tue, 6 Oct 2009 16:07:46 +0000 (UTC) Subject: [fedora-virt-maint] rpms/virt-top/F-12 virt-top-1.0.4-bogus-ja-plurals.patch, NONE, 1.1 .cvsignore, 1.3, 1.4 sources, 1.4, 1.5 virt-top-1.0.3-bogus-zh_CN-plurals.patch, 1.1, 1.2 virt-top.spec, 1.7, 1.8 Message-ID: <20091006160746.B6A5811C00C1@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/virt-top/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25034 Modified Files: .cvsignore sources virt-top-1.0.3-bogus-zh_CN-plurals.patch virt-top.spec Added Files: virt-top-1.0.4-bogus-ja-plurals.patch Log Message: NOTE: (1) Not built yet, (2) Requires updated ocaml-curses. * Tue Oct 6 2009 Richard W.M. Jones - 1.0.4-1.fc12.1 - New upstream release 1.0.4. - Includes new translations (RHBZ#493799). - Overall hardware memory is now displayed in CSV file (RHBZ#521785). - Several fixes to Japanese support (RHBZ#508197). - Japanese PO file also has bogus plural forms. - Additional BR on gettext (for msgfmt). virt-top-1.0.4-bogus-ja-plurals.patch: ja.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE virt-top-1.0.4-bogus-ja-plurals.patch --- diff -ur virt-top-1.0.4.orig/po/ja.po virt-top-1.0.4/po/ja.po --- virt-top-1.0.4.orig/po/ja.po 2009-10-05 16:24:06.295900599 +0100 +++ virt-top-1.0.4/po/ja.po 2009-10-05 16:24:49.296650985 +0100 @@ -10,7 +10,7 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: Plural-Forms: nplurals=1; plural=0;\n\n" +"Plural-Forms: nplurals=1; plural=0;\n\n" "X-Generator: KBabel 1.11.4\n" #: ../virt-top/virt_top.ml:1492 Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/F-12/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- .cvsignore 21 Oct 2008 09:29:56 -0000 1.3 +++ .cvsignore 6 Oct 2009 16:07:46 -0000 1.4 @@ -1,2 +1 @@ -virt-top-1.0.1.tar.gz -virt-top-1.0.3.tar.gz +virt-top-1.0.4.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/F-12/sources,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- sources 21 Oct 2008 09:59:18 -0000 1.4 +++ sources 6 Oct 2009 16:07:46 -0000 1.5 @@ -1 +1 @@ -18662bfbaa13c314ed07734cb1f5913e virt-top-1.0.3.tar.gz +491929219b5b49b4e502a1643599be95 virt-top-1.0.4.tar.gz virt-top-1.0.3-bogus-zh_CN-plurals.patch: zh_CN.po | 1 - 1 file changed, 1 deletion(-) Index: virt-top-1.0.3-bogus-zh_CN-plurals.patch =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/F-12/virt-top-1.0.3-bogus-zh_CN-plurals.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- virt-top-1.0.3-bogus-zh_CN-plurals.patch 21 Oct 2008 09:59:18 -0000 1.1 +++ virt-top-1.0.3-bogus-zh_CN-plurals.patch 6 Oct 2009 16:07:46 -0000 1.2 @@ -7,4 +7,4 @@ -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "X-Generator: KBabel 1.11.4\n" - #: ../virt-top/virt_top.ml:1490 + #: ../virt-top/virt_top.ml:1492 Index: virt-top.spec =================================================================== RCS file: /cvs/pkgs/rpms/virt-top/F-12/virt-top.spec,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- virt-top.spec 27 Jul 2009 06:55:36 -0000 1.7 +++ virt-top.spec 6 Oct 2009 16:07:46 -0000 1.8 @@ -2,8 +2,8 @@ %define debug_package %{nil} Name: virt-top -Version: 1.0.3 -Release: 5%{?dist} +Version: 1.0.4 +Release: 1%{?dist}.1 Summary: Utility like top(1) for displaying virtualization stats Group: Development/Libraries @@ -14,11 +14,13 @@ BuildRoot: %{_tmppath}/%{name}-%{ve ExcludeArch: sparc64 s390 s390x Patch0: virt-top-1.0.3-bogus-zh_CN-plurals.patch +Patch1: virt-top-1.0.4-bogus-ja-plurals.patch BuildRequires: ocaml >= 3.10.2 BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-findlib-devel -BuildRequires: ocaml-curses-devel +# Need the ncurses / ncursesw (--enable-widec) fix. +BuildRequires: ocaml-curses-devel >= 1.0.3-6.fc12.1 BuildRequires: ocaml-extlib-devel BuildRequires: ocaml-xml-light-devel BuildRequires: ocaml-csv-devel @@ -31,15 +33,14 @@ BuildRequires: ocaml-fileutils-devel %ifnarch ppc64 BuildRequires: ocaml-camomile-data %endif +# For msgfmt: +BuildRequires: gettext # Non-OCaml BRs. BuildRequires: libvirt-devel BuildRequires: perl BuildRequires: gawk -#%define _use_internal_dependency_generator 0 -#%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh -#%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh %description virt-top is a 'top(1)'-like utility for showing stats of virtualized @@ -53,6 +54,7 @@ different virtualization systems. %prep %setup -q %patch0 -p1 +%patch1 -p1 chmod -x COPYING @@ -99,6 +101,14 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Oct 6 2009 Richard W.M. Jones - 1.0.4-1.fc12.1 +- New upstream release 1.0.4. +- Includes new translations (RHBZ#493799). +- Overall hardware memory is now displayed in CSV file (RHBZ#521785). +- Several fixes to Japanese support (RHBZ#508197). +- Japanese PO file also has bogus plural forms. +- Additional BR on gettext (for msgfmt). + * Sun Jul 26 2009 Fedora Release Engineering - 1.0.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From markmc at fedoraproject.org Fri Oct 9 14:32:55 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 9 Oct 2009 14:32:55 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-fix-qcow2-backing-file-with-virtio.patch, NONE, 1.1 ksm.init, 1.2, 1.3 qemu-improve-error-reporting-on-file-access.patch, 1.1, 1.2 qemu.spec, 1.139, 1.140 Message-ID: <20091009143255.CC4E411C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17538 Modified Files: ksm.init qemu-improve-error-reporting-on-file-access.patch qemu.spec Added Files: qemu-fix-qcow2-backing-file-with-virtio.patch Log Message: * Fri Oct 9 2009 Mark McLoughlin - 2:0.11.0-6 - Fix fs errors with virtio and qcow2 backing file (#524734) - Fix ksm initscript errors on kernel missing ksm (#527653) - Add missing Requires(post): getent, useradd, groupadd (#527087) qemu-fix-qcow2-backing-file-with-virtio.patch: qcow2-cluster.c | 6 +++--- qcow2.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- qcow2.h | 4 +++- 3 files changed, 55 insertions(+), 6 deletions(-) --- NEW FILE qemu-fix-qcow2-backing-file-with-virtio.patch --- >From 1df18d4a961a66b9ea28ab83b409f4d9d470f148 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Thu, 8 Oct 2009 15:02:08 +0200 Subject: [PATCH] qcow2: Bring synchronous read/write back to life When the synchronous read and write functions were dropped, they were replaced by generic emulation functions. Unfortunately, these emulation functions don't provide the same semantics as the original functions did. The original bdrv_read would mean that we read some data synchronously and that we won't be interrupted during this read. The latter assumption is no longer true with the emulation function which needs to use qemu_aio_poll and therefore allows the callback of any other concurrent AIO request to be run during the read. Which in turn means that (meta)data read earlier could have changed and be invalid now. qcow2 is not prepared to work in this way and it's just scary how many places there are where other requests could run. I'm not sure yet where exactly it breaks, but you'll see breakage with virtio on qcow2 with a backing file. Providing synchronous functions again fixes the problem for me. Signed-off-by: Kevin Wolf Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-qcow2-backing-file-with-virtio.patch --- block/qcow2-cluster.c | 6 ++-- block/qcow2.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++- block/qcow2.h | 3 ++ 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index d4631c3..4d0ce16 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -306,8 +306,8 @@ void qcow2_encrypt_sectors(BDRVQcowState *s, int64_t sector_num, } -static int qcow_read(BlockDriverState *bs, int64_t sector_num, - uint8_t *buf, int nb_sectors) +int qcow2_read(BlockDriverState *bs, int64_t sector_num, uint8_t *buf, + int nb_sectors) { BDRVQcowState *s = bs->opaque; int ret, index_in_cluster, n, n1; @@ -358,7 +358,7 @@ static int copy_sectors(BlockDriverState *bs, uint64_t start_sect, n = n_end - n_start; if (n <= 0) return 0; - ret = qcow_read(bs, start_sect + n_start, s->cluster_data, n); + ret = qcow2_read(bs, start_sect + n_start, s->cluster_data, n); if (ret < 0) return ret; if (s->crypt_method) { diff --git a/block/qcow2.c b/block/qcow2.c index dd32ea2..ced257e 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -855,6 +855,51 @@ static int qcow_make_empty(BlockDriverState *bs) return 0; } +static int qcow2_write(BlockDriverState *bs, int64_t sector_num, + const uint8_t *buf, int nb_sectors) +{ + BDRVQcowState *s = bs->opaque; + int ret, index_in_cluster, n; + uint64_t cluster_offset; + int n_end; + QCowL2Meta l2meta; + + while (nb_sectors > 0) { + memset(&l2meta, 0, sizeof(l2meta)); + + index_in_cluster = sector_num & (s->cluster_sectors - 1); + n_end = index_in_cluster + nb_sectors; + if (s->crypt_method && + n_end > QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors) + n_end = QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors; + cluster_offset = qcow2_alloc_cluster_offset(bs, sector_num << 9, + index_in_cluster, + n_end, &n, &l2meta); + if (!cluster_offset) + return -1; + if (s->crypt_method) { + qcow2_encrypt_sectors(s, sector_num, s->cluster_data, buf, n, 1, + &s->aes_encrypt_key); + ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512, + s->cluster_data, n * 512); + } else { + ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512, buf, n * 512); + } + if (ret != n * 512 || qcow2_alloc_cluster_link_l2(bs, cluster_offset, &l2meta) < 0) { + qcow2_free_any_clusters(bs, cluster_offset, l2meta.nb_clusters); + return -1; + } + nb_sectors -= n; + sector_num += n; + buf += n * 512; + if (l2meta.nb_clusters != 0) { + LIST_REMOVE(&l2meta, next_in_flight); + } + } + s->cluster_cache_offset = -1; /* disable compressed cache */ + return 0; +} + /* XXX: put compressed sectors first, then all the cluster aligned tables to avoid losing bytes in alignment */ static int qcow_write_compressed(BlockDriverState *bs, int64_t sector_num, @@ -1037,8 +1082,10 @@ static BlockDriver bdrv_qcow2 = { .bdrv_set_key = qcow_set_key, .bdrv_make_empty = qcow_make_empty, - .bdrv_aio_readv = qcow_aio_readv, - .bdrv_aio_writev = qcow_aio_writev, + .bdrv_read = qcow2_read, + .bdrv_write = qcow2_write, + .bdrv_aio_readv = qcow_aio_readv, + .bdrv_aio_writev = qcow_aio_writev, .bdrv_write_compressed = qcow_write_compressed, .bdrv_snapshot_create = qcow2_snapshot_create, diff --git a/block/qcow2.h b/block/qcow2.h index 965a2f4..b41aa63 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -202,6 +202,9 @@ uint64_t qcow2_alloc_compressed_cluster_offset(BlockDriverState *bs, int qcow2_alloc_cluster_link_l2(BlockDriverState *bs, uint64_t cluster_offset, QCowL2Meta *m); +int qcow2_read(BlockDriverState *bs, int64_t sector_num, uint8_t *buf, + int nb_sectors); + /* qcow2-snapshot.c functions */ int qcow2_snapshot_create(BlockDriverState *bs, QEMUSnapshotInfo *sn_info); int qcow2_snapshot_goto(BlockDriverState *bs, const char *snapshot_id); -- 1.6.2.5 Index: ksm.init =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/ksm.init,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- ksm.init 16 Sep 2009 17:31:15 -0000 1.2 +++ ksm.init 9 Oct 2009 14:32:54 -0000 1.3 @@ -56,6 +56,19 @@ stop() { echo } +status() { + if [ ! -f /sys/kernel/mm/ksm/run ] ; then + echo $"$prog not supported" + RETVAL=1 + else if [ "$(cat /sys/kernel/mm/ksm/run 2>/dev/null)" != "1" ]; then + echo $"$prog is not running" + RETVAL=1 + else + echo $"$prog is running" + RETVAL=0 + fi; fi +} + case "$1" in start) start @@ -64,13 +77,7 @@ case "$1" in stop ;; status) - is_run=`cat /sys/kernel/mm/ksm/run` - RETVAL=$? - if [ $is_run -eq 1 ]; then - echo $"$prog is running" - else - echo $"$prog is not running" - fi + status ;; restart) stop qemu-improve-error-reporting-on-file-access.patch: hw/pc.c | 12 ++++++------ vl.c | 21 ++++++++++----------- 2 files changed, 16 insertions(+), 17 deletions(-) Index: qemu-improve-error-reporting-on-file-access.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-improve-error-reporting-on-file-access.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- qemu-improve-error-reporting-on-file-access.patch 1 Oct 2009 21:32:06 -0000 1.1 +++ qemu-improve-error-reporting-on-file-access.patch 9 Oct 2009 14:32:55 -0000 1.2 @@ -1,4 +1,4 @@ -From a40f520f7b94d2a5de04c7ca3a7513a99c84e9ef Mon Sep 17 00:00:00 2001 +From 565c62123258970d9254bc7b8eaa8f4c66ab2a21 Mon Sep 17 00:00:00 2001 From: Justin M. Forbes Date: Thu, 1 Oct 2009 16:13:56 -0500 Subject: [PATCH] Improve error reporting on file access @@ -7,7 +7,10 @@ By making the error reporting include st a bit more indication as to why qemu failed. This is particularly important for people running qemu as a non root user. +(cherry-picked from commit 850810d01b45e6ce99ac6696773e967890db2937) + Signed-off-by: Justin M. Forbes +Fedora-patch: qemu-improve-error-reporting-on-file-access.patch --- hw/pc.c | 12 ++++++------ vl.c | 20 ++++++++++---------- @@ -27,9 +30,9 @@ index 3b226f4..7a184cd 100644 + kernel_filename, strerror(errno)); exit(1); } - + @@ -947,8 +947,8 @@ static void load_linux(void *fw_cfg, - + fi = fopen(initrd_filename, "rb"); if (!fi) { - fprintf(stderr, "qemu: could not load initial ram disk '%s'\n", @@ -38,10 +41,10 @@ index 3b226f4..7a184cd 100644 + initrd_filename, strerror(errno)); exit(1); } - + @@ -956,8 +956,8 @@ static void load_linux(void *fw_cfg, initrd_addr = (initrd_max-initrd_size) & ~4095; - + if (!fread_targphys_ok(initrd_addr, initrd_size, fi)) { - fprintf(stderr, "qemu: read error on initial ram disk '%s'\n", - initrd_filename); Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.139 retrieving revision 1.140 diff -u -p -r1.139 -r1.140 --- qemu.spec 6 Oct 2009 13:26:24 -0000 1.139 +++ qemu.spec 9 Oct 2009 14:32:55 -0000 1.140 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 5%{?dist} +Release: 6%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -46,6 +46,9 @@ Patch07: qemu-do-not-exit-on-pci-hotplug # Improve error reporting on file access Patch08: qemu-improve-error-reporting-on-file-access.patch +# Fix fs errors with virtio and qcow2 backing file (#524734) +Patch09: qemu-fix-qcow2-backing-file-with-virtio.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -105,6 +108,9 @@ This package provides the command line t %package common Summary: QEMU common files needed by all QEMU targets Group: Development/Tools +Requires(post): /usr/bin/getent +Requires(post): /usr/sbin/groupadd +Requires(post): /usr/sbin/useradd Requires(post): /sbin/chkconfig Requires(preun): /sbin/service /sbin/chkconfig Requires(postun): /sbin/service @@ -241,6 +247,7 @@ such as kvmtrace and kvm_stat. %patch06 -p1 %patch07 -p1 %patch08 -p1 +%patch09 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -534,6 +541,11 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Fri Oct 9 2009 Mark McLoughlin - 2:0.11.0-6 +- Fix fs errors with virtio and qcow2 backing file (#524734) +- Fix ksm initscript errors on kernel missing ksm (#527653) +- Add missing Requires(post): getent, useradd, groupadd (#527087) + * Tue Oct 6 2009 Mark McLoughlin - 2:0.11.0-5 - Add 'retune' verb to ksmtuned init script From markmc at fedoraproject.org Fri Oct 9 14:34:18 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 9 Oct 2009 14:34:18 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu-fix-qcow2-backing-file-with-virtio.patch, NONE, 1.1 ksm.init, 1.2, 1.3 qemu-improve-error-reporting-on-file-access.patch, 1.1, 1.2 qemu.spec, 1.139, 1.140 Message-ID: <20091009143418.1BE6911C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18093 Modified Files: ksm.init qemu-improve-error-reporting-on-file-access.patch qemu.spec Added Files: qemu-fix-qcow2-backing-file-with-virtio.patch Log Message: * Fri Oct 9 2009 Mark McLoughlin - 2:0.11.0-6 - Fix fs errors with virtio and qcow2 backing file (#524734) - Fix ksm initscript errors on kernel missing ksm (#527653) - Add missing Requires(post): getent, useradd, groupadd (#527087) qemu-fix-qcow2-backing-file-with-virtio.patch: qcow2-cluster.c | 6 +++--- qcow2.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- qcow2.h | 4 +++- 3 files changed, 55 insertions(+), 6 deletions(-) --- NEW FILE qemu-fix-qcow2-backing-file-with-virtio.patch --- >From 1df18d4a961a66b9ea28ab83b409f4d9d470f148 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Thu, 8 Oct 2009 15:02:08 +0200 Subject: [PATCH] qcow2: Bring synchronous read/write back to life When the synchronous read and write functions were dropped, they were replaced by generic emulation functions. Unfortunately, these emulation functions don't provide the same semantics as the original functions did. The original bdrv_read would mean that we read some data synchronously and that we won't be interrupted during this read. The latter assumption is no longer true with the emulation function which needs to use qemu_aio_poll and therefore allows the callback of any other concurrent AIO request to be run during the read. Which in turn means that (meta)data read earlier could have changed and be invalid now. qcow2 is not prepared to work in this way and it's just scary how many places there are where other requests could run. I'm not sure yet where exactly it breaks, but you'll see breakage with virtio on qcow2 with a backing file. Providing synchronous functions again fixes the problem for me. Signed-off-by: Kevin Wolf Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-qcow2-backing-file-with-virtio.patch --- block/qcow2-cluster.c | 6 ++-- block/qcow2.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++- block/qcow2.h | 3 ++ 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index d4631c3..4d0ce16 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -306,8 +306,8 @@ void qcow2_encrypt_sectors(BDRVQcowState *s, int64_t sector_num, } -static int qcow_read(BlockDriverState *bs, int64_t sector_num, - uint8_t *buf, int nb_sectors) +int qcow2_read(BlockDriverState *bs, int64_t sector_num, uint8_t *buf, + int nb_sectors) { BDRVQcowState *s = bs->opaque; int ret, index_in_cluster, n, n1; @@ -358,7 +358,7 @@ static int copy_sectors(BlockDriverState *bs, uint64_t start_sect, n = n_end - n_start; if (n <= 0) return 0; - ret = qcow_read(bs, start_sect + n_start, s->cluster_data, n); + ret = qcow2_read(bs, start_sect + n_start, s->cluster_data, n); if (ret < 0) return ret; if (s->crypt_method) { diff --git a/block/qcow2.c b/block/qcow2.c index dd32ea2..ced257e 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -855,6 +855,51 @@ static int qcow_make_empty(BlockDriverState *bs) return 0; } +static int qcow2_write(BlockDriverState *bs, int64_t sector_num, + const uint8_t *buf, int nb_sectors) +{ + BDRVQcowState *s = bs->opaque; + int ret, index_in_cluster, n; + uint64_t cluster_offset; + int n_end; + QCowL2Meta l2meta; + + while (nb_sectors > 0) { + memset(&l2meta, 0, sizeof(l2meta)); + + index_in_cluster = sector_num & (s->cluster_sectors - 1); + n_end = index_in_cluster + nb_sectors; + if (s->crypt_method && + n_end > QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors) + n_end = QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors; + cluster_offset = qcow2_alloc_cluster_offset(bs, sector_num << 9, + index_in_cluster, + n_end, &n, &l2meta); + if (!cluster_offset) + return -1; + if (s->crypt_method) { + qcow2_encrypt_sectors(s, sector_num, s->cluster_data, buf, n, 1, + &s->aes_encrypt_key); + ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512, + s->cluster_data, n * 512); + } else { + ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512, buf, n * 512); + } + if (ret != n * 512 || qcow2_alloc_cluster_link_l2(bs, cluster_offset, &l2meta) < 0) { + qcow2_free_any_clusters(bs, cluster_offset, l2meta.nb_clusters); + return -1; + } + nb_sectors -= n; + sector_num += n; + buf += n * 512; + if (l2meta.nb_clusters != 0) { + LIST_REMOVE(&l2meta, next_in_flight); + } + } + s->cluster_cache_offset = -1; /* disable compressed cache */ + return 0; +} + /* XXX: put compressed sectors first, then all the cluster aligned tables to avoid losing bytes in alignment */ static int qcow_write_compressed(BlockDriverState *bs, int64_t sector_num, @@ -1037,8 +1082,10 @@ static BlockDriver bdrv_qcow2 = { .bdrv_set_key = qcow_set_key, .bdrv_make_empty = qcow_make_empty, - .bdrv_aio_readv = qcow_aio_readv, - .bdrv_aio_writev = qcow_aio_writev, + .bdrv_read = qcow2_read, + .bdrv_write = qcow2_write, + .bdrv_aio_readv = qcow_aio_readv, + .bdrv_aio_writev = qcow_aio_writev, .bdrv_write_compressed = qcow_write_compressed, .bdrv_snapshot_create = qcow2_snapshot_create, diff --git a/block/qcow2.h b/block/qcow2.h index 965a2f4..b41aa63 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -202,6 +202,9 @@ uint64_t qcow2_alloc_compressed_cluster_offset(BlockDriverState *bs, int qcow2_alloc_cluster_link_l2(BlockDriverState *bs, uint64_t cluster_offset, QCowL2Meta *m); +int qcow2_read(BlockDriverState *bs, int64_t sector_num, uint8_t *buf, + int nb_sectors); + /* qcow2-snapshot.c functions */ int qcow2_snapshot_create(BlockDriverState *bs, QEMUSnapshotInfo *sn_info); int qcow2_snapshot_goto(BlockDriverState *bs, const char *snapshot_id); -- 1.6.2.5 Index: ksm.init =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/ksm.init,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- ksm.init 16 Sep 2009 17:31:15 -0000 1.2 +++ ksm.init 9 Oct 2009 14:34:17 -0000 1.3 @@ -56,6 +56,19 @@ stop() { echo } +status() { + if [ ! -f /sys/kernel/mm/ksm/run ] ; then + echo $"$prog not supported" + RETVAL=1 + else if [ "$(cat /sys/kernel/mm/ksm/run 2>/dev/null)" != "1" ]; then + echo $"$prog is not running" + RETVAL=1 + else + echo $"$prog is running" + RETVAL=0 + fi; fi +} + case "$1" in start) start @@ -64,13 +77,7 @@ case "$1" in stop ;; status) - is_run=`cat /sys/kernel/mm/ksm/run` - RETVAL=$? - if [ $is_run -eq 1 ]; then - echo $"$prog is running" - else - echo $"$prog is not running" - fi + status ;; restart) stop qemu-improve-error-reporting-on-file-access.patch: hw/pc.c | 12 ++++++------ vl.c | 21 ++++++++++----------- 2 files changed, 16 insertions(+), 17 deletions(-) Index: qemu-improve-error-reporting-on-file-access.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu-improve-error-reporting-on-file-access.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- qemu-improve-error-reporting-on-file-access.patch 1 Oct 2009 21:29:40 -0000 1.1 +++ qemu-improve-error-reporting-on-file-access.patch 9 Oct 2009 14:34:17 -0000 1.2 @@ -1,4 +1,4 @@ -From a40f520f7b94d2a5de04c7ca3a7513a99c84e9ef Mon Sep 17 00:00:00 2001 +From 565c62123258970d9254bc7b8eaa8f4c66ab2a21 Mon Sep 17 00:00:00 2001 From: Justin M. Forbes Date: Thu, 1 Oct 2009 16:13:56 -0500 Subject: [PATCH] Improve error reporting on file access @@ -7,7 +7,10 @@ By making the error reporting include st a bit more indication as to why qemu failed. This is particularly important for people running qemu as a non root user. +(cherry-picked from commit 850810d01b45e6ce99ac6696773e967890db2937) + Signed-off-by: Justin M. Forbes +Fedora-patch: qemu-improve-error-reporting-on-file-access.patch --- hw/pc.c | 12 ++++++------ vl.c | 20 ++++++++++---------- @@ -27,9 +30,9 @@ index 3b226f4..7a184cd 100644 + kernel_filename, strerror(errno)); exit(1); } - + @@ -947,8 +947,8 @@ static void load_linux(void *fw_cfg, - + fi = fopen(initrd_filename, "rb"); if (!fi) { - fprintf(stderr, "qemu: could not load initial ram disk '%s'\n", @@ -38,10 +41,10 @@ index 3b226f4..7a184cd 100644 + initrd_filename, strerror(errno)); exit(1); } - + @@ -956,8 +956,8 @@ static void load_linux(void *fw_cfg, initrd_addr = (initrd_max-initrd_size) & ~4095; - + if (!fread_targphys_ok(initrd_addr, initrd_size, fi)) { - fprintf(stderr, "qemu: read error on initial ram disk '%s'\n", - initrd_filename); Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.139 retrieving revision 1.140 diff -u -p -r1.139 -r1.140 --- qemu.spec 6 Oct 2009 13:26:58 -0000 1.139 +++ qemu.spec 9 Oct 2009 14:34:17 -0000 1.140 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 5%{?dist} +Release: 6%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -46,6 +46,9 @@ Patch07: qemu-do-not-exit-on-pci-hotplug # Improve error reporting on file access Patch08: qemu-improve-error-reporting-on-file-access.patch +# Fix fs errors with virtio and qcow2 backing file (#524734) +Patch09: qemu-fix-qcow2-backing-file-with-virtio.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -105,6 +108,9 @@ This package provides the command line t %package common Summary: QEMU common files needed by all QEMU targets Group: Development/Tools +Requires(post): /usr/bin/getent +Requires(post): /usr/sbin/groupadd +Requires(post): /usr/sbin/useradd Requires(post): /sbin/chkconfig Requires(preun): /sbin/service /sbin/chkconfig Requires(postun): /sbin/service @@ -241,6 +247,7 @@ such as kvmtrace and kvm_stat. %patch06 -p1 %patch07 -p1 %patch08 -p1 +%patch09 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -534,6 +541,11 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Fri Oct 9 2009 Mark McLoughlin - 2:0.11.0-6 +- Fix fs errors with virtio and qcow2 backing file (#524734) +- Fix ksm initscript errors on kernel missing ksm (#527653) +- Add missing Requires(post): getent, useradd, groupadd (#527087) + * Tue Oct 6 2009 Mark McLoughlin - 2:0.11.0-5 - Add 'retune' verb to ksmtuned init script From jforbes at fedoraproject.org Fri Oct 9 14:47:04 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Fri, 9 Oct 2009 14:47:04 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/F-12 xen.spec,1.248,1.249 Message-ID: <20091009144704.D5BEA11C00C1@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/xen/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22036 Modified Files: xen.spec Log Message: Add PyXML to dependencies and take ownership of {_libdir}/fs Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/F-12/xen.spec,v retrieving revision 1.248 retrieving revision 1.249 diff -u -p -r1.248 -r1.249 --- xen.spec 14 Sep 2009 06:54:47 -0000 1.248 +++ xen.spec 9 Oct 2009 14:47:03 -0000 1.249 @@ -6,7 +6,7 @@ Summary: Xen is a virtual machine monitor Name: xen Version: 3.4.1 -Release: 4%{?dist} +Release: 5%{?dist} Group: Development/Libraries License: GPLv2+ and LGPLv2+ and BSD URL: http://xen.org/ @@ -69,6 +69,7 @@ BuildRequires: bzip2-devel xz-devel # libfsimage BuildRequires: e2fsprogs-devel Requires: bridge-utils +Requires: PyXML Requires: udev >= 059 Requires: xen-runtime = %{version}-%{release} # Not strictly a dependency, but kpartx is by far the most useful tool right @@ -337,7 +338,7 @@ rm -rf %{buildroot} %files libs %defattr(-,root,root) %{_libdir}/*.so.* -%{_libdir}/fs/* +%{_libdir}/fs # All runtime stuff except for XenD/xm python stuff %files runtime @@ -464,6 +465,10 @@ rm -rf %{buildroot} %{_libdir}/*.a %changelog +* Thu Oct 7 2009 Justin M. Forbes - 3.4.1-5 +- add PyXML to dependencies. (#496135) +- Take ownership of {_libdir}/fs (#521806) + * Mon Sep 14 2009 Gerd Hoffmann - 3.4.1-4 - add e2fsprogs-devel to build dependencies. From jforbes at fedoraproject.org Fri Oct 9 14:51:08 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Fri, 9 Oct 2009 14:51:08 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel xen.spec,1.248,1.249 Message-ID: <20091009145108.4187211C00C1@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22903 Modified Files: xen.spec Log Message: Add PyXML to dependencies and take ownership of {_libdir}/fs Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v retrieving revision 1.248 retrieving revision 1.249 diff -u -p -r1.248 -r1.249 --- xen.spec 14 Sep 2009 06:54:47 -0000 1.248 +++ xen.spec 9 Oct 2009 14:51:07 -0000 1.249 @@ -69,6 +69,7 @@ BuildRequires: bzip2-devel xz-devel # libfsimage BuildRequires: e2fsprogs-devel Requires: bridge-utils +Requires: PyXML Requires: udev >= 059 Requires: xen-runtime = %{version}-%{release} # Not strictly a dependency, but kpartx is by far the most useful tool right @@ -337,7 +338,7 @@ rm -rf %{buildroot} %files libs %defattr(-,root,root) %{_libdir}/*.so.* -%{_libdir}/fs/* +%{_libdir}/fs # All runtime stuff except for XenD/xm python stuff %files runtime @@ -464,6 +465,10 @@ rm -rf %{buildroot} %{_libdir}/*.a %changelog +* Fri Oct 8 2009 Justin M. Forbes - 3.4.1-5 +- add PyXML to dependencies. (#496135) +- Take ownership of {_libdir}/fs (#521806) + * Mon Sep 14 2009 Gerd Hoffmann - 3.4.1-4 - add e2fsprogs-devel to build dependencies. From markmc at fedoraproject.org Fri Oct 9 14:53:49 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 9 Oct 2009 14:53:49 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-fix-device-detach-typo1.patch, NONE, 1.1 libvirt-fix-device-detach-typo2.patch, NONE, 1.1 libvirt-fix-device-detach-typo3.patch, NONE, 1.1 libvirt-fix-libvirtd-leak-in-error-reply.patch, NONE, 1.1 libvirt.spec, 1.188, 1.189 Message-ID: <20091009145349.8905411C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23587 Modified Files: libvirt.spec Added Files: libvirt-fix-device-detach-typo1.patch libvirt-fix-device-detach-typo2.patch libvirt-fix-device-detach-typo3.patch libvirt-fix-libvirtd-leak-in-error-reply.patch Log Message: * Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 - Fix libvirtd memory leak during error reply sending (#528162) - Add several PCI hot-unplug typo fixes from upstream libvirt-fix-device-detach-typo1.patch: domain_conf.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-fix-device-detach-typo1.patch --- >From 58c38896a67c170063401d8091bae7dca8842923 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Wed, 23 Sep 2009 18:46:23 +0200 Subject: [PATCH] Fix a typo in virDiskHasValidPciAddr() (cherry-picked from commit 3620e3cdcfe56cc4475b5ef1a0a893757240b795) Signed-off-by: Jiri Denemark Fedora-patch: libvirt-fix-device-detach-typo1.patch --- src/domain_conf.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/domain_conf.h b/src/domain_conf.h index 09368d9..d494e54 100644 --- a/src/domain_conf.h +++ b/src/domain_conf.h @@ -125,7 +125,7 @@ struct _virDomainDiskDef { static inline int virDiskHasValidPciAddr(virDomainDiskDefPtr def) { - return def->pci_addr.domain || def->pci_addr.domain || def->pci_addr.slot; + return def->pci_addr.domain || def->pci_addr.bus || def->pci_addr.slot; } -- 1.6.2.5 libvirt-fix-device-detach-typo2.patch: domain_conf.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-fix-device-detach-typo2.patch --- >From 81e967c716ce8c085be8baad9169f7772452d187 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 24 Sep 2009 08:55:55 +0100 Subject: [PATCH] Fix a typo in virNetHasValidPciAddr() too * src/domain_conf.h: check domain/bus/slot, not domain/domain/slot (cherry-picked from commit 6bfffce91635bb08de601747e94ed1182c0f47eb) Fedora-patch: libvirt-fix-device-detach-typo2.patch --- src/domain_conf.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/domain_conf.h b/src/domain_conf.h index d494e54..7c918a7 100644 --- a/src/domain_conf.h +++ b/src/domain_conf.h @@ -207,7 +207,7 @@ struct _virDomainNetDef { static inline int virNetHasValidPciAddr(virDomainNetDefPtr def) { - return def->pci_addr.domain || def->pci_addr.domain || def->pci_addr.slot; + return def->pci_addr.domain || def->pci_addr.bus || def->pci_addr.slot; } enum virDomainChrSrcType { -- 1.6.2.5 libvirt-fix-device-detach-typo3.patch: qemu_driver.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-fix-device-detach-typo3.patch --- >From 3a64779ec5a89d38d64e07bca2b11b19e1882d7a Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Thu, 24 Sep 2009 09:00:24 +0100 Subject: [PATCH] Fix unitialized variable in qemudDomainDetachHostPciDevice() * src/qemu_driver.c: initialize detach var (cherry-picked from commit 580ad29288751234bee47ac9f6c04dac1dc529ea) Fedora-patch: libvirt-fix-device-detach-typo3.patch --- src/qemu_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 7c7b985..550a59c 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -6126,7 +6126,7 @@ static int qemudDomainDetachHostPciDevice(virConnectPtr conn, virDomainObjPtr vm, virDomainDeviceDefPtr dev) { - virDomainHostdevDefPtr detach; + virDomainHostdevDefPtr detach = NULL; char *cmd, *reply; int i, ret; pciDevice *pci; -- 1.6.2.5 libvirt-fix-libvirtd-leak-in-error-reply.patch: dispatch.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) --- NEW FILE libvirt-fix-libvirtd-leak-in-error-reply.patch --- >From 71de8d92f20a9a9ee76d4d5df77ff477f1b7d441 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Wed, 30 Sep 2009 02:17:27 +0200 Subject: [PATCH] Fix memory leaks in libvirtd's message processing Commit 47cab734995fa9521b1df05d37e9978eedd8d3a2 changed the way how qemud_client_message objects were reused. Before this commit remoteDispatchClientRequest() reused the received message for normal responses and to report non-fatal errors. If a fatal error occurred qemudWorker() frees the message. After this commit non-fatal errors are reported by remoteSerializeReplyError() using a new qemud_client_message object and the original message leaks. To fix this leak the original message has to be freed if remoteSerializeReplyError() succeeds. If remoteSerializeReplyError() fails the original message is freed in qemudWorker(). * daemon/dispatch.c: free qemud_client_message objects that will not be reused and would leak otherwise, also free the allocated qemud_client_message object in remoteSerializeError() if an error occurs (cherry-picked from commit c6f1459eb998619ab21a92d9bb87341f26978181) Fedora-patch: libvirt-fix-libvirtd-leak-in-error-reply.patch --- qemud/dispatch.c | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/qemud/dispatch.c b/qemud/dispatch.c index a60f2f4..ddb3215 100644 --- a/qemud/dispatch.c +++ b/qemud/dispatch.c @@ -191,6 +191,7 @@ remoteSerializeError(struct qemud_client *client, xdr_error: xdr_destroy(&xdr); + VIR_FREE(msg); fatal_error: xdr_free((xdrproc_t)xdr_remote_error, (char *)rerr); return -1; @@ -336,6 +337,7 @@ remoteDispatchClientRequest (struct qemud_server *server, struct qemud_client *client, struct qemud_client_message *msg) { + int ret; remote_error rerr; memset(&rerr, 0, sizeof rerr); @@ -364,7 +366,12 @@ remoteDispatchClientRequest (struct qemud_server *server, } error: - return remoteSerializeReplyError(client, &rerr, &msg->hdr); + ret = remoteSerializeReplyError(client, &rerr, &msg->hdr); + + if (ret >= 0) + VIR_FREE(msg); + + return ret; } @@ -521,8 +528,12 @@ remoteDispatchClientCall (struct qemud_server *server, rpc_error: /* Semi-bad stuff happened, we can still try to send back * an RPC error message to client */ - return remoteSerializeReplyError(client, &rerr, &msg->hdr); + rv = remoteSerializeReplyError(client, &rerr, &msg->hdr); + + if (rv >= 0) + VIR_FREE(msg); + return rv; xdr_error: /* Seriously bad stuff happened, so we'll kill off this client -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.188 retrieving revision 1.189 diff -u -p -r1.188 -r1.189 --- libvirt.spec 6 Oct 2009 12:48:58 -0000 1.188 +++ libvirt.spec 9 Oct 2009 14:53:49 -0000 1.189 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 10%{?dist}%{?extra_release} +Release: 11%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -179,6 +179,14 @@ Patch07: libvirt-svirt-relabel-qcow2-bac Patch08: libvirt-change-logrotate-config-to-weekly.patch Patch09: libvirt-logrotate-create-lxc-uml-dirs.patch +# Add several PCI hot-unplug typo fixes from upstream +Patch10: libvirt-fix-device-detach-typo1.patch +Patch11: libvirt-fix-device-detach-typo2.patch +Patch12: libvirt-fix-device-detach-typo3.patch + +# Fix libvirtd memory leak during error reply sending (#528162) +Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -403,6 +411,10 @@ of recent versions of Linux (and other O %patch07 -p1 %patch08 -p1 %patch09 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -797,6 +809,10 @@ fi %endif %changelog +* Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 +- Fix libvirtd memory leak during error reply sending (#528162) +- Add several PCI hot-unplug typo fixes from upstream + * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-10 - Create /var/log/libvirt/{lxc,uml} dirs for logrotate - Make libvirt-python dependon on libvirt-client From jforbes at fedoraproject.org Fri Oct 9 14:54:56 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Fri, 9 Oct 2009 14:54:56 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/F-11 xen.spec,1.237,1.238 Message-ID: <20091009145456.C3DDB11C00C1@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/xen/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23960 Modified Files: xen.spec Log Message: Add PyXML to dependencies and take ownership of {_libdir}/fs Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/F-11/xen.spec,v retrieving revision 1.237 retrieving revision 1.238 diff -u -p -r1.237 -r1.238 --- xen.spec 27 May 2009 20:05:57 -0000 1.237 +++ xen.spec 9 Oct 2009 14:54:56 -0000 1.238 @@ -6,7 +6,7 @@ Summary: Xen is a virtual machine monitor Name: xen Version: 3.4.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Development/Libraries License: GPLv2+ and LGPLv2+ and BSD URL: http://xen.org/ @@ -58,6 +58,7 @@ BuildRequires: openssl-devel # For ioemu PCI passthrough BuildRequires: pciutils-devel Requires: bridge-utils +Requires: PyXML Requires: udev >= 059 Requires: xen-runtime = %{version}-%{release} # Not strictly a dependency, but kpartx is by far the most useful tool right @@ -321,7 +322,7 @@ rm -rf %{buildroot} %files libs %defattr(-,root,root) %{_libdir}/*.so.* -%{_libdir}/fs/* +%{_libdir}/fs # All runtime stuff except for XenD/xm python stuff %files runtime @@ -449,6 +450,10 @@ rm -rf %{buildroot} %{_libdir}/*.a %changelog +* Fri Oct 8 2009 Justin M. Forbes - 3.4.0-2 +- add PyXML to dependencies. (#496135) +- Take ownership of {_libdir}/fs (#521806) + * Wed May 27 2009 Gerd Hoffmann - 3.4.0-1 - update to version 3.4.0. - cleanup specfile, add doc subpackage. From markmc at fedoraproject.org Fri Oct 9 14:55:29 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 9 Oct 2009 14:55:29 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-fix-device-detach-typo1.patch, NONE, 1.1 libvirt-fix-device-detach-typo2.patch, NONE, 1.1 libvirt-fix-device-detach-typo3.patch, NONE, 1.1 libvirt-fix-libvirtd-leak-in-error-reply.patch, NONE, 1.1 libvirt.spec, 1.188, 1.189 Message-ID: <20091009145529.5CD2711C00C1@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24102 Modified Files: libvirt.spec Added Files: libvirt-fix-device-detach-typo1.patch libvirt-fix-device-detach-typo2.patch libvirt-fix-device-detach-typo3.patch libvirt-fix-libvirtd-leak-in-error-reply.patch Log Message: * Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 - Fix libvirtd memory leak during error reply sending (#528162) - Add several PCI hot-unplug typo fixes from upstream libvirt-fix-device-detach-typo1.patch: domain_conf.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-fix-device-detach-typo1.patch --- >From 58c38896a67c170063401d8091bae7dca8842923 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Wed, 23 Sep 2009 18:46:23 +0200 Subject: [PATCH] Fix a typo in virDiskHasValidPciAddr() (cherry-picked from commit 3620e3cdcfe56cc4475b5ef1a0a893757240b795) Signed-off-by: Jiri Denemark Fedora-patch: libvirt-fix-device-detach-typo1.patch --- src/domain_conf.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/domain_conf.h b/src/domain_conf.h index 09368d9..d494e54 100644 --- a/src/domain_conf.h +++ b/src/domain_conf.h @@ -125,7 +125,7 @@ struct _virDomainDiskDef { static inline int virDiskHasValidPciAddr(virDomainDiskDefPtr def) { - return def->pci_addr.domain || def->pci_addr.domain || def->pci_addr.slot; + return def->pci_addr.domain || def->pci_addr.bus || def->pci_addr.slot; } -- 1.6.2.5 libvirt-fix-device-detach-typo2.patch: domain_conf.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-fix-device-detach-typo2.patch --- >From 81e967c716ce8c085be8baad9169f7772452d187 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 24 Sep 2009 08:55:55 +0100 Subject: [PATCH] Fix a typo in virNetHasValidPciAddr() too * src/domain_conf.h: check domain/bus/slot, not domain/domain/slot (cherry-picked from commit 6bfffce91635bb08de601747e94ed1182c0f47eb) Fedora-patch: libvirt-fix-device-detach-typo2.patch --- src/domain_conf.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/domain_conf.h b/src/domain_conf.h index d494e54..7c918a7 100644 --- a/src/domain_conf.h +++ b/src/domain_conf.h @@ -207,7 +207,7 @@ struct _virDomainNetDef { static inline int virNetHasValidPciAddr(virDomainNetDefPtr def) { - return def->pci_addr.domain || def->pci_addr.domain || def->pci_addr.slot; + return def->pci_addr.domain || def->pci_addr.bus || def->pci_addr.slot; } enum virDomainChrSrcType { -- 1.6.2.5 libvirt-fix-device-detach-typo3.patch: qemu_driver.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-fix-device-detach-typo3.patch --- >From 3a64779ec5a89d38d64e07bca2b11b19e1882d7a Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Thu, 24 Sep 2009 09:00:24 +0100 Subject: [PATCH] Fix unitialized variable in qemudDomainDetachHostPciDevice() * src/qemu_driver.c: initialize detach var (cherry-picked from commit 580ad29288751234bee47ac9f6c04dac1dc529ea) Fedora-patch: libvirt-fix-device-detach-typo3.patch --- src/qemu_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 7c7b985..550a59c 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -6126,7 +6126,7 @@ static int qemudDomainDetachHostPciDevice(virConnectPtr conn, virDomainObjPtr vm, virDomainDeviceDefPtr dev) { - virDomainHostdevDefPtr detach; + virDomainHostdevDefPtr detach = NULL; char *cmd, *reply; int i, ret; pciDevice *pci; -- 1.6.2.5 libvirt-fix-libvirtd-leak-in-error-reply.patch: dispatch.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) --- NEW FILE libvirt-fix-libvirtd-leak-in-error-reply.patch --- >From 71de8d92f20a9a9ee76d4d5df77ff477f1b7d441 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Wed, 30 Sep 2009 02:17:27 +0200 Subject: [PATCH] Fix memory leaks in libvirtd's message processing Commit 47cab734995fa9521b1df05d37e9978eedd8d3a2 changed the way how qemud_client_message objects were reused. Before this commit remoteDispatchClientRequest() reused the received message for normal responses and to report non-fatal errors. If a fatal error occurred qemudWorker() frees the message. After this commit non-fatal errors are reported by remoteSerializeReplyError() using a new qemud_client_message object and the original message leaks. To fix this leak the original message has to be freed if remoteSerializeReplyError() succeeds. If remoteSerializeReplyError() fails the original message is freed in qemudWorker(). * daemon/dispatch.c: free qemud_client_message objects that will not be reused and would leak otherwise, also free the allocated qemud_client_message object in remoteSerializeError() if an error occurs (cherry-picked from commit c6f1459eb998619ab21a92d9bb87341f26978181) Fedora-patch: libvirt-fix-libvirtd-leak-in-error-reply.patch --- qemud/dispatch.c | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/qemud/dispatch.c b/qemud/dispatch.c index a60f2f4..ddb3215 100644 --- a/qemud/dispatch.c +++ b/qemud/dispatch.c @@ -191,6 +191,7 @@ remoteSerializeError(struct qemud_client *client, xdr_error: xdr_destroy(&xdr); + VIR_FREE(msg); fatal_error: xdr_free((xdrproc_t)xdr_remote_error, (char *)rerr); return -1; @@ -336,6 +337,7 @@ remoteDispatchClientRequest (struct qemud_server *server, struct qemud_client *client, struct qemud_client_message *msg) { + int ret; remote_error rerr; memset(&rerr, 0, sizeof rerr); @@ -364,7 +366,12 @@ remoteDispatchClientRequest (struct qemud_server *server, } error: - return remoteSerializeReplyError(client, &rerr, &msg->hdr); + ret = remoteSerializeReplyError(client, &rerr, &msg->hdr); + + if (ret >= 0) + VIR_FREE(msg); + + return ret; } @@ -521,8 +528,12 @@ remoteDispatchClientCall (struct qemud_server *server, rpc_error: /* Semi-bad stuff happened, we can still try to send back * an RPC error message to client */ - return remoteSerializeReplyError(client, &rerr, &msg->hdr); + rv = remoteSerializeReplyError(client, &rerr, &msg->hdr); + + if (rv >= 0) + VIR_FREE(msg); + return rv; xdr_error: /* Seriously bad stuff happened, so we'll kill off this client -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.188 retrieving revision 1.189 diff -u -p -r1.188 -r1.189 --- libvirt.spec 6 Oct 2009 12:42:16 -0000 1.188 +++ libvirt.spec 9 Oct 2009 14:55:29 -0000 1.189 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 10%{?dist}%{?extra_release} +Release: 11%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -179,6 +179,14 @@ Patch07: libvirt-svirt-relabel-qcow2-bac Patch08: libvirt-change-logrotate-config-to-weekly.patch Patch09: libvirt-logrotate-create-lxc-uml-dirs.patch +# Add several PCI hot-unplug typo fixes from upstream +Patch10: libvirt-fix-device-detach-typo1.patch +Patch11: libvirt-fix-device-detach-typo2.patch +Patch12: libvirt-fix-device-detach-typo3.patch + +# Fix libvirtd memory leak during error reply sending (#528162) +Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -403,6 +411,10 @@ of recent versions of Linux (and other O %patch07 -p1 %patch08 -p1 %patch09 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -797,6 +809,10 @@ fi %endif %changelog +* Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 +- Fix libvirtd memory leak during error reply sending (#528162) +- Add several PCI hot-unplug typo fixes from upstream + * Tue Oct 6 2009 Mark McLoughlin - 0.7.1-10 - Create /var/log/libvirt/{lxc,uml} dirs for logrotate - Make libvirt-python dependon on libvirt-client From jforbes at fedoraproject.org Fri Oct 9 14:55:39 2009 From: jforbes at fedoraproject.org (Justin M. Forbes) Date: Fri, 9 Oct 2009 14:55:39 +0000 (UTC) Subject: [fedora-virt-maint] rpms/xen/devel xen.spec,1.249,1.250 Message-ID: <20091009145539.4CC1E11C00C1@cvs1.fedora.phx.redhat.com> Author: jforbes Update of /cvs/pkgs/rpms/xen/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24059 Modified Files: xen.spec Log Message: Bump release Index: xen.spec =================================================================== RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v retrieving revision 1.249 retrieving revision 1.250 diff -u -p -r1.249 -r1.250 --- xen.spec 9 Oct 2009 14:51:07 -0000 1.249 +++ xen.spec 9 Oct 2009 14:55:39 -0000 1.250 @@ -6,7 +6,7 @@ Summary: Xen is a virtual machine monitor Name: xen Version: 3.4.1 -Release: 4%{?dist} +Release: 5%{?dist} Group: Development/Libraries License: GPLv2+ and LGPLv2+ and BSD URL: http://xen.org/ From rel-eng at fedoraproject.org Fri Oct 9 16:00:52 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 09 Oct 2009 16:00:52 -0000 Subject: [fedora-virt-maint] #2429: please tag libvirt-0.7.1-11.fc12 into dist-f12 Message-ID: <049.fa27d4dae792b9cbbef823287fcddb28@fedoraproject.org> #2429: please tag libvirt-0.7.1-11.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- A number of fixes from upstream, most important of which is a libvirtd leak fix: * Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 - Fix libvirtd memory leak during error reply sending (#528162) - Add several PCI hot-unplug typo fixes from upstream Given this some basic testing, seems fine -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 9 16:01:01 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 09 Oct 2009 16:01:01 -0000 Subject: [fedora-virt-maint] #2430: please tag qemu-0.11.0-6.fc12 into dist-f12 Message-ID: <049.5da58785f50c08b5f1f7eeccd973c94e@fedoraproject.org> #2430: please tag qemu-0.11.0-6.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- Fixes a filesystem corruption issue with qcow2 (an F12 feature), some ksm (another F12 feature) init script tweaks and a packaging issue introduced by the VirtPrivileges F12 feature * Fri Oct 9 2009 Mark McLoughlin - 2:0.11.0-6 - Fix fs errors with virtio and qcow2 backing file (#524734) - Fix ksm initscript errors on kernel missing ksm (#527653) - Add missing Requires(post): getent, useradd, groupadd (#527087) * Tue Oct 6 2009 Mark McLoughlin - 2:0.11.0-5 - Add 'retune' verb to ksmtuned init script Given this some basic testing, seems fine -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 9 17:34:10 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 09 Oct 2009 17:34:10 -0000 Subject: [fedora-virt-maint] #2432: Please tag xen-3.4.1-5.fc12 into dist-f12 Message-ID: <050.0f23e5f1686503e28187e761a46c6fac@fedoraproject.org> #2432: Please tag xen-3.4.1-5.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: jforbes | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- Includes a dependency fix as well as directory ownership issue: * Thu Oct 7 2009 Justin M. Forbes - 3.4.1-5 - add PyXML to dependencies. (#496135) - Take ownership of {_libdir}/fs (#521806) -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 9 22:47:57 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 09 Oct 2009 22:47:57 -0000 Subject: [fedora-virt-maint] Re: #2429: please tag libvirt-0.7.1-11.fc12 into dist-f12 In-Reply-To: <049.fa27d4dae792b9cbbef823287fcddb28@fedoraproject.org> References: <049.fa27d4dae792b9cbbef823287fcddb28@fedoraproject.org> Message-ID: <058.3b6d205e53a58470257a408517f67949@fedoraproject.org> #2429: please tag libvirt-0.7.1-11.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 9 22:49:27 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 09 Oct 2009 22:49:27 -0000 Subject: [fedora-virt-maint] Re: #2430: please tag qemu-0.11.0-6.fc12 into dist-f12 In-Reply-To: <049.5da58785f50c08b5f1f7eeccd973c94e@fedoraproject.org> References: <049.5da58785f50c08b5f1f7eeccd973c94e@fedoraproject.org> Message-ID: <058.07f3b426c61f203351813ccea0f4aa56@fedoraproject.org> #2430: please tag qemu-0.11.0-6.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 9 22:49:52 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 09 Oct 2009 22:49:52 -0000 Subject: [fedora-virt-maint] Re: #2432: Please tag xen-3.4.1-5.fc12 into dist-f12 In-Reply-To: <050.0f23e5f1686503e28187e761a46c6fac@fedoraproject.org> References: <050.0f23e5f1686503e28187e761a46c6fac@fedoraproject.org> Message-ID: <059.3fe0dc5892dd3e7e0cbd9b3c6b6e8048@fedoraproject.org> #2432: Please tag xen-3.4.1-5.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: jforbes | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From markmc at fedoraproject.org Tue Oct 13 15:34:15 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 13 Oct 2009 15:34:15 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-fix-qemu-restore-from-raw.patch, NONE, 1.1 libvirt.spec, 1.189, 1.190 Message-ID: <20091013153415.EF29511C00E8@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3757 Modified Files: libvirt.spec Added Files: libvirt-fix-qemu-restore-from-raw.patch Log Message: * Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 - Fix restore of qemu guest using raw save format (#523158) libvirt-fix-qemu-restore-from-raw.patch: qemu_driver.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) --- NEW FILE libvirt-fix-qemu-restore-from-raw.patch --- >From 8c8bca077a913e7ae49798400f4ac3f121600881 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 12 Oct 2009 20:03:50 +0100 Subject: [PATCH] Fix QEMU restore from file in raw format The logic for running the decompression programs was broken in commit f238709304f9f6c57204cdd943e542cbae38fa5f, so that for non-raw formats the decompression program was never run, and for raw formats, it tried to exec an argv[] with initial NULL in the program name. * src/qemu/qemu_driver.c: Fix logic in runing decompression program (cherry picked from commit 74b379cbd5ba9f472a3a2d5710e497966b1a3a37) Fedora-patch: libvirt-fix-qemu-restore-from-raw.patch --- src/qemu_driver.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 550a59c..0ce403c 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4541,9 +4541,8 @@ static int qemudDomainRestore(virConnectPtr conn, goto cleanup; } - if (header.compressed != QEMUD_SAVE_FORMAT_RAW) + if (header.compressed != QEMUD_SAVE_FORMAT_RAW) { intermediate_argv[0] = prog; - else { intermediatefd = fd; fd = -1; if (virExec(conn, intermediate_argv, NULL, NULL, -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.189 retrieving revision 1.190 diff -u -p -r1.189 -r1.190 --- libvirt.spec 9 Oct 2009 14:53:49 -0000 1.189 +++ libvirt.spec 13 Oct 2009 15:34:15 -0000 1.190 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 11%{?dist}%{?extra_release} +Release: 12%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -187,6 +187,9 @@ Patch12: libvirt-fix-device-detach-typo3 # Fix libvirtd memory leak during error reply sending (#528162) Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch +# Fix restore of qemu guest using raw save format (#523158) +Patch14: libvirt-fix-qemu-restore-from-raw.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -415,6 +418,7 @@ of recent versions of Linux (and other O %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -809,6 +813,9 @@ fi %endif %changelog +* Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 +- Fix restore of qemu guest using raw save format (#523158) + * Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 - Fix libvirtd memory leak during error reply sending (#528162) - Add several PCI hot-unplug typo fixes from upstream From markmc at fedoraproject.org Tue Oct 13 15:34:19 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 13 Oct 2009 15:34:19 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-fix-qemu-restore-from-raw.patch, NONE, 1.1 libvirt.spec, 1.189, 1.190 Message-ID: <20091013153419.BE35111C00E8@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3795 Modified Files: libvirt.spec Added Files: libvirt-fix-qemu-restore-from-raw.patch Log Message: * Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 - Fix restore of qemu guest using raw save format (#523158) libvirt-fix-qemu-restore-from-raw.patch: qemu_driver.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) --- NEW FILE libvirt-fix-qemu-restore-from-raw.patch --- >From 8c8bca077a913e7ae49798400f4ac3f121600881 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 12 Oct 2009 20:03:50 +0100 Subject: [PATCH] Fix QEMU restore from file in raw format The logic for running the decompression programs was broken in commit f238709304f9f6c57204cdd943e542cbae38fa5f, so that for non-raw formats the decompression program was never run, and for raw formats, it tried to exec an argv[] with initial NULL in the program name. * src/qemu/qemu_driver.c: Fix logic in runing decompression program (cherry picked from commit 74b379cbd5ba9f472a3a2d5710e497966b1a3a37) Fedora-patch: libvirt-fix-qemu-restore-from-raw.patch --- src/qemu_driver.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 550a59c..0ce403c 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4541,9 +4541,8 @@ static int qemudDomainRestore(virConnectPtr conn, goto cleanup; } - if (header.compressed != QEMUD_SAVE_FORMAT_RAW) + if (header.compressed != QEMUD_SAVE_FORMAT_RAW) { intermediate_argv[0] = prog; - else { intermediatefd = fd; fd = -1; if (virExec(conn, intermediate_argv, NULL, NULL, -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.189 retrieving revision 1.190 diff -u -p -r1.189 -r1.190 --- libvirt.spec 9 Oct 2009 14:55:29 -0000 1.189 +++ libvirt.spec 13 Oct 2009 15:34:19 -0000 1.190 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 11%{?dist}%{?extra_release} +Release: 12%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -187,6 +187,9 @@ Patch12: libvirt-fix-device-detach-typo3 # Fix libvirtd memory leak during error reply sending (#528162) Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch +# Fix restore of qemu guest using raw save format (#523158) +Patch14: libvirt-fix-qemu-restore-from-raw.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -415,6 +418,7 @@ of recent versions of Linux (and other O %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -809,6 +813,9 @@ fi %endif %changelog +* Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 +- Fix restore of qemu guest using raw save format (#523158) + * Fri Oct 9 2009 Mark McLoughlin - 0.7.1-11 - Fix libvirtd memory leak during error reply sending (#528162) - Add several PCI hot-unplug typo fixes from upstream From markmc at fedoraproject.org Tue Oct 13 15:43:47 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 13 Oct 2009 15:43:47 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-fix-qemu-restore-from-raw1.patch, NONE, 1.1 libvirt-fix-qemu-restore-from-raw2.patch, NONE, 1.1 libvirt.spec, 1.190, 1.191 libvirt-fix-qemu-restore-from-raw.patch, 1.1, NONE Message-ID: <20091013154347.4450611C00E8@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7578 Modified Files: libvirt.spec Added Files: libvirt-fix-qemu-restore-from-raw1.patch libvirt-fix-qemu-restore-from-raw2.patch Removed Files: libvirt-fix-qemu-restore-from-raw.patch Log Message: Add the second patch for #523158 libvirt-fix-qemu-restore-from-raw1.patch: qemu_driver.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) --- NEW FILE libvirt-fix-qemu-restore-from-raw1.patch --- >From 0b846a30468a6b4586407f020ccde7bb51afaf98 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 12 Oct 2009 20:03:50 +0100 Subject: [PATCH] Fix QEMU restore from file in raw format The logic for running the decompression programs was broken in commit f238709304f9f6c57204cdd943e542cbae38fa5f, so that for non-raw formats the decompression program was never run, and for raw formats, it tried to exec an argv[] with initial NULL in the program name. * src/qemu/qemu_driver.c: Fix logic in runing decompression program (cherry picked from commit 74b379cbd5ba9f472a3a2d5710e497966b1a3a37) Fedora-patch: libvirt-fix-qemu-restore-from-raw1.patch --- src/qemu_driver.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 550a59c..0ce403c 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4541,9 +4541,8 @@ static int qemudDomainRestore(virConnectPtr conn, goto cleanup; } - if (header.compressed != QEMUD_SAVE_FORMAT_RAW) + if (header.compressed != QEMUD_SAVE_FORMAT_RAW) { intermediate_argv[0] = prog; - else { intermediatefd = fd; fd = -1; if (virExec(conn, intermediate_argv, NULL, NULL, -- 1.6.2.5 libvirt-fix-qemu-restore-from-raw2.patch: util.c | 46 ++++++++++++---------------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) --- NEW FILE libvirt-fix-qemu-restore-from-raw2.patch --- >From 57d7cc602d14c6b50e2826e427a5de124e479f95 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 12 Oct 2009 20:32:33 +0100 Subject: [PATCH] Fix virFileReadLimFD/virFileReadAll to handle EINTR The fread_file_lim() function uses fread() but never handles EINTR results, causing unexpected failures when reading QEMU help arg info. It was unneccessarily using FILE * instead of plain UNIX file handles, which prevented use of saferead() * src/util/util.c: Switch fread_file_lim over to use saferead instead of fread, remove FILE * use, and rename (cherry picked from commit 11a36d956cb8a5e439e535bff3e0cfce50a64bca) Fedora-patch: libvirt-fix-qemu-restore-from-raw2.patch --- src/util.c | 45 ++++++++++++--------------------------------- 1 files changed, 12 insertions(+), 33 deletions(-) diff --git a/src/util.c b/src/util.c index 1878e33..7bc3a66 100644 --- a/src/util.c +++ b/src/util.c @@ -887,7 +887,7 @@ virExec(virConnectPtr conn, number of bytes. If the length of the input is <= max_len, and upon error while reading that data, it works just like fread_file. */ static char * -fread_file_lim (FILE *stream, size_t max_len, size_t *length) +saferead_lim (int fd, size_t max_len, size_t *length) { char *buf = NULL; size_t alloc = 0; @@ -895,8 +895,8 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length) int save_errno; for (;;) { - size_t count; - size_t requested; + int count; + int requested; if (size + BUFSIZ + 1 > alloc) { alloc += alloc / 2; @@ -912,12 +912,12 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length) /* Ensure that (size + requested <= max_len); */ requested = MIN (size < max_len ? max_len - size : 0, alloc - size - 1); - count = fread (buf + size, 1, requested, stream); + count = saferead (fd, buf + size, requested); size += count; if (count != requested || requested == 0) { save_errno = errno; - if (ferror (stream)) + if (count < 0) break; buf[size] = '\0'; *length = size; @@ -930,12 +930,12 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length) return NULL; } -/* A wrapper around fread_file_lim that maps a failure due to +/* A wrapper around saferead_lim that maps a failure due to exceeding the maximum size limitation to EOVERFLOW. */ -static int virFileReadLimFP(FILE *fp, int maxlen, char **buf) +int virFileReadLimFD(int fd, int maxlen, char **buf) { size_t len; - char *s = fread_file_lim (fp, maxlen+1, &len); + char *s = saferead_lim (fd, maxlen+1, &len); if (s == NULL) return -1; if (len > maxlen || (int)len != len) { @@ -949,37 +949,16 @@ static int virFileReadLimFP(FILE *fp, int maxlen, char **buf) return len; } -/* Like virFileReadLimFP, but use a file descriptor rather than a FILE*. */ -int virFileReadLimFD(int fd_arg, int maxlen, char **buf) -{ - int fd = dup (fd_arg); - if (fd >= 0) { - FILE *fp = fdopen (fd, "r"); - if (fp) { - int len = virFileReadLimFP (fp, maxlen, buf); - int saved_errno = errno; - fclose (fp); - errno = saved_errno; - return len; - } else { - int saved_errno = errno; - close (fd); - errno = saved_errno; - } - } - return -1; -} - int virFileReadAll(const char *path, int maxlen, char **buf) { - FILE *fh = fopen(path, "r"); - if (fh == NULL) { + int fd = open(path, O_RDONLY); + if (fd < 0) { virReportSystemError(NULL, errno, _("Failed to open file '%s'"), path); return -1; } - int len = virFileReadLimFP (fh, maxlen, buf); - fclose(fh); + int len = virFileReadLimFD(fd, maxlen, buf); + close(fd); if (len < 0) { virReportSystemError(NULL, errno, _("Failed to read file '%s'"), path); return -1; -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.190 retrieving revision 1.191 diff -u -p -r1.190 -r1.191 --- libvirt.spec 13 Oct 2009 15:34:15 -0000 1.190 +++ libvirt.spec 13 Oct 2009 15:43:47 -0000 1.191 @@ -188,7 +188,8 @@ Patch12: libvirt-fix-device-detach-typo3 Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch # Fix restore of qemu guest using raw save format (#523158) -Patch14: libvirt-fix-qemu-restore-from-raw.patch +Patch14: libvirt-fix-qemu-restore-from-raw1.patch +Patch15: libvirt-fix-qemu-restore-from-raw2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ @@ -419,6 +420,7 @@ of recent versions of Linux (and other O %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch --- libvirt-fix-qemu-restore-from-raw.patch DELETED --- From markmc at fedoraproject.org Tue Oct 13 15:43:51 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Tue, 13 Oct 2009 15:43:51 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-fix-qemu-restore-from-raw1.patch, NONE, 1.1 libvirt-fix-qemu-restore-from-raw2.patch, NONE, 1.1 libvirt.spec, 1.190, 1.191 libvirt-fix-qemu-restore-from-raw.patch, 1.1, NONE Message-ID: <20091013154351.96F4611C00E8@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7604 Modified Files: libvirt.spec Added Files: libvirt-fix-qemu-restore-from-raw1.patch libvirt-fix-qemu-restore-from-raw2.patch Removed Files: libvirt-fix-qemu-restore-from-raw.patch Log Message: Add the second patch for #523158 libvirt-fix-qemu-restore-from-raw1.patch: qemu_driver.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) --- NEW FILE libvirt-fix-qemu-restore-from-raw1.patch --- >From 0b846a30468a6b4586407f020ccde7bb51afaf98 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 12 Oct 2009 20:03:50 +0100 Subject: [PATCH] Fix QEMU restore from file in raw format The logic for running the decompression programs was broken in commit f238709304f9f6c57204cdd943e542cbae38fa5f, so that for non-raw formats the decompression program was never run, and for raw formats, it tried to exec an argv[] with initial NULL in the program name. * src/qemu/qemu_driver.c: Fix logic in runing decompression program (cherry picked from commit 74b379cbd5ba9f472a3a2d5710e497966b1a3a37) Fedora-patch: libvirt-fix-qemu-restore-from-raw1.patch --- src/qemu_driver.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 550a59c..0ce403c 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4541,9 +4541,8 @@ static int qemudDomainRestore(virConnectPtr conn, goto cleanup; } - if (header.compressed != QEMUD_SAVE_FORMAT_RAW) + if (header.compressed != QEMUD_SAVE_FORMAT_RAW) { intermediate_argv[0] = prog; - else { intermediatefd = fd; fd = -1; if (virExec(conn, intermediate_argv, NULL, NULL, -- 1.6.2.5 libvirt-fix-qemu-restore-from-raw2.patch: util.c | 46 ++++++++++++---------------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) --- NEW FILE libvirt-fix-qemu-restore-from-raw2.patch --- >From 57d7cc602d14c6b50e2826e427a5de124e479f95 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 12 Oct 2009 20:32:33 +0100 Subject: [PATCH] Fix virFileReadLimFD/virFileReadAll to handle EINTR The fread_file_lim() function uses fread() but never handles EINTR results, causing unexpected failures when reading QEMU help arg info. It was unneccessarily using FILE * instead of plain UNIX file handles, which prevented use of saferead() * src/util/util.c: Switch fread_file_lim over to use saferead instead of fread, remove FILE * use, and rename (cherry picked from commit 11a36d956cb8a5e439e535bff3e0cfce50a64bca) Fedora-patch: libvirt-fix-qemu-restore-from-raw2.patch --- src/util.c | 45 ++++++++++++--------------------------------- 1 files changed, 12 insertions(+), 33 deletions(-) diff --git a/src/util.c b/src/util.c index 1878e33..7bc3a66 100644 --- a/src/util.c +++ b/src/util.c @@ -887,7 +887,7 @@ virExec(virConnectPtr conn, number of bytes. If the length of the input is <= max_len, and upon error while reading that data, it works just like fread_file. */ static char * -fread_file_lim (FILE *stream, size_t max_len, size_t *length) +saferead_lim (int fd, size_t max_len, size_t *length) { char *buf = NULL; size_t alloc = 0; @@ -895,8 +895,8 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length) int save_errno; for (;;) { - size_t count; - size_t requested; + int count; + int requested; if (size + BUFSIZ + 1 > alloc) { alloc += alloc / 2; @@ -912,12 +912,12 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length) /* Ensure that (size + requested <= max_len); */ requested = MIN (size < max_len ? max_len - size : 0, alloc - size - 1); - count = fread (buf + size, 1, requested, stream); + count = saferead (fd, buf + size, requested); size += count; if (count != requested || requested == 0) { save_errno = errno; - if (ferror (stream)) + if (count < 0) break; buf[size] = '\0'; *length = size; @@ -930,12 +930,12 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length) return NULL; } -/* A wrapper around fread_file_lim that maps a failure due to +/* A wrapper around saferead_lim that maps a failure due to exceeding the maximum size limitation to EOVERFLOW. */ -static int virFileReadLimFP(FILE *fp, int maxlen, char **buf) +int virFileReadLimFD(int fd, int maxlen, char **buf) { size_t len; - char *s = fread_file_lim (fp, maxlen+1, &len); + char *s = saferead_lim (fd, maxlen+1, &len); if (s == NULL) return -1; if (len > maxlen || (int)len != len) { @@ -949,37 +949,16 @@ static int virFileReadLimFP(FILE *fp, int maxlen, char **buf) return len; } -/* Like virFileReadLimFP, but use a file descriptor rather than a FILE*. */ -int virFileReadLimFD(int fd_arg, int maxlen, char **buf) -{ - int fd = dup (fd_arg); - if (fd >= 0) { - FILE *fp = fdopen (fd, "r"); - if (fp) { - int len = virFileReadLimFP (fp, maxlen, buf); - int saved_errno = errno; - fclose (fp); - errno = saved_errno; - return len; - } else { - int saved_errno = errno; - close (fd); - errno = saved_errno; - } - } - return -1; -} - int virFileReadAll(const char *path, int maxlen, char **buf) { - FILE *fh = fopen(path, "r"); - if (fh == NULL) { + int fd = open(path, O_RDONLY); + if (fd < 0) { virReportSystemError(NULL, errno, _("Failed to open file '%s'"), path); return -1; } - int len = virFileReadLimFP (fh, maxlen, buf); - fclose(fh); + int len = virFileReadLimFD(fd, maxlen, buf); + close(fd); if (len < 0) { virReportSystemError(NULL, errno, _("Failed to read file '%s'"), path); return -1; -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.190 retrieving revision 1.191 diff -u -p -r1.190 -r1.191 --- libvirt.spec 13 Oct 2009 15:34:19 -0000 1.190 +++ libvirt.spec 13 Oct 2009 15:43:51 -0000 1.191 @@ -188,7 +188,8 @@ Patch12: libvirt-fix-device-detach-typo3 Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch # Fix restore of qemu guest using raw save format (#523158) -Patch14: libvirt-fix-qemu-restore-from-raw.patch +Patch14: libvirt-fix-qemu-restore-from-raw1.patch +Patch15: libvirt-fix-qemu-restore-from-raw2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ @@ -419,6 +420,7 @@ of recent versions of Linux (and other O %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch --- libvirt-fix-qemu-restore-from-raw.patch DELETED --- From veillard at fedoraproject.org Wed Oct 14 13:03:31 2009 From: veillard at fedoraproject.org (Daniel Veillard) Date: Wed, 14 Oct 2009 13:03:31 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel .cvsignore, 1.47, 1.48 libvirt.spec, 1.191, 1.192 sources, 1.49, 1.50 libvirt-change-logrotate-config-to-weekly.patch, 1.1, NONE libvirt-disable-audio-backend.patch, 1.1, NONE libvirt-fix-device-detach-typo1.patch, 1.1, NONE libvirt-fix-device-detach-typo2.patch, 1.1, NONE libvirt-fix-device-detach-typo3.patch, 1.1, NONE libvirt-fix-drv-supports-feature-bogus-error.patch, 1.2, NONE libvirt-fix-libvirtd-leak-in-error-reply.patch, 1.1, NONE libvirt-fix-net-hotunplug-double-free.patch, 1.4, NONE libvirt-fix-pci-hostdev-hotunplug-leak.patch, 1.4, NONE libvirt-fix-qemu-raw-format-save.patch, 1.2, NONE libvirt-fix-qemu-restore-from-raw1.patch, 1.1, NONE libvirt-fix-qemu-restore-from-raw2.patch, 1.1, NONE libvirt-fix-usb-device-passthrough.patch, 1.2, NONE libvirt-logrotate-create-lxc-uml-dirs.patch, 1.1, NONE libvirt-svirt-relabel-qcow2-backing-files.patch, 1.1, NONE Message-ID: <20091014130331.D0E8411C00E5@cvs1.fedora.phx.redhat.com> Author: veillard Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6466 Modified Files: .cvsignore libvirt.spec sources Removed Files: libvirt-change-logrotate-config-to-weekly.patch libvirt-disable-audio-backend.patch libvirt-fix-device-detach-typo1.patch libvirt-fix-device-detach-typo2.patch libvirt-fix-device-detach-typo3.patch libvirt-fix-drv-supports-feature-bogus-error.patch libvirt-fix-libvirtd-leak-in-error-reply.patch libvirt-fix-net-hotunplug-double-free.patch libvirt-fix-pci-hostdev-hotunplug-leak.patch libvirt-fix-qemu-raw-format-save.patch libvirt-fix-qemu-restore-from-raw1.patch libvirt-fix-qemu-restore-from-raw2.patch libvirt-fix-usb-device-passthrough.patch libvirt-logrotate-create-lxc-uml-dirs.patch libvirt-svirt-relabel-qcow2-backing-files.patch Log Message: 0.7.2 release, Daniel Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/.cvsignore,v retrieving revision 1.47 retrieving revision 1.48 diff -u -p -r1.47 -r1.48 --- .cvsignore 15 Sep 2009 12:50:58 -0000 1.47 +++ .cvsignore 14 Oct 2009 13:03:30 -0000 1.48 @@ -11,3 +11,4 @@ libvirt-0.6.4.tar.gz libvirt-0.6.5.tar.gz libvirt-0.7.0.tar.gz libvirt-0.7.1.tar.gz +libvirt-0.7.2.tar.gz Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.191 retrieving revision 1.192 diff -u -p -r1.191 -r1.192 --- libvirt.spec 13 Oct 2009 15:43:47 -0000 1.191 +++ libvirt.spec 14 Oct 2009 13:03:31 -0000 1.192 @@ -150,47 +150,11 @@ Summary: Library providing a simple API virtualization Name: libvirt -Version: 0.7.1 -Release: 12%{?dist}%{?extra_release} +Version: 0.7.2 +Release: 1%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz - -# A couple of hot-unplug memory handling fixes (#523953) -Patch01: libvirt-fix-net-hotunplug-double-free.patch -Patch02: libvirt-fix-pci-hostdev-hotunplug-leak.patch - -# Don't set a bogus error in virDrvSupportsFeature() -Patch03: libvirt-fix-drv-supports-feature-bogus-error.patch - -# Fix raw save format -Patch04: libvirt-fix-qemu-raw-format-save.patch - -# Fix USB device passthrough (#422683) -Patch05: libvirt-fix-usb-device-passthrough.patch - -# Disable sound backend (#524499, #508317) -Patch06: libvirt-disable-audio-backend.patch - -# Re-label qcow2 backing files (#497131) -Patch07: libvirt-svirt-relabel-qcow2-backing-files.patch - -# Change logrotate config to weekly (#526769) -Patch08: libvirt-change-logrotate-config-to-weekly.patch -Patch09: libvirt-logrotate-create-lxc-uml-dirs.patch - -# Add several PCI hot-unplug typo fixes from upstream -Patch10: libvirt-fix-device-detach-typo1.patch -Patch11: libvirt-fix-device-detach-typo2.patch -Patch12: libvirt-fix-device-detach-typo3.patch - -# Fix libvirtd memory leak during error reply sending (#528162) -Patch13: libvirt-fix-libvirtd-leak-in-error-reply.patch - -# Fix restore of qemu guest using raw save format (#523158) -Patch14: libvirt-fix-qemu-restore-from-raw1.patch -Patch15: libvirt-fix-qemu-restore-from-raw2.patch - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -350,9 +314,6 @@ BuildRequires: netcf-devel # Fedora build root suckage BuildRequires: gawk -# Needed for libvirt-logrotate-create-lxc-uml-dirs.patch -BuildRequires: automake - %description Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The main package includes @@ -406,26 +367,7 @@ of recent versions of Linux (and other O %prep %setup -q -%patch01 -p1 -%patch02 -p1 -%patch03 -p1 -%patch04 -p1 -%patch05 -p1 -%patch06 -p1 -%patch07 -p1 -%patch08 -p1 -%patch09 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 - %build -# Needed for libvirt-logrotate-create-lxc-uml-dirs.patch -automake - %if ! %{with_xen} %define _without_xen --without-xen %endif @@ -567,10 +509,10 @@ gzip -9 ChangeLog rm -fr %{buildroot} %makeinstall -(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in) -(cd docs/examples/python ; rm -rf .deps Makefile Makefile.in) -(cd examples/hellolibvirt ; make clean ; rm -rf .deps .libs Makefile Makefile.in) -(cd examples/domain-events/events-c ; make clean ;rm -rf .deps .libs Makefile Makefile.in) +for i in domain-events/events-c dominfo domsuspend hellolibvirt python +do + (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in) +done rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la @@ -597,6 +539,11 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/ %endif %find_lang %{name} +%if ! %{with_lxc} +rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug +rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug +%endif + %if ! %{with_python} rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version} %endif @@ -608,6 +555,9 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/li %if ! %{with_qemu} rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf %endif +%if ! %{with_lxc} +rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf +%endif %if %{with_libvirtd} chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirtd @@ -688,6 +638,9 @@ fi %if %{with_qemu} %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf %endif +%if %{with_lxc} +%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%endif %dir %{_datadir}/libvirt/ @@ -729,6 +682,11 @@ fi %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug %endif +%if %{with_lxc} +%{_datadir}/augeas/lenses/libvirtd_lxc.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug +%endif + %{_datadir}/augeas/lenses/libvirtd.aug %{_datadir}/augeas/lenses/tests/test_libvirtd.aug @@ -762,8 +720,10 @@ fi %{_mandir}/man1/virsh.1* %{_mandir}/man1/virt-xml-validate.1* +%{_mandir}/man1/virt-pki-validate.1* %{_bindir}/virsh %{_bindir}/virt-xml-validate +%{_bindir}/virt-pki-validate %{_libdir}/lib*.so.* %dir %{_datadir}/libvirt/ @@ -797,9 +757,12 @@ fi %doc %{_datadir}/gtk-doc/html/libvirt/*.css %doc docs/*.html docs/html docs/*.gif -%doc docs/examples %doc docs/libvirt-api.xml -%doc examples +%doc examples/hellolibvirt +%doc examples/domain-events/events-c +%doc examples/dominfo +%doc examples/domsuspend +%doc examples/xml %if %{with_python} %files python @@ -810,11 +773,18 @@ fi %{_libdir}/python*/site-packages/libvirtmod* %doc python/tests/*.py %doc python/TODO -%doc python/libvirtclass.txt -%doc docs/examples/python +%doc examples/python +%doc examples/domain-events/events-python %endif %changelog +* Wed Oct 14 2009 Daniel Veillard - 0.7.2-1 +- Upstream release of 0.7.2 +- Allow to define ESX domains +- Allows suspend and resulme of LXC domains +- API for data streams +- many bug fixes + * Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 - Fix restore of qemu guest using raw save format (#523158) Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/sources,v retrieving revision 1.49 retrieving revision 1.50 diff -u -p -r1.49 -r1.50 --- sources 15 Sep 2009 12:50:58 -0000 1.49 +++ sources 14 Oct 2009 13:03:31 -0000 1.50 @@ -1 +1 @@ -f1cd360a5da38b847e166c6482141940 libvirt-0.7.1.tar.gz +133aead8c46c0601b6b37e024c6aa86a libvirt-0.7.2.tar.gz --- libvirt-change-logrotate-config-to-weekly.patch DELETED --- --- libvirt-disable-audio-backend.patch DELETED --- --- libvirt-fix-device-detach-typo1.patch DELETED --- --- libvirt-fix-device-detach-typo2.patch DELETED --- --- libvirt-fix-device-detach-typo3.patch DELETED --- --- libvirt-fix-drv-supports-feature-bogus-error.patch DELETED --- --- libvirt-fix-libvirtd-leak-in-error-reply.patch DELETED --- --- libvirt-fix-net-hotunplug-double-free.patch DELETED --- --- libvirt-fix-pci-hostdev-hotunplug-leak.patch DELETED --- --- libvirt-fix-qemu-raw-format-save.patch DELETED --- --- libvirt-fix-qemu-restore-from-raw1.patch DELETED --- --- libvirt-fix-qemu-restore-from-raw2.patch DELETED --- --- libvirt-fix-usb-device-passthrough.patch DELETED --- --- libvirt-logrotate-create-lxc-uml-dirs.patch DELETED --- --- libvirt-svirt-relabel-qcow2-backing-files.patch DELETED --- From rjones at fedoraproject.org Wed Oct 14 14:54:44 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 14 Oct 2009 14:54:44 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.69,1.70 Message-ID: <20091014145444.D589411C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28737/EL-5 Modified Files: libguestfs.spec Log Message: * Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 - New upstream release 1.0.73. - OCaml library now depends on xml-light. - Deal with installed documentation. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.69 retrieving revision 1.70 diff -u -p -r1.69 -r1.70 --- libguestfs.spec 23 Sep 2009 13:39:12 -0000 1.69 +++ libguestfs.spec 14 Oct 2009 14:54:44 -0000 1.70 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.72 +Version: 1.0.73 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -64,6 +64,7 @@ Requires: grub, ntfsprogs # different languages: BuildRequires: ocaml BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-xml-light-devel #BuildRequires: perl-devel #BuildRequires: perl-Test-Simple BuildRequires: perl-Test-Pod @@ -415,6 +416,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_ # Generator shouldn't be executable when we distribute it. chmod -x src/generator.ml +# Move installed documentation back to the source directory so +# we can install it using a %%doc rule. +#mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs + # Find locale files. %find_lang %{name} @@ -442,7 +447,8 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-,root,root,-) %doc ChangeLog HACKING TODO README ex html/guestfs.3.html html/pod.css -%doc src/generator.ml +#%doc src/generator.ml +%doc installed-docs/* %{_libdir}/libguestfs.so %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* @@ -538,6 +544,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 +- New upstream release 1.0.73. +- OCaml library now depends on xml-light. +- Deal with installed documentation. + * Wed Sep 23 2009 Richard W.M. Jones - 1.0.72-1 - New upstream release 1.0.72. - New tools: virt-edit, virt-rescue. From rjones at fedoraproject.org Wed Oct 14 14:54:45 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 14 Oct 2009 14:54:45 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-11 .cvsignore, 1.38, 1.39 libguestfs.spec, 1.65, 1.66 sources, 1.38, 1.39 Message-ID: <20091014145445.20E6A11C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28737/F-11 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 - New upstream release 1.0.73. - OCaml library now depends on xml-light. - Deal with installed documentation. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/.cvsignore,v retrieving revision 1.38 retrieving revision 1.39 diff -u -p -r1.38 -r1.39 --- .cvsignore 23 Sep 2009 13:39:10 -0000 1.38 +++ .cvsignore 14 Oct 2009 14:54:44 -0000 1.39 @@ -1 +1 @@ -libguestfs-1.0.72.tar.gz +libguestfs-1.0.73.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/libguestfs.spec,v retrieving revision 1.65 retrieving revision 1.66 diff -u -p -r1.65 -r1.66 --- libguestfs.spec 23 Sep 2009 13:39:11 -0000 1.65 +++ libguestfs.spec 14 Oct 2009 14:54:44 -0000 1.66 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.72 +Version: 1.0.73 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -50,6 +50,7 @@ Requires: grub, ntfsprogs # different languages: BuildRequires: ocaml BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-xml-light-devel BuildRequires: perl-devel BuildRequires: perl-Test-Simple BuildRequires: perl-Test-Pod @@ -409,6 +410,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_ # Generator shouldn't be executable when we distribute it. chmod -x src/generator.ml +# Move installed documentation back to the source directory so +# we can install it using a %%doc rule. +mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs + # Find locale files. %find_lang %{name} @@ -437,6 +442,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc ChangeLog HACKING TODO README ex html/guestfs.3.html html/pod.css %doc src/generator.ml +%doc installed-docs/* %{_libdir}/libguestfs.so %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* @@ -532,6 +538,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 +- New upstream release 1.0.73. +- OCaml library now depends on xml-light. +- Deal with installed documentation. + * Wed Sep 23 2009 Richard W.M. Jones - 1.0.72-1 - New upstream release 1.0.72. - New tools: virt-edit, virt-rescue. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-11/sources,v retrieving revision 1.38 retrieving revision 1.39 diff -u -p -r1.38 -r1.39 --- sources 23 Sep 2009 13:39:11 -0000 1.38 +++ sources 14 Oct 2009 14:54:44 -0000 1.39 @@ -1 +1 @@ -d6c66e405e34c256c05860cb25801a0d libguestfs-1.0.72.tar.gz +749041818f250f50f4ed8afbfc0fc568 libguestfs-1.0.73.tar.gz From rjones at fedoraproject.org Wed Oct 14 14:54:45 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 14 Oct 2009 14:54:45 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-12 .cvsignore, 1.51, 1.52 libguestfs.spec, 1.103, 1.104 sources, 1.51, 1.52 Message-ID: <20091014145445.55ADB11C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28737/F-12 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 - New upstream release 1.0.73. - OCaml library now depends on xml-light. - Deal with installed documentation. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/.cvsignore,v retrieving revision 1.51 retrieving revision 1.52 diff -u -p -r1.51 -r1.52 --- .cvsignore 23 Sep 2009 13:39:05 -0000 1.51 +++ .cvsignore 14 Oct 2009 14:54:45 -0000 1.52 @@ -1 +1 @@ -libguestfs-1.0.72.tar.gz +libguestfs-1.0.73.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/libguestfs.spec,v retrieving revision 1.103 retrieving revision 1.104 diff -u -p -r1.103 -r1.104 --- libguestfs.spec 29 Sep 2009 10:25:14 -0000 1.103 +++ libguestfs.spec 14 Oct 2009 14:54:45 -0000 1.104 @@ -4,8 +4,8 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.72 -Release: 2%{?dist} +Version: 1.0.73 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -50,6 +50,7 @@ Requires: grub, ntfsprogs # different languages: BuildRequires: ocaml BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-xml-light-devel BuildRequires: perl-devel BuildRequires: perl-Test-Simple BuildRequires: perl-Test-Pod @@ -413,6 +414,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_ # Generator shouldn't be executable when we distribute it. chmod -x src/generator.ml +# Move installed documentation back to the source directory so +# we can install it using a %%doc rule. +mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs + # Find locale files. %find_lang %{name} @@ -441,6 +446,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc ChangeLog HACKING TODO README ex html/guestfs.3.html html/pod.css %doc src/generator.ml +%doc installed-docs/* %{_libdir}/libguestfs.so %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* @@ -536,6 +542,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 +- New upstream release 1.0.73. +- OCaml library now depends on xml-light. +- Deal with installed documentation. + * Tue Sep 29 2009 Richard W.M. Jones - 1.0.72-2 - Force rebuild. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/sources,v retrieving revision 1.51 retrieving revision 1.52 diff -u -p -r1.51 -r1.52 --- sources 23 Sep 2009 13:39:05 -0000 1.51 +++ sources 14 Oct 2009 14:54:45 -0000 1.52 @@ -1 +1 @@ -d6c66e405e34c256c05860cb25801a0d libguestfs-1.0.72.tar.gz +749041818f250f50f4ed8afbfc0fc568 libguestfs-1.0.73.tar.gz From rjones at fedoraproject.org Wed Oct 14 14:54:45 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 14 Oct 2009 14:54:45 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel .cvsignore, 1.51, 1.52 libguestfs.spec, 1.103, 1.104 sources, 1.51, 1.52 Message-ID: <20091014145445.95D7B11C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28737/devel Modified Files: .cvsignore libguestfs.spec sources Log Message: * Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 - New upstream release 1.0.73. - OCaml library now depends on xml-light. - Deal with installed documentation. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/.cvsignore,v retrieving revision 1.51 retrieving revision 1.52 diff -u -p -r1.51 -r1.52 --- .cvsignore 23 Sep 2009 13:39:05 -0000 1.51 +++ .cvsignore 14 Oct 2009 14:54:45 -0000 1.52 @@ -1 +1 @@ -libguestfs-1.0.72.tar.gz +libguestfs-1.0.73.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.103 retrieving revision 1.104 diff -u -p -r1.103 -r1.104 --- libguestfs.spec 29 Sep 2009 08:12:31 -0000 1.103 +++ libguestfs.spec 14 Oct 2009 14:54:45 -0000 1.104 @@ -4,8 +4,8 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.72 -Release: 2%{?dist} +Version: 1.0.73 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -50,6 +50,7 @@ Requires: grub, ntfsprogs # different languages: BuildRequires: ocaml BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-xml-light-devel BuildRequires: perl-devel BuildRequires: perl-Test-Simple BuildRequires: perl-Test-Pod @@ -413,6 +414,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_ # Generator shouldn't be executable when we distribute it. chmod -x src/generator.ml +# Move installed documentation back to the source directory so +# we can install it using a %%doc rule. +mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs + # Find locale files. %find_lang %{name} @@ -441,6 +446,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc ChangeLog HACKING TODO README ex html/guestfs.3.html html/pod.css %doc src/generator.ml +%doc installed-docs/* %{_libdir}/libguestfs.so %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* @@ -536,6 +542,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 +- New upstream release 1.0.73. +- OCaml library now depends on xml-light. +- Deal with installed documentation. + * Tue Sep 29 2009 Richard W.M. Jones - 1.0.72-2 - Force rebuild. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/sources,v retrieving revision 1.51 retrieving revision 1.52 diff -u -p -r1.51 -r1.52 --- sources 23 Sep 2009 13:39:05 -0000 1.51 +++ sources 14 Oct 2009 14:54:45 -0000 1.52 @@ -1 +1 @@ -d6c66e405e34c256c05860cb25801a0d libguestfs-1.0.72.tar.gz +749041818f250f50f4ed8afbfc0fc568 libguestfs-1.0.73.tar.gz From rjones at fedoraproject.org Wed Oct 14 14:55:52 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 14 Oct 2009 14:55:52 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 .cvsignore, 1.32, 1.33 sources, 1.32, 1.33 Message-ID: <20091014145552.92A3A11C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29040 Modified Files: .cvsignore sources Log Message: Commit new sources. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/.cvsignore,v retrieving revision 1.32 retrieving revision 1.33 diff -u -p -r1.32 -r1.33 --- .cvsignore 23 Sep 2009 13:39:12 -0000 1.32 +++ .cvsignore 14 Oct 2009 14:55:52 -0000 1.33 @@ -1 +1 @@ -libguestfs-1.0.72.tar.gz +libguestfs-1.0.73.tar.gz Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/sources,v retrieving revision 1.32 retrieving revision 1.33 diff -u -p -r1.32 -r1.33 --- sources 23 Sep 2009 13:39:12 -0000 1.32 +++ sources 14 Oct 2009 14:55:52 -0000 1.33 @@ -1 +1 @@ -d6c66e405e34c256c05860cb25801a0d libguestfs-1.0.72.tar.gz +749041818f250f50f4ed8afbfc0fc568 libguestfs-1.0.73.tar.gz From rjones at fedoraproject.org Wed Oct 14 15:07:41 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Wed, 14 Oct 2009 15:07:41 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.70,1.71 Message-ID: <20091014150741.9B2D311C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31702 Modified Files: libguestfs.spec Log Message: Incorrectly commented %doc rule. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.70 retrieving revision 1.71 diff -u -p -r1.70 -r1.71 --- libguestfs.spec 14 Oct 2009 14:54:44 -0000 1.70 +++ libguestfs.spec 14 Oct 2009 15:07:41 -0000 1.71 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.73 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -447,8 +447,8 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-,root,root,-) %doc ChangeLog HACKING TODO README ex html/guestfs.3.html html/pod.css -#%doc src/generator.ml -%doc installed-docs/* +%doc src/generator.ml +#%doc installed-docs/* %{_libdir}/libguestfs.so %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* @@ -544,10 +544,11 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 +* Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-2 - New upstream release 1.0.73. - OCaml library now depends on xml-light. - Deal with installed documentation. +- Incorrectly commented %%doc rule. * Wed Sep 23 2009 Richard W.M. Jones - 1.0.72-1 - New upstream release 1.0.72. From markmc at fedoraproject.org Wed Oct 14 15:33:21 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 14 Oct 2009 15:33:21 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu.spec,1.140,1.141 Message-ID: <20091014153321.CA68D11C00E5@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5148 Modified Files: qemu.spec Log Message: remove trailing blanks Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.140 retrieving revision 1.141 diff -u -p -r1.140 -r1.141 --- qemu.spec 9 Oct 2009 14:32:55 -0000 1.140 +++ qemu.spec 14 Oct 2009 15:33:21 -0000 1.141 @@ -100,7 +100,7 @@ will install qemu-system-x86 Summary: QEMU command line tool for manipulating disk images Group: Development/Tools %description img -QEMU is a generic and open source processor emulator which achieves a good +QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. This package provides the command line tool for manipulating disk images @@ -429,7 +429,7 @@ if [ $1 -ge 1 ]; then /sbin/service qemu condrestart &>/dev/null || : fi -%files +%files %defattr(-,root,root) %files kvm @@ -440,10 +440,10 @@ fi %doc %{qemudocdir}/Changelog %doc %{qemudocdir}/README %doc %{qemudocdir}/TODO -%doc %{qemudocdir}/qemu-doc.html +%doc %{qemudocdir}/qemu-doc.html %doc %{qemudocdir}/qemu-tech.html -%doc %{qemudocdir}/COPYING -%doc %{qemudocdir}/COPYING.LIB +%doc %{qemudocdir}/COPYING +%doc %{qemudocdir}/COPYING.LIB %doc %{qemudocdir}/LICENSE %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/keymaps/ From markmc at fedoraproject.org Wed Oct 14 15:34:00 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 14 Oct 2009 15:34:00 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu.spec,1.140,1.141 Message-ID: <20091014153400.D6E8011C00E5@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5257 Modified Files: qemu.spec Log Message: remove trailing blanks Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.140 retrieving revision 1.141 diff -u -p -r1.140 -r1.141 --- qemu.spec 9 Oct 2009 14:34:17 -0000 1.140 +++ qemu.spec 14 Oct 2009 15:34:00 -0000 1.141 @@ -100,7 +100,7 @@ will install qemu-system-x86 Summary: QEMU command line tool for manipulating disk images Group: Development/Tools %description img -QEMU is a generic and open source processor emulator which achieves a good +QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. This package provides the command line tool for manipulating disk images @@ -429,7 +429,7 @@ if [ $1 -ge 1 ]; then /sbin/service qemu condrestart &>/dev/null || : fi -%files +%files %defattr(-,root,root) %files kvm @@ -440,10 +440,10 @@ fi %doc %{qemudocdir}/Changelog %doc %{qemudocdir}/README %doc %{qemudocdir}/TODO -%doc %{qemudocdir}/qemu-doc.html +%doc %{qemudocdir}/qemu-doc.html %doc %{qemudocdir}/qemu-tech.html -%doc %{qemudocdir}/COPYING -%doc %{qemudocdir}/COPYING.LIB +%doc %{qemudocdir}/COPYING +%doc %{qemudocdir}/COPYING.LIB %doc %{qemudocdir}/LICENSE %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/keymaps/ From markmc at fedoraproject.org Wed Oct 14 15:45:53 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 14 Oct 2009 15:45:53 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu.spec,1.141,1.142 Message-ID: <20091014154553.3DCBD11C00E5@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8988 Modified Files: qemu.spec Log Message: Fixup qemu-img description Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.141 retrieving revision 1.142 diff -u -p -r1.141 -r1.142 --- qemu.spec 14 Oct 2009 15:34:00 -0000 1.141 +++ qemu.spec 14 Oct 2009 15:45:53 -0000 1.142 @@ -100,10 +100,7 @@ will install qemu-system-x86 Summary: QEMU command line tool for manipulating disk images Group: Development/Tools %description img -QEMU is a generic and open source processor emulator which achieves a good -emulation speed by using dynamic translation. - -This package provides the command line tool for manipulating disk images +This package provides a command line tool for manipulating disk images %package common Summary: QEMU common files needed by all QEMU targets From markmc at fedoraproject.org Wed Oct 14 15:46:16 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 14 Oct 2009 15:46:16 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu.spec,1.141,1.142 Message-ID: <20091014154616.599D811C00E5@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9075 Modified Files: qemu.spec Log Message: Fixup qemu-img description Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.141 retrieving revision 1.142 diff -u -p -r1.141 -r1.142 --- qemu.spec 14 Oct 2009 15:33:21 -0000 1.141 +++ qemu.spec 14 Oct 2009 15:46:15 -0000 1.142 @@ -100,10 +100,7 @@ will install qemu-system-x86 Summary: QEMU command line tool for manipulating disk images Group: Development/Tools %description img -QEMU is a generic and open source processor emulator which achieves a good -emulation speed by using dynamic translation. - -This package provides the command line tool for manipulating disk images +This package provides a command line tool for manipulating disk images %package common Summary: QEMU common files needed by all QEMU targets From markmc at fedoraproject.org Wed Oct 14 15:57:31 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 14 Oct 2009 15:57:31 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu.spec,1.142,1.143 Message-ID: <20091014155731.51FD111C00E5@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12131 Modified Files: qemu.spec Log Message: Assume --build-id is always available Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.142 retrieving revision 1.143 diff -u -p -r1.142 -r1.143 --- qemu.spec 14 Oct 2009 15:46:15 -0000 1.142 +++ qemu.spec 14 Oct 2009 15:57:31 -0000 1.143 @@ -247,21 +247,9 @@ such as kvmtrace and kvm_stat. %patch09 -p1 %build -# systems like rhel build system does not have a recent enough linker so -# --build-id works. this option is used fedora 8 onwards for giving info -# to the debug packages. - -build_id_available() { - echo "int main () { return 0; }" | gcc -x c -Wl,--build-id - 2>/dev/null -} - -if build_id_available; then - extraldflags="-Wl,--build-id"; - buildldflags="VL_LDFLAGS=-Wl,--build-id" -else - extraldflags="" - buildldflags="" -fi +# --build-id option is used fedora 8 onwards for giving info to the debug packages. +extraldflags="-Wl,--build-id"; +buildldflags="VL_LDFLAGS=-Wl,--build-id" %ifarch %{ix86} x86_64 # sdl outputs to alsa or pulseaudio depending on system config, but it's broken (#495964) From markmc at fedoraproject.org Wed Oct 14 15:57:54 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Wed, 14 Oct 2009 15:57:54 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu.spec,1.142,1.143 Message-ID: <20091014155754.155F411C00E5@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12223 Modified Files: qemu.spec Log Message: Assume --build-id is always available Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.142 retrieving revision 1.143 diff -u -p -r1.142 -r1.143 --- qemu.spec 14 Oct 2009 15:45:53 -0000 1.142 +++ qemu.spec 14 Oct 2009 15:57:53 -0000 1.143 @@ -247,21 +247,9 @@ such as kvmtrace and kvm_stat. %patch09 -p1 %build -# systems like rhel build system does not have a recent enough linker so -# --build-id works. this option is used fedora 8 onwards for giving info -# to the debug packages. - -build_id_available() { - echo "int main () { return 0; }" | gcc -x c -Wl,--build-id - 2>/dev/null -} - -if build_id_available; then - extraldflags="-Wl,--build-id"; - buildldflags="VL_LDFLAGS=-Wl,--build-id" -else - extraldflags="" - buildldflags="" -fi +# --build-id option is used fedora 8 onwards for giving info to the debug packages. +extraldflags="-Wl,--build-id"; +buildldflags="VL_LDFLAGS=-Wl,--build-id" %ifarch %{ix86} x86_64 # sdl outputs to alsa or pulseaudio depending on system config, but it's broken (#495964) From markmc at fedoraproject.org Mon Oct 19 10:14:07 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 19 Oct 2009 10:14:07 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-network-delay-attribute-formatting.patch, NONE, 1.1 libvirt-qemu-machine-type-fixes1.patch, NONE, 1.1 libvirt-qemu-machine-type-fixes2.patch, NONE, 1.1 libvirt-storage-iscsi-auth-xml-formatting.patch, NONE, 1.1 libvirt.spec, 1.191, 1.192 Message-ID: <20091019101407.D9DCD11C00DC@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7002 Modified Files: libvirt.spec Added Files: libvirt-network-delay-attribute-formatting.patch libvirt-qemu-machine-type-fixes1.patch libvirt-qemu-machine-type-fixes2.patch libvirt-storage-iscsi-auth-xml-formatting.patch Log Message: * Mon Oct 19 2009 Mark McLoughlin - 0.7.1-13 - Misc fixes to qemu machine types handling - A couple of XML formatting fixes libvirt-network-delay-attribute-formatting.patch: network_conf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-network-delay-attribute-formatting.patch --- >From ba3bc9b22a21b8e9e110166c98be70e2ad6469cb Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 13 Oct 2009 11:31:27 -0400 Subject: [PATCH] network: Fix printing XML 'delay' attribute When specifying bridge delay via network XML define, we were looking for the 'delay' attribute, but would dump the value as 'forwardDelay'. Have the output match the expected input (and schema). (cherry picked from commit 3b13aa3db37bf5a692bccfa015a01999043e797b) Fedora-patch: libvirt-network-delay-attribute-formatting.patch --- src/network_conf.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/network_conf.c b/src/network_conf.c index 3764bb4..f75c457 100644 --- a/src/network_conf.c +++ b/src/network_conf.c @@ -587,7 +587,7 @@ char *virNetworkDefFormat(virConnectPtr conn, virBufferAddLit(&buf, " bridge) virBufferEscapeString(&buf, " name='%s'", def->bridge); - virBufferVSprintf(&buf, " stp='%s' forwardDelay='%ld' />\n", + virBufferVSprintf(&buf, " stp='%s' delay='%ld' />\n", def->stp ? "on" : "off", def->delay); -- 1.6.2.5 libvirt-qemu-machine-type-fixes1.patch: src/capabilities.c | 31 ++++++++++++--- src/capabilities.h | 3 - src/domain_conf.c | 3 - src/xm_internal.c | 3 - tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml | 5 -- 5 files changed, 34 insertions(+), 11 deletions(-) --- NEW FILE libvirt-qemu-machine-type-fixes1.patch --- >From d7722ed1cb04aa8a7b9fbf880882841867b69ab0 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Mon, 12 Oct 2009 10:52:13 +0100 Subject: [PATCH] Take domain type into account when looking up default machine If one has e.g. hvm 64 /usr/bin/qemu-system-x86_64 pc-0.11 pc pc-0.10 isapc /usr/bin/kvm pc isapc and start a guest with: ... hvm ... then the default machine type should be 'pc' and not 'pc-0.11' Issue was reported by Anton Protopopov. * src/capabilities.[ch]: pass the domain type to virCapabilitiesDefaultGuestArch() and use it to look up the default machine type from a specific guest domain if needed. * src/conf/domain_conf.c, src/xen/xm_internal.c: update * tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml: update the domain type to 'kvm' and remove the machine type to check that the default gets looked up correctly (cherry picked from commit 73c901a8075c09203545fc81164c1e5f11c67c89) Fedora-patch: libvirt-qemu-machine-type-fixes1.patch --- src/capabilities.c | 31 ++++++++++++++++--- src/capabilities.h | 3 +- src/domain_conf.c | 3 +- src/xm_internal.c | 3 +- .../qemuxml2argv-machine-aliases2.xml | 4 +- 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/capabilities.c b/src/capabilities.c index 38fe7fc..6ebddf5 100644 --- a/src/capabilities.c +++ b/src/capabilities.c @@ -549,22 +549,43 @@ virCapabilitiesDefaultGuestArch(virCapsPtr caps, * @caps: capabilities to query * @ostype: OS type to search for * @arch: architecture to search for + * @domain: domain type to search for * * Returns the first machine variant associated with - * the requested operating system type and architecture + * the requested operating system type, architecture + * and domain type */ extern const char * virCapabilitiesDefaultGuestMachine(virCapsPtr caps, const char *ostype, - const char *arch) + const char *arch, + const char *domain) { int i; + for (i = 0 ; i < caps->nguests ; i++) { - if (STREQ(caps->guests[i]->ostype, ostype) && - STREQ(caps->guests[i]->arch.name, arch) && - caps->guests[i]->arch.defaultInfo.nmachines) + virCapsGuestPtr guest = caps->guests[i]; + int j; + + if (!STREQ(guest->ostype, ostype) || !STREQ(guest->arch.name, arch)) + continue; + + for (j = 0; j < guest->arch.ndomains; j++) { + virCapsGuestDomainPtr dom= guest->arch.domains[j]; + + if (!STREQ(dom->type, domain)) + continue; + + if (!dom->info.nmachines) + break; + + return dom->info.machines[0]->name; + } + + if (guest->arch.defaultInfo.nmachines) return caps->guests[i]->arch.defaultInfo.machines[0]->name; } + return NULL; } diff --git a/src/capabilities.h b/src/capabilities.h index b958d95..2f24605 100644 --- a/src/capabilities.h +++ b/src/capabilities.h @@ -207,7 +207,8 @@ virCapabilitiesDefaultGuestArch(virCapsPtr caps, extern const char * virCapabilitiesDefaultGuestMachine(virCapsPtr caps, const char *ostype, - const char *arch); + const char *arch, + const char *domain); extern const char * virCapabilitiesDefaultGuestEmulator(virCapsPtr caps, const char *ostype, diff --git a/src/domain_conf.c b/src/domain_conf.c index 5ae0775..c424c67 100644 --- a/src/domain_conf.c +++ b/src/domain_conf.c @@ -2664,7 +2664,8 @@ static virDomainDefPtr virDomainDefParseXML(virConnectPtr conn, if (!def->os.machine) { const char *defaultMachine = virCapabilitiesDefaultGuestMachine(caps, def->os.type, - def->os.arch); + def->os.arch, + virDomainVirtTypeToString(def->virtType)); if (defaultMachine != NULL) { if (!(def->os.machine = strdup(defaultMachine))) { virReportOOMError(conn); diff --git a/src/xm_internal.c b/src/xm_internal.c index de3aca9..6d351d4 100644 --- a/src/xm_internal.c +++ b/src/xm_internal.c @@ -720,7 +720,8 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) { defaultMachine = virCapabilitiesDefaultGuestMachine(priv->caps, def->os.type, - def->os.arch); + def->os.arch, + virDomainVirtTypeToString(def->virtType)); if (defaultMachine != NULL) { if (!(def->os.machine = strdup(defaultMachine))) goto no_memory; diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml index 6f62243..a2c6254 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml +++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml @@ -1,11 +1,11 @@ - + QEMUGuest1 c7a5fdbd-edaf-9455-926a-d65c16db1809 219200 219200 1 - hvm + hvm -- 1.6.2.5 libvirt-qemu-machine-type-fixes2.patch: qemu_conf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- NEW FILE libvirt-qemu-machine-type-fixes2.patch --- >From bb64cc4cbe5d3c69057f63be2c1acaca72038e5a Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 15 Oct 2009 12:09:17 +0100 Subject: [PATCH] Don't copy old machines from a domain which has none If the the qemu and kvm binaries are the same, we don't include machine types in the kvm domain info. However, the code which refreshes the machine types info from the previous capabilities structure first looks at the kvm domain's info, finds it matches and then copies the empty machine types list over for the top-level qemu domain. That doesn't make sense, we shouldn't copy an empty machin types list. * src/qemu/qemu_conf.c: qemudGetOldMachinesFromInfo(): don't copy an empty machine types list. (cherry picked from commit 2210f8a3a8e2774ca4fb8b42e21899e5b85ca913) Fedora-patch: libvirt-qemu-machine-type-fixes2.patch --- src/qemu_conf.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/qemu_conf.c b/src/qemu_conf.c index 0dd0624..34a7fe1 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -505,6 +505,9 @@ qemudGetOldMachinesFromInfo(virCapsGuestDomainInfoPtr info, virCapsGuestMachinePtr *list; int i; + if (!info->nmachines) + return 0; + if (!info->emulator || !STREQ(emulator, info->emulator)) return 0; -- 1.6.2.5 libvirt-storage-iscsi-auth-xml-formatting.patch: storage_conf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-storage-iscsi-auth-xml-formatting.patch --- >From a44bce591a8d746a4a00c8609cb0111c76271cab Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 8 Oct 2009 18:05:36 -0400 Subject: [PATCH] storage: Fix generating iscsi 'auth' xml We were missing a closing tag, so the XML wasn't proper. (cherry picked from commit 826cbac4591fd5929b497299a90d3a65226b2825) Fedora-patch: libvirt-storage-iscsi-auth-xml-formatting.patch --- src/storage_conf.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/storage_conf.c b/src/storage_conf.c index 788de15..1633aac 100644 --- a/src/storage_conf.c +++ b/src/storage_conf.c @@ -799,7 +799,7 @@ virStoragePoolSourceFormat(virConnectPtr conn, if (src->authType == VIR_STORAGE_POOL_AUTH_CHAP) - virBufferVSprintf(buf," \n", + virBufferVSprintf(buf," \n", src->auth.chap.login, src->auth.chap.passwd); virBufferAddLit(buf," \n"); -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.191 retrieving revision 1.192 diff -u -p -r1.191 -r1.192 --- libvirt.spec 13 Oct 2009 15:43:51 -0000 1.191 +++ libvirt.spec 19 Oct 2009 10:14:07 -0000 1.192 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 12%{?dist}%{?extra_release} +Release: 13%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -191,6 +191,14 @@ Patch13: libvirt-fix-libvirtd-leak-in-er Patch14: libvirt-fix-qemu-restore-from-raw1.patch Patch15: libvirt-fix-qemu-restore-from-raw2.patch +# Misc fixes to qemu machine types handling +Patch16: libvirt-qemu-machine-type-fixes1.patch +Patch17: libvirt-qemu-machine-type-fixes2.patch + +# A couple of XML formatting fixes +Patch18: libvirt-storage-iscsi-auth-xml-formatting.patch +Patch19: libvirt-network-delay-attribute-formatting.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -421,6 +429,10 @@ of recent versions of Linux (and other O %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -815,6 +827,10 @@ fi %endif %changelog +* Mon Oct 19 2009 Mark McLoughlin - 0.7.1-13 +- Misc fixes to qemu machine types handling +- A couple of XML formatting fixes + * Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 - Fix restore of qemu guest using raw save format (#523158) From markmc at fedoraproject.org Mon Oct 19 10:33:27 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 19 Oct 2009 10:33:27 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-fix-msr-count-potential-segfault.patch, NONE, 1.1 qemu.spec, 1.143, 1.144 Message-ID: <20091019103327.7561E11C00DC@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11694 Modified Files: qemu.spec Added Files: qemu-fix-msr-count-potential-segfault.patch Log Message: * Mon Oct 19 2009 Mark McLoughlin - 2:0.11.0-7 - Fix potential segfault from too small MSR_COUNT (#528901) qemu-fix-msr-count-potential-segfault.patch: qemu-kvm-x86.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- NEW FILE qemu-fix-msr-count-potential-segfault.patch --- >From 7834349cfcc68b946c0d241ffd99c598857e489b Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Wed, 14 Oct 2009 15:02:27 -0300 Subject: [PATCH] fix MSR_COUNT for kvm_arch_save_regs() A new register was added to the load/save list on commit d283d5a65a2bdcc570065267be21848bd6fe3d78, but MSR_COUNT was not updated, leading to potential stack corruption on kvm_arch_save_regs(). The following registers are saved by kvm_arch_save_regs(): 1) MSR_IA32_SYSENTER_CS 2) MSR_IA32_SYSENTER_ESP 3) MSR_IA32_SYSENTER_EIP 4) MSR_STAR 5) MSR_IA32_TSC 6) MSR_VM_HSAVE_PA 7) MSR_CSTAR (x86_64 only) 8) MSR_KERNELGSBASE (x86_64 only) 9) MSR_FMASK (x86_64 only) 10) MSR_LSTAR (x86_64 only) (cherry picked from commit e7e5448ba387adc20be1cf08411a5b526d684299) Signed-off-by: Eduardo Habkost Signed-off-by: Marcelo Tosatti Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-msr-count-potential-segfault.patch --- qemu-kvm-x86.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index 492dbc5..d5436b6 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -847,9 +847,9 @@ static int get_msr_entry(struct kvm_msr_entry *entry, CPUState *env) } #ifdef TARGET_X86_64 -#define MSR_COUNT 9 +#define MSR_COUNT 10 #else -#define MSR_COUNT 5 +#define MSR_COUNT 6 #endif static void set_v8086_seg(struct kvm_segment *lhs, const SegmentCache *rhs) @@ -991,6 +991,7 @@ void kvm_arch_load_regs(CPUState *env) /* msrs */ n = 0; + /* Remember to increase MSR_COUNT if you add new registers below */ set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_CS, env->sysenter_cs); set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_ESP, env->sysenter_esp); set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_EIP, env->sysenter_eip); @@ -1166,6 +1167,7 @@ void kvm_arch_save_regs(CPUState *env) /* msrs */ n = 0; + /* Remember to increase MSR_COUNT if you add new registers below */ msrs[n++].index = MSR_IA32_SYSENTER_CS; msrs[n++].index = MSR_IA32_SYSENTER_ESP; msrs[n++].index = MSR_IA32_SYSENTER_EIP; -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.143 retrieving revision 1.144 diff -u -p -r1.143 -r1.144 --- qemu.spec 14 Oct 2009 15:57:31 -0000 1.143 +++ qemu.spec 19 Oct 2009 10:33:27 -0000 1.144 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 6%{?dist} +Release: 7%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -49,6 +49,9 @@ Patch08: qemu-improve-error-reporting-on # Fix fs errors with virtio and qcow2 backing file (#524734) Patch09: qemu-fix-qcow2-backing-file-with-virtio.patch +# Fix potential segfault from too small MSR_COUNT (#528901) +Patch10: qemu-fix-msr-count-potential-segfault.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -245,6 +248,7 @@ such as kvmtrace and kvm_stat. %patch07 -p1 %patch08 -p1 %patch09 -p1 +%patch10 -p1 %build # --build-id option is used fedora 8 onwards for giving info to the debug packages. @@ -526,6 +530,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Mon Oct 19 2009 Mark McLoughlin - 2:0.11.0-7 +- Fix potential segfault from too small MSR_COUNT (#528901) + * Fri Oct 9 2009 Mark McLoughlin - 2:0.11.0-6 - Fix fs errors with virtio and qcow2 backing file (#524734) - Fix ksm initscript errors on kernel missing ksm (#527653) From markmc at fedoraproject.org Mon Oct 19 10:33:42 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 19 Oct 2009 10:33:42 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu-fix-msr-count-potential-segfault.patch, NONE, 1.1 qemu.spec, 1.143, 1.144 Message-ID: <20091019103342.D0A8E11C00DC@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11742 Modified Files: qemu.spec Added Files: qemu-fix-msr-count-potential-segfault.patch Log Message: * Mon Oct 19 2009 Mark McLoughlin - 2:0.11.0-7 - Fix potential segfault from too small MSR_COUNT (#528901) qemu-fix-msr-count-potential-segfault.patch: qemu-kvm-x86.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- NEW FILE qemu-fix-msr-count-potential-segfault.patch --- >From 7834349cfcc68b946c0d241ffd99c598857e489b Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Wed, 14 Oct 2009 15:02:27 -0300 Subject: [PATCH] fix MSR_COUNT for kvm_arch_save_regs() A new register was added to the load/save list on commit d283d5a65a2bdcc570065267be21848bd6fe3d78, but MSR_COUNT was not updated, leading to potential stack corruption on kvm_arch_save_regs(). The following registers are saved by kvm_arch_save_regs(): 1) MSR_IA32_SYSENTER_CS 2) MSR_IA32_SYSENTER_ESP 3) MSR_IA32_SYSENTER_EIP 4) MSR_STAR 5) MSR_IA32_TSC 6) MSR_VM_HSAVE_PA 7) MSR_CSTAR (x86_64 only) 8) MSR_KERNELGSBASE (x86_64 only) 9) MSR_FMASK (x86_64 only) 10) MSR_LSTAR (x86_64 only) (cherry picked from commit e7e5448ba387adc20be1cf08411a5b526d684299) Signed-off-by: Eduardo Habkost Signed-off-by: Marcelo Tosatti Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-msr-count-potential-segfault.patch --- qemu-kvm-x86.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index 492dbc5..d5436b6 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -847,9 +847,9 @@ static int get_msr_entry(struct kvm_msr_entry *entry, CPUState *env) } #ifdef TARGET_X86_64 -#define MSR_COUNT 9 +#define MSR_COUNT 10 #else -#define MSR_COUNT 5 +#define MSR_COUNT 6 #endif static void set_v8086_seg(struct kvm_segment *lhs, const SegmentCache *rhs) @@ -991,6 +991,7 @@ void kvm_arch_load_regs(CPUState *env) /* msrs */ n = 0; + /* Remember to increase MSR_COUNT if you add new registers below */ set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_CS, env->sysenter_cs); set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_ESP, env->sysenter_esp); set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_EIP, env->sysenter_eip); @@ -1166,6 +1167,7 @@ void kvm_arch_save_regs(CPUState *env) /* msrs */ n = 0; + /* Remember to increase MSR_COUNT if you add new registers below */ msrs[n++].index = MSR_IA32_SYSENTER_CS; msrs[n++].index = MSR_IA32_SYSENTER_ESP; msrs[n++].index = MSR_IA32_SYSENTER_EIP; -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.143 retrieving revision 1.144 diff -u -p -r1.143 -r1.144 --- qemu.spec 14 Oct 2009 15:57:53 -0000 1.143 +++ qemu.spec 19 Oct 2009 10:33:42 -0000 1.144 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 6%{?dist} +Release: 7%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -49,6 +49,9 @@ Patch08: qemu-improve-error-reporting-on # Fix fs errors with virtio and qcow2 backing file (#524734) Patch09: qemu-fix-qcow2-backing-file-with-virtio.patch +# Fix potential segfault from too small MSR_COUNT (#528901) +Patch10: qemu-fix-msr-count-potential-segfault.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -245,6 +248,7 @@ such as kvmtrace and kvm_stat. %patch07 -p1 %patch08 -p1 %patch09 -p1 +%patch10 -p1 %build # --build-id option is used fedora 8 onwards for giving info to the debug packages. @@ -526,6 +530,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Mon Oct 19 2009 Mark McLoughlin - 2:0.11.0-7 +- Fix potential segfault from too small MSR_COUNT (#528901) + * Fri Oct 9 2009 Mark McLoughlin - 2:0.11.0-6 - Fix fs errors with virtio and qcow2 backing file (#524734) - Fix ksm initscript errors on kernel missing ksm (#527653) From markmc at fedoraproject.org Mon Oct 19 10:33:43 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 19 Oct 2009 10:33:43 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-11 qemu-fix-msr-count-potential-segfault.patch, NONE, 1.1 qemu.spec, 1.106, 1.107 Message-ID: <20091019103343.7BBF811C00DC@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11772 Modified Files: qemu.spec Added Files: qemu-fix-msr-count-potential-segfault.patch Log Message: * Mon Oct 19 2009 Mark McLoughlin - 2:0.10.6-8 - Fix potential segfault from too small MSR_COUNT (#528901) qemu-fix-msr-count-potential-segfault.patch: qemu-kvm-x86.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- NEW FILE qemu-fix-msr-count-potential-segfault.patch --- >From 3ea6ac6fde5cd46d5d8593a493a75eb29e2ccc9b Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Wed, 14 Oct 2009 15:02:27 -0300 Subject: [PATCH] fix MSR_COUNT for kvm_arch_save_regs() A new register was added to the load/save list on commit d283d5a65a2bdcc570065267be21848bd6fe3d78, but MSR_COUNT was not updated, leading to potential stack corruption on kvm_arch_save_regs(). The following registers are saved by kvm_arch_save_regs(): 1) MSR_IA32_SYSENTER_CS 2) MSR_IA32_SYSENTER_ESP 3) MSR_IA32_SYSENTER_EIP 4) MSR_STAR 5) MSR_IA32_TSC 6) MSR_VM_HSAVE_PA 7) MSR_CSTAR (x86_64 only) 8) MSR_KERNELGSBASE (x86_64 only) 9) MSR_FMASK (x86_64 only) 10) MSR_LSTAR (x86_64 only) (cherry picked from commit e7e5448ba387adc20be1cf08411a5b526d684299) Signed-off-by: Eduardo Habkost Signed-off-by: Marcelo Tosatti Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-msr-count-potential-segfault.patch --- qemu-kvm-x86.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index 8e0f0b2..89fe77c 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -116,9 +116,9 @@ static int get_msr_entry(struct kvm_msr_entry *entry, CPUState *env) } #ifdef TARGET_X86_64 -#define MSR_COUNT 9 +#define MSR_COUNT 10 #else -#define MSR_COUNT 5 +#define MSR_COUNT 6 #endif static void set_v8086_seg(struct kvm_segment *lhs, const SegmentCache *rhs) @@ -260,6 +260,7 @@ void kvm_arch_load_regs(CPUState *env) /* msrs */ n = 0; + /* Remember to increase MSR_COUNT if you add new registers below */ set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_CS, env->sysenter_cs); set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_ESP, env->sysenter_esp); set_msr_entry(&msrs[n++], MSR_IA32_SYSENTER_EIP, env->sysenter_eip); @@ -435,6 +436,7 @@ void kvm_arch_save_regs(CPUState *env) /* msrs */ n = 0; + /* Remember to increase MSR_COUNT if you add new registers below */ msrs[n++].index = MSR_IA32_SYSENTER_CS; msrs[n++].index = MSR_IA32_SYSENTER_ESP; msrs[n++].index = MSR_IA32_SYSENTER_EIP; -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu.spec,v retrieving revision 1.106 retrieving revision 1.107 diff -u -p -r1.106 -r1.107 --- qemu.spec 5 Oct 2009 14:39:50 -0000 1.106 +++ qemu.spec 19 Oct 2009 10:33:43 -0000 1.107 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.6 -Release: 7%{?dist} +Release: 8%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -37,6 +37,7 @@ Patch16: qemu-ppc-on-ppc.patch Patch17: qemu-use-statfs-to-determine-huge-page-size.patch Patch18: qemu-allow-pulseaudio-to-be-the-default.patch Patch19: qemu-fix-virtio-net-gso-support.patch +Patch20: qemu-fix-msr-count-potential-segfault.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel @@ -243,6 +244,7 @@ such as kvmtrace and kvm_stat. %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -485,6 +487,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Mon Oct 19 2009 Mark McLoughlin - 2:0.10.6-8 +- Fix potential segfault from too small MSR_COUNT (#528901) + * Mon Oct 5 2009 Mark McLoughlin - 2:0.10.6-7 - Use rtl8029 PXE rom for ne2k_pci, not ne (#526243) - Also, replace the etherboot-zroms-kvm pkg requires with file-based requires From markmc at fedoraproject.org Mon Oct 19 11:15:16 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Mon, 19 Oct 2009 11:15:16 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-11 libvirt-fix-selinux-problem-with-images-on-nfs.patch, NONE, 1.1 libvirt-0.6.2-svirt-sound.patch, 1.5, 1.6 libvirt.spec, 1.142, 1.143 Message-ID: <20091019111516.9AB8011C00DC@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22465 Modified Files: libvirt-0.6.2-svirt-sound.patch libvirt.spec Added Files: libvirt-fix-selinux-problem-with-images-on-nfs.patch Log Message: * Mon Oct 19 2009 Mark McLoughlin - 0.6.2-19 - Ignore re-labelling errors on NFS (#517157) libvirt-fix-selinux-problem-with-images-on-nfs.patch: security_selinux.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) --- NEW FILE libvirt-fix-selinux-problem-with-images-on-nfs.patch --- >From ea544e7b038776c7db555ab0428b63ebb1604163 Mon Sep 17 00:00:00 2001 From: Darryl L. Pierce Date: Fri, 21 Aug 2009 16:57:29 +0200 Subject: [PATCH] 517157 fix selinux problem with images on NFS * src/security_selinux.c: ignores EOPNOTSUPP when attempting to access an NFS share (cherry picked from commit 777fc2e9d60844a7387355d9cef06bd25190d146) Fedora-patch: libvirt-fix-selinux-problem-with-images-on-nfs.patch --- src/security_selinux.c | 25 +++++++++++++++++-------- 1 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/security_selinux.c b/src/security_selinux.c index 8ebe1fe..97f16b3 100644 --- a/src/security_selinux.c +++ b/src/security_selinux.c @@ -285,6 +285,8 @@ SELinuxSetFilecon(virConnectPtr conn, const char *path, char *tcon) VIR_INFO("Setting SELinux context on '%s' to '%s'", path, tcon); if (setfilecon(path, tcon) < 0) { + int setfilecon_errno = errno; + if (getfilecon(path, &econ) >= 0) { if (STREQ(tcon, econ)) { freecon(econ); @@ -293,14 +295,21 @@ SELinuxSetFilecon(virConnectPtr conn, const char *path, char *tcon) } freecon(econ); } - virSecurityReportError(conn, VIR_ERR_ERROR, - _("%s: unable to set security context " - "'\%s\' on %s: %s."), __func__, - tcon, - path, - virStrerror(errno, ebuf, sizeof ebuf)); - if (security_getenforce() == 1) - return -1; + + /* if the error complaint is related to an image hosted on + * an nfs mount, then ignore it. + * rhbz 517157 + */ + if (setfilecon_errno != EOPNOTSUPP) { + virSecurityReportError(conn, VIR_ERR_ERROR, + _("%s: unable to set security context " + "'\%s\' on %s: %s."), __func__, + tcon, + path, + virStrerror(errno, ebuf, sizeof ebuf)); + if (security_getenforce() == 1) + return -1; + } } return 0; } -- 1.6.2.5 libvirt-0.6.2-svirt-sound.patch: qemu_conf.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) Index: libvirt-0.6.2-svirt-sound.patch =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt-0.6.2-svirt-sound.patch,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- libvirt-0.6.2-svirt-sound.patch 30 Sep 2009 14:20:16 -0000 1.5 +++ libvirt-0.6.2-svirt-sound.patch 19 Oct 2009 11:15:16 -0000 1.6 @@ -1,4 +1,4 @@ -From 6096cb19d6b05707ca32f52b905c53818ecfc84b Mon Sep 17 00:00:00 2001 +From 2fcd18b6a39f495d84eb3ef56a49994621c8f7d3 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Mon, 17 Aug 2009 08:52:30 +0100 Subject: [PATCH] Disable sound cards when running sVirt Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-11/libvirt.spec,v retrieving revision 1.142 retrieving revision 1.143 diff -u -p -r1.142 -r1.143 --- libvirt.spec 30 Sep 2009 14:20:16 -0000 1.142 +++ libvirt.spec 19 Oct 2009 11:15:16 -0000 1.143 @@ -66,7 +66,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.6.2 -Release: 18%{?dist}%{?extra_release} +Release: 19%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -137,6 +137,8 @@ Patch31: libvirt-fix-xen-driver-segfault # Fix qemu-kvm version detection so GSO is enabled Patch32: libvirt-0.6.2-refactor-qemu-version-parsing.patch Patch33: libvirt-0.6.2-detect-newer-qemu-kvm-versions.patch +# Ignore re-labelling errors on NFS (#517157) +Patch34: libvirt-fix-selinux-problem-with-images-on-nfs.patch # Not for upstream. Temporary hack till PulseAudio autostart # problems are sorted out when SELinux enforcing @@ -322,6 +324,7 @@ of recent versions of Linux (and other O %patch31 -p1 %patch32 -p1 %patch33 -p1 +%patch34 -p1 %patch200 -p1 @@ -645,6 +648,9 @@ fi %endif %changelog +* Mon Oct 19 2009 Mark McLoughlin - 0.6.2-19 +- Ignore re-labelling errors on NFS (#517157) + * Wed Sep 30 2009 Mark McLoughlin - 0.6.2-18 - Fix qemu-kvm version detection so GSO is enabled for virtio_net (#526472) From rel-eng at fedoraproject.org Mon Oct 19 11:17:34 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Mon, 19 Oct 2009 11:17:34 -0000 Subject: [fedora-virt-maint] #2528: please tag libvirt-0.7.1-13.fc12 into dist-f12 Message-ID: <049.99c030f285388e6c968633939222ee3d@fedoraproject.org> #2528: please tag libvirt-0.7.1-13.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- One fix for a blocker and a handful of other small fixes from upstream: * Mon Oct 19 2009 Mark McLoughlin - 0.7.1-13 - Misc fixes to qemu machine types handling - A couple of XML formatting fixes * Tue Oct 13 2009 Mark McLoughlin - 0.7.1-12 - Fix restore of qemu guest using raw save format (#523158) Tested by me, seems fine. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Mon Oct 19 11:18:22 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Mon, 19 Oct 2009 11:18:22 -0000 Subject: [fedora-virt-maint] #2529: please tag qemu-0.11.0-7.fc12 into dist-f12 Message-ID: <049.7e982d5716bfdb35f9a60ab786916021@fedoraproject.org> #2529: please tag qemu-0.11.0-7.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- One fix for a serious stack corruption issue: * Mon Oct 19 2009 Mark McLoughlin - 2:0.11.0-7 - Fix potential segfault from too small MSR_COUNT (#528901) Tested by me -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rjones at fedoraproject.org Tue Oct 20 14:50:12 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Tue, 20 Oct 2009 14:50:12 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 .cvsignore, 1.33, 1.34 libguestfs.spec, 1.71, 1.72 sources, 1.33, 1.34 Message-ID: <20091020145012.E7A6B11C02A4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26122 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. - New API call: guestfs_find0. - New tools: virt-ls, virt-tar (not enabled in this release). Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/.cvsignore,v retrieving revision 1.33 retrieving revision 1.34 diff -u -p -r1.33 -r1.34 --- .cvsignore 14 Oct 2009 14:55:52 -0000 1.33 +++ .cvsignore 20 Oct 2009 14:50:12 -0000 1.34 @@ -1 +1 @@ -libguestfs-1.0.73.tar.gz +libguestfs-1.0.74.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.71 retrieving revision 1.72 diff -u -p -r1.71 -r1.72 --- libguestfs.spec 14 Oct 2009 15:07:41 -0000 1.71 +++ libguestfs.spec 20 Oct 2009 14:50:12 -0000 1.72 @@ -4,8 +4,8 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.73 -Release: 2%{?dist} +Version: 1.0.74 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -206,9 +206,13 @@ scripts. # whether the virtual machine is fully virtualized (FV) or # para-virtualized (PV), what applications are installed and more. +# Virt-ls is a command line tool to list out files in a virtual machine. + # Virt-rescue provides a rescue shell for making interactive, # unstructured fixes to virtual machines. +# Virt-tar is an archive, backup and upload tool for virtual machines. + %package -n ocaml-%{name} Summary: OCaml bindings for %{name} @@ -475,8 +479,12 @@ rm -rf $RPM_BUILD_ROOT # %{_mandir}/man1/virt-edit.1* # %{_bindir}/virt-inspector # %{_mandir}/man1/virt-inspector.1* +# %{_bindir}/virt-ls +# %{_mandir}/man1/virt-ls.1* # %{_bindir}/virt-rescue # %{_mandir}/man1/virt-rescue.1* +# %{_bindir}/virt-tar +# %{_mandir}/man1/virt-tar.1* %files -n ocaml-%{name} @@ -544,6 +552,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 +- New upstream release 1.0.74. +- New API call: guestfs_find0. +- New tools: virt-ls, virt-tar (not enabled in this release). + * Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-2 - New upstream release 1.0.73. - OCaml library now depends on xml-light. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/sources,v retrieving revision 1.33 retrieving revision 1.34 diff -u -p -r1.33 -r1.34 --- sources 14 Oct 2009 14:55:52 -0000 1.33 +++ sources 20 Oct 2009 14:50:12 -0000 1.34 @@ -1 +1 @@ -749041818f250f50f4ed8afbfc0fc568 libguestfs-1.0.73.tar.gz +669f27a4590298feb0ea6749499b02e1 libguestfs-1.0.74.tar.gz From rjones at fedoraproject.org Tue Oct 20 14:50:24 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Tue, 20 Oct 2009 14:50:24 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-12 .cvsignore, 1.52, 1.53 libguestfs.spec, 1.104, 1.105 sources, 1.52, 1.53 Message-ID: <20091020145024.4209011C02A4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26048 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. - New API call: guestfs_find0. - New tools: virt-ls, virt-tar. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/.cvsignore,v retrieving revision 1.52 retrieving revision 1.53 diff -u -p -r1.52 -r1.53 --- .cvsignore 14 Oct 2009 14:54:45 -0000 1.52 +++ .cvsignore 20 Oct 2009 14:50:23 -0000 1.53 @@ -1 +1 @@ -libguestfs-1.0.73.tar.gz +libguestfs-1.0.74.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/libguestfs.spec,v retrieving revision 1.104 retrieving revision 1.105 diff -u -p -r1.104 -r1.105 --- libguestfs.spec 14 Oct 2009 14:54:45 -0000 1.104 +++ libguestfs.spec 20 Oct 2009 14:50:23 -0000 1.105 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.73 +Version: 1.0.74 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -187,9 +187,13 @@ version of the OS, the kernel version, w whether the virtual machine is fully virtualized (FV) or para-virtualized (PV), what applications are installed and more. +Virt-ls is a command line tool to list out files in a virtual machine. + Virt-rescue provides a rescue shell for making interactive, unstructured fixes to virtual machines. +Virt-tar is an archive, backup and upload tool for virtual machines. + %package -n ocaml-%{name} Summary: OCaml bindings for %{name} @@ -473,8 +477,12 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/virt-edit.1* %{_bindir}/virt-inspector %{_mandir}/man1/virt-inspector.1* +%{_bindir}/virt-ls +%{_mandir}/man1/virt-ls.1* %{_bindir}/virt-rescue %{_mandir}/man1/virt-rescue.1* +%{_bindir}/virt-tar +%{_mandir}/man1/virt-tar.1* %files -n ocaml-%{name} @@ -542,6 +550,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 +- New upstream release 1.0.74. +- New API call: guestfs_find0. +- New tools: virt-ls, virt-tar. + * Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 - New upstream release 1.0.73. - OCaml library now depends on xml-light. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/sources,v retrieving revision 1.52 retrieving revision 1.53 diff -u -p -r1.52 -r1.53 --- sources 14 Oct 2009 14:54:45 -0000 1.52 +++ sources 20 Oct 2009 14:50:24 -0000 1.53 @@ -1 +1 @@ -749041818f250f50f4ed8afbfc0fc568 libguestfs-1.0.73.tar.gz +669f27a4590298feb0ea6749499b02e1 libguestfs-1.0.74.tar.gz From rjones at fedoraproject.org Tue Oct 20 14:50:27 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Tue, 20 Oct 2009 14:50:27 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel .cvsignore, 1.52, 1.53 libguestfs.spec, 1.104, 1.105 sources, 1.52, 1.53 Message-ID: <20091020145027.DA60E11C02A4@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26183 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. - New API call: guestfs_find0. - New tools: virt-ls, virt-tar. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/.cvsignore,v retrieving revision 1.52 retrieving revision 1.53 diff -u -p -r1.52 -r1.53 --- .cvsignore 14 Oct 2009 14:54:45 -0000 1.52 +++ .cvsignore 20 Oct 2009 14:50:27 -0000 1.53 @@ -1 +1 @@ -libguestfs-1.0.73.tar.gz +libguestfs-1.0.74.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.104 retrieving revision 1.105 diff -u -p -r1.104 -r1.105 --- libguestfs.spec 14 Oct 2009 14:54:45 -0000 1.104 +++ libguestfs.spec 20 Oct 2009 14:50:27 -0000 1.105 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.73 +Version: 1.0.74 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -187,9 +187,13 @@ version of the OS, the kernel version, w whether the virtual machine is fully virtualized (FV) or para-virtualized (PV), what applications are installed and more. +Virt-ls is a command line tool to list out files in a virtual machine. + Virt-rescue provides a rescue shell for making interactive, unstructured fixes to virtual machines. +Virt-tar is an archive, backup and upload tool for virtual machines. + %package -n ocaml-%{name} Summary: OCaml bindings for %{name} @@ -473,8 +477,12 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/virt-edit.1* %{_bindir}/virt-inspector %{_mandir}/man1/virt-inspector.1* +%{_bindir}/virt-ls +%{_mandir}/man1/virt-ls.1* %{_bindir}/virt-rescue %{_mandir}/man1/virt-rescue.1* +%{_bindir}/virt-tar +%{_mandir}/man1/virt-tar.1* %files -n ocaml-%{name} @@ -542,6 +550,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 +- New upstream release 1.0.74. +- New API call: guestfs_find0. +- New tools: virt-ls, virt-tar. + * Wed Oct 14 2009 Richard W.M. Jones - 1.0.73-1 - New upstream release 1.0.73. - OCaml library now depends on xml-light. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/sources,v retrieving revision 1.52 retrieving revision 1.53 diff -u -p -r1.52 -r1.53 --- sources 14 Oct 2009 14:54:45 -0000 1.52 +++ sources 20 Oct 2009 14:50:27 -0000 1.53 @@ -1 +1 @@ -749041818f250f50f4ed8afbfc0fc568 libguestfs-1.0.73.tar.gz +669f27a4590298feb0ea6749499b02e1 libguestfs-1.0.74.tar.gz From rel-eng at fedoraproject.org Mon Oct 19 18:08:42 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Mon, 19 Oct 2009 18:08:42 -0000 Subject: [fedora-virt-maint] Re: #2528: please tag libvirt-0.7.1-13.fc12 into dist-f12 In-Reply-To: <049.99c030f285388e6c968633939222ee3d@fedoraproject.org> References: <049.99c030f285388e6c968633939222ee3d@fedoraproject.org> Message-ID: <058.d47a98b2f8637a2ba9611e05e974f39d@fedoraproject.org> #2528: please tag libvirt-0.7.1-13.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by notting): * status: new => closed * resolution: => fixed Comment: Tagged for final. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Mon Oct 19 18:09:55 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Mon, 19 Oct 2009 18:09:55 -0000 Subject: [fedora-virt-maint] Re: #2529: please tag qemu-0.11.0-7.fc12 into dist-f12 In-Reply-To: <049.7e982d5716bfdb35f9a60ab786916021@fedoraproject.org> References: <049.7e982d5716bfdb35f9a60ab786916021@fedoraproject.org> Message-ID: <058.3640a78b21cbe66f65b88a8a948d4e6e@fedoraproject.org> #2529: please tag qemu-0.11.0-7.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by notting): * status: new => closed * resolution: => fixed Comment: Tagged for final. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From glommer at fedoraproject.org Wed Oct 21 19:25:00 2009 From: glommer at fedoraproject.org (Glauber Costa) Date: Wed, 21 Oct 2009 19:25:00 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu-properly-save-kvm-system-time-registers.patch, NONE, 1.1 qemu.spec, 1.144, 1.145 Message-ID: <20091021192500.8DC6E11C00E8@cvs1.fedora.phx.redhat.com> Author: glommer Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30196 Modified Files: qemu.spec Added Files: qemu-properly-save-kvm-system-time-registers.patch Log Message: Properly save kvm time registers (#524229) qemu-properly-save-kvm-system-time-registers.patch: qemu-kvm-x86.c | 15 +++++++++++++-- target-i386/cpu.h | 5 ++++- target-i386/machine.c | 9 ++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) --- NEW FILE qemu-properly-save-kvm-system-time-registers.patch --- >From 20a3c3095744ea65b4dfb5365efea8cdb802f7f5 Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Wed, 21 Oct 2009 10:52:46 -0400 Subject: [PATCH] properly save kvm system time msr registers Currently, the msrs involved in setting up pvclock are not saved over migration and/or save/restore. This patch puts their value in special fields in our CPUState, and deal with them using vmstate. kvm also has to account for it, by including them in the msr list for the ioctls. Fedora-patch: qemu-properly-save-kvm-system-time-registers.patch Signed-off-by: Glauber Costa --- qemu-kvm-x86.c | 15 +++++++++++++-- target-i386/cpu.h | 5 ++++- target-i386/machine.c | 8 ++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index d5436b6..300e6c2 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -839,6 +839,12 @@ static int get_msr_entry(struct kvm_msr_entry *entry, CPUState *env) case MSR_VM_HSAVE_PA: env->vm_hsave = entry->data; break; + case MSR_KVM_SYSTEM_TIME: + env->system_time_msr = entry->data; + break; + case MSR_KVM_WALL_CLOCK: + env->wall_clock_msr = entry->data; + break; default: printf("Warning unknown msr index 0x%x\n", entry->index); return 1; @@ -847,9 +853,9 @@ static int get_msr_entry(struct kvm_msr_entry *entry, CPUState *env) } #ifdef TARGET_X86_64 -#define MSR_COUNT 10 +#define MSR_COUNT 12 #else -#define MSR_COUNT 6 +#define MSR_COUNT 8 #endif static void set_v8086_seg(struct kvm_segment *lhs, const SegmentCache *rhs) @@ -1007,6 +1013,8 @@ void kvm_arch_load_regs(CPUState *env) set_msr_entry(&msrs[n++], MSR_LSTAR , env->lstar); } #endif + set_msr_entry(&msrs[n++], MSR_KVM_SYSTEM_TIME, env->system_time_msr); + set_msr_entry(&msrs[n++], MSR_KVM_WALL_CLOCK, env->wall_clock_msr); rc = kvm_set_msrs(env->kvm_cpu_state.vcpu_ctx, msrs, n); if (rc == -1) @@ -1184,6 +1192,9 @@ void kvm_arch_save_regs(CPUState *env) msrs[n++].index = MSR_LSTAR; } #endif + msrs[n++].index = MSR_KVM_SYSTEM_TIME; + msrs[n++].index = MSR_KVM_WALL_CLOCK; + rc = kvm_get_msrs(env->kvm_cpu_state.vcpu_ctx, msrs, n); if (rc == -1) { perror("kvm_get_msrs FAILED"); diff --git a/target-i386/cpu.h b/target-i386/cpu.h index 08200ed..22e76ec 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -640,6 +640,9 @@ typedef struct CPUX86State { target_ulong fmask; target_ulong kernelgsbase; #endif + uint64_t system_time_msr; + uint64_t wall_clock_msr; + uint64_t tsc; @@ -867,7 +870,7 @@ static inline int cpu_get_time_fast(void) #define cpu_signal_handler cpu_x86_signal_handler #define cpu_list x86_cpu_list -#define CPU_SAVE_VERSION 10 +#define CPU_SAVE_VERSION 11 /* MMU modes definitions */ #define MMU_MODE0_SUFFIX _kernel diff --git a/target-i386/machine.c b/target-i386/machine.c index ca32a92..4654508 100644 --- a/target-i386/machine.c +++ b/target-i386/machine.c @@ -174,6 +174,9 @@ void cpu_save(QEMUFile *f, void *opaque) qemu_put_be64s(f, &env->mce_banks[4*i + 3]); } } + + qemu_put_be64s(f, &env->system_time_msr); + qemu_put_be64s(f, &env->wall_clock_msr); } #ifdef USE_X86LDOUBLE @@ -405,5 +408,10 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) kvm_arch_load_mpstate(env); } } + + if (version_id >= 11) { + qemu_get_be64s(f, &env->system_time_msr); + qemu_get_be64s(f, &env->wall_clock_msr); + } return 0; } -- 1.6.2.2 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.144 retrieving revision 1.145 diff -u -p -r1.144 -r1.145 --- qemu.spec 19 Oct 2009 10:33:42 -0000 1.144 +++ qemu.spec 21 Oct 2009 19:25:00 -0000 1.145 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 7%{?dist} +Release: 8%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -52,6 +52,9 @@ Patch09: qemu-fix-qcow2-backing-file-wit # Fix potential segfault from too small MSR_COUNT (#528901) Patch10: qemu-fix-msr-count-potential-segfault.patch +# Properly save kvm time registers (#524229) +Patch11: qemu-properly-save-kvm-system-time-registers.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -249,6 +252,7 @@ such as kvmtrace and kvm_stat. %patch08 -p1 %patch09 -p1 %patch10 -p1 +%patch11 -p1 %build # --build-id option is used fedora 8 onwards for giving info to the debug packages. @@ -530,6 +534,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Wed Oct 21 2009 Glauber Costa - 2:0.11.0-8 +- Properly save kvm time registers (#524229) + * Mon Oct 19 2009 Mark McLoughlin - 2:0.11.0-7 - Fix potential segfault from too small MSR_COUNT (#528901) From crobinso at fedoraproject.org Thu Oct 22 13:35:54 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Thu, 22 Oct 2009 13:35:54 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/F-11 virtinst-0.400.3-safe-os-detect.patch, NONE, 1.1 python-virtinst.spec, 1.73, 1.74 Message-ID: <20091022133554.DB8BD11C008C@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6635 Modified Files: python-virtinst.spec Added Files: virtinst-0.400.3-safe-os-detect.patch Log Message: Ensure unknown OS detection doesn't break the install virtinst-0.400.3-safe-os-detect.patch: OSDistro.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) --- NEW FILE virtinst-0.400.3-safe-os-detect.patch --- # HG changeset patch # User Cole Robinson # Date 1241726968 14400 # Node ID db997572bdc8a8fc4c567fbf165f853167dfa462 # Parent 9768e52d4d624f83853f7f23f85402c8a078eb6f Make sure autodetected OS type/variant are in the osdict. If not, log a message and set the values to None, rather than barf later down the line. diff -r 9768e52d4d62 -r db997572bdc8 virtinst/OSDistro.py --- a/virtinst/OSDistro.py Thu May 07 15:50:06 2009 -0400 +++ b/virtinst/OSDistro.py Thu May 07 16:09:28 2009 -0400 @@ -28,6 +28,7 @@ import ConfigParser import virtinst +from virtinst.Guest import Guest from virtinst import _util from virtinst import _virtinst as _ @@ -118,8 +119,9 @@ if iskernel is True: # FIXME: We should probably do this for both kernel and boot # disk? + os_type, os_variant = store.get_osdict_info() return (store.acquireKernel(guest, fetcher, progresscb), - store.os_type, store.os_variant) + os_type, os_variant) elif iskernel is False: return store.acquireBootDisk(fetcher, progresscb) else: @@ -145,7 +147,7 @@ import urlgrabber progress = urlgrabber.progress.BaseMeter() store = _acquireMedia(None, None, location, progress, arch, "/var/tmp") - return (store.os_type, store.os_variant) + return store.get_osdict_info() def distroFromTreeinfo(fetcher, progresscb, uri, arch, vmtype=None, @@ -246,6 +248,28 @@ raise RuntimeError(_("Could not find boot.iso in %s tree." % \ self.name)) + def get_osdict_info(self): + """ + Return (distro, variant) tuple, checking to make sure they are valid + osdict entries + """ + if not self.os_type: + return (None, None) + + if self.os_type not in Guest.list_os_types(): + logging.debug("%s set os_type to %s, which is not in osdict." % + (self, self.os_type)) + return (None, None) + + if (self.os_variant and + self.os_variant not in Guest.list_os_variants(self.os_type)): + logging.debug("%s set os_variant to %s, which is not in osdict" + " for distro %s." % + (self, self.os_variant, self.os_type)) + return (self.os_type, None) + + return (self.os_type, self.os_variant) + def _hasTreeinfo(self, fetcher, progresscb): # all Red Hat based distros should have .treeinfo, perhaps others # will in time Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/F-11/python-virtinst.spec,v retrieving revision 1.73 retrieving revision 1.74 diff -u -p -r1.73 -r1.74 --- python-virtinst.spec 6 Oct 2009 15:10:00 -0000 1.73 +++ python-virtinst.spec 22 Oct 2009 13:35:54 -0000 1.74 @@ -17,7 +17,7 @@ Summary: Python modules and utilities for installing virtual machines Name: python-%{appname} Version: 0.400.3 -Release: 11%{_extra_release} +Release: 12%{_extra_release} Source0: http://virt-manager.org/download/sources/%{appname}/%{appname}-%{version}.tar.gz Patch1: %{appname}-%{version}-fix-virtimage-scratch.patch Patch2: %{appname}-%{version}-hostdev-libvirt-calls.patch @@ -49,6 +49,8 @@ Patch15: %{appname}-%{version}-sasl-auth Patch16: %{appname}-%{version}-windows-acpi.patch # Add CLI tests Patch17: %{appname}-%{version}-add-cli-test.patch +# Ensure unknown OS detection doesn't break the install +Patch18: %{appname}-%{version}-safe-os-detect.patch License: GPLv2+ Group: Development/Libraries @@ -93,6 +95,7 @@ and install new VMs) and virt-clone (clo %patch15 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 %build python setup.py build @@ -128,6 +131,9 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/virt-convert %changelog +* Thu Oct 22 2009 Cole Robinson - 0.400.3-12.fc11 +- Ensure unknown OS detection doesn't break the install + * Mon Oct 05 2009 Cole Robinson - 0.400.3-11.fc11 - Allow SASL auth (bz 484099) - Use ACPI for windows on KVM (bz 479977) From crobinso at fedoraproject.org Thu Oct 22 13:38:01 2009 From: crobinso at fedoraproject.org (Cole Robinson) Date: Thu, 22 Oct 2009 13:38:01 +0000 (UTC) Subject: [fedora-virt-maint] rpms/python-virtinst/F-10 virtinst-0.400.3-safe-os-detect.patch, NONE, 1.1 python-virtinst.spec, 1.56, 1.57 Message-ID: <20091022133801.5664611C008C@cvs1.fedora.phx.redhat.com> Author: crobinso Update of /cvs/pkgs/rpms/python-virtinst/F-10 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7329 Modified Files: python-virtinst.spec Added Files: virtinst-0.400.3-safe-os-detect.patch Log Message: Ensure unknown OS detection doesn't break the install virtinst-0.400.3-safe-os-detect.patch: OSDistro.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) --- NEW FILE virtinst-0.400.3-safe-os-detect.patch --- # HG changeset patch # User Cole Robinson # Date 1241726968 14400 # Node ID db997572bdc8a8fc4c567fbf165f853167dfa462 # Parent 9768e52d4d624f83853f7f23f85402c8a078eb6f Make sure autodetected OS type/variant are in the osdict. If not, log a message and set the values to None, rather than barf later down the line. diff -r 9768e52d4d62 -r db997572bdc8 virtinst/OSDistro.py --- a/virtinst/OSDistro.py Thu May 07 15:50:06 2009 -0400 +++ b/virtinst/OSDistro.py Thu May 07 16:09:28 2009 -0400 @@ -28,6 +28,7 @@ import ConfigParser import virtinst +from virtinst.Guest import Guest from virtinst import _util from virtinst import _virtinst as _ @@ -118,8 +119,9 @@ if iskernel is True: # FIXME: We should probably do this for both kernel and boot # disk? + os_type, os_variant = store.get_osdict_info() return (store.acquireKernel(guest, fetcher, progresscb), - store.os_type, store.os_variant) + os_type, os_variant) elif iskernel is False: return store.acquireBootDisk(fetcher, progresscb) else: @@ -145,7 +147,7 @@ import urlgrabber progress = urlgrabber.progress.BaseMeter() store = _acquireMedia(None, None, location, progress, arch, "/var/tmp") - return (store.os_type, store.os_variant) + return store.get_osdict_info() def distroFromTreeinfo(fetcher, progresscb, uri, arch, vmtype=None, @@ -246,6 +248,28 @@ raise RuntimeError(_("Could not find boot.iso in %s tree." % \ self.name)) + def get_osdict_info(self): + """ + Return (distro, variant) tuple, checking to make sure they are valid + osdict entries + """ + if not self.os_type: + return (None, None) + + if self.os_type not in Guest.list_os_types(): + logging.debug("%s set os_type to %s, which is not in osdict." % + (self, self.os_type)) + return (None, None) + + if (self.os_variant and + self.os_variant not in Guest.list_os_variants(self.os_type)): + logging.debug("%s set os_variant to %s, which is not in osdict" + " for distro %s." % + (self, self.os_variant, self.os_type)) + return (self.os_type, None) + + return (self.os_type, self.os_variant) + def _hasTreeinfo(self, fetcher, progresscb): # all Red Hat based distros should have .treeinfo, perhaps others # will in time Index: python-virtinst.spec =================================================================== RCS file: /cvs/pkgs/rpms/python-virtinst/F-10/python-virtinst.spec,v retrieving revision 1.56 retrieving revision 1.57 diff -u -p -r1.56 -r1.57 --- python-virtinst.spec 5 Oct 2009 18:06:08 -0000 1.56 +++ python-virtinst.spec 22 Oct 2009 13:38:00 -0000 1.57 @@ -11,7 +11,7 @@ Summary: Python modules and utilities for installing virtual machines Name: python-%{appname} Version: 0.400.3 -Release: 4%{_extra_release} +Release: 5%{_extra_release} Source0: http://virt-manager.org/download/sources/%{appname}/%{appname}-%{version}.tar.gz Patch1: %{appname}-%{version}-fix-virtimage-scratch.patch Patch2: %{appname}-%{version}-hostdev-libvirt-calls.patch @@ -22,6 +22,8 @@ Patch5: %{appname}-%{version}-updated-tr Patch6: %{appname}-%{version}-preview-detection.patch # Add F12 to os dictionary Patch7: %{appname}-%{version}-f12-distro.patch +# Ensure unknown OS detection doesn't break the install +Patch8: %{appname}-%{version}-safe-os-detect.patch License: GPLv2+ Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -54,6 +56,7 @@ and install new VMs) and virt-clone (clo %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %build python setup.py build @@ -87,6 +90,9 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/virt-convert %changelog +* Thu Oct 22 2009 Cole Robinson - 0.400.3-5.fc10 +- Ensure unknown OS detection doesn't break the install + * Mon Oct 05 2009 Cole Robinson - 0.400.3-4.fc10 - Fix detection of fedora preview trees (bz 499718) - Add F12 to os dictionary From markmc at fedoraproject.org Fri Oct 23 12:48:18 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Fri, 23 Oct 2009 12:48:18 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-11 qemu-disable-copyrect-encoding.patch, NONE, 1.1 qemu.spec, 1.107, 1.108 Message-ID: <20091023124818.A3E8011C01EA@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5083 Modified Files: qemu.spec Added Files: qemu-disable-copyrect-encoding.patch Log Message: * Fri Oct 23 2009 Mark McLoughlin - 2:0.10.6-9 - Disable the vnc CopyRect encoding since it's still broken (#503156) qemu-disable-copyrect-encoding.patch: vnc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) --- NEW FILE qemu-disable-copyrect-encoding.patch --- >From 1df8bf2b825dafd9b3c0ea24af184db988fc0741 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 23 Oct 2009 13:41:52 +0100 Subject: [PATCH] Disable the vnc CopyRect encoding Our CopyRect implementation seems to be broken still: https://bugzilla.redhat.com/503156 Let's just disable it until someone has a chance to debug further. Signed-off-by: Mark McLoughlin Fedora-patch: qemu-disable-copyrect-encoding.patch --- vnc.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/vnc.c b/vnc.c index 119c982..508f40d 100644 --- a/vnc.c +++ b/vnc.c @@ -1499,7 +1499,14 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings) vs->vnc_encoding = enc; break; case VNC_ENCODING_COPYRECT: + /* Our CopyRect handling still seems to be broken, see: + * + * https://bugzilla.redhat.com/503156 + * + */ +#ifdef FIXME vs->features |= VNC_FEATURE_COPYRECT_MASK; +#endif break; case VNC_ENCODING_HEXTILE: vs->features |= VNC_FEATURE_HEXTILE_MASK; -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-11/qemu.spec,v retrieving revision 1.107 retrieving revision 1.108 diff -u -p -r1.107 -r1.108 --- qemu.spec 19 Oct 2009 10:33:43 -0000 1.107 +++ qemu.spec 23 Oct 2009 12:48:18 -0000 1.108 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.10.6 -Release: 8%{?dist} +Release: 9%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -38,6 +38,7 @@ Patch17: qemu-use-statfs-to-determine-hu Patch18: qemu-allow-pulseaudio-to-be-the-default.patch Patch19: qemu-fix-virtio-net-gso-support.patch Patch20: qemu-fix-msr-count-potential-segfault.patch +Patch21: qemu-disable-copyrect-encoding.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel @@ -245,6 +246,7 @@ such as kvmtrace and kvm_stat. %patch18 -p1 %patch19 -p1 %patch20 -p1 +%patch21 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -487,6 +489,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Fri Oct 23 2009 Mark McLoughlin - 2:0.10.6-9 +- Disable the vnc CopyRect encoding since it's still broken (#503156) + * Mon Oct 19 2009 Mark McLoughlin - 2:0.10.6-8 - Fix potential segfault from too small MSR_COUNT (#528901) From rel-eng at fedoraproject.org Mon Oct 26 18:16:16 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Mon, 26 Oct 2009 18:16:16 -0000 Subject: [fedora-virt-maint] #2738: Please tag qemu-0.11.0-8.fc12 into dist-f12 Message-ID: <050.3bc1caa054da132f8dd1c3e34bbc6713@fedoraproject.org> #2738: Please tag qemu-0.11.0-8.fc12 into dist-f12 -----------------------------+---------------------------------------------- Reporter: jforbes | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- Fixes migration issue: * Wed Oct 21 2009 Glauber Costa - 2:0.11.0-8 - Properly save kvm time registers (#524229) -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Mon Oct 26 18:20:15 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Mon, 26 Oct 2009 18:20:15 -0000 Subject: [fedora-virt-maint] Re: #2738: Please tag qemu-0.11.0-8.fc12 into dist-f12 In-Reply-To: <050.3bc1caa054da132f8dd1c3e34bbc6713@fedoraproject.org> References: <050.3bc1caa054da132f8dd1c3e34bbc6713@fedoraproject.org> Message-ID: <059.a5283fba6ee338ca18d36da8c11431e0@fedoraproject.org> #2738: Please tag qemu-0.11.0-8.fc12 into dist-f12 ------------------------------+--------------------------------------------- Reporter: jforbes | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by notting): * status: new => closed * resolution: => fixed Comment: Tagged for final. -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From markmc at fedoraproject.org Thu Oct 29 10:14:00 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 10:14:00 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt.spec,1.192,1.193 Message-ID: <20091029101400.EE6AC11C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31610 Modified Files: libvirt.spec Log Message: * Thu Oct 29 2009 Mark McLoughlin - 0.7.1-14 - Make libvirt-devel require libvirt-client, not libvirt Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.192 retrieving revision 1.193 diff -u -p -r1.192 -r1.193 --- libvirt.spec 19 Oct 2009 10:14:07 -0000 1.192 +++ libvirt.spec 29 Oct 2009 10:14:00 -0000 1.193 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 13%{?dist}%{?extra_release} +Release: 14%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -388,7 +388,7 @@ virtualization capabilities of recent ve %package devel Summary: Libraries, includes, etc. to compile with the libvirt library Group: Development/Libraries -Requires: libvirt = %{version}-%{release} +Requires: libvirt-client = %{version}-%{release} Requires: pkgconfig %if %{with_xen} Requires: xen-devel @@ -827,6 +827,9 @@ fi %endif %changelog +* Thu Oct 29 2009 Mark McLoughlin - 0.7.1-14 +- Make libvirt-devel require libvirt-client, not libvirt + * Mon Oct 19 2009 Mark McLoughlin - 0.7.1-13 - Misc fixes to qemu machine types handling - A couple of XML formatting fixes From markmc at fedoraproject.org Thu Oct 29 10:15:23 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 10:15:23 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt.spec,1.192,1.193 Message-ID: <20091029101523.AF73E11C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31915 Modified Files: libvirt.spec Log Message: * Thu Oct 29 2009 Mark McLoughlin - 0.7.2-2 - Make libvirt-devel require libvirt-client, not libvirt Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.192 retrieving revision 1.193 diff -u -p -r1.192 -r1.193 --- libvirt.spec 14 Oct 2009 13:03:31 -0000 1.192 +++ libvirt.spec 29 Oct 2009 10:15:23 -0000 1.193 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.2 -Release: 1%{?dist}%{?extra_release} +Release: 2%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -341,7 +341,7 @@ virtualization capabilities of recent ve %package devel Summary: Libraries, includes, etc. to compile with the libvirt library Group: Development/Libraries -Requires: libvirt = %{version}-%{release} +Requires: libvirt-client = %{version}-%{release} Requires: pkgconfig %if %{with_xen} Requires: xen-devel @@ -778,6 +778,9 @@ fi %endif %changelog +* Thu Oct 29 2009 Mark McLoughlin - 0.7.2-2 +- Make libvirt-devel require libvirt-client, not libvirt + * Wed Oct 14 2009 Daniel Veillard - 0.7.2-1 - Upstream release of 0.7.2 - Allow to define ESX domains From markmc at fedoraproject.org Thu Oct 29 10:40:46 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 10:40:46 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-double-free-on-virsh-error.patch, NONE, 1.1 libvirt-fix-crash-on-device-hotplug-parse-error.patch, NONE, 1.1 libvirt-fix-crash-on-missing-iface-target-dev.patch, NONE, 1.1 libvirt-fix-xen-driver-refcounting.patch, NONE, 1.1 libvirt.spec, 1.193, 1.194 Message-ID: <20091029104046.290DB11C0380@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7561 Modified Files: libvirt.spec Added Files: libvirt-double-free-on-virsh-error.patch libvirt-fix-crash-on-device-hotplug-parse-error.patch libvirt-fix-crash-on-missing-iface-target-dev.patch libvirt-fix-xen-driver-refcounting.patch Log Message: * Thu Oct 29 2009 Mark McLoughlin - 0.7.1-14 - Fix xen driver recounting (#531429) - Fix crash on virsh error (#531429) - Fix segfault where XML parsing fails in qemu disk hotplug - Fix segfault where interface target device name is ommitted (#523418) libvirt-double-free-on-virsh-error.patch: virsh.c | 516 ++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 246 insertions(+), 270 deletions(-) --- NEW FILE libvirt-double-free-on-virsh-error.patch --- >From 4eca48753dfa5f584fb22d133145a24f9146d389 Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Tue, 29 Sep 2009 13:42:42 +0200 Subject: [PATCH] Avoid double free in errors in virsh * tools/virsh.c: it was possible to get vshDeinit to call itself back via vshError, remove the doexit parameter of vshError to avoid the possibility and make sure to exit directly after in those case. (cherry picked from commit 1caa19cb0667233e9775d9d860c4766151542d23) Fedora-patch: libvirt-double-free-on-virsh-error.patch --- src/virsh.c | 515 ++++++++++++++++++++++++++++------------------------------- 1 files changed, 246 insertions(+), 269 deletions(-) diff --git a/src/virsh.c b/src/virsh.c index 4825f1c..3482389 100644 --- a/src/virsh.c +++ b/src/virsh.c @@ -202,8 +202,8 @@ typedef struct __vshControl { static const vshCmdDef commands[]; -static void vshError(vshControl *ctl, int doexit, const char *format, ...) - ATTRIBUTE_FMT_PRINTF(3, 4); +static void vshError(vshControl *ctl, const char *format, ...) + ATTRIBUTE_FMT_PRINTF(2, 3); static int vshInit(vshControl *ctl); static int vshDeinit(vshControl *ctl); static void vshUsage(void); @@ -351,11 +351,11 @@ virshReportError(vshControl *ctl) return; if (last_error->code == VIR_ERR_OK) { - vshError(ctl, FALSE, "%s", _("unknown error")); + vshError(ctl, "%s", _("unknown error")); goto out; } - vshError(ctl, FALSE, "%s", last_error->message); + vshError(ctl, "%s", last_error->message); out: virFreeError(last_error); @@ -433,11 +433,9 @@ cmdAutostart(vshControl *ctl, const vshCmd *cmd) if (virDomainSetAutostart(dom, autostart) < 0) { if (autostart) - vshError(ctl, FALSE, _("Failed to mark domain %s as autostarted"), - name); + vshError(ctl, _("Failed to mark domain %s as autostarted"), name); else - vshError(ctl, FALSE, _("Failed to unmark domain %s as autostarted"), - name); + vshError(ctl, _("Failed to unmark domain %s as autostarted"), name); virDomainFree(dom); return FALSE; } @@ -474,8 +472,7 @@ cmdConnect(vshControl *ctl, const vshCmd *cmd) if (ctl->conn) { if (virConnectClose(ctl->conn) != 0) { - vshError(ctl, FALSE, "%s", - _("Failed to disconnect from the hypervisor")); + vshError(ctl, "%s", _("Failed to disconnect from the hypervisor")); return FALSE; } ctl->conn = NULL; @@ -494,7 +491,7 @@ cmdConnect(vshControl *ctl, const vshCmd *cmd) ctl->readonly ? VIR_CONNECT_RO : 0); if (!ctl->conn) - vshError(ctl, FALSE, "%s", _("Failed to connect to the hypervisor")); + vshError(ctl, "%s", _("Failed to connect to the hypervisor")); return ctl->conn ? TRUE : FALSE; } @@ -528,17 +525,17 @@ cmdRunConsole(vshControl *ctl, virDomainPtr dom) char *thisHost = NULL; if (!(thisHost = virGetHostname())) { - vshError(ctl, FALSE, "%s", _("Failed to get local hostname")); + vshError(ctl, "%s", _("Failed to get local hostname")); goto cleanup; } if (!(thatHost = virConnectGetHostname(ctl->conn))) { - vshError(ctl, FALSE, "%s", _("Failed to get connection hostname")); + vshError(ctl, "%s", _("Failed to get connection hostname")); goto cleanup; } if (STRNEQ(thisHost, thatHost)) { - vshError(ctl, FALSE, "%s", _("Cannot connect to a remote console device")); + vshError(ctl, "%s", _("Cannot connect to a remote console device")); goto cleanup; } @@ -632,14 +629,14 @@ cmdList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (active) { maxid = virConnectNumOfDomains(ctl->conn); if (maxid < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active domains")); + vshError(ctl, "%s", _("Failed to list active domains")); return FALSE; } if (maxid) { ids = vshMalloc(ctl, sizeof(int) * maxid); if ((maxid = virConnectListDomains(ctl->conn, &ids[0], maxid)) < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active domains")); + vshError(ctl, "%s", _("Failed to list active domains")); free(ids); return FALSE; } @@ -650,7 +647,7 @@ cmdList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (inactive) { maxname = virConnectNumOfDefinedDomains(ctl->conn); if (maxname < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list inactive domains")); + vshError(ctl, "%s", _("Failed to list inactive domains")); free(ids); return FALSE; } @@ -658,7 +655,7 @@ cmdList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) names = vshMalloc(ctl, sizeof(char *) * maxname); if ((maxname = virConnectListDefinedDomains(ctl->conn, names, maxname)) < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list inactive domains")); + vshError(ctl, "%s", _("Failed to list inactive domains")); free(ids); free(names); return FALSE; @@ -786,8 +783,7 @@ cmdDomblkstat (vshControl *ctl, const vshCmd *cmd) } if (virDomainBlockStats (dom, device, &stats, sizeof stats) == -1) { - vshError (ctl, FALSE, _("Failed to get block stats %s %s"), - name, device); + vshError(ctl, _("Failed to get block stats %s %s"), name, device); virDomainFree(dom); return FALSE; } @@ -844,8 +840,7 @@ cmdDomIfstat (vshControl *ctl, const vshCmd *cmd) } if (virDomainInterfaceStats (dom, device, &stats, sizeof stats) == -1) { - vshError (ctl, FALSE, _("Failed to get interface stats %s %s"), - name, device); + vshError(ctl, _("Failed to get interface stats %s %s"), name, device); virDomainFree(dom); return FALSE; } @@ -908,7 +903,7 @@ cmdSuspend(vshControl *ctl, const vshCmd *cmd) if (virDomainSuspend(dom) == 0) { vshPrint(ctl, _("Domain %s suspended\n"), name); } else { - vshError(ctl, FALSE, _("Failed to suspend domain %s"), name); + vshError(ctl, _("Failed to suspend domain %s"), name); ret = FALSE; } @@ -967,7 +962,7 @@ cmdCreate(vshControl *ctl, const vshCmd *cmd) #endif virDomainFree(dom); } else { - vshError(ctl, FALSE, _("Failed to create domain from %s"), from); + vshError(ctl, _("Failed to create domain from %s"), from); ret = FALSE; } return ret; @@ -1014,7 +1009,7 @@ cmdDefine(vshControl *ctl, const vshCmd *cmd) virDomainGetName(dom), from); virDomainFree(dom); } else { - vshError(ctl, FALSE, _("Failed to define domain from %s"), from); + vshError(ctl, _("Failed to define domain from %s"), from); ret = FALSE; } return ret; @@ -1052,9 +1047,11 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd) if (name && virStrToLong_i(name, NULL, 10, &id) == 0 && id >= 0 && (dom = virDomainLookupByID(ctl->conn, id))) { - vshError(ctl, FALSE, _("a running domain like %s cannot be undefined;\n" - "to undefine, first shutdown then undefine" - " using its name or UUID"), name); + vshError(ctl, + _("a running domain like %s cannot be undefined;\n" + "to undefine, first shutdown then undefine" + " using its name or UUID"), + name); virDomainFree(dom); return FALSE; } @@ -1065,7 +1062,7 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd) if (virDomainUndefine(dom) == 0) { vshPrint(ctl, _("Domain %s has been undefined\n"), name); } else { - vshError(ctl, FALSE, _("Failed to undefine domain %s"), name); + vshError(ctl, _("Failed to undefine domain %s"), name); ret = FALSE; } @@ -1107,7 +1104,7 @@ cmdStart(vshControl *ctl, const vshCmd *cmd) return FALSE; if (virDomainGetID(dom) != (unsigned int)-1) { - vshError(ctl, FALSE, "%s", _("Domain is already active")); + vshError(ctl, "%s", _("Domain is already active")); virDomainFree(dom); return FALSE; } @@ -1120,8 +1117,7 @@ cmdStart(vshControl *ctl, const vshCmd *cmd) cmdRunConsole(ctl, dom); #endif } else { - vshError(ctl, FALSE, _("Failed to start domain %s"), - virDomainGetName(dom)); + vshError(ctl, _("Failed to start domain %s"), virDomainGetName(dom)); ret = FALSE; } virDomainFree(dom); @@ -1163,7 +1159,7 @@ cmdSave(vshControl *ctl, const vshCmd *cmd) if (virDomainSave(dom, to) == 0) { vshPrint(ctl, _("Domain %s saved to %s\n"), name, to); } else { - vshError(ctl, FALSE, _("Failed to save domain %s to %s"), name, to); + vshError(ctl, _("Failed to save domain %s to %s"), name, to); ret = FALSE; } @@ -1202,7 +1198,7 @@ cmdSchedInfoUpdate(vshControl *ctl, const vshCmd *cmd, int val; val = vshCommandOptInt(cmd, "weight", &found); if (!found) { - vshError(ctl, FALSE, "%s", _("Invalid value of weight")); + vshError(ctl, "%s", _("Invalid value of weight")); return -1; } else { param->value.ui = val; @@ -1217,7 +1213,7 @@ cmdSchedInfoUpdate(vshControl *ctl, const vshCmd *cmd, int val; val = vshCommandOptInt(cmd, "cap", &found); if (!found) { - vshError(ctl, FALSE, "%s", _("Invalid value of cap")); + vshError(ctl, "%s", _("Invalid value of cap")); return -1; } else { param->value.ui = val; @@ -1229,7 +1225,7 @@ cmdSchedInfoUpdate(vshControl *ctl, const vshCmd *cmd, char *val = strchr(data, '='); int match = 0; if (!val) { - vshError(ctl, FALSE, "%s", _("Invalid syntax for --set, expecting name=value")); + vshError(ctl, "%s", _("Invalid syntax for --set, expecting name=value")); return -1; } *val = '\0'; @@ -1243,35 +1239,35 @@ cmdSchedInfoUpdate(vshControl *ctl, const vshCmd *cmd, switch (param->type) { case VIR_DOMAIN_SCHED_FIELD_INT: if (virStrToLong_i(val, NULL, 10, ¶m->value.i) < 0) { - vshError(ctl, FALSE, "%s", + vshError(ctl, "%s", _("Invalid value for parameter, expecting an int")); return -1; } break; case VIR_DOMAIN_SCHED_FIELD_UINT: if (virStrToLong_ui(val, NULL, 10, ¶m->value.ui) < 0) { - vshError(ctl, FALSE, "%s", + vshError(ctl, "%s", _("Invalid value for parameter, expecting an unsigned int")); return -1; } break; case VIR_DOMAIN_SCHED_FIELD_LLONG: if (virStrToLong_ll(val, NULL, 10, ¶m->value.l) < 0) { - vshError(ctl, FALSE, "%s", + vshError(ctl, "%s", _("Invalid value for parameter, expecting an long long")); return -1; } break; case VIR_DOMAIN_SCHED_FIELD_ULLONG: if (virStrToLong_ull(val, NULL, 10, ¶m->value.ul) < 0) { - vshError(ctl, FALSE, "%s", + vshError(ctl, "%s", _("Invalid value for parameter, expecting an unsigned long long")); return -1; } break; case VIR_DOMAIN_SCHED_FIELD_DOUBLE: if (virStrToDouble(val, NULL, ¶m->value.d) < 0) { - vshError(ctl, FALSE, "%s", _("Invalid value for parameter, expecting a double")); + vshError(ctl, "%s", _("Invalid value for parameter, expecting a double")); return -1; } break; @@ -1408,7 +1404,7 @@ cmdRestore(vshControl *ctl, const vshCmd *cmd) if (virDomainRestore(ctl->conn, from) == 0) { vshPrint(ctl, _("Domain restored from %s\n"), from); } else { - vshError(ctl, FALSE, _("Failed to restore domain from %s"), from); + vshError(ctl, _("Failed to restore domain from %s"), from); ret = FALSE; } return ret; @@ -1449,8 +1445,7 @@ cmdDump(vshControl *ctl, const vshCmd *cmd) if (virDomainCoreDump(dom, to, 0) == 0) { vshPrint(ctl, _("Domain %s dumped to %s\n"), name, to); } else { - vshError(ctl, FALSE, _("Failed to core dump domain %s to %s"), - name, to); + vshError(ctl, _("Failed to core dump domain %s to %s"), name, to); ret = FALSE; } @@ -1488,7 +1483,7 @@ cmdResume(vshControl *ctl, const vshCmd *cmd) if (virDomainResume(dom) == 0) { vshPrint(ctl, _("Domain %s resumed\n"), name); } else { - vshError(ctl, FALSE, _("Failed to resume domain %s"), name); + vshError(ctl, _("Failed to resume domain %s"), name); ret = FALSE; } @@ -1526,7 +1521,7 @@ cmdShutdown(vshControl *ctl, const vshCmd *cmd) if (virDomainShutdown(dom) == 0) { vshPrint(ctl, _("Domain %s is being shutdown\n"), name); } else { - vshError(ctl, FALSE, _("Failed to shutdown domain %s"), name); + vshError(ctl, _("Failed to shutdown domain %s"), name); ret = FALSE; } @@ -1564,7 +1559,7 @@ cmdReboot(vshControl *ctl, const vshCmd *cmd) if (virDomainReboot(dom, 0) == 0) { vshPrint(ctl, _("Domain %s is being rebooted\n"), name); } else { - vshError(ctl, FALSE, _("Failed to reboot domain %s"), name); + vshError(ctl, _("Failed to reboot domain %s"), name); ret = FALSE; } @@ -1602,7 +1597,7 @@ cmdDestroy(vshControl *ctl, const vshCmd *cmd) if (virDomainDestroy(dom) == 0) { vshPrint(ctl, _("Domain %s destroyed\n"), name); } else { - vshError(ctl, FALSE, _("Failed to destroy domain %s"), name); + vshError(ctl, _("Failed to destroy domain %s"), name); ret = FALSE; } @@ -1835,8 +1830,8 @@ cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd) } } else { if (info.state == VIR_DOMAIN_SHUTOFF) { - vshError(ctl, FALSE, "%s", - _("Domain shut off, virtual CPUs not present.")); + vshError(ctl, "%s", + _("Domain shut off, virtual CPUs not present.")); } ret = FALSE; } @@ -1886,14 +1881,13 @@ cmdVcpupin(vshControl *ctl, const vshCmd *cmd) vcpu = vshCommandOptInt(cmd, "vcpu", &vcpufound); if (!vcpufound) { - vshError(ctl, FALSE, "%s", - _("vcpupin: Invalid or missing vCPU number.")); + vshError(ctl, "%s", _("vcpupin: Invalid or missing vCPU number.")); virDomainFree(dom); return FALSE; } if (!(cpulist = vshCommandOptString(cmd, "cpulist", NULL))) { - vshError(ctl, FALSE, "%s", _("vcpupin: Missing cpulist")); + vshError(ctl, "%s", _("vcpupin: Missing cpulist")); virDomainFree(dom); return FALSE; } @@ -1904,14 +1898,13 @@ cmdVcpupin(vshControl *ctl, const vshCmd *cmd) } if (virDomainGetInfo(dom, &info) != 0) { - vshError(ctl, FALSE, "%s", - _("vcpupin: failed to get domain informations.")); + vshError(ctl, "%s", _("vcpupin: failed to get domain informations.")); virDomainFree(dom); return FALSE; } if (vcpu >= info.nrVirtCpu) { - vshError(ctl, FALSE, "%s", _("vcpupin: Invalid vCPU number.")); + vshError(ctl, "%s", _("vcpupin: Invalid vCPU number.")); virDomainFree(dom); return FALSE; } @@ -1920,7 +1913,7 @@ cmdVcpupin(vshControl *ctl, const vshCmd *cmd) * numbers and give an intelligent error message if not. */ if (cpulist[0] == '\0') { - vshError(ctl, FALSE, "%s", _("cpulist: Invalid format. Empty string.")); + vshError(ctl, "%s", _("cpulist: Invalid format. Empty string.")); virDomainFree (dom); return FALSE; } @@ -1930,7 +1923,9 @@ cmdVcpupin(vshControl *ctl, const vshCmd *cmd) switch (state) { case expect_num: if (!c_isdigit (cpulist[i])) { - vshError( ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit at position %d (near '%c')."), cpulist, i, cpulist[i]); + vshError(ctl, _("cpulist: %s: Invalid format. Expecting " + "digit at position %d (near '%c')."), + cpulist, i, cpulist[i]); virDomainFree (dom); return FALSE; } @@ -1940,14 +1935,18 @@ cmdVcpupin(vshControl *ctl, const vshCmd *cmd) if (cpulist[i] == ',') state = expect_num; else if (!c_isdigit (cpulist[i])) { - vshError(ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit or comma at position %d (near '%c')."), cpulist, i, cpulist[i]); + vshError(ctl, _("cpulist: %s: Invalid format. Expecting " + "digit or comma at position %d (near '%c')."), + cpulist, i, cpulist[i]); virDomainFree (dom); return FALSE; } } } if (state == expect_num) { - vshError(ctl, FALSE, _("cpulist: %s: Invalid format. Trailing comma at position %d."), cpulist, i); + vshError(ctl, _("cpulist: %s: Invalid format. Trailing comma " + "at position %d."), + cpulist, i); virDomainFree (dom); return FALSE; } @@ -1961,7 +1960,7 @@ cmdVcpupin(vshControl *ctl, const vshCmd *cmd) if (cpu < VIR_NODEINFO_MAXCPUS(nodeinfo)) { VIR_USE_CPU(cpumap, cpu); } else { - vshError(ctl, FALSE, _("Physical CPU %d doesn't exist."), cpu); + vshError(ctl, _("Physical CPU %d doesn't exist."), cpu); free(cpumap); virDomainFree(dom); return FALSE; @@ -2011,7 +2010,7 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd) count = vshCommandOptInt(cmd, "count", &count); if (count <= 0) { - vshError(ctl, FALSE, "%s", _("Invalid number of virtual CPUs.")); + vshError(ctl, "%s", _("Invalid number of virtual CPUs.")); virDomainFree(dom); return FALSE; } @@ -2023,7 +2022,7 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd) } if (count > maxcpu) { - vshError(ctl, FALSE, "%s", _("Too many virtual CPUs.")); + vshError(ctl, "%s", _("Too many virtual CPUs.")); virDomainFree(dom); return FALSE; } @@ -2068,19 +2067,19 @@ cmdSetmem(vshControl *ctl, const vshCmd *cmd) kilobytes = vshCommandOptInt(cmd, "kilobytes", &kilobytes); if (kilobytes <= 0) { virDomainFree(dom); - vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes); + vshError(ctl, _("Invalid value of %d for memory size"), kilobytes); return FALSE; } if (virDomainGetInfo(dom, &info) != 0) { virDomainFree(dom); - vshError(ctl, FALSE, "%s", _("Unable to verify MaxMemorySize")); + vshError(ctl, "%s", _("Unable to verify MaxMemorySize")); return FALSE; } if (kilobytes > info.maxMem) { virDomainFree(dom); - vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes); + vshError(ctl, _("Invalid value of %d for memory size"), kilobytes); return FALSE; } @@ -2124,26 +2123,26 @@ cmdSetmaxmem(vshControl *ctl, const vshCmd *cmd) kilobytes = vshCommandOptInt(cmd, "kilobytes", &kilobytes); if (kilobytes <= 0) { virDomainFree(dom); - vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes); + vshError(ctl, _("Invalid value of %d for memory size"), kilobytes); return FALSE; } if (virDomainGetInfo(dom, &info) != 0) { virDomainFree(dom); - vshError(ctl, FALSE, "%s", _("Unable to verify current MemorySize")); + vshError(ctl, "%s", _("Unable to verify current MemorySize")); return FALSE; } if (kilobytes < info.memory) { if (virDomainSetMemory(dom, kilobytes) != 0) { virDomainFree(dom); - vshError(ctl, FALSE, "%s", _("Unable to shrink current MemorySize")); + vshError(ctl, "%s", _("Unable to shrink current MemorySize")); return FALSE; } } if (virDomainSetMaxMemory(dom, kilobytes) != 0) { - vshError(ctl, FALSE, "%s", _("Unable to change MaxMemorySize")); + vshError(ctl, "%s", _("Unable to change MaxMemorySize")); ret = FALSE; } @@ -2169,7 +2168,7 @@ cmdNodeinfo(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) return FALSE; if (virNodeGetInfo(ctl->conn, &info) < 0) { - vshError(ctl, FALSE, "%s", _("failed to get node information")); + vshError(ctl, "%s", _("failed to get node information")); return FALSE; } vshPrint(ctl, "%-20s %s\n", _("CPU model:"), info.model); @@ -2202,7 +2201,7 @@ cmdCapabilities (vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) return FALSE; if ((caps = virConnectGetCapabilities (ctl->conn)) == NULL) { - vshError(ctl, FALSE, "%s", _("failed to get capabilities")); + vshError(ctl, "%s", _("failed to get capabilities")); return FALSE; } vshPrint (ctl, "%s\n", caps); @@ -2446,7 +2445,7 @@ cmdDomuuid(vshControl *ctl, const vshCmd *cmd) if (virDomainGetUUIDString(dom, uuid) != -1) vshPrint(ctl, "%s\n", uuid); else - vshError(ctl, FALSE, "%s", _("failed to get domain UUID")); + vshError(ctl, "%s", _("failed to get domain UUID")); virDomainFree(dom); return TRUE; @@ -2489,7 +2488,7 @@ cmdMigrate (vshControl *ctl, const vshCmd *cmd) desturi = vshCommandOptString (cmd, "desturi", &found); if (!found) { - vshError (ctl, FALSE, "%s", _("migrate: Missing desturi")); + vshError(ctl, "%s", _("migrate: Missing desturi")); goto done; } @@ -2550,11 +2549,9 @@ cmdNetworkAutostart(vshControl *ctl, const vshCmd *cmd) if (virNetworkSetAutostart(network, autostart) < 0) { if (autostart) - vshError(ctl, FALSE, _("failed to mark network %s as autostarted"), - name); + vshError(ctl, _("failed to mark network %s as autostarted"), name); else - vshError(ctl, FALSE,_("failed to unmark network %s as autostarted"), - name); + vshError(ctl, _("failed to unmark network %s as autostarted"), name); virNetworkFree(network); return FALSE; } @@ -2609,7 +2606,7 @@ cmdNetworkCreate(vshControl *ctl, const vshCmd *cmd) virNetworkGetName(network), from); virNetworkFree(network); } else { - vshError(ctl, FALSE, _("Failed to create network from %s"), from); + vshError(ctl, _("Failed to create network from %s"), from); ret = FALSE; } return ret; @@ -2657,7 +2654,7 @@ cmdNetworkDefine(vshControl *ctl, const vshCmd *cmd) virNetworkGetName(network), from); virNetworkFree(network); } else { - vshError(ctl, FALSE, _("Failed to define network from %s"), from); + vshError(ctl, _("Failed to define network from %s"), from); ret = FALSE; } return ret; @@ -2694,7 +2691,7 @@ cmdNetworkDestroy(vshControl *ctl, const vshCmd *cmd) if (virNetworkDestroy(network) == 0) { vshPrint(ctl, _("Network %s destroyed\n"), name); } else { - vshError(ctl, FALSE, _("Failed to destroy network %s"), name); + vshError(ctl, _("Failed to destroy network %s"), name); ret = FALSE; } @@ -2811,8 +2808,8 @@ cmdInterfaceEdit (vshControl *ctl, const vshCmd *cmd) goto cleanup; if (STRNEQ (doc, doc_reread)) { - vshError (ctl, FALSE, "%s", - _("ERROR: the XML configuration was changed by another user")); + vshError(ctl, "%s", + _("ERROR: the XML configuration was changed by another user")); goto cleanup; } @@ -2874,7 +2871,7 @@ cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (active) { maxactive = virConnectNumOfNetworks(ctl->conn); if (maxactive < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active networks")); + vshError(ctl, "%s", _("Failed to list active networks")); return FALSE; } if (maxactive) { @@ -2882,7 +2879,7 @@ cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if ((maxactive = virConnectListNetworks(ctl->conn, activeNames, maxactive)) < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active networks")); + vshError(ctl, "%s", _("Failed to list active networks")); free(activeNames); return FALSE; } @@ -2893,7 +2890,7 @@ cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (inactive) { maxinactive = virConnectNumOfDefinedNetworks(ctl->conn); if (maxinactive < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list inactive networks")); + vshError(ctl, "%s", _("Failed to list inactive networks")); free(activeNames); return FALSE; } @@ -2903,8 +2900,7 @@ cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if ((maxinactive = virConnectListDefinedNetworks(ctl->conn, inactiveNames, maxinactive)) < 0) { - vshError(ctl, FALSE, "%s", - _("Failed to list inactive networks")); + vshError(ctl, "%s", _("Failed to list inactive networks")); free(activeNames); free(inactiveNames); return FALSE; @@ -3032,7 +3028,7 @@ cmdNetworkStart(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, _("Network %s started\n"), virNetworkGetName(network)); } else { - vshError(ctl, FALSE, _("Failed to start network %s"), + vshError(ctl, _("Failed to start network %s"), virNetworkGetName(network)); ret = FALSE; } @@ -3071,7 +3067,7 @@ cmdNetworkUndefine(vshControl *ctl, const vshCmd *cmd) if (virNetworkUndefine(network) == 0) { vshPrint(ctl, _("Network %s has been undefined\n"), name); } else { - vshError(ctl, FALSE, _("Failed to undefine network %s"), name); + vshError(ctl, _("Failed to undefine network %s"), name); ret = FALSE; } @@ -3110,7 +3106,7 @@ cmdNetworkUuid(vshControl *ctl, const vshCmd *cmd) if (virNetworkGetUUIDString(network, uuid) != -1) vshPrint(ctl, "%s\n", uuid); else - vshError(ctl, FALSE, "%s", _("failed to get network UUID")); + vshError(ctl, "%s", _("failed to get network UUID")); virNetworkFree(network); return TRUE; @@ -3148,7 +3144,7 @@ cmdInterfaceList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (active) { maxactive = virConnectNumOfInterfaces(ctl->conn); if (maxactive < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active interfaces")); + vshError(ctl, "%s", _("Failed to list active interfaces")); return FALSE; } if (maxactive) { @@ -3156,8 +3152,7 @@ cmdInterfaceList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if ((maxactive = virConnectListInterfaces(ctl->conn, activeNames, maxactive)) < 0) { - vshError(ctl, FALSE, "%s", - _("Failed to list active interfaces")); + vshError(ctl, "%s", _("Failed to list active interfaces")); free(activeNames); return FALSE; } @@ -3168,8 +3163,7 @@ cmdInterfaceList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (inactive) { maxinactive = virConnectNumOfDefinedInterfaces(ctl->conn); if (maxinactive < 0) { - vshError(ctl, FALSE, "%s", - _("Failed to list inactive interfaces")); + vshError(ctl, "%s", _("Failed to list inactive interfaces")); free(activeNames); return FALSE; } @@ -3179,8 +3173,7 @@ cmdInterfaceList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if ((maxinactive = virConnectListDefinedInterfaces(ctl->conn, inactiveNames, maxinactive)) < 0) { - vshError(ctl, FALSE, "%s", - _("Failed to list inactive interfaces")); + vshError(ctl, "%s", _("Failed to list inactive interfaces")); free(activeNames); free(inactiveNames); return FALSE; @@ -3373,7 +3366,7 @@ cmdInterfaceDefine(vshControl *ctl, const vshCmd *cmd) virInterfaceGetName(iface), from); virInterfaceFree (iface); } else { - vshError(ctl, FALSE, _("Failed to define interface from %s"), from); + vshError(ctl, _("Failed to define interface from %s"), from); ret = FALSE; } return ret; @@ -3409,7 +3402,7 @@ cmdInterfaceUndefine(vshControl *ctl, const vshCmd *cmd) if (virInterfaceUndefine(iface) == 0) { vshPrint(ctl, _("Interface %s undefined\n"), name); } else { - vshError(ctl, FALSE, _("Failed to undefine interface %s"), name); + vshError(ctl, _("Failed to undefine interface %s"), name); ret = FALSE; } @@ -3447,7 +3440,7 @@ cmdInterfaceStart(vshControl *ctl, const vshCmd *cmd) if (virInterfaceCreate(iface, 0) == 0) { vshPrint(ctl, _("Interface %s started\n"), name); } else { - vshError(ctl, FALSE, _("Failed to start interface %s"), name); + vshError(ctl, _("Failed to start interface %s"), name); ret = FALSE; } @@ -3485,7 +3478,7 @@ cmdInterfaceDestroy(vshControl *ctl, const vshCmd *cmd) if (virInterfaceDestroy(iface, 0) == 0) { vshPrint(ctl, _("Interface %s destroyed\n"), name); } else { - vshError(ctl, FALSE, _("Failed to destroy interface %s"), name); + vshError(ctl, _("Failed to destroy interface %s"), name); ret = FALSE; } @@ -3527,11 +3520,9 @@ cmdPoolAutostart(vshControl *ctl, const vshCmd *cmd) if (virStoragePoolSetAutostart(pool, autostart) < 0) { if (autostart) - vshError(ctl, FALSE, _("failed to mark pool %s as autostarted"), - name); + vshError(ctl, _("failed to mark pool %s as autostarted"), name); else - vshError(ctl, FALSE,_("failed to unmark pool %s as autostarted"), - name); + vshError(ctl, _("failed to unmark pool %s as autostarted"), name); virStoragePoolFree(pool); return FALSE; } @@ -3587,7 +3578,7 @@ cmdPoolCreate(vshControl *ctl, const vshCmd *cmd) virStoragePoolGetName(pool), from); virStoragePoolFree(pool); } else { - vshError(ctl, FALSE, _("Failed to create pool from %s"), from); + vshError(ctl, _("Failed to create pool from %s"), from); ret = FALSE; } return ret; @@ -3641,7 +3632,7 @@ cmdNodeDeviceCreate(vshControl *ctl, const vshCmd *cmd) virNodeDeviceGetName(dev), from); virNodeDeviceFree(dev); } else { - vshError(ctl, FALSE, _("Failed to create node device from %s"), from); + vshError(ctl, _("Failed to create node device from %s"), from); ret = FALSE; } @@ -3687,7 +3678,7 @@ cmdNodeDeviceDestroy(vshControl *ctl, const vshCmd *cmd) if (virNodeDeviceDestroy(dev) == 0) { vshPrint(ctl, _("Destroyed node device '%s'\n"), name); } else { - vshError(ctl, FALSE, _("Failed to destroy node device '%s'"), name); + vshError(ctl, _("Failed to destroy node device '%s'"), name); ret = FALSE; } @@ -3800,7 +3791,7 @@ cmdPoolCreateAs(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, _("Pool %s created\n"), name); virStoragePoolFree(pool); } else { - vshError(ctl, FALSE, _("Failed to create pool %s"), name); + vshError(ctl, _("Failed to create pool %s"), name); return FALSE; } } @@ -3849,7 +3840,7 @@ cmdPoolDefine(vshControl *ctl, const vshCmd *cmd) virStoragePoolGetName(pool), from); virStoragePoolFree(pool); } else { - vshError(ctl, FALSE, _("Failed to define pool from %s"), from); + vshError(ctl, _("Failed to define pool from %s"), from); ret = FALSE; } return ret; @@ -3889,7 +3880,7 @@ cmdPoolDefineAs(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, _("Pool %s defined\n"), name); virStoragePoolFree(pool); } else { - vshError(ctl, FALSE, _("Failed to define pool %s"), name); + vshError(ctl, _("Failed to define pool %s"), name); return FALSE; } } @@ -3927,7 +3918,7 @@ cmdPoolBuild(vshControl *ctl, const vshCmd *cmd) if (virStoragePoolBuild(pool, 0) == 0) { vshPrint(ctl, _("Pool %s built\n"), name); } else { - vshError(ctl, FALSE, _("Failed to build pool %s"), name); + vshError(ctl, _("Failed to build pool %s"), name); ret = FALSE; virStoragePoolFree(pool); } @@ -3966,7 +3957,7 @@ cmdPoolDestroy(vshControl *ctl, const vshCmd *cmd) if (virStoragePoolDestroy(pool) == 0) { vshPrint(ctl, _("Pool %s destroyed\n"), name); } else { - vshError(ctl, FALSE, _("Failed to destroy pool %s"), name); + vshError(ctl, _("Failed to destroy pool %s"), name); ret = FALSE; } @@ -4005,7 +3996,7 @@ cmdPoolDelete(vshControl *ctl, const vshCmd *cmd) if (virStoragePoolDelete(pool, 0) == 0) { vshPrint(ctl, _("Pool %s deleted\n"), name); } else { - vshError(ctl, FALSE, _("Failed to delete pool %s"), name); + vshError(ctl, _("Failed to delete pool %s"), name); ret = FALSE; } @@ -4044,7 +4035,7 @@ cmdPoolRefresh(vshControl *ctl, const vshCmd *cmd) if (virStoragePoolRefresh(pool, 0) == 0) { vshPrint(ctl, _("Pool %s refreshed\n"), name); } else { - vshError(ctl, FALSE, _("Failed to refresh pool %s"), name); + vshError(ctl, _("Failed to refresh pool %s"), name); ret = FALSE; } virStoragePoolFree(pool); @@ -4124,7 +4115,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (active) { maxactive = virConnectNumOfStoragePools(ctl->conn); if (maxactive < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active pools")); + vshError(ctl, "%s", _("Failed to list active pools")); return FALSE; } if (maxactive) { @@ -4132,7 +4123,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if ((maxactive = virConnectListStoragePools(ctl->conn, activeNames, maxactive)) < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active pools")); + vshError(ctl, "%s", _("Failed to list active pools")); free(activeNames); return FALSE; } @@ -4143,7 +4134,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if (inactive) { maxinactive = virConnectNumOfDefinedStoragePools(ctl->conn); if (maxinactive < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list inactive pools")); + vshError(ctl, "%s", _("Failed to list inactive pools")); free(activeNames); return FALSE; } @@ -4151,7 +4142,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) inactiveNames = vshMalloc(ctl, sizeof(char *) * maxinactive); if ((maxinactive = virConnectListDefinedStoragePools(ctl->conn, inactiveNames, maxinactive)) < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list inactive pools")); + vshError(ctl, "%s", _("Failed to list inactive pools")); free(activeNames); free(inactiveNames); return FALSE; @@ -4273,10 +4264,10 @@ cmdPoolDiscoverSourcesAs(vshControl * ctl, const vshCmd * cmd ATTRIBUTE_UNUSED) if (ret < 0) { switch (errno) { case ENOMEM: - vshError(ctl, FALSE, "%s", _("Out of memory")); + vshError(ctl, "%s", _("Out of memory")); break; default: - vshError(ctl, FALSE, _("virAsprintf failed (errno %d)"), errno); + vshError(ctl, _("virAsprintf failed (errno %d)"), errno); } return FALSE; } @@ -4285,7 +4276,7 @@ cmdPoolDiscoverSourcesAs(vshControl * ctl, const vshCmd * cmd ATTRIBUTE_UNUSED) srcList = virConnectFindStoragePoolSources(ctl->conn, type, srcSpec, 0); free(srcSpec); if (srcList == NULL) { - vshError(ctl, FALSE, _("Failed to find any %s pool sources"), type); + vshError(ctl, _("Failed to find any %s pool sources"), type); return FALSE; } vshPrint(ctl, "%s", srcList); @@ -4336,7 +4327,7 @@ cmdPoolDiscoverSources(vshControl * ctl, const vshCmd * cmd ATTRIBUTE_UNUSED) srcList = virConnectFindStoragePoolSources(ctl->conn, type, srcSpec, 0); free(srcSpec); if (srcList == NULL) { - vshError(ctl, FALSE, _("Failed to find any %s pool sources"), type); + vshError(ctl, _("Failed to find any %s pool sources"), type); return FALSE; } vshPrint(ctl, "%s", srcList); @@ -4503,8 +4494,7 @@ cmdPoolStart(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, _("Pool %s started\n"), virStoragePoolGetName(pool)); } else { - vshError(ctl, FALSE, _("Failed to start pool %s"), - virStoragePoolGetName(pool)); + vshError(ctl, _("Failed to start pool %s"), virStoragePoolGetName(pool)); ret = FALSE; } @@ -4585,12 +4575,12 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd) if (!found) goto cleanup; if (cmdVolSize(capacityStr, &capacity) < 0) - vshError(ctl, FALSE, _("Malformed size %s"), capacityStr); + vshError(ctl, _("Malformed size %s"), capacityStr); allocationStr = vshCommandOptString(cmd, "allocation", &found); if (allocationStr && cmdVolSize(allocationStr, &allocation) < 0) - vshError(ctl, FALSE, _("Malformed size %s"), allocationStr); + vshError(ctl, _("Malformed size %s"), allocationStr); format = vshCommandOptString(cmd, "format", &found); @@ -4623,7 +4613,7 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd) virStorageVolFree(vol); return TRUE; } else { - vshError(ctl, FALSE, _("Failed to create vol %s"), name); + vshError(ctl, _("Failed to create vol %s"), name); return FALSE; } @@ -4664,7 +4654,7 @@ cmdPoolUndefine(vshControl *ctl, const vshCmd *cmd) if (virStoragePoolUndefine(pool) == 0) { vshPrint(ctl, _("Pool %s has been undefined\n"), name); } else { - vshError(ctl, FALSE, _("Failed to undefine pool %s"), name); + vshError(ctl, _("Failed to undefine pool %s"), name); ret = FALSE; } @@ -4703,7 +4693,7 @@ cmdPoolUuid(vshControl *ctl, const vshCmd *cmd) if (virStoragePoolGetUUIDString(pool, uuid) != -1) vshPrint(ctl, "%s\n", uuid); else - vshError(ctl, FALSE, "%s", _("failed to get pool UUID")); + vshError(ctl, "%s", _("failed to get pool UUID")); virStoragePoolFree(pool); return TRUE; @@ -4762,7 +4752,7 @@ cmdVolCreate(vshControl *ctl, const vshCmd *cmd) virStorageVolGetName(vol), from); virStorageVolFree(vol); } else { - vshError(ctl, FALSE, _("Failed to create vol from %s"), from); + vshError(ctl, _("Failed to create vol from %s"), from); ret = FALSE; } return ret; @@ -4819,7 +4809,7 @@ cmdVolCreateFrom(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, _("Vol %s created from input vol %s\n"), virStorageVolGetName(newvol), virStorageVolGetName(inputvol)); } else { - vshError(ctl, FALSE, _("Failed to create vol from %s"), from); + vshError(ctl, _("Failed to create vol from %s"), from); goto cleanup; } @@ -4901,7 +4891,7 @@ cmdVolClone(vshControl *ctl, const vshCmd *cmd) origpool = virStoragePoolLookupByVolume(origvol); if (!origpool) { - vshError(ctl, FALSE, "%s", _("failed to get parent pool")); + vshError(ctl, "%s", _("failed to get parent pool")); goto cleanup; } @@ -4925,7 +4915,7 @@ cmdVolClone(vshControl *ctl, const vshCmd *cmd) vshPrint(ctl, _("Vol %s cloned from %s\n"), virStorageVolGetName(newvol), virStorageVolGetName(origvol)); } else { - vshError(ctl, FALSE, _("Failed to clone vol from %s"), + vshError(ctl, _("Failed to clone vol from %s"), virStorageVolGetName(origvol)); goto cleanup; } @@ -4976,7 +4966,7 @@ cmdVolDelete(vshControl *ctl, const vshCmd *cmd) if (virStorageVolDelete(vol, 0) == 0) { vshPrint(ctl, _("Vol %s deleted\n"), name); } else { - vshError(ctl, FALSE, _("Failed to delete vol %s"), name); + vshError(ctl, _("Failed to delete vol %s"), name); ret = FALSE; } @@ -5107,7 +5097,7 @@ cmdVolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) maxactive = virStoragePoolNumOfVolumes(pool); if (maxactive < 0) { virStoragePoolFree(pool); - vshError(ctl, FALSE, "%s", _("Failed to list active vols")); + vshError(ctl, "%s", _("Failed to list active vols")); return FALSE; } if (maxactive) { @@ -5115,7 +5105,7 @@ cmdVolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) if ((maxactive = virStoragePoolListVolumes(pool, activeNames, maxactive)) < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list active vols")); + vshError(ctl, "%s", _("Failed to list active vols")); free(activeNames); virStoragePoolFree(pool); return FALSE; @@ -5288,12 +5278,11 @@ cmdSecretDefine(vshControl *ctl, const vshCmd *cmd) free (buffer); if (res == NULL) { - vshError(ctl, FALSE, _("Failed to set attributes from %s"), from); + vshError(ctl, _("Failed to set attributes from %s"), from); return FALSE; } if (virSecretGetUUIDString(res, &(uuid[0])) < 0) { - vshError(ctl, FALSE, "%s", - _("Failed to get UUID of created secret")); + vshError(ctl, "%s", _("Failed to get UUID of created secret")); virSecretFree(res); return FALSE; } @@ -5377,11 +5366,11 @@ cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd) goto cleanup; if (!base64_decode_alloc(base64, strlen(base64), &value, &value_size)) { - vshError(ctl, FALSE, _("Invalid base64 data")); + vshError(ctl, _("Invalid base64 data")); goto cleanup; } if (value == NULL) { - vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); + vshError(ctl, "%s", _("Failed to allocate memory")); return FALSE; } @@ -5390,7 +5379,7 @@ cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd) free (value); if (res != 0) { - vshError(ctl, FALSE, "%s", _("Failed to set secret value")); + vshError(ctl, "%s", _("Failed to set secret value")); goto cleanup; } vshPrint(ctl, "%s", _("Secret value set\n")); @@ -5440,7 +5429,7 @@ cmdSecretGetValue(vshControl *ctl, const vshCmd *cmd) free(value); if (base64 == NULL) { - vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); + vshError(ctl, "%s", _("Failed to allocate memory")); goto cleanup; } printf("%s", base64); @@ -5482,7 +5471,7 @@ cmdSecretUndefine(vshControl *ctl, const vshCmd *cmd) return FALSE; if (virSecretUndefine(secret) < 0) { - vshError(ctl, FALSE, _("Failed to delete secret %s"), uuid); + vshError(ctl, _("Failed to delete secret %s"), uuid); goto cleanup; } vshPrint(ctl, _("Secret %s deleted\n"), uuid); @@ -5513,14 +5502,14 @@ cmdSecretList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) maxuuids = virConnectNumOfSecrets(ctl->conn); if (maxuuids < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list secrets")); + vshError(ctl, "%s", _("Failed to list secrets")); return FALSE; } uuids = vshMalloc(ctl, sizeof(*uuids) * maxuuids); maxuuids = virConnectListSecrets(ctl->conn, uuids, maxuuids); if (maxuuids < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list secrets")); + vshError(ctl, "%s", _("Failed to list secrets")); free(uuids); return FALSE; } @@ -5589,7 +5578,7 @@ cmdVersion(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) hvType = virConnectGetType(ctl->conn); if (hvType == NULL) { - vshError(ctl, FALSE, "%s", _("failed to get hypervisor type")); + vshError(ctl, "%s", _("failed to get hypervisor type")); return FALSE; } @@ -5603,7 +5592,7 @@ cmdVersion(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) ret = virGetVersion(&libVersion, hvType, &apiVersion); if (ret < 0) { - vshError(ctl, FALSE, "%s", _("failed to get the library version")); + vshError(ctl, "%s", _("failed to get the library version")); return FALSE; } major = libVersion / 1000000; @@ -5622,7 +5611,7 @@ cmdVersion(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) ret = virConnectGetVersion(ctl->conn, &hvVersion); if (ret < 0) { - vshError(ctl, FALSE, "%s", _("failed to get the hypervisor version")); + vshError(ctl, "%s", _("failed to get the hypervisor version")); return FALSE; } if (hvVersion == 0) { @@ -5752,7 +5741,7 @@ cmdNodeListDevices (vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) num_devices = virNodeNumOfDevices(ctl->conn, cap, 0); if (num_devices < 0) { - vshError(ctl, FALSE, "%s", _("Failed to count node devices")); + vshError(ctl, "%s", _("Failed to count node devices")); return FALSE; } else if (num_devices == 0) { return TRUE; @@ -5762,7 +5751,7 @@ cmdNodeListDevices (vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) num_devices = virNodeListDevices(ctl->conn, cap, devices, num_devices, 0); if (num_devices < 0) { - vshError(ctl, FALSE, "%s", _("Failed to list node devices")); + vshError(ctl, "%s", _("Failed to list node devices")); free(devices); return FALSE; } @@ -5835,7 +5824,7 @@ cmdNodeDeviceDumpXML (vshControl *ctl, const vshCmd *cmd) if (!(name = vshCommandOptString(cmd, "device", NULL))) return FALSE; if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { - vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); + vshError(ctl, "%s '%s'", _("Could not find matching device"), name); return FALSE; } @@ -5878,14 +5867,14 @@ cmdNodeDeviceDettach (vshControl *ctl, const vshCmd *cmd) if (!(name = vshCommandOptString(cmd, "device", NULL))) return FALSE; if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { - vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); + vshError(ctl, "%s '%s'", _("Could not find matching device"), name); return FALSE; } if (virNodeDeviceDettach(device) == 0) { vshPrint(ctl, _("Device %s dettached\n"), name); } else { - vshError(ctl, FALSE, _("Failed to dettach device %s"), name); + vshError(ctl, _("Failed to dettach device %s"), name); ret = FALSE; } virNodeDeviceFree(device); @@ -5919,14 +5908,14 @@ cmdNodeDeviceReAttach (vshControl *ctl, const vshCmd *cmd) if (!(name = vshCommandOptString(cmd, "device", NULL))) return FALSE; if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { - vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); + vshError(ctl, "%s '%s'", _("Could not find matching device"), name); return FALSE; } if (virNodeDeviceReAttach(device) == 0) { vshPrint(ctl, _("Device %s re-attached\n"), name); } else { - vshError(ctl, FALSE, _("Failed to re-attach device %s"), name); + vshError(ctl, _("Failed to re-attach device %s"), name); ret = FALSE; } virNodeDeviceFree(device); @@ -5960,14 +5949,14 @@ cmdNodeDeviceReset (vshControl *ctl, const vshCmd *cmd) if (!(name = vshCommandOptString(cmd, "device", NULL))) return FALSE; if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { - vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name); + vshError(ctl, "%s '%s'", _("Could not find matching device"), name); return FALSE; } if (virNodeDeviceReset(device) == 0) { vshPrint(ctl, _("Device %s reset\n"), name); } else { - vshError(ctl, FALSE, _("Failed to reset device %s"), name); + vshError(ctl, _("Failed to reset device %s"), name); ret = FALSE; } virNodeDeviceFree(device); @@ -5993,7 +5982,7 @@ cmdHostname (vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) hostname = virConnectGetHostname (ctl->conn); if (hostname == NULL) { - vshError(ctl, FALSE, "%s", _("failed to get hostname")); + vshError(ctl, "%s", _("failed to get hostname")); return FALSE; } @@ -6022,7 +6011,7 @@ cmdURI (vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) uri = virConnectGetURI (ctl->conn); if (uri == NULL) { - vshError(ctl, FALSE, "%s", _("failed to get URI")); + vshError(ctl, "%s", _("failed to get URI")); return FALSE; } @@ -6200,7 +6189,7 @@ cmdAttachDevice(vshControl *ctl, const vshCmd *cmd) from = vshCommandOptString(cmd, "file", &found); if (!found) { - vshError(ctl, FALSE, "%s", _("attach-device: Missing option")); + vshError(ctl, "%s", _("attach-device: Missing option")); virDomainFree(dom); return FALSE; } @@ -6214,7 +6203,7 @@ cmdAttachDevice(vshControl *ctl, const vshCmd *cmd) free (buffer); if (ret < 0) { - vshError(ctl, FALSE, _("Failed to attach device from %s"), from); + vshError(ctl, _("Failed to attach device from %s"), from); virDomainFree(dom); return FALSE; } else { @@ -6258,7 +6247,7 @@ cmdDetachDevice(vshControl *ctl, const vshCmd *cmd) from = vshCommandOptString(cmd, "file", &found); if (!found) { - vshError(ctl, FALSE, "%s", _("detach-device: Missing option")); + vshError(ctl, "%s", _("detach-device: Missing option")); virDomainFree(dom); return FALSE; } @@ -6272,7 +6261,7 @@ cmdDetachDevice(vshControl *ctl, const vshCmd *cmd) free (buffer); if (ret < 0) { - vshError(ctl, FALSE, _("Failed to detach device from %s"), from); + vshError(ctl, _("Failed to detach device from %s"), from); virDomainFree(dom); return FALSE; } else { @@ -6331,7 +6320,7 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd) } else if (STREQ(type, "bridge")) { typ = 2; } else { - vshError(ctl, FALSE, _("No support %s in command 'attach-interface'"), type); + vshError(ctl, _("No support %s in command 'attach-interface'"), type); goto cleanup; } @@ -6450,12 +6439,12 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd) XML_PARSE_NOWARNING); free(doc); if (!xml) { - vshError(ctl, FALSE, "%s", _("Failed to get interface information")); + vshError(ctl, "%s", _("Failed to get interface information")); goto cleanup; } ctxt = xmlXPathNewContext(xml); if (!ctxt) { - vshError(ctl, FALSE, "%s", _("Failed to get interface information")); + vshError(ctl, "%s", _("Failed to get interface information")); goto cleanup; } @@ -6463,7 +6452,7 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd) obj = xmlXPathEval(BAD_CAST buf, ctxt); if ((obj == NULL) || (obj->type != XPATH_NODESET) || (obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) { - vshError(ctl, FALSE, _("No found interface whose type is %s"), type); + vshError(ctl, _("No found interface whose type is %s"), type); goto cleanup; } @@ -6485,18 +6474,18 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd) cur = cur->next; } } - vshError(ctl, FALSE, _("No found interface whose MAC address is %s"), mac); + vshError(ctl, _("No found interface whose MAC address is %s"), mac); goto cleanup; hit: xml_buf = xmlBufferCreate(); if (!xml_buf) { - vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); + vshError(ctl, "%s", _("Failed to allocate memory")); goto cleanup; } if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){ - vshError(ctl, FALSE, "%s", _("Failed to create XML")); + vshError(ctl, "%s", _("Failed to create XML")); goto cleanup; } @@ -6569,14 +6558,14 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd) if (STREQ(driver, "file") || STREQ(driver, "tap")) { isFile = 1; } else if (STRNEQ(driver, "phy")) { - vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), driver); + vshError(ctl, _("No support %s in command 'attach-disk'"), driver); goto cleanup; } } if (mode) { if (STRNEQ(mode, "readonly") && STRNEQ(mode, "shareable")) { - vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), mode); + vshError(ctl, _("No support %s in command 'attach-disk'"), mode); goto cleanup; } } @@ -6723,19 +6712,19 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd) XML_PARSE_NOWARNING); free(doc); if (!xml) { - vshError(ctl, FALSE, "%s", _("Failed to get disk information")); + vshError(ctl, "%s", _("Failed to get disk information")); goto cleanup; } ctxt = xmlXPathNewContext(xml); if (!ctxt) { - vshError(ctl, FALSE, "%s", _("Failed to get disk information")); + vshError(ctl, "%s", _("Failed to get disk information")); goto cleanup; } obj = xmlXPathEval(BAD_CAST "/domain/devices/disk", ctxt); if ((obj == NULL) || (obj->type != XPATH_NODESET) || (obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) { - vshError(ctl, FALSE, "%s", _("Failed to get disk information")); + vshError(ctl, "%s", _("Failed to get disk information")); goto cleanup; } @@ -6754,18 +6743,18 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd) cur = cur->next; } } - vshError(ctl, FALSE, _("No found disk whose target is %s"), target); + vshError(ctl, _("No found disk whose target is %s"), target); goto cleanup; hit: xml_buf = xmlBufferCreate(); if (!xml_buf) { - vshError(ctl, FALSE, "%s", _("Failed to allocate memory")); + vshError(ctl, "%s", _("Failed to allocate memory")); goto cleanup; } if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){ - vshError(ctl, FALSE, "%s", _("Failed to create XML")); + vshError(ctl, "%s", _("Failed to create XML")); goto cleanup; } @@ -6799,9 +6788,8 @@ editWriteToTempFile (vshControl *ctl, const char *doc) ret = malloc (PATH_MAX); if (!ret) { - vshError(ctl, FALSE, - _("malloc: failed to allocate temporary file name: %s"), - strerror (errno)); + vshError(ctl, _("malloc: failed to allocate temporary file name: %s"), + strerror(errno)); return NULL; } @@ -6810,25 +6798,22 @@ editWriteToTempFile (vshControl *ctl, const char *doc) snprintf (ret, PATH_MAX, "%s/virshXXXXXX", tmpdir); fd = mkstemp (ret); if (fd == -1) { - vshError(ctl, FALSE, - _("mkstemp: failed to create temporary file: %s"), - strerror (errno)); + vshError(ctl, _("mkstemp: failed to create temporary file: %s"), + strerror(errno)); return NULL; } if (safewrite (fd, doc, strlen (doc)) == -1) { - vshError(ctl, FALSE, - _("write: %s: failed to write to temporary file: %s"), - ret, strerror (errno)); + vshError(ctl, _("write: %s: failed to write to temporary file: %s"), + ret, strerror(errno)); close (fd); unlink (ret); free (ret); return NULL; } if (close (fd) == -1) { - vshError(ctl, FALSE, - _("close: %s: failed to write or close temporary file: %s"), - ret, strerror (errno)); + vshError(ctl, _("close: %s: failed to write or close temporary file: %s"), + ret, strerror(errno)); unlink (ret); free (ret); return NULL; @@ -6856,35 +6841,37 @@ editFile (vshControl *ctl, const char *filename) * it does, refuse to run. */ if (strspn (editor, ACCEPTED_CHARS) != strlen (editor)) { - vshError(ctl, FALSE, - _("%s: $EDITOR environment variable contains shell meta or other unacceptable characters"), + vshError(ctl, + _("%s: $EDITOR environment variable contains shell meta or " + "other unacceptable characters"), editor); return -1; } /* Same for the filename. */ if (strspn (filename, ACCEPTED_CHARS) != strlen (filename)) { - vshError(ctl, FALSE, - _("%s: temporary filename contains shell meta or other unacceptable characters (is $TMPDIR wrong?)"), + vshError(ctl, + _("%s: temporary filename contains shell meta or other " + "unacceptable characters (is $TMPDIR wrong?)"), filename); return -1; } if (virAsprintf(&command, "%s %s", editor, filename) == -1) { - vshError(ctl, FALSE, + vshError(ctl, _("virAsprintf: could not create editing command: %s"), - strerror (errno)); + strerror(errno)); return -1; } command_ret = system (command); if (command_ret == -1) { - vshError(ctl, FALSE, - _("%s: edit command failed: %s"), command, strerror (errno)); + vshError(ctl, + _("%s: edit command failed: %s"), command, strerror(errno)); free (command); return -1; } if (command_ret != WEXITSTATUS (0)) { - vshError(ctl, FALSE, + vshError(ctl, _("%s: command exited with non-zero status"), command); free (command); return -1; @@ -6899,9 +6886,9 @@ editReadBackFile (vshControl *ctl, const char *filename) char *ret; if (virFileReadAll (filename, VIRSH_MAX_XML_FILE, &ret) == -1) { - vshError(ctl, FALSE, + vshError(ctl, _("%s: failed to read temporary file: %s"), - filename, strerror (errno)); + filename, strerror(errno)); return NULL; } return ret; @@ -6930,8 +6917,7 @@ cmdCd(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) int found; if (!ctl->imode) { - vshError(ctl, FALSE, "%s", - _("cd: command valid only in interactive mode")); + vshError(ctl, "%s", _("cd: command valid only in interactive mode")); return -1; } @@ -6944,7 +6930,7 @@ cmdCd(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) dir = "/"; if (chdir (dir) == -1) { - vshError(ctl, FALSE, _("cd: %s: %s"), strerror (errno), dir); + vshError(ctl, _("cd: %s: %s"), strerror(errno), dir); return -1; } @@ -6982,7 +6968,8 @@ cmdPwd(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) } if (err) - vshError(ctl, FALSE, _("pwd: cannot get current directory: %s"), strerror (errno)); + vshError(ctl, _("pwd: cannot get current directory: %s"), + strerror(errno)); else vshPrint (ctl, _("%s\n"), cwd); @@ -7062,8 +7049,8 @@ cmdEdit (vshControl *ctl, const vshCmd *cmd) goto cleanup; if (STRNEQ (doc, doc_reread)) { - vshError (ctl, FALSE, - "%s", _("ERROR: the XML configuration was changed by another user")); + vshError(ctl, + "%s", _("ERROR: the XML configuration was changed by another user")); goto cleanup; } @@ -7348,7 +7335,7 @@ vshCommandCheckOpts(vshControl *ctl, const vshCmd *cmd) o = o->next; } if (!ok) { - vshError(ctl, FALSE, + vshError(ctl, d->type == VSH_OT_DATA ? _("command '%s' requires <%s> option") : _("command '%s' requires --%s option"), @@ -7378,7 +7365,7 @@ vshCmddefHelp(vshControl *ctl, const char *cmdname) const vshCmdDef *def = vshCmddefSearch(cmdname); if (!def) { - vshError(ctl, FALSE, _("command '%s' doesn't exist"), cmdname); + vshError(ctl, _("command '%s' doesn't exist"), cmdname); return FALSE; } else { const char *desc = N_(vshCmddefGetInfo(def, "desc")); @@ -7577,8 +7564,7 @@ cmd_has_option (vshControl *ctl, const vshCmd *cmd, const char *optname) } if (!found) - vshError(ctl, FALSE, - _("internal error: virsh %s: no %s VSH_OT_DATA option"), + vshError(ctl, _("internal error: virsh %s: no %s VSH_OT_DATA option"), cmd->def->name, optname); return found; } @@ -7595,7 +7581,7 @@ vshCommandOptDomainBy(vshControl *ctl, const vshCmd *cmd, return NULL; if (!(n = vshCommandOptString(cmd, optname, NULL))) { - vshError(ctl, FALSE, "%s", _("undefined domain name or id")); + vshError(ctl, "%s", _("undefined domain name or id")); return NULL; } @@ -7627,7 +7613,7 @@ vshCommandOptDomainBy(vshControl *ctl, const vshCmd *cmd, } if (!dom) - vshError(ctl, FALSE, _("failed to get domain '%s'"), n); + vshError(ctl, _("failed to get domain '%s'"), n); return dom; } @@ -7643,7 +7629,7 @@ vshCommandOptNetworkBy(vshControl *ctl, const vshCmd *cmd, return NULL; if (!(n = vshCommandOptString(cmd, optname, NULL))) { - vshError(ctl, FALSE, "%s", _("undefined network name")); + vshError(ctl, "%s", _("undefined network name")); return NULL; } @@ -7667,7 +7653,7 @@ vshCommandOptNetworkBy(vshControl *ctl, const vshCmd *cmd, } if (!network) - vshError(ctl, FALSE, _("failed to get network '%s'"), n); + vshError(ctl, _("failed to get network '%s'"), n); return network; } @@ -7683,7 +7669,7 @@ vshCommandOptInterfaceBy(vshControl *ctl, const vshCmd *cmd, return NULL; if (!(n = vshCommandOptString(cmd, optname, NULL))) { - vshError(ctl, FALSE, "%s", _("undefined interface identifier")); + vshError(ctl, "%s", _("undefined interface identifier")); return NULL; } @@ -7707,7 +7693,7 @@ vshCommandOptInterfaceBy(vshControl *ctl, const vshCmd *cmd, } if (!iface) - vshError(ctl, FALSE, _("failed to get interface '%s'"), n); + vshError(ctl, _("failed to get interface '%s'"), n); return iface; } @@ -7720,7 +7706,7 @@ vshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname, char *n; if (!(n = vshCommandOptString(cmd, optname, NULL))) { - vshError(ctl, FALSE, "%s", _("undefined pool name")); + vshError(ctl, "%s", _("undefined pool name")); return NULL; } @@ -7744,7 +7730,7 @@ vshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname, } if (!pool) - vshError(ctl, FALSE, _("failed to get pool '%s'"), n); + vshError(ctl, _("failed to get pool '%s'"), n); return pool; } @@ -7761,12 +7747,12 @@ vshCommandOptVolBy(vshControl *ctl, const vshCmd *cmd, int found; if (!(n = vshCommandOptString(cmd, optname, NULL))) { - vshError(ctl, FALSE, "%s", _("undefined vol name")); + vshError(ctl, "%s", _("undefined vol name")); return NULL; } if (!(p = vshCommandOptString(cmd, pooloptname, &found)) && found) { - vshError(ctl, FALSE, "%s", _("undefined pool name")); + vshError(ctl, "%s", _("undefined pool name")); return NULL; } @@ -7797,7 +7783,7 @@ vshCommandOptVolBy(vshControl *ctl, const vshCmd *cmd, } if (!vol) - vshError(ctl, FALSE, _("failed to get vol '%s'"), n); + vshError(ctl, _("failed to get vol '%s'"), n); if (pool) virStoragePoolFree(pool); @@ -7817,7 +7803,7 @@ vshCommandOptSecret(vshControl *ctl, const vshCmd *cmd, char **name) n = vshCommandOptString(cmd, optname, NULL); if (n == NULL) { - vshError(ctl, FALSE, "%s", _("undefined secret UUID")); + vshError(ctl, "%s", _("undefined secret UUID")); return NULL; } @@ -7829,7 +7815,7 @@ vshCommandOptSecret(vshControl *ctl, const vshCmd *cmd, char **name) secret = virSecretLookupByUUIDString(ctl->conn, n); if (secret == NULL) - vshError(ctl, FALSE, _("failed to get secret '%s'"), n); + vshError(ctl, _("failed to get secret '%s'"), n); return secret; } @@ -7934,7 +7920,7 @@ vshCommandGetToken(vshControl *ctl, char *str, char **end, char **res) sz++; } if (quote) { - vshError(ctl, FALSE, "%s", _("missing \"")); + vshError(ctl, "%s", _("missing \"")); return VSH_TK_ERROR; } if (tkstr == NULL || *tkstr == '\0' || p == NULL) @@ -7994,19 +7980,19 @@ vshCommandParse(vshControl *ctl, char *cmdstr) if (cmd == NULL) { /* first token must be command name */ if (tk != VSH_TK_DATA) { - vshError(ctl, FALSE, + vshError(ctl, _("unexpected token (command name): '%s'"), tkdata); goto syntaxError; } if (!(cmd = vshCmddefSearch(tkdata))) { - vshError(ctl, FALSE, _("unknown command: '%s'"), tkdata); + vshError(ctl, _("unknown command: '%s'"), tkdata); goto syntaxError; /* ... or ignore this command only? */ } free(tkdata); } else if (tk == VSH_TK_OPTION) { if (!(opt = vshCmddefGetOption(cmd, tkdata))) { - vshError(ctl, FALSE, + vshError(ctl, _("command '%s' doesn't support option --%s"), cmd->name, tkdata); goto syntaxError; @@ -8021,7 +8007,7 @@ vshCommandParse(vshControl *ctl, char *cmdstr) if (tk == VSH_TK_ERROR) goto syntaxError; if (tk != VSH_TK_DATA) { - vshError(ctl, FALSE, + vshError(ctl, _("expected syntax: --%s <%s>"), opt->name, opt->type == @@ -8031,7 +8017,7 @@ vshCommandParse(vshControl *ctl, char *cmdstr) } } else if (tk == VSH_TK_DATA) { if (!(opt = vshCmddefGetData(cmd, data_ct++))) { - vshError(ctl, FALSE, _("unexpected data '%s'"), tkdata); + vshError(ctl, _("unexpected data '%s'"), tkdata); goto syntaxError; } } @@ -8143,7 +8129,7 @@ vshConnectionUsability(vshControl *ctl, virConnectPtr conn, int showerror) */ if (!conn) { if (showerror) - vshError(ctl, FALSE, "%s", _("no valid connection")); + vshError(ctl, "%s", _("no valid connection")); return FALSE; } return TRUE; @@ -8181,7 +8167,7 @@ vshPrintExtra(vshControl *ctl, const char *format, ...) static void -vshError(vshControl *ctl, int doexit, const char *format, ...) +vshError(vshControl *ctl, const char *format, ...) { va_list ap; @@ -8189,22 +8175,13 @@ vshError(vshControl *ctl, int doexit, const char *format, ...) vshOutputLogFile(ctl, VSH_ERR_ERROR, format, ap); va_end(ap); - if (doexit) - fprintf(stderr, _("%s: error: "), progname); - else - fputs(_("error: "), stderr); + fputs(_("error: "), stderr); va_start(ap, format); vfprintf(stderr, format, ap); va_end(ap); fputc('\n', stderr); - - if (doexit) { - if (ctl) - vshDeinit(ctl); - exit(EXIT_FAILURE); - } } static void * @@ -8214,9 +8191,9 @@ _vshMalloc(vshControl *ctl, size_t size, const char *filename, int line) if ((x = malloc(size))) return x; - vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"), + vshError(ctl, _("%s: %d: failed to allocate %d bytes"), filename, line, (int) size); - return NULL; + exit(EXIT_FAILURE); } static void * @@ -8226,9 +8203,9 @@ _vshCalloc(vshControl *ctl, size_t nmemb, size_t size, const char *filename, int if ((x = calloc(nmemb, size))) return x; - vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"), + vshError(ctl, _("%s: %d: failed to allocate %d bytes"), filename, line, (int) (size*nmemb)); - return NULL; + exit(EXIT_FAILURE); } static void * @@ -8239,9 +8216,9 @@ _vshRealloc(vshControl *ctl, void *ptr, size_t size, const char *filename, int l if ((x = realloc(ptr, size))) return x; free(ptr); - vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"), + vshError(ctl, _("%s: %d: failed to allocate %d bytes"), filename, line, (int) size); - return NULL; + exit(EXIT_FAILURE); } static char * @@ -8253,9 +8230,9 @@ _vshStrdup(vshControl *ctl, const char *s, const char *filename, int line) return(NULL); if ((x = strdup(s))) return x; - vshError(ctl, TRUE, _("%s: %d: failed to allocate %lu bytes"), + vshError(ctl, _("%s: %d: failed to allocate %lu bytes"), filename, line, (unsigned long)strlen(s)); - return NULL; + exit(EXIT_FAILURE); } /* @@ -8283,7 +8260,7 @@ vshInit(vshControl *ctl) */ if (!ctl->conn) { virshReportError(ctl); - vshError(ctl, FALSE, "%s", _("failed to connect to the hypervisor")); + vshError(ctl, "%s", _("failed to connect to the hypervisor")); return FALSE; } @@ -8314,20 +8291,22 @@ vshOpenLogFile(vshControl *ctl) case ENOENT: break; default: - vshError(ctl, TRUE, "%s", + vshError(ctl, "%s", _("failed to get the log file information")); - break; + exit(EXIT_FAILURE); } } else { if (!S_ISREG(st.st_mode)) { - vshError(ctl, TRUE, "%s", _("the log path is not a file")); + vshError(ctl, "%s", _("the log path is not a file")); + exit(EXIT_FAILURE); } } /* log file open */ if ((ctl->log_fd = open(ctl->logfile, LOGFILE_FLAGS, FILE_MODE)) < 0) { - vshError(ctl, TRUE, "%s", + vshError(ctl, "%s", _("failed to open the log file. check the log file path")); + exit(EXIT_FAILURE); } } @@ -8395,7 +8374,7 @@ vshOutputLogFile(vshControl *ctl, int log_level, const char *msg_format, va_list /* write log */ if (safewrite(ctl->log_fd, msg_buf, strlen(msg_buf)) < 0) { vshCloseLogFile(ctl); - vshError(ctl, FALSE, "%s", _("failed to write the log file")); + vshError(ctl, "%s", _("failed to write the log file")); } } @@ -8410,7 +8389,7 @@ vshCloseLogFile(vshControl *ctl) /* log file close */ if (ctl->log_fd >= 0) { if (close(ctl->log_fd) < 0) - vshError(ctl, FALSE, _("%s: failed to write log file: %s"), + vshError(ctl, _("%s: failed to write log file: %s"), ctl->logfile ? ctl->logfile : "?", strerror (errno)); ctl->log_fd = -1; } @@ -8588,9 +8567,7 @@ vshDeinit(vshControl *ctl) free(ctl->name); if (ctl->conn) { if (virConnectClose(ctl->conn) != 0) { - ctl->conn = NULL; /* prevent recursive call from vshError() */ - vshError(ctl, TRUE, "%s", - _("failed to disconnect from the hypervisor")); + vshError(ctl, "%s", _("failed to disconnect from the hypervisor")); } } virResetLastError(); @@ -8715,16 +8692,16 @@ vshParseArgv(vshControl *ctl, int argc, char **argv) ctl->logfile = vshStrdup(ctl, optarg); break; default: - vshError(ctl, TRUE, - _("unsupported option '-%c'. See --help."), arg); - break; + vshError(ctl, _("unsupported option '-%c'. See --help."), arg); + exit(EXIT_FAILURE); } } if (help) { - if (end < argc) - vshError(ctl, TRUE, - _("extra argument '%s'. See --help."), argv[end]); + if (end < argc) { + vshError(ctl, _("extra argument '%s'. See --help."), argv[end]); + exit(EXIT_FAILURE); + } /* list all command */ vshUsage(); -- 1.6.2.5 libvirt-fix-crash-on-device-hotplug-parse-error.patch: qemu_driver.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- NEW FILE libvirt-fix-crash-on-device-hotplug-parse-error.patch --- >From a5fa9f63fcffbf70465386672f24edac439866b9 Mon Sep 17 00:00:00 2001 From: Daniel P. Berrange Date: Thu, 24 Sep 2009 15:42:25 +0100 Subject: [PATCH] Fix crash in device hotplug cleanup code * src/qemu/qemu_driver.c: Fix crash in scenario where XML parsing of hotplugged device failed & thus 'dev' is NULL (cherry picked from commit 879cd8cc2ba00f795913f296556e05f25afa7877) Fedora-patch: libvirt-fix-crash-on-device-hotplug-parse-error.patch --- src/qemu_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 0ce403c..c956258 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -5912,7 +5912,7 @@ cleanup: if (cgroup) virCgroupFree(&cgroup); - if (ret < 0) { + if (ret < 0 && dev != NULL) { if (qemuDomainSetDeviceOwnership(dom->conn, driver, dev, 1) < 0) VIR_WARN0("Fail to restore disk device ownership"); virDomainDeviceDefFree(dev); -- 1.6.2.5 libvirt-fix-crash-on-missing-iface-target-dev.patch: domain_conf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- NEW FILE libvirt-fix-crash-on-missing-iface-target-dev.patch --- >From 7bc1491deba6338e514504d1b68fe097e7f2bf19 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 1 Oct 2009 11:54:38 +0200 Subject: [PATCH] Avoid a libvirtd crash on broken input 523418 * src/conf/domain_conf.c: a simple typo in an XML domain file could lead to a crash, because we called STRPREFIX() on the looked up value without checking it was non-null. (cherry picked from commit 79d233b5ca62f86ab22d271d1f08ec20060eee88) Fedora-patch: libvirt-fix-crash-on-missing-iface-target-dev.patch --- src/domain_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/domain_conf.c b/src/domain_conf.c index c424c67..476cdd7 100644 --- a/src/domain_conf.c +++ b/src/domain_conf.c @@ -1031,7 +1031,8 @@ virDomainNetDefParseXML(virConnectPtr conn, } else if ((ifname == NULL) && xmlStrEqual(cur->name, BAD_CAST "target")) { ifname = virXMLPropString(cur, "dev"); - if (STRPREFIX((const char*)ifname, "vnet")) { + if ((ifname != NULL) && + (STRPREFIX((const char*)ifname, "vnet"))) { /* An auto-generated target name, blank it out */ VIR_FREE(ifname); } -- 1.6.2.5 libvirt-fix-xen-driver-refcounting.patch: xen_inotify.c | 2 -- xs_internal.c | 4 ---- 2 files changed, 6 deletions(-) --- NEW FILE libvirt-fix-xen-driver-refcounting.patch --- >From cab81502320d97dac4c5c12e7496f30896709c49 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Tue, 22 Sep 2009 15:12:48 +0200 Subject: [PATCH] Fix xen driver refcounting. The commit cb51aa48a777ddae6997faa9f28350cb62655ffd "Fix up connection reference counting." changed the driver closing and virConnectPtr unref-logic in virConnectClose(). Before this commit virConnectClose() closed all drivers of the given virConnectPtr and virUnrefConnect()'ed it afterwards. After this commit the driver-closing is done in virUnrefConnect() if and only if the ref-count of the virConnectPtr dropped to zero. This change in execution order leads to a virConnectPtr leak, at least for connections to Xen. The relevant call sequences: virConnectOpen() -> xenUnifiedOpen() ... ... xenInotifyOpen() -> virConnectRef(conn) ... xenStoreOpen() -> xenStoreAddWatch() -> conn->refs++ virConnectClose() -> xenUnifiedClose() ... ... xenInotifyClose() -> virUnrefConnect(conn) ... xenStoreClose() -> xenStoreRemoveWatch() -> virUnrefConnect(conn) Before the commit this additional virConnectRef/virUnrefConnect calls where no problem, because virConnectClose() closed the drivers explicitly and the additional refs added by the Xen subdrivers were removed properly. After the commit this additional refs result in a virConnectPtr leak (including a leak of the hypercall file handle; that's how I noticed this problem), because now the drivers are only close if and only if the ref-count drops to zero, but this cannot happen anymore, because the additional refs from the Xen subdrivers would only be removed if the drivers get closed, but that doesn't happen because the ref-count cannot drop to zero. The fix for this problem is simple: remove the virConnectRef/virUnrefConnect calls from the Xen subdrivers (see attached patch). Maybe someone could explain why the Xen Inotify and Xen Store driver do this extra ref-counting, but none of the other Xen subdrivers. It seems unnecessary to me and can be removed without problems. Signed-off-by: Chris Lalancette (cherry picked from commit 6ed7374c5a6c6a2b1b1801d7d041dc7f09748592) Fedora-patch: libvirt-fix-xen-driver-refcounting.patch --- src/xen_inotify.c | 2 -- src/xs_internal.c | 3 --- 2 files changed, 0 insertions(+), 5 deletions(-) diff --git a/src/xen_inotify.c b/src/xen_inotify.c index e312b9e..ecaefaf 100644 --- a/src/xen_inotify.c +++ b/src/xen_inotify.c @@ -463,7 +463,6 @@ xenInotifyOpen(virConnectPtr conn ATTRIBUTE_UNUSED, DEBUG0("Failed to add inotify handle, disabling events"); } - virConnectRef(conn); return 0; } @@ -486,7 +485,6 @@ xenInotifyClose(virConnectPtr conn) if (priv->inotifyWatch != -1) virEventRemoveHandle(priv->inotifyWatch); close(priv->inotifyFD); - virUnrefConnect(conn); return 0; } diff --git a/src/xs_internal.c b/src/xs_internal.c index 1f54b1f..a18dcad 100644 --- a/src/xs_internal.c +++ b/src/xs_internal.c @@ -1139,8 +1139,6 @@ int xenStoreAddWatch(virConnectPtr conn, list->watches[n] = watch; list->count++; - conn->refs++; - return xs_watch(priv->xshandle, watch->path, watch->token); } @@ -1190,7 +1188,6 @@ int xenStoreRemoveWatch(virConnectPtr conn, ; /* Failure to reduce memory allocation isn't fatal */ } list->count--; - virUnrefConnect(conn); return 0; } } -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.193 retrieving revision 1.194 diff -u -p -r1.193 -r1.194 --- libvirt.spec 29 Oct 2009 10:14:00 -0000 1.193 +++ libvirt.spec 29 Oct 2009 10:40:45 -0000 1.194 @@ -199,6 +199,18 @@ Patch17: libvirt-qemu-machine-type-fixes Patch18: libvirt-storage-iscsi-auth-xml-formatting.patch Patch19: libvirt-network-delay-attribute-formatting.patch +# Fix xen driver recounting (#531429) +Patch20: libvirt-fix-xen-driver-refcounting.patch + +# Fix crash on virsh error (#531429) +Patch21: libvirt-double-free-on-virsh-error.patch + +# Fix segfault where XML parsing fails in qemu disk hotplug +Patch22: libvirt-fix-crash-on-device-hotplug-parse-error.patch + +# Fix segfault where interface target device name is ommitted (#523418) +Patch23: libvirt-fix-crash-on-missing-iface-target-dev.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -433,6 +445,10 @@ of recent versions of Linux (and other O %patch17 -p1 %patch18 -p1 %patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -829,6 +845,10 @@ fi %changelog * Thu Oct 29 2009 Mark McLoughlin - 0.7.1-14 - Make libvirt-devel require libvirt-client, not libvirt +- Fix xen driver recounting (#531429) +- Fix crash on virsh error (#531429) +- Fix segfault where XML parsing fails in qemu disk hotplug +- Fix segfault where interface target device name is ommitted (#523418) * Mon Oct 19 2009 Mark McLoughlin - 0.7.1-13 - Misc fixes to qemu machine types handling From markmc at fedoraproject.org Thu Oct 29 10:57:55 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 10:57:55 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-qemu-machine-type-fixes2.patch, NONE, 1.1 libvirt.spec, 1.193, 1.194 Message-ID: <20091029105756.0396011C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12724 Modified Files: libvirt.spec Added Files: libvirt-qemu-machine-type-fixes2.patch Log Message: * Thu Oct 29 2009 Mark McLoughlin - 0.7.2-2 - Fix qemu machine types handling libvirt-qemu-machine-type-fixes2.patch: qemu_conf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- NEW FILE libvirt-qemu-machine-type-fixes2.patch --- >From b7b6a28eb9eae641762de9408a90971d849ce92e Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 15 Oct 2009 12:09:17 +0100 Subject: [PATCH] Don't copy old machines from a domain which has none If the the qemu and kvm binaries are the same, we don't include machine types in the kvm domain info. However, the code which refreshes the machine types info from the previous capabilities structure first looks at the kvm domain's info, finds it matches and then copies the empty machine types list over for the top-level qemu domain. That doesn't make sense, we shouldn't copy an empty machin types list. * src/qemu/qemu_conf.c: qemudGetOldMachinesFromInfo(): don't copy an empty machine types list. (cherry picked from commit 2210f8a3a8e2774ca4fb8b42e21899e5b85ca913) Fedora-patch: libvirt-qemu-machine-type-fixes2.patch --- src/qemu/qemu_conf.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index ac63570..b881f1e 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -505,6 +505,9 @@ qemudGetOldMachinesFromInfo(virCapsGuestDomainInfoPtr info, virCapsGuestMachinePtr *list; int i; + if (!info->nmachines) + return 0; + if (!info->emulator || !STREQ(emulator, info->emulator)) return 0; -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.193 retrieving revision 1.194 diff -u -p -r1.193 -r1.194 --- libvirt.spec 29 Oct 2009 10:15:23 -0000 1.193 +++ libvirt.spec 29 Oct 2009 10:57:55 -0000 1.194 @@ -155,6 +155,10 @@ Release: 2%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz + +# Fix qemu machine types handling +Patch01: libvirt-qemu-machine-type-fixes2.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -367,6 +371,8 @@ of recent versions of Linux (and other O %prep %setup -q +%patch01 -p1 + %build %if ! %{with_xen} %define _without_xen --without-xen @@ -780,6 +786,7 @@ fi %changelog * Thu Oct 29 2009 Mark McLoughlin - 0.7.2-2 - Make libvirt-devel require libvirt-client, not libvirt +- Fix qemu machine types handling * Wed Oct 14 2009 Daniel Veillard - 0.7.2-1 - Upstream release of 0.7.2 From markmc at fedoraproject.org Thu Oct 29 11:28:06 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 11:28:06 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-properly-save-kvm-system-time-registers.patch, NONE, 1.1 qemu.spec, 1.144, 1.145 Message-ID: <20091029112806.46B2511C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21474 Modified Files: qemu.spec Added Files: qemu-properly-save-kvm-system-time-registers.patch Log Message: * Wed Oct 21 2009 Glauber Costa - 2:0.11.0-8 - Properly save kvm time registers (#524229) qemu-properly-save-kvm-system-time-registers.patch: qemu-kvm-x86.c | 15 +++++++++++++-- target-i386/cpu.h | 5 ++++- target-i386/machine.c | 9 ++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) --- NEW FILE qemu-properly-save-kvm-system-time-registers.patch --- >From 20a3c3095744ea65b4dfb5365efea8cdb802f7f5 Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Wed, 21 Oct 2009 10:52:46 -0400 Subject: [PATCH] properly save kvm system time msr registers Currently, the msrs involved in setting up pvclock are not saved over migration and/or save/restore. This patch puts their value in special fields in our CPUState, and deal with them using vmstate. kvm also has to account for it, by including them in the msr list for the ioctls. Fedora-patch: qemu-properly-save-kvm-system-time-registers.patch Signed-off-by: Glauber Costa --- qemu-kvm-x86.c | 15 +++++++++++++-- target-i386/cpu.h | 5 ++++- target-i386/machine.c | 8 ++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index d5436b6..300e6c2 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -839,6 +839,12 @@ static int get_msr_entry(struct kvm_msr_entry *entry, CPUState *env) case MSR_VM_HSAVE_PA: env->vm_hsave = entry->data; break; + case MSR_KVM_SYSTEM_TIME: + env->system_time_msr = entry->data; + break; + case MSR_KVM_WALL_CLOCK: + env->wall_clock_msr = entry->data; + break; default: printf("Warning unknown msr index 0x%x\n", entry->index); return 1; @@ -847,9 +853,9 @@ static int get_msr_entry(struct kvm_msr_entry *entry, CPUState *env) } #ifdef TARGET_X86_64 -#define MSR_COUNT 10 +#define MSR_COUNT 12 #else -#define MSR_COUNT 6 +#define MSR_COUNT 8 #endif static void set_v8086_seg(struct kvm_segment *lhs, const SegmentCache *rhs) @@ -1007,6 +1013,8 @@ void kvm_arch_load_regs(CPUState *env) set_msr_entry(&msrs[n++], MSR_LSTAR , env->lstar); } #endif + set_msr_entry(&msrs[n++], MSR_KVM_SYSTEM_TIME, env->system_time_msr); + set_msr_entry(&msrs[n++], MSR_KVM_WALL_CLOCK, env->wall_clock_msr); rc = kvm_set_msrs(env->kvm_cpu_state.vcpu_ctx, msrs, n); if (rc == -1) @@ -1184,6 +1192,9 @@ void kvm_arch_save_regs(CPUState *env) msrs[n++].index = MSR_LSTAR; } #endif + msrs[n++].index = MSR_KVM_SYSTEM_TIME; + msrs[n++].index = MSR_KVM_WALL_CLOCK; + rc = kvm_get_msrs(env->kvm_cpu_state.vcpu_ctx, msrs, n); if (rc == -1) { perror("kvm_get_msrs FAILED"); diff --git a/target-i386/cpu.h b/target-i386/cpu.h index 08200ed..22e76ec 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -640,6 +640,9 @@ typedef struct CPUX86State { target_ulong fmask; target_ulong kernelgsbase; #endif + uint64_t system_time_msr; + uint64_t wall_clock_msr; + uint64_t tsc; @@ -867,7 +870,7 @@ static inline int cpu_get_time_fast(void) #define cpu_signal_handler cpu_x86_signal_handler #define cpu_list x86_cpu_list -#define CPU_SAVE_VERSION 10 +#define CPU_SAVE_VERSION 11 /* MMU modes definitions */ #define MMU_MODE0_SUFFIX _kernel diff --git a/target-i386/machine.c b/target-i386/machine.c index ca32a92..4654508 100644 --- a/target-i386/machine.c +++ b/target-i386/machine.c @@ -174,6 +174,9 @@ void cpu_save(QEMUFile *f, void *opaque) qemu_put_be64s(f, &env->mce_banks[4*i + 3]); } } + + qemu_put_be64s(f, &env->system_time_msr); + qemu_put_be64s(f, &env->wall_clock_msr); } #ifdef USE_X86LDOUBLE @@ -405,5 +408,10 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) kvm_arch_load_mpstate(env); } } + + if (version_id >= 11) { + qemu_get_be64s(f, &env->system_time_msr); + qemu_get_be64s(f, &env->wall_clock_msr); + } return 0; } -- 1.6.2.2 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.144 retrieving revision 1.145 diff -u -p -r1.144 -r1.145 --- qemu.spec 19 Oct 2009 10:33:27 -0000 1.144 +++ qemu.spec 29 Oct 2009 11:28:04 -0000 1.145 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 7%{?dist} +Release: 8%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -52,6 +52,9 @@ Patch09: qemu-fix-qcow2-backing-file-wit # Fix potential segfault from too small MSR_COUNT (#528901) Patch10: qemu-fix-msr-count-potential-segfault.patch +# Properly save kvm time registers (#524229) +Patch11: qemu-properly-save-kvm-system-time-registers.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -249,6 +252,7 @@ such as kvmtrace and kvm_stat. %patch08 -p1 %patch09 -p1 %patch10 -p1 +%patch11 -p1 %build # --build-id option is used fedora 8 onwards for giving info to the debug packages. @@ -530,6 +534,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Wed Oct 21 2009 Glauber Costa - 2:0.11.0-8 +- Properly save kvm time registers (#524229) + * Mon Oct 19 2009 Mark McLoughlin - 2:0.11.0-7 - Fix potential segfault from too small MSR_COUNT (#528901) From markmc at fedoraproject.org Thu Oct 29 11:45:25 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 11:45:25 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu-fix-dropped-packets-with-non-virtio-nics.patch, NONE, 1.1 qemu.spec, 1.145, 1.146 Message-ID: <20091029114525.1C95411C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27494 Modified Files: qemu.spec Added Files: qemu-fix-dropped-packets-with-non-virtio-nics.patch Log Message: * Thu Oct 29 2009 Mark McLoughlin - 2:0.11.0-9 - Fix dropped packets with non-virtio NICs (#531419) qemu-fix-dropped-packets-with-non-virtio-nics.patch: net.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) --- NEW FILE qemu-fix-dropped-packets-with-non-virtio-nics.patch --- >From e670b85a691a6e39bce4b69f2175e0bfebc93f51 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 29 Oct 2009 11:34:17 +0000 Subject: [PATCH] net: disable draining tap queue in one go If qemu_send_packet_async() returns zero, it means the packet has been queued and the sent callback will be invoked once it has been flushed. This is only possible where the NIC's receive() handler returns zero and promises to notify the networking core that room is available in its queue again. In the case where the receive handler does not have this capability (and its queue fills up) it returns -1 and the networking core does not queue up the packet. This condition is indicated by a -1 return from qemu_send_packet_async(). Currently, tap handles this condition simply by dropping the packet. It should do its best to avoid getting into this situation by checking such NIC's have room for a packet before copying the packet from the tap interface. tap_send() used to achieve this by only reading a single packet before returning to the mainloop. That way, tap_can_send() is called before reading each packet. tap_send() was changed to completely drain the tap interface queue without taking into account the situation where the NIC returns an error and the packet is not queued. Let's start fixing this by reverting to the previous behaviour of reading one packet at a time. Reported-by: Scott Tsai Tested-by: Sven Rudolph Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-dropped-packets-with-non-virtio-nics.patch --- net.c | 29 +++++++++++++---------------- 1 files changed, 13 insertions(+), 16 deletions(-) diff --git a/net.c b/net.c index 3572c48..3abab95 100644 --- a/net.c +++ b/net.c @@ -1453,27 +1453,24 @@ static void tap_send(void *opaque) { TAPState *s = opaque; int size; + uint8_t *buf = s->buf; - do { - uint8_t *buf = s->buf; - - size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); - if (size <= 0) { - break; - } + size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); + if (size <= 0) { + break; + } #ifdef IFF_VNET_HDR - if (s->has_vnet_hdr && !s->using_vnet_hdr) { - buf += sizeof(struct virtio_net_hdr); - size -= sizeof(struct virtio_net_hdr); - } + if (s->has_vnet_hdr && !s->using_vnet_hdr) { + buf += sizeof(struct virtio_net_hdr); + size -= sizeof(struct virtio_net_hdr); + } #endif - size = qemu_send_packet_async(s->vc, buf, size, tap_send_completed); - if (size == 0) { - tap_read_poll(s, 0); - } - } while (size > 0); + size = qemu_send_packet_async(s->vc, buf, size, tap_send_completed); + if (size == 0) { + tap_read_poll(s, 0); + } } #ifdef TUNSETSNDBUF -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu.spec,v retrieving revision 1.145 retrieving revision 1.146 diff -u -p -r1.145 -r1.146 --- qemu.spec 21 Oct 2009 19:25:00 -0000 1.145 +++ qemu.spec 29 Oct 2009 11:45:24 -0000 1.146 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 8%{?dist} +Release: 9%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -55,6 +55,9 @@ Patch10: qemu-fix-msr-count-potential-se # Properly save kvm time registers (#524229) Patch11: qemu-properly-save-kvm-system-time-registers.patch +# Fix dropped packets with non-virtio NICs (#531419) +Patch12: qemu-fix-dropped-packets-with-non-virtio-nics.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -253,6 +256,7 @@ such as kvmtrace and kvm_stat. %patch09 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build # --build-id option is used fedora 8 onwards for giving info to the debug packages. @@ -534,6 +538,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Thu Oct 29 2009 Mark McLoughlin - 2:0.11.0-9 +- Fix dropped packets with non-virtio NICs (#531419) + * Wed Oct 21 2009 Glauber Costa - 2:0.11.0-8 - Properly save kvm time registers (#524229) From markmc at fedoraproject.org Thu Oct 29 11:45:25 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 11:45:25 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-fix-dropped-packets-with-non-virtio-nics.patch, NONE, 1.1 qemu.spec, 1.145, 1.146 Message-ID: <20091029114525.848A111C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27510 Modified Files: qemu.spec Added Files: qemu-fix-dropped-packets-with-non-virtio-nics.patch Log Message: * Thu Oct 29 2009 Mark McLoughlin - 2:0.11.0-9 - Fix dropped packets with non-virtio NICs (#531419) qemu-fix-dropped-packets-with-non-virtio-nics.patch: net.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) --- NEW FILE qemu-fix-dropped-packets-with-non-virtio-nics.patch --- >From e670b85a691a6e39bce4b69f2175e0bfebc93f51 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 29 Oct 2009 11:34:17 +0000 Subject: [PATCH] net: disable draining tap queue in one go If qemu_send_packet_async() returns zero, it means the packet has been queued and the sent callback will be invoked once it has been flushed. This is only possible where the NIC's receive() handler returns zero and promises to notify the networking core that room is available in its queue again. In the case where the receive handler does not have this capability (and its queue fills up) it returns -1 and the networking core does not queue up the packet. This condition is indicated by a -1 return from qemu_send_packet_async(). Currently, tap handles this condition simply by dropping the packet. It should do its best to avoid getting into this situation by checking such NIC's have room for a packet before copying the packet from the tap interface. tap_send() used to achieve this by only reading a single packet before returning to the mainloop. That way, tap_can_send() is called before reading each packet. tap_send() was changed to completely drain the tap interface queue without taking into account the situation where the NIC returns an error and the packet is not queued. Let's start fixing this by reverting to the previous behaviour of reading one packet at a time. Reported-by: Scott Tsai Tested-by: Sven Rudolph Signed-off-by: Mark McLoughlin Fedora-patch: qemu-fix-dropped-packets-with-non-virtio-nics.patch --- net.c | 29 +++++++++++++---------------- 1 files changed, 13 insertions(+), 16 deletions(-) diff --git a/net.c b/net.c index 3572c48..3abab95 100644 --- a/net.c +++ b/net.c @@ -1453,27 +1453,24 @@ static void tap_send(void *opaque) { TAPState *s = opaque; int size; + uint8_t *buf = s->buf; - do { - uint8_t *buf = s->buf; - - size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); - if (size <= 0) { - break; - } + size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); + if (size <= 0) { + break; + } #ifdef IFF_VNET_HDR - if (s->has_vnet_hdr && !s->using_vnet_hdr) { - buf += sizeof(struct virtio_net_hdr); - size -= sizeof(struct virtio_net_hdr); - } + if (s->has_vnet_hdr && !s->using_vnet_hdr) { + buf += sizeof(struct virtio_net_hdr); + size -= sizeof(struct virtio_net_hdr); + } #endif - size = qemu_send_packet_async(s->vc, buf, size, tap_send_completed); - if (size == 0) { - tap_read_poll(s, 0); - } - } while (size > 0); + size = qemu_send_packet_async(s->vc, buf, size, tap_send_completed); + if (size == 0) { + tap_read_poll(s, 0); + } } #ifdef TUNSETSNDBUF -- 1.6.2.5 Index: qemu.spec =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v retrieving revision 1.145 retrieving revision 1.146 diff -u -p -r1.145 -r1.146 --- qemu.spec 29 Oct 2009 11:28:04 -0000 1.145 +++ qemu.spec 29 Oct 2009 11:45:25 -0000 1.146 @@ -1,7 +1,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 0.11.0 -Release: 8%{?dist} +Release: 9%{?dist} # Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -55,6 +55,9 @@ Patch10: qemu-fix-msr-count-potential-se # Properly save kvm time registers (#524229) Patch11: qemu-properly-save-kvm-system-time-registers.patch +# Fix dropped packets with non-virtio NICs (#531419) +Patch12: qemu-fix-dropped-packets-with-non-virtio-nics.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl @@ -253,6 +256,7 @@ such as kvmtrace and kvm_stat. %patch09 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build # --build-id option is used fedora 8 onwards for giving info to the debug packages. @@ -534,6 +538,9 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Thu Oct 29 2009 Mark McLoughlin - 2:0.11.0-9 +- Fix dropped packets with non-virtio NICs (#531419) + * Wed Oct 21 2009 Glauber Costa - 2:0.11.0-8 - Properly save kvm time registers (#524229) From markmc at fedoraproject.org Thu Oct 29 12:54:54 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 12:54:54 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/devel qemu-fix-dropped-packets-with-non-virtio-nics.patch, 1.1, 1.2 Message-ID: <20091029125454.ECA9411C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19751 Modified Files: qemu-fix-dropped-packets-with-non-virtio-nics.patch Log Message: Fix typo in patch qemu-fix-dropped-packets-with-non-virtio-nics.patch: net.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) Index: qemu-fix-dropped-packets-with-non-virtio-nics.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-fix-dropped-packets-with-non-virtio-nics.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- qemu-fix-dropped-packets-with-non-virtio-nics.patch 29 Oct 2009 11:45:25 -0000 1.1 +++ qemu-fix-dropped-packets-with-non-virtio-nics.patch 29 Oct 2009 12:54:54 -0000 1.2 @@ -1,4 +1,4 @@ -From e670b85a691a6e39bce4b69f2175e0bfebc93f51 Mon Sep 17 00:00:00 2001 +From 2e7c7b6cb25603e2fa40990da86d03a57b2616bd Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 29 Oct 2009 11:34:17 +0000 Subject: [PATCH] net: disable draining tap queue in one go @@ -39,7 +39,7 @@ Fedora-patch: qemu-fix-dropped-packets-w 1 files changed, 13 insertions(+), 16 deletions(-) diff --git a/net.c b/net.c -index 3572c48..3abab95 100644 +index 3572c48..522e33c 100644 --- a/net.c +++ b/net.c @@ -1453,27 +1453,24 @@ static void tap_send(void *opaque) @@ -57,7 +57,7 @@ index 3572c48..3abab95 100644 - } + size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); + if (size <= 0) { -+ break; ++ return; + } #ifdef IFF_VNET_HDR From markmc at fedoraproject.org Thu Oct 29 12:55:06 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 12:55:06 +0000 (UTC) Subject: [fedora-virt-maint] rpms/qemu/F-12 qemu-fix-dropped-packets-with-non-virtio-nics.patch, 1.1, 1.2 Message-ID: <20091029125506.EF0D911C008B@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/qemu/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19899 Modified Files: qemu-fix-dropped-packets-with-non-virtio-nics.patch Log Message: Fix typo in patch qemu-fix-dropped-packets-with-non-virtio-nics.patch: net.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) Index: qemu-fix-dropped-packets-with-non-virtio-nics.patch =================================================================== RCS file: /cvs/pkgs/rpms/qemu/F-12/qemu-fix-dropped-packets-with-non-virtio-nics.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- qemu-fix-dropped-packets-with-non-virtio-nics.patch 29 Oct 2009 11:45:24 -0000 1.1 +++ qemu-fix-dropped-packets-with-non-virtio-nics.patch 29 Oct 2009 12:55:06 -0000 1.2 @@ -1,4 +1,4 @@ -From e670b85a691a6e39bce4b69f2175e0bfebc93f51 Mon Sep 17 00:00:00 2001 +From 2e7c7b6cb25603e2fa40990da86d03a57b2616bd Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 29 Oct 2009 11:34:17 +0000 Subject: [PATCH] net: disable draining tap queue in one go @@ -39,7 +39,7 @@ Fedora-patch: qemu-fix-dropped-packets-w 1 files changed, 13 insertions(+), 16 deletions(-) diff --git a/net.c b/net.c -index 3572c48..3abab95 100644 +index 3572c48..522e33c 100644 --- a/net.c +++ b/net.c @@ -1453,27 +1453,24 @@ static void tap_send(void *opaque) @@ -57,7 +57,7 @@ index 3572c48..3abab95 100644 - } + size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); + if (size <= 0) { -+ break; ++ return; + } #ifdef IFF_VNET_HDR From rjones at fedoraproject.org Thu Oct 29 17:22:47 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 17:22:47 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel .cvsignore, 1.53, 1.54 libguestfs.spec, 1.105, 1.106 sources, 1.53, 1.54 Message-ID: <20091029172247.952A311C02A3@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24377 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. - Don't require chntpw. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/.cvsignore,v retrieving revision 1.53 retrieving revision 1.54 diff -u -p -r1.53 -r1.54 --- .cvsignore 20 Oct 2009 14:50:27 -0000 1.53 +++ .cvsignore 29 Oct 2009 17:22:46 -0000 1.54 @@ -1 +1 @@ -libguestfs-1.0.74.tar.gz +libguestfs-1.0.75.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.105 retrieving revision 1.106 diff -u -p -r1.105 -r1.106 --- libguestfs.spec 20 Oct 2009 14:50:27 -0000 1.105 +++ libguestfs.spec 29 Oct 2009 17:22:46 -0000 1.106 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.74 +Version: 1.0.75 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -71,9 +71,6 @@ BuildRequires: perl-Sys-Virt # Runtime requires: Requires: qemu-kvm >= 0.10-7 -# For virt-inspector --windows-registry option. -Requires: chntpw >= 0.99.6-8 - # For libguestfs-test-tool. Requires: genisoimage @@ -194,6 +191,9 @@ unstructured fixes to virtual machines. Virt-tar is an archive, backup and upload tool for virtual machines. +Virt-win-reg lets you look inside the Windows Registry for +Windows virtual machines. + %package -n ocaml-%{name} Summary: OCaml bindings for %{name} @@ -374,6 +374,8 @@ rmdir keep # Delete static libraries, libtool files. rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.a rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.la +rm $RPM_BUILD_ROOT%{_libdir}/libhivex.a +rm $RPM_BUILD_ROOT%{_libdir}/libhivex.la # Clean up the examples/ directory which will get installed in %doc. # Note we can't delete the original examples/Makefile because that @@ -440,8 +442,11 @@ rm -rf $RPM_BUILD_ROOT %doc COPYING %{_bindir}/libguestfs-supermin-helper %{_bindir}/libguestfs-test-tool +%{_bindir}/hivexml +%{_bindir}/hivexget %{_libdir}/guestfs/ %{_libdir}/libguestfs.so.* +%{_libdir}/libhivex.so.* %{_libexecdir}/libguestfs-test-tool-helper %{_mandir}/man1/libguestfs-test-tool.1* @@ -452,8 +457,12 @@ rm -rf $RPM_BUILD_ROOT %doc src/generator.ml %doc installed-docs/* %{_libdir}/libguestfs.so +%{_libdir}/libhivex.so +%{_mandir}/man1/hivexml.1* +%{_mandir}/man1/hivexget.1* %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* +%{_mandir}/man3/hivex.3* %{_includedir}/guestfs.h %{_includedir}/guestfs-actions.h %{_includedir}/guestfs-structs.h @@ -483,6 +492,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/virt-rescue.1* %{_bindir}/virt-tar %{_mandir}/man1/virt-tar.1* +%{_bindir}/virt-win-reg +%{_mandir}/man1/virt-win-reg.1* %files -n ocaml-%{name} @@ -550,6 +561,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 +- New upstream release 1.0.75. +- New library: libhivex. +- New tools: virt-win-reg, hivexml, hivexget. +- Don't require chntpw. + * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. - New API call: guestfs_find0. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/sources,v retrieving revision 1.53 retrieving revision 1.54 diff -u -p -r1.53 -r1.54 --- sources 20 Oct 2009 14:50:27 -0000 1.53 +++ sources 29 Oct 2009 17:22:46 -0000 1.54 @@ -1 +1 @@ -669f27a4590298feb0ea6749499b02e1 libguestfs-1.0.74.tar.gz +ccde2fd4f9422ba3f468acc6477f204d libguestfs-1.0.75.tar.gz From rjones at fedoraproject.org Thu Oct 29 17:24:26 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 17:24:26 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-12 .cvsignore, 1.53, 1.54 libguestfs.spec, 1.105, 1.106 sources, 1.53, 1.54 Message-ID: <20091029172426.725A411C02A3@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25169 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. - Don't require chntpw. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/.cvsignore,v retrieving revision 1.53 retrieving revision 1.54 diff -u -p -r1.53 -r1.54 --- .cvsignore 20 Oct 2009 14:50:23 -0000 1.53 +++ .cvsignore 29 Oct 2009 17:24:25 -0000 1.54 @@ -1 +1 @@ -libguestfs-1.0.74.tar.gz +libguestfs-1.0.75.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/libguestfs.spec,v retrieving revision 1.105 retrieving revision 1.106 diff -u -p -r1.105 -r1.106 --- libguestfs.spec 20 Oct 2009 14:50:23 -0000 1.105 +++ libguestfs.spec 29 Oct 2009 17:24:26 -0000 1.106 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.74 +Version: 1.0.75 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -71,9 +71,6 @@ BuildRequires: perl-Sys-Virt # Runtime requires: Requires: qemu-kvm >= 0.10-7 -# For virt-inspector --windows-registry option. -Requires: chntpw >= 0.99.6-8 - # For libguestfs-test-tool. Requires: genisoimage @@ -194,6 +191,9 @@ unstructured fixes to virtual machines. Virt-tar is an archive, backup and upload tool for virtual machines. +Virt-win-reg lets you look inside the Windows Registry for +Windows virtual machines. + %package -n ocaml-%{name} Summary: OCaml bindings for %{name} @@ -374,6 +374,8 @@ rmdir keep # Delete static libraries, libtool files. rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.a rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.la +rm $RPM_BUILD_ROOT%{_libdir}/libhivex.a +rm $RPM_BUILD_ROOT%{_libdir}/libhivex.la # Clean up the examples/ directory which will get installed in %doc. # Note we can't delete the original examples/Makefile because that @@ -440,8 +442,11 @@ rm -rf $RPM_BUILD_ROOT %doc COPYING %{_bindir}/libguestfs-supermin-helper %{_bindir}/libguestfs-test-tool +%{_bindir}/hivexml +%{_bindir}/hivexget %{_libdir}/guestfs/ %{_libdir}/libguestfs.so.* +%{_libdir}/libhivex.so.* %{_libexecdir}/libguestfs-test-tool-helper %{_mandir}/man1/libguestfs-test-tool.1* @@ -452,8 +457,12 @@ rm -rf $RPM_BUILD_ROOT %doc src/generator.ml %doc installed-docs/* %{_libdir}/libguestfs.so +%{_libdir}/libhivex.so +%{_mandir}/man1/hivexml.1* +%{_mandir}/man1/hivexget.1* %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* +%{_mandir}/man3/hivex.3* %{_includedir}/guestfs.h %{_includedir}/guestfs-actions.h %{_includedir}/guestfs-structs.h @@ -483,6 +492,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/virt-rescue.1* %{_bindir}/virt-tar %{_mandir}/man1/virt-tar.1* +%{_bindir}/virt-win-reg +%{_mandir}/man1/virt-win-reg.1* %files -n ocaml-%{name} @@ -550,6 +561,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 +- New upstream release 1.0.75. +- New library: libhivex. +- New tools: virt-win-reg, hivexml, hivexget. +- Don't require chntpw. + * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. - New API call: guestfs_find0. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/sources,v retrieving revision 1.53 retrieving revision 1.54 diff -u -p -r1.53 -r1.54 --- sources 20 Oct 2009 14:50:24 -0000 1.53 +++ sources 29 Oct 2009 17:24:26 -0000 1.54 @@ -1 +1 @@ -669f27a4590298feb0ea6749499b02e1 libguestfs-1.0.74.tar.gz +ccde2fd4f9422ba3f468acc6477f204d libguestfs-1.0.75.tar.gz From markmc at fedoraproject.org Thu Oct 29 17:26:05 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 17:26:05 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/devel libvirt-logrotate-avoid-compressing-small-logs.patch, NONE, 1.1 libvirt.spec, 1.194, 1.195 Message-ID: <20091029172605.DD49F11C02A3@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25728 Modified Files: libvirt.spec Added Files: libvirt-logrotate-avoid-compressing-small-logs.patch Log Message: * Thu Oct 29 2009 Mark McLoughlin - 0.7.2-3 - Avoid compressing small log files (#531030) libvirt-logrotate-avoid-compressing-small-logs.patch: libvirtd.logrotate.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE libvirt-logrotate-avoid-compressing-small-logs.patch --- >From d7cca87f6c5ad2316934af8ecb95829b95b662c6 Mon Sep 17 00:00:00 2001 From: Dan Kenigsberg Date: Wed, 21 Oct 2009 13:56:04 +0200 Subject: [PATCH] Do not log rotate very small logs Without this, after few weeks without use, each defined domain grows a tail of empty gzipped logs, instead of keeping just the last log of interest. * daemon/libvirtd.logrotate.in: only rotate when the log is over 100 KBytes (cherry picked from commit b03fe2d0aefb57a096a102bf23375f0a167ca189) Fedora-patch: libvirt-logrotate-avoid-compressing-small-logs.patch --- daemon/libvirtd.logrotate.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/daemon/libvirtd.logrotate.in b/daemon/libvirtd.logrotate.in index 093651c..0c51fd3 100644 --- a/daemon/libvirtd.logrotate.in +++ b/daemon/libvirtd.logrotate.in @@ -5,4 +5,5 @@ compress delaycompress copytruncate + minsize 100k } -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.194 retrieving revision 1.195 diff -u -p -r1.194 -r1.195 --- libvirt.spec 29 Oct 2009 10:57:55 -0000 1.194 +++ libvirt.spec 29 Oct 2009 17:26:05 -0000 1.195 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.2 -Release: 2%{?dist}%{?extra_release} +Release: 3%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -159,6 +159,9 @@ Source: http://libvirt.org/sources/libvi # Fix qemu machine types handling Patch01: libvirt-qemu-machine-type-fixes2.patch +# Avoid compressing small log files (#531030) +Patch02: libvirt-logrotate-avoid-compressing-small-logs.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -372,6 +375,7 @@ of recent versions of Linux (and other O %setup -q %patch01 -p1 +%patch02 -p1 %build %if ! %{with_xen} @@ -784,6 +788,9 @@ fi %endif %changelog +* Thu Oct 29 2009 Mark McLoughlin - 0.7.2-3 +- Avoid compressing small log files (#531030) + * Thu Oct 29 2009 Mark McLoughlin - 0.7.2-2 - Make libvirt-devel require libvirt-client, not libvirt - Fix qemu machine types handling From rjones at fedoraproject.org Thu Oct 29 17:26:17 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 17:26:17 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/F-12 libguestfs.spec, 1.106, 1.107 Message-ID: <20091029172617.BBF7D11C02A3@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25884 Modified Files: libguestfs.spec Log Message: Add missing BR libxml2-devel. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/F-12/libguestfs.spec,v retrieving revision 1.106 retrieving revision 1.107 diff -u -p -r1.106 -r1.107 --- libguestfs.spec 29 Oct 2009 17:24:26 -0000 1.106 +++ libguestfs.spec 29 Oct 2009 17:26:17 -0000 1.107 @@ -19,6 +19,7 @@ BuildRequires: febootstrap >= 2.3 BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel BuildRequires: genisoimage +BuildRequires: libxml2-devel BuildRequires: qemu-kvm >= 0.10-7 BuildRequires: createrepo BuildRequires: glibc-static From markmc at fedoraproject.org Thu Oct 29 17:26:12 2009 From: markmc at fedoraproject.org (Mark McLoughlin) Date: Thu, 29 Oct 2009 17:26:12 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt/F-12 libvirt-logrotate-avoid-compressing-small-logs.patch, NONE, 1.1 libvirt.spec, 1.194, 1.195 Message-ID: <20091029172612.3707611C02A3@cvs1.fedora.phx.redhat.com> Author: markmc Update of /cvs/pkgs/rpms/libvirt/F-12 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25807 Modified Files: libvirt.spec Added Files: libvirt-logrotate-avoid-compressing-small-logs.patch Log Message: * Thu Oct 29 2009 Mark McLoughlin - 0.7.1-15 - Avoid compressing small log files (#531030) libvirt-logrotate-avoid-compressing-small-logs.patch: libvirtd.logrotate.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- NEW FILE libvirt-logrotate-avoid-compressing-small-logs.patch --- >From 918724aa76982224437384d712c182c332fa5ef9 Mon Sep 17 00:00:00 2001 From: Dan Kenigsberg Date: Wed, 21 Oct 2009 13:56:04 +0200 Subject: [PATCH] Do not log rotate very small logs Without this, after few weeks without use, each defined domain grows a tail of empty gzipped logs, instead of keeping just the last log of interest. * daemon/libvirtd.logrotate.in: only rotate when the log is over 100 KBytes (cherry picked from commit b03fe2d0aefb57a096a102bf23375f0a167ca189) Fedora-patch: libvirt-logrotate-avoid-compressing-small-logs.patch --- qemud/libvirtd.logrotate.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/qemud/libvirtd.logrotate.in b/qemud/libvirtd.logrotate.in index 093651c..0c51fd3 100644 --- a/qemud/libvirtd.logrotate.in +++ b/qemud/libvirtd.logrotate.in @@ -5,4 +5,5 @@ compress delaycompress copytruncate + minsize 100k } -- 1.6.2.5 Index: libvirt.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt/F-12/libvirt.spec,v retrieving revision 1.194 retrieving revision 1.195 diff -u -p -r1.194 -r1.195 --- libvirt.spec 29 Oct 2009 10:40:45 -0000 1.194 +++ libvirt.spec 29 Oct 2009 17:26:12 -0000 1.195 @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 14%{?dist}%{?extra_release} +Release: 15%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -211,6 +211,9 @@ Patch22: libvirt-fix-crash-on-device-hot # Fix segfault where interface target device name is ommitted (#523418) Patch23: libvirt-fix-crash-on-missing-iface-target-dev.patch +# Avoid compressing small log files (#531030) +Patch24: libvirt-logrotate-avoid-compressing-small-logs.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -449,6 +452,7 @@ of recent versions of Linux (and other O %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 %build # Needed for libvirt-logrotate-create-lxc-uml-dirs.patch @@ -843,6 +847,9 @@ fi %endif %changelog +* Thu Oct 29 2009 Mark McLoughlin - 0.7.1-15 +- Avoid compressing small log files (#531030) + * Thu Oct 29 2009 Mark McLoughlin - 0.7.1-14 - Make libvirt-devel require libvirt-client, not libvirt - Fix xen driver recounting (#531429) From rjones at fedoraproject.org Thu Oct 29 17:26:40 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 17:26:40 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 .cvsignore, 1.34, 1.35 libguestfs.spec, 1.72, 1.73 sources, 1.34, 1.35 Message-ID: <20091029172640.C81B711C02A3@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26033 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. - Don't require chntpw. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/.cvsignore,v retrieving revision 1.34 retrieving revision 1.35 diff -u -p -r1.34 -r1.35 --- .cvsignore 20 Oct 2009 14:50:12 -0000 1.34 +++ .cvsignore 29 Oct 2009 17:26:40 -0000 1.35 @@ -1 +1 @@ -libguestfs-1.0.74.tar.gz +libguestfs-1.0.75.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.72 retrieving revision 1.73 diff -u -p -r1.72 -r1.73 --- libguestfs.spec 20 Oct 2009 14:50:12 -0000 1.72 +++ libguestfs.spec 29 Oct 2009 17:26:40 -0000 1.73 @@ -4,7 +4,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.74 +Version: 1.0.75 Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries @@ -23,6 +23,7 @@ BuildRequires: febootstrap >= 2.3 #BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel BuildRequires: mkisofs +BuildRequires: libxml2-devel %ifarch %{ix86} x86_64 BuildRequires: qemu-system-x86 >= 0.10.5 %endif @@ -90,9 +91,6 @@ Requires: qemu-system-x86 >= 0.10.5 Requires: qemu-system-ppc >= 0.10.5 %endif -# For virt-inspector --windows-registry option. -Requires: chntpw >= 0.99.6-8 - # For libguestfs-test-tool. Requires: mkisofs @@ -213,6 +211,9 @@ scripts. # Virt-tar is an archive, backup and upload tool for virtual machines. +# Virt-win-reg lets you look inside the Windows Registry for +# Windows virtual machines. + %package -n ocaml-%{name} Summary: OCaml bindings for %{name} @@ -376,6 +377,8 @@ rmdir keep # Delete static libraries, libtool files. rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.a rm $RPM_BUILD_ROOT%{_libdir}/libguestfs.la +rm $RPM_BUILD_ROOT%{_libdir}/libhivex.a +rm $RPM_BUILD_ROOT%{_libdir}/libhivex.la # Clean up the examples/ directory which will get installed in %doc. # Note we can't delete the original examples/Makefile because that @@ -442,8 +445,11 @@ rm -rf $RPM_BUILD_ROOT %doc COPYING %{_bindir}/libguestfs-supermin-helper %{_bindir}/libguestfs-test-tool +%{_bindir}/hivexml +%{_bindir}/hivexget %{_libdir}/guestfs/ %{_libdir}/libguestfs.so.* +%{_libdir}/libhivex.so.* %{_libexecdir}/libguestfs-test-tool-helper %{_mandir}/man1/libguestfs-test-tool.1* @@ -454,8 +460,12 @@ rm -rf $RPM_BUILD_ROOT %doc src/generator.ml #%doc installed-docs/* %{_libdir}/libguestfs.so +%{_libdir}/libhivex.so +%{_mandir}/man1/hivexml.1* +%{_mandir}/man1/hivexget.1* %{_mandir}/man3/guestfs.3* %{_mandir}/man3/libguestfs.3* +%{_mandir}/man3/hivex.3* %{_includedir}/guestfs.h %{_includedir}/guestfs-actions.h %{_includedir}/guestfs-structs.h @@ -485,6 +495,8 @@ rm -rf $RPM_BUILD_ROOT # %{_mandir}/man1/virt-rescue.1* # %{_bindir}/virt-tar # %{_mandir}/man1/virt-tar.1* +# %{_bindir}/virt-win-reg +# %{_mandir}/man1/virt-win-reg.1* %files -n ocaml-%{name} @@ -552,6 +564,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 +- New upstream release 1.0.75. +- New library: libhivex. +- New tools: virt-win-reg, hivexml, hivexget. +- Don't require chntpw. + * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. - New API call: guestfs_find0. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/sources,v retrieving revision 1.34 retrieving revision 1.35 diff -u -p -r1.34 -r1.35 --- sources 20 Oct 2009 14:50:12 -0000 1.34 +++ sources 29 Oct 2009 17:26:40 -0000 1.35 @@ -1 +1 @@ -669f27a4590298feb0ea6749499b02e1 libguestfs-1.0.74.tar.gz +ccde2fd4f9422ba3f468acc6477f204d libguestfs-1.0.75.tar.gz From rjones at fedoraproject.org Thu Oct 29 17:37:33 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 17:37:33 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/devel libguestfs.spec, 1.106, 1.107 Message-ID: <20091029173733.C856D11C02A3@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29855 Modified Files: libguestfs.spec Log Message: Add BR libxml2-devel. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/devel/libguestfs.spec,v retrieving revision 1.106 retrieving revision 1.107 diff -u -p -r1.106 -r1.107 --- libguestfs.spec 29 Oct 2009 17:22:46 -0000 1.106 +++ libguestfs.spec 29 Oct 2009 17:37:33 -0000 1.107 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -19,6 +19,7 @@ BuildRequires: febootstrap >= 2.3 BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel BuildRequires: genisoimage +BuildRequires: libxml2-devel BuildRequires: qemu-kvm >= 0.10-7 BuildRequires: createrepo BuildRequires: glibc-static @@ -561,11 +562,12 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-2 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. - Don't require chntpw. +- Add BR libxml2-devel, accidentally omitted before. * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. From rjones at fedoraproject.org Thu Oct 29 17:57:58 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 17:57:58 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch, NONE, 1.1 libguestfs.spec, 1.73, 1.74 Message-ID: <20091029175758.1E81A11C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6838 Modified Files: libguestfs.spec Added Files: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch Log Message: - Pull in upstream patch to fix missing endianness functions on RHEL 5. 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch: configure.ac | 2 +- hivex/hivex.c | 31 ++++++++++++++++++++++++++++++- hivex/hivexget.c | 2 ++ hivex/hivexml.c | 3 ++- 4 files changed, 35 insertions(+), 3 deletions(-) --- NEW FILE 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch --- >From a4e27cdf4d3b831792dd20d796dc98a5bc684290 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 29 Oct 2009 17:54:48 +0000 Subject: [PATCH] RHEL 5: Detect endianness functions and supply them. --- configure.ac | 2 +- hivex/hivex.c | 31 ++++++++++++++++++++++++++++++- hivex/hivexget.c | 2 ++ hivex/hivexml.c | 2 ++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index a235a06..709b1b7 100644 --- a/configure.ac +++ b/configure.ac @@ -123,7 +123,7 @@ dnl Check sizeof long. AC_CHECK_SIZEOF([long]) dnl Headers. -AC_CHECK_HEADERS([errno.h sys/types.h sys/un.h sys/wait.h sys/socket.h]) +AC_CHECK_HEADERS([errno.h sys/types.h sys/un.h sys/wait.h sys/socket.h endian.h byteswap.h]) dnl Check for rpcgen and XDR library. rpcgen is optional. AC_CHECK_PROG([RPCGEN],[rpcgen],[rpcgen],[no]) diff --git a/hivex/hivex.c b/hivex/hivex.c index 16be753..85d6c7b 100644 --- a/hivex/hivex.c +++ b/hivex/hivex.c @@ -18,11 +18,12 @@ * See file LICENSE for the full license. */ +#include + #include #include #include #include -#include #include #include #include @@ -30,6 +31,34 @@ #include #include #include +#ifdef HAVE_ENDIAN_H +#include +#endif +#ifdef HAVE_BYTESWAP_H +#include +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#ifndef be32toh +#define be32toh(x) __bswap_32 (x) +#endif +#ifndef be64toh +#define be64toh(x) __bswap_64 (x) +#endif +#ifndef le32toh +#define le32toh(x) (x) +#endif +#else +#ifndef be32toh +#define be32toh(x) (x) +#endif +#ifndef be64toh +#define be64toh(x) (x) +#endif +#ifndef le32toh +#define le32toh(x) __bswap_32 (x) +#endif +#endif #include "hivex.h" diff --git a/hivex/hivexget.c b/hivex/hivexget.c index 9bb6bbb..04c854f 100644 --- a/hivex/hivexget.c +++ b/hivex/hivexget.c @@ -16,6 +16,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include + #include #include #include diff --git a/hivex/hivexml.c b/hivex/hivexml.c index af3de9e..9dd394e 100644 --- a/hivex/hivexml.c +++ b/hivex/hivexml.c @@ -16,6 +16,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include + #include #include #include -- 1.6.5.rc2 Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.73 retrieving revision 1.74 diff -u -p -r1.73 -r1.74 --- libguestfs.spec 29 Oct 2009 17:26:40 -0000 1.73 +++ libguestfs.spec 29 Oct 2009 17:57:57 -0000 1.74 @@ -5,13 +5,17 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist} +Release: 1%{?dist}.2 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +# Next two lines should be removed in 1.0.76: +Patch0: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch +BuildRequires: autoconf, automake, libtool, gettext-devel + # Currently fails on PPC because: # "No Package Found for kernel" ExclusiveArch: %{ix86} x86_64 @@ -319,6 +323,9 @@ Requires: jpackage-utils %prep %setup -q +%patch0 -p1 +autoconf + mkdir -p daemon/m4 @@ -564,11 +571,12 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.2 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. - Don't require chntpw. +- Pull in upstream patch to fix missing endianness functions on RHEL 5. * Tue Oct 20 2009 Richard W.M. Jones - 1.0.74-1 - New upstream release 1.0.74. From rjones at fedoraproject.org Thu Oct 29 18:05:18 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 18:05:18 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.74,1.75 Message-ID: <20091029180519.895C711C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10428 Modified Files: libguestfs.spec Log Message: I hate autoconf Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.74 retrieving revision 1.75 diff -u -p -r1.74 -r1.75 --- libguestfs.spec 29 Oct 2009 17:57:57 -0000 1.74 +++ libguestfs.spec 29 Oct 2009 18:05:17 -0000 1.75 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist}.2 +Release: 1%{?dist}.3 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -324,7 +324,7 @@ Requires: jpackage-utils %setup -q %patch0 -p1 -autoconf +autoreconf mkdir -p daemon/m4 @@ -571,7 +571,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.2 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.3 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. From rjones at fedoraproject.org Thu Oct 29 18:23:41 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 18:23:41 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.75,1.76 Message-ID: <20091029182341.2C34511C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17724 Modified Files: libguestfs.spec Log Message: Another ugly hack to get automake working. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.75 retrieving revision 1.76 diff -u -p -r1.75 -r1.76 --- libguestfs.spec 29 Oct 2009 18:05:17 -0000 1.75 +++ libguestfs.spec 29 Oct 2009 18:23:40 -0000 1.76 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist}.3 +Release: 1%{?dist}.4 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -323,7 +323,11 @@ Requires: jpackage-utils %prep %setup -q +# Remove this in 1.0.76: %patch0 -p1 +mv inspector/Makefile.am inspector/Makefile.am.orig +echo 'docdir = ${datadir}/doc/${PACKAGE}' > inspector/Makefile.am +cat inspector/Makefile.am.orig >> inspector/Makefile.am autoreconf mkdir -p daemon/m4 @@ -571,7 +575,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.3 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.4 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. From rjones at fedoraproject.org Thu Oct 29 18:38:10 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 18:38:10 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch, NONE, 1.1 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch, 1.1, 1.2 libguestfs.spec, 1.76, 1.77 Message-ID: <20091029183810.7B30711C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24057 Modified Files: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch libguestfs.spec Added Files: 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch Log Message: Another upstream fix required for endianness handling. 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch: hivex.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) --- NEW FILE 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch --- >From d707ecc55ac2de267608435bdc1052176aecff46 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 29 Oct 2009 18:36:12 +0000 Subject: [PATCH 2/2] RHEL 5: Also add le{16,64}toh functions --- hivex/hivex.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/hivex/hivex.c b/hivex/hivex.c index 85d6c7b..a0a730c 100644 --- a/hivex/hivex.c +++ b/hivex/hivex.c @@ -45,9 +45,15 @@ #ifndef be64toh #define be64toh(x) __bswap_64 (x) #endif +#ifndef le16toh +#define le32toh(x) (x) +#endif #ifndef le32toh #define le32toh(x) (x) #endif +#ifndef le64toh +#define le32toh(x) (x) +#endif #else #ifndef be32toh #define be32toh(x) (x) @@ -55,9 +61,15 @@ #ifndef be64toh #define be64toh(x) (x) #endif +#ifndef le16toh +#define le16toh(x) __bswap_16 (x) +#endif #ifndef le32toh #define le32toh(x) __bswap_32 (x) #endif +#ifndef le64toh +#define le64toh(x) __bswap_64 (x) +#endif #endif #include "hivex.h" -- 1.6.5.rc2 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch: configure.ac | 2 +- hivex/hivex.c | 31 ++++++++++++++++++++++++++++++- hivex/hivexget.c | 2 ++ hivex/hivexml.c | 3 ++- 4 files changed, 35 insertions(+), 3 deletions(-) Index: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch 29 Oct 2009 17:57:57 -0000 1.1 +++ 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch 29 Oct 2009 18:38:09 -0000 1.2 @@ -1,7 +1,7 @@ From a4e27cdf4d3b831792dd20d796dc98a5bc684290 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 29 Oct 2009 17:54:48 +0000 -Subject: [PATCH] RHEL 5: Detect endianness functions and supply them. +Subject: [PATCH 1/2] RHEL 5: Detect endianness functions and supply them. --- configure.ac | 2 +- Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.76 retrieving revision 1.77 diff -u -p -r1.76 -r1.77 --- libguestfs.spec 29 Oct 2009 18:23:40 -0000 1.76 +++ libguestfs.spec 29 Oct 2009 18:38:10 -0000 1.77 @@ -5,15 +5,16 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist}.4 +Release: 1%{?dist}.5 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -# Next two lines should be removed in 1.0.76: +# Next lines should be removed in 1.0.76: Patch0: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch +Patch1: 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch BuildRequires: autoconf, automake, libtool, gettext-devel # Currently fails on PPC because: @@ -325,6 +326,7 @@ Requires: jpackage-utils # Remove this in 1.0.76: %patch0 -p1 +%patch1 -p1 mv inspector/Makefile.am inspector/Makefile.am.orig echo 'docdir = ${datadir}/doc/${PACKAGE}' > inspector/Makefile.am cat inspector/Makefile.am.orig >> inspector/Makefile.am @@ -575,7 +577,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.4 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.5 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. From rjones at fedoraproject.org Thu Oct 29 18:49:13 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 18:49:13 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 0003-Fix-misspelling-in-previous-commit.patch, NONE, 1.1 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch, 1.2, 1.3 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch, 1.1, 1.2 libguestfs.spec, 1.77, 1.78 Message-ID: <20091029184913.B4FE111C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27968 Modified Files: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch libguestfs.spec Added Files: 0003-Fix-misspelling-in-previous-commit.patch Log Message: Another upstream fix required for endianness handling. 0003-Fix-misspelling-in-previous-commit.patch: hivex.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --- NEW FILE 0003-Fix-misspelling-in-previous-commit.patch --- >From 43a8e107ce8ad6eac99da82366bdf63b401e3d31 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 29 Oct 2009 18:46:46 +0000 Subject: [PATCH 3/3] Fix misspelling in previous commit. --- hivex/hivex.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hivex/hivex.c b/hivex/hivex.c index a0a730c..b522ccf 100644 --- a/hivex/hivex.c +++ b/hivex/hivex.c @@ -46,13 +46,13 @@ #define be64toh(x) __bswap_64 (x) #endif #ifndef le16toh -#define le32toh(x) (x) +#define le16toh(x) (x) #endif #ifndef le32toh #define le32toh(x) (x) #endif #ifndef le64toh -#define le32toh(x) (x) +#define le64toh(x) (x) #endif #else #ifndef be32toh -- 1.6.5.rc2 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch: configure.ac | 2 +- hivex/hivex.c | 31 ++++++++++++++++++++++++++++++- hivex/hivexget.c | 2 ++ hivex/hivexml.c | 3 ++- 4 files changed, 35 insertions(+), 3 deletions(-) Index: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch 29 Oct 2009 18:38:09 -0000 1.2 +++ 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch 29 Oct 2009 18:49:13 -0000 1.3 @@ -1,7 +1,7 @@ From a4e27cdf4d3b831792dd20d796dc98a5bc684290 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 29 Oct 2009 17:54:48 +0000 -Subject: [PATCH 1/2] RHEL 5: Detect endianness functions and supply them. +Subject: [PATCH 1/3] RHEL 5: Detect endianness functions and supply them. --- configure.ac | 2 +- 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch: hivex.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) Index: 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/0002-RHEL-5-Also-add-le-16-64-toh-functions.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch 29 Oct 2009 18:38:10 -0000 1.1 +++ 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch 29 Oct 2009 18:49:13 -0000 1.2 @@ -1,7 +1,7 @@ From d707ecc55ac2de267608435bdc1052176aecff46 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 29 Oct 2009 18:36:12 +0000 -Subject: [PATCH 2/2] RHEL 5: Also add le{16,64}toh functions +Subject: [PATCH 2/3] RHEL 5: Also add le{16,64}toh functions --- hivex/hivex.c | 12 ++++++++++++ Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.77 retrieving revision 1.78 diff -u -p -r1.77 -r1.78 --- libguestfs.spec 29 Oct 2009 18:38:10 -0000 1.77 +++ libguestfs.spec 29 Oct 2009 18:49:13 -0000 1.78 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist}.5 +Release: 1%{?dist}.6 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -15,6 +15,7 @@ BuildRoot: %{_tmppath}/%{name}-%{versi # Next lines should be removed in 1.0.76: Patch0: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch Patch1: 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch +Patch2: 0003-Fix-misspelling-in-previous-commit.patch BuildRequires: autoconf, automake, libtool, gettext-devel # Currently fails on PPC because: @@ -327,6 +328,7 @@ Requires: jpackage-utils # Remove this in 1.0.76: %patch0 -p1 %patch1 -p1 +%patch2 -p1 mv inspector/Makefile.am inspector/Makefile.am.orig echo 'docdir = ${datadir}/doc/${PACKAGE}' > inspector/Makefile.am cat inspector/Makefile.am.orig >> inspector/Makefile.am @@ -577,7 +579,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.5 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.6 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. From rjones at fedoraproject.org Thu Oct 29 19:02:18 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 19:02:18 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.78,1.79 Message-ID: <20091029190218.8044A11C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32273 Modified Files: libguestfs.spec Log Message: Bump to force rebuild. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.78 retrieving revision 1.79 diff -u -p -r1.78 -r1.79 --- libguestfs.spec 29 Oct 2009 18:49:13 -0000 1.78 +++ libguestfs.spec 29 Oct 2009 19:02:17 -0000 1.79 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist}.6 +Release: 1%{?dist}.7 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -579,7 +579,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.6 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.7 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. From rjones at fedoraproject.org Thu Oct 29 19:14:36 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 19:14:36 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.79,1.80 Message-ID: <20091029191436.2578B11C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3641 Modified Files: libguestfs.spec Log Message: Bump to force rebuild. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.79 retrieving revision 1.80 diff -u -p -r1.79 -r1.80 --- libguestfs.spec 29 Oct 2009 19:02:17 -0000 1.79 +++ libguestfs.spec 29 Oct 2009 19:14:35 -0000 1.80 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.75 -Release: 1%{?dist}.7 +Release: 1%{?dist}.8 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -579,7 +579,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.7 +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.8 - New upstream release 1.0.75. - New library: libhivex. - New tools: virt-win-reg, hivexml, hivexget. From bkearney at fedoraproject.org Thu Oct 29 19:59:25 2009 From: bkearney at fedoraproject.org (Bryan Kearney) Date: Thu, 29 Oct 2009 19:59:25 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt-java/devel .cvsignore, 1.4, 1.5 import.log, 1.1, 1.2 libvirt-java.spec, 1.6, 1.7 sources, 1.4, 1.5 Message-ID: <20091029195925.2D30011C00E5@cvs1.fedora.phx.redhat.com> Author: bkearney Update of /cvs/pkgs/rpms/libvirt-java/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15371/devel Modified Files: .cvsignore import.log libvirt-java.spec sources Log Message: Added Domain and Connection closing issues found by Thomas Treutner Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/devel/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- .cvsignore 29 Jul 2009 16:28:23 -0000 1.4 +++ .cvsignore 29 Oct 2009 19:59:24 -0000 1.5 @@ -1 +1 @@ -libvirt-java-0.3.0.tar.gz +libvirt-java-0.3.1.tar.gz Index: import.log =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/devel/import.log,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- import.log 29 Jul 2009 16:28:24 -0000 1.1 +++ import.log 29 Oct 2009 19:59:24 -0000 1.2 @@ -1 +1,2 @@ libvirt-java-0_3_0-1_fc10:HEAD:libvirt-java-0.3.0-1.fc10.src.rpm:1248884790 +libvirt-java-0_3_1-1_fc11:HEAD:libvirt-java-0.3.1-1.fc11.src.rpm:1256846079 Index: libvirt-java.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/devel/libvirt-java.spec,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -r1.6 -r1.7 --- libvirt-java.spec 29 Jul 2009 16:28:24 -0000 1.6 +++ libvirt-java.spec 29 Oct 2009 19:59:24 -0000 1.7 @@ -1,6 +1,6 @@ Summary: Java bindings for the libvirt virtualization API Name: libvirt-java -Version: 0.3.0 +Version: 0.3.1 Prefix: libvirt Release: 1%{?dist} License: LGPLv2+ @@ -83,6 +83,10 @@ rm -rf %{buildroot} %{_javadocdir}/%{name}-%{version} %changelog +* Thu Oct 29 2009 Bryan Kearney - 0.3.1-1 +- Added maven building tools. +- Fixed connection and domain bugs found by Thomas Treutner + * Wed Jul 29 2009 Bryan Kearney - 0.3.0-1 - refactored the code to use jna (https://jna.dev.java.net/) Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/devel/sources,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- sources 29 Jul 2009 16:28:24 -0000 1.4 +++ sources 29 Oct 2009 19:59:24 -0000 1.5 @@ -1 +1 @@ -99c18173026f84de4b62345c26e1af7c libvirt-java-0.3.0.tar.gz +423fbdab5dbe36aa35a9959d5f6df4bd libvirt-java-0.3.1.tar.gz From bkearney at fedoraproject.org Thu Oct 29 20:08:21 2009 From: bkearney at fedoraproject.org (Bryan Kearney) Date: Thu, 29 Oct 2009 20:08:21 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libvirt-java/F-11 .cvsignore, 1.4, 1.5 import.log, 1.1, 1.2 libvirt-java.spec, 1.5, 1.6 sources, 1.4, 1.5 Message-ID: <20091029200821.D702411C00E5@cvs1.fedora.phx.redhat.com> Author: bkearney Update of /cvs/pkgs/rpms/libvirt-java/F-11 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19107/F-11 Modified Files: .cvsignore import.log libvirt-java.spec sources Log Message: Added Domain and Connection closing issues found by Thomas Treutner Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/F-11/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- .cvsignore 29 Jul 2009 17:10:16 -0000 1.4 +++ .cvsignore 29 Oct 2009 20:08:20 -0000 1.5 @@ -1 +1 @@ -libvirt-java-0.3.0.tar.gz +libvirt-java-0.3.1.tar.gz Index: import.log =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/F-11/import.log,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- import.log 29 Jul 2009 17:10:17 -0000 1.1 +++ import.log 29 Oct 2009 20:08:20 -0000 1.2 @@ -1 +1,2 @@ libvirt-java-0_3_0-1_fc10:F-11:libvirt-java-0.3.0-1.fc10.src.rpm:1248887303 +libvirt-java-0_3_1-1_fc11:F-11:libvirt-java-0.3.1-1.fc11.src.rpm:1256846668 Index: libvirt-java.spec =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/F-11/libvirt-java.spec,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- libvirt-java.spec 29 Jul 2009 17:10:17 -0000 1.5 +++ libvirt-java.spec 29 Oct 2009 20:08:20 -0000 1.6 @@ -1,6 +1,6 @@ Summary: Java bindings for the libvirt virtualization API Name: libvirt-java -Version: 0.3.0 +Version: 0.3.1 Prefix: libvirt Release: 1%{?dist} License: LGPLv2+ @@ -83,6 +83,10 @@ rm -rf %{buildroot} %{_javadocdir}/%{name}-%{version} %changelog +* Thu Oct 29 2009 Bryan Kearney - 0.3.1-1 +- Added maven building tools. +- Fixed connection and domain bugs found by Thomas Treutner + * Wed Jul 29 2009 Bryan Kearney - 0.3.0-1 - refactored the code to use jna (https://jna.dev.java.net/) Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libvirt-java/F-11/sources,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- sources 29 Jul 2009 17:10:17 -0000 1.4 +++ sources 29 Oct 2009 20:08:20 -0000 1.5 @@ -1 +1 @@ -99c18173026f84de4b62345c26e1af7c libvirt-java-0.3.0.tar.gz +423fbdab5dbe36aa35a9959d5f6df4bd libvirt-java-0.3.1.tar.gz From rjones at fedoraproject.org Thu Oct 29 20:25:40 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Thu, 29 Oct 2009 20:25:40 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 .cvsignore, 1.35, 1.36 libguestfs.spec, 1.80, 1.81 sources, 1.35, 1.36 Message-ID: <20091029202540.B43E011C00E5@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23331 Modified Files: .cvsignore libguestfs.spec sources Log Message: * Thu Oct 29 2009 Richard W.M. Jones - 1.0.76-1 - New upstream release 1.0.76. No changes here except to have a prebuilt autoconf environment. Index: .cvsignore =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/.cvsignore,v retrieving revision 1.35 retrieving revision 1.36 diff -u -p -r1.35 -r1.36 --- .cvsignore 29 Oct 2009 17:26:40 -0000 1.35 +++ .cvsignore 29 Oct 2009 20:25:37 -0000 1.36 @@ -1 +1 @@ -libguestfs-1.0.75.tar.gz +libguestfs-1.0.76.tar.gz Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.80 retrieving revision 1.81 diff -u -p -r1.80 -r1.81 --- libguestfs.spec 29 Oct 2009 19:14:35 -0000 1.80 +++ libguestfs.spec 29 Oct 2009 20:25:37 -0000 1.81 @@ -4,20 +4,14 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 -Version: 1.0.75 -Release: 1%{?dist}.8 +Version: 1.0.76 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -# Next lines should be removed in 1.0.76: -Patch0: 0001-RHEL-5-Detect-endianness-functions-and-supply-them.patch -Patch1: 0002-RHEL-5-Also-add-le-16-64-toh-functions.patch -Patch2: 0003-Fix-misspelling-in-previous-commit.patch -BuildRequires: autoconf, automake, libtool, gettext-devel - # Currently fails on PPC because: # "No Package Found for kernel" ExclusiveArch: %{ix86} x86_64 @@ -325,15 +319,6 @@ Requires: jpackage-utils %prep %setup -q -# Remove this in 1.0.76: -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -mv inspector/Makefile.am inspector/Makefile.am.orig -echo 'docdir = ${datadir}/doc/${PACKAGE}' > inspector/Makefile.am -cat inspector/Makefile.am.orig >> inspector/Makefile.am -autoreconf - mkdir -p daemon/m4 @@ -579,6 +564,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Oct 29 2009 Richard W.M. Jones - 1.0.76-1 +- New upstream release 1.0.76. No changes here except to have + a prebuilt autoconf environment. + * Thu Oct 29 2009 Richard W.M. Jones - 1.0.75-1.el5.8 - New upstream release 1.0.75. - New library: libhivex. Index: sources =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/sources,v retrieving revision 1.35 retrieving revision 1.36 diff -u -p -r1.35 -r1.36 --- sources 29 Oct 2009 17:26:40 -0000 1.35 +++ sources 29 Oct 2009 20:25:37 -0000 1.36 @@ -1 +1 @@ -ccde2fd4f9422ba3f468acc6477f204d libguestfs-1.0.75.tar.gz +5bfa5aad365545f7cade49c6dcdee35a libguestfs-1.0.76.tar.gz From rjones at fedoraproject.org Fri Oct 30 08:59:24 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 30 Oct 2009 08:59:24 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.81,1.82 Message-ID: <20091030085924.C503B11C00E8@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32276 Modified Files: libguestfs.spec Log Message: * Fri Oct 30 2009 Richard W.M. Jones - 1.0.76-1.el5.2 - Try building tools now that EPEL may have been rebased to 5.4. - Tests disabled *temporarily* to allow faster builds. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.81 retrieving revision 1.82 diff -u -p -r1.81 -r1.82 --- libguestfs.spec 29 Oct 2009 20:25:37 -0000 1.81 +++ libguestfs.spec 30 Oct 2009 08:59:22 -0000 1.82 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.76 -Release: 1%{?dist} +Release: 1%{?dist}.2 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -20,7 +20,7 @@ ExclusiveArch: %{ix86} x86_64 BuildRequires: /usr/bin/pod2man BuildRequires: /usr/bin/pod2text BuildRequires: febootstrap >= 2.3 -#BuildRequires: augeas-devel >= 0.5.0 +BuildRequires: augeas-devel >= 0.5.0 BuildRequires: readline-devel BuildRequires: mkisofs BuildRequires: libxml2-devel @@ -39,24 +39,22 @@ BuildRequires: ncurses-devel # Build requirements for the appliance (see 'make.sh.in' in the source): BuildRequires: kernel, bash, coreutils, lvm2 -BuildRequires: MAKEDEV, net-tools, file +BuildRequires: MAKEDEV, net-tools, augeas-libs, file BuildRequires: module-init-tools, procps, strace, iputils -BuildRequires: dosfstools, lsof, scrub, libselinux +BuildRequires: dosfstools, zerofree, lsof, scrub, libselinux BuildRequires: e4fsprogs -# Not supported in EPEL yet: ntfs-3g util-linux-ng zerofree -# Not working: augeas-libs +# Not supported in EPEL yet: ntfs-3g util-linux-ng %ifarch %{ix86} x86_64 BuildRequires: grub, ntfsprogs %endif # Must match the above set of BuildRequires exactly! Requires: kernel, bash, coreutils, lvm2 -Requires: MAKEDEV, net-tools, file +Requires: MAKEDEV, net-tools, augeas-libs, file Requires: module-init-tools, procps, strace, iputils -Requires: dosfstools, lsof, scrub, libselinux +Requires: dosfstools, zerofree, lsof, scrub, libselinux Requires: e4fsprogs -# Not supported in EPEL yet: ntfs-3g util-linux-ng zerofree -# Not working: augeas-libs +# Not supported in EPEL yet: ntfs-3g util-linux-ng %ifarch %{ix86} x86_64 Requires: grub, ntfsprogs %endif @@ -66,13 +64,13 @@ Requires: grub, ntfsprogs BuildRequires: ocaml BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-xml-light-devel -#BuildRequires: perl-devel +BuildRequires: perl-devel #BuildRequires: perl-Test-Simple BuildRequires: perl-Test-Pod BuildRequires: perl-Test-Pod-Coverage #BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-XML-Writer -#BuildRequires: perl-libintl +BuildRequires: perl-libintl BuildRequires: python-devel BuildRequires: ruby-devel BuildRequires: rubygem-rake @@ -81,7 +79,7 @@ BuildRequires: jpackage-utils BuildRequires: java-devel # For libguestfs-tools: -#BuildRequires: perl-Sys-Virt +BuildRequires: perl-Sys-Virt # Runtime requires: %ifarch %{ix86} x86_64 @@ -148,7 +146,7 @@ Group: Development/Tools License: GPLv2+ Requires: %{name} = %{epoch}:%{version}-%{release} Requires: /usr/bin/pod2text -#Requires: virt-inspector +Requires: virt-inspector %description -n guestfish @@ -157,62 +155,62 @@ modifying virtual machine disk images fr scripts. -# %package tools -# Summary: System administration tools for virtual machines -# Group: Development/Tools -# License: GPLv2+ -# Requires: %{name} = %{epoch}:%{version}-%{release} -# Requires: guestfish -# Requires: perl-Sys-Virt - -# # Obsolete and replace earlier packages. -# Provides: virt-cat = %{epoch}:%{version}-%{release} -# Obsoletes: virt-cat <= %{epoch}:%{version}-%{release} -# Provides: virt-df = %{epoch}:%{version}-%{release} -# Obsoletes: virt-df <= %{epoch}:%{version}-%{release} -# Provides: virt-inspector = %{epoch}:%{version}-%{release} -# Obsoletes: virt-inspector <= %{epoch}:%{version}-%{release} - -# # RHBZ#514309 -# Provides: virt-df2 = %{epoch}:%{version}-%{release} -# Obsoletes: virt-df2 <= %{epoch}:%{version}-%{release} - -# # These were never packages: -# Provides: virt-edit = %{epoch}:%{version}-%{release} -# Provides: virt-rescue = %{epoch}:%{version}-%{release} - - -# %description tools -# This package contains miscellaneous system administrator command line -# tools for virtual machines. - -# Virt-cat is a command line tool to display the contents of a file in a -# virtual machine. - -# Virt-df is a command line tool to display free space on virtual -# machine filesystems. Unlike other tools, it doesn?t just display the -# amount of space allocated to a virtual machine, but can look inside -# the virtual machine to see how much space is really being used. It is -# like the df(1) command, but for virtual machines, except that it also -# works for Windows virtual machines. - -# Virt-edit is a command line tool to edit the contents of a file in a -# virtual machine. - -# Virt-inspector examines a virtual machine and tries to determine the -# version of the OS, the kernel version, what drivers are installed, -# whether the virtual machine is fully virtualized (FV) or -# para-virtualized (PV), what applications are installed and more. - -# Virt-ls is a command line tool to list out files in a virtual machine. +%package tools +Summary: System administration tools for virtual machines +Group: Development/Tools +License: GPLv2+ +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: guestfish +Requires: perl-Sys-Virt + +# Obsolete and replace earlier packages. +Provides: virt-cat = %{epoch}:%{version}-%{release} +Obsoletes: virt-cat <= %{epoch}:%{version}-%{release} +Provides: virt-df = %{epoch}:%{version}-%{release} +Obsoletes: virt-df <= %{epoch}:%{version}-%{release} +Provides: virt-inspector = %{epoch}:%{version}-%{release} +Obsoletes: virt-inspector <= %{epoch}:%{version}-%{release} + +# RHBZ#514309 +Provides: virt-df2 = %{epoch}:%{version}-%{release} +Obsoletes: virt-df2 <= %{epoch}:%{version}-%{release} + +# These were never packages: +Provides: virt-edit = %{epoch}:%{version}-%{release} +Provides: virt-rescue = %{epoch}:%{version}-%{release} + + +%description tools +This package contains miscellaneous system administrator command line +tools for virtual machines. -# Virt-rescue provides a rescue shell for making interactive, -# unstructured fixes to virtual machines. +Virt-cat is a command line tool to display the contents of a file in a +virtual machine. -# Virt-tar is an archive, backup and upload tool for virtual machines. +Virt-df is a command line tool to display free space on virtual +machine filesystems. Unlike other tools, it doesn?t just display the +amount of space allocated to a virtual machine, but can look inside +the virtual machine to see how much space is really being used. It is +like the df(1) command, but for virtual machines, except that it also +works for Windows virtual machines. -# Virt-win-reg lets you look inside the Windows Registry for -# Windows virtual machines. +Virt-edit is a command line tool to edit the contents of a file in a +virtual machine. + +Virt-inspector examines a virtual machine and tries to determine the +version of the OS, the kernel version, what drivers are installed, +whether the virtual machine is fully virtualized (FV) or +para-virtualized (PV), what applications are installed and more. + +Virt-ls is a command line tool to list out files in a virtual machine. + +Virt-rescue provides a rescue shell for making interactive, +unstructured fixes to virtual machines. + +Virt-tar is an archive, backup and upload tool for virtual machines. + +Virt-win-reg lets you look inside the Windows Registry for +Windows virtual machines. %package -n ocaml-%{name} @@ -325,7 +323,7 @@ mkdir -p daemon/m4 %build %if %{buildnonet} mkdir repo -find /var/cache/yum/ -type f -name '*.rpm' -print0 | xargs -0 cp -t repo +find /var/cache/yum -type f -name '*.rpm' -print0 | xargs -0 cp -t repo createrepo repo ls -l repo %define extra --with-mirror=file://$(pwd)/repo --with-repo=epel-5 --with-updates=none @@ -333,7 +331,6 @@ ls -l repo %define extra --with-mirror=http://mirror.centos.org/centos-5/5.3/os/%{_arch}/ --with-repo=centos-5 --with-updates=none %endif -vmchannel_test=no \ ./configure \ --prefix=%{_prefix} --libdir=%{_libdir} \ --mandir=%{_mandir} \ @@ -356,8 +353,9 @@ make INSTALLDIRS=vendor %{?_smp_mflags} # it produces masses of output in the build.log. export LIBGUESTFS_DEBUG=1 +# Tests disabled TEMPORARILY for faster builds of 1.0.76. Can be REENABLED. %ifarch %{ix86} -make check +#make check %endif @@ -425,7 +423,7 @@ chmod -x src/generator.ml # Move installed documentation back to the source directory so # we can install it using a %%doc rule. -#mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs +mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs # Find locale files. %find_lang %{name} @@ -458,7 +456,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc ChangeLog HACKING TODO README ex html/guestfs.3.html html/pod.css %doc src/generator.ml -#%doc installed-docs/* +%doc installed-docs/* %{_libdir}/libguestfs.so %{_libdir}/libhivex.so %{_mandir}/man1/hivexml.1* @@ -479,24 +477,24 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/guestfish.1* -# %files tools -# %defattr(-,root,root,-) -# %{_bindir}/virt-cat -# %{_mandir}/man1/virt-cat.1* -# %{_bindir}/virt-df -# %{_mandir}/man1/virt-df.1* -# %{_bindir}/virt-edit -# %{_mandir}/man1/virt-edit.1* -# %{_bindir}/virt-inspector -# %{_mandir}/man1/virt-inspector.1* -# %{_bindir}/virt-ls -# %{_mandir}/man1/virt-ls.1* -# %{_bindir}/virt-rescue -# %{_mandir}/man1/virt-rescue.1* -# %{_bindir}/virt-tar -# %{_mandir}/man1/virt-tar.1* -# %{_bindir}/virt-win-reg -# %{_mandir}/man1/virt-win-reg.1* +%files tools +%defattr(-,root,root,-) +%{_bindir}/virt-cat +%{_mandir}/man1/virt-cat.1* +%{_bindir}/virt-df +%{_mandir}/man1/virt-df.1* +%{_bindir}/virt-edit +%{_mandir}/man1/virt-edit.1* +%{_bindir}/virt-inspector +%{_mandir}/man1/virt-inspector.1* +%{_bindir}/virt-ls +%{_mandir}/man1/virt-ls.1* +%{_bindir}/virt-rescue +%{_mandir}/man1/virt-rescue.1* +%{_bindir}/virt-tar +%{_mandir}/man1/virt-tar.1* +%{_bindir}/virt-win-reg +%{_mandir}/man1/virt-win-reg.1* %files -n ocaml-%{name} @@ -564,6 +562,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Oct 30 2009 Richard W.M. Jones - 1.0.76-1.el5.2 +- Try building tools now that EPEL may have been rebased to 5.4. +- Tests disabled *temporarily* to allow faster builds. + * Thu Oct 29 2009 Richard W.M. Jones - 1.0.76-1 - New upstream release 1.0.76. No changes here except to have a prebuilt autoconf environment. From rjones at fedoraproject.org Fri Oct 30 09:11:09 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 30 Oct 2009 09:11:09 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.82,1.83 Message-ID: <20091030091109.6B22411C0418@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4618 Modified Files: libguestfs.spec Log Message: perl-devel package does not exist on EPEL 5.4. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.82 retrieving revision 1.83 diff -u -p -r1.82 -r1.83 --- libguestfs.spec 30 Oct 2009 08:59:22 -0000 1.82 +++ libguestfs.spec 30 Oct 2009 09:11:07 -0000 1.83 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.76 -Release: 1%{?dist}.2 +Release: 1%{?dist}.3 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -64,7 +64,7 @@ Requires: grub, ntfsprogs BuildRequires: ocaml BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-xml-light-devel -BuildRequires: perl-devel +#BuildRequires: perl-devel #BuildRequires: perl-Test-Simple BuildRequires: perl-Test-Pod BuildRequires: perl-Test-Pod-Coverage @@ -562,7 +562,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Fri Oct 30 2009 Richard W.M. Jones - 1.0.76-1.el5.2 +* Fri Oct 30 2009 Richard W.M. Jones - 1.0.76-1.el5.3 - Try building tools now that EPEL may have been rebased to 5.4. - Tests disabled *temporarily* to allow faster builds. From rjones at fedoraproject.org Fri Oct 30 09:25:00 2009 From: rjones at fedoraproject.org (Richard W.M. Jones) Date: Fri, 30 Oct 2009 09:25:00 +0000 (UTC) Subject: [fedora-virt-maint] rpms/libguestfs/EL-5 libguestfs.spec,1.83,1.84 Message-ID: <20091030092501.1381311C00E8@cvs1.fedora.phx.redhat.com> Author: rjones Update of /cvs/pkgs/rpms/libguestfs/EL-5 In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8328 Modified Files: libguestfs.spec Log Message: Reenable tests. Index: libguestfs.spec =================================================================== RCS file: /cvs/pkgs/rpms/libguestfs/EL-5/libguestfs.spec,v retrieving revision 1.83 retrieving revision 1.84 diff -u -p -r1.83 -r1.84 --- libguestfs.spec 30 Oct 2009 09:11:07 -0000 1.83 +++ libguestfs.spec 30 Oct 2009 09:24:59 -0000 1.84 @@ -5,7 +5,7 @@ Summary: Access and modify virtual m Name: libguestfs Epoch: 1 Version: 1.0.76 -Release: 1%{?dist}.3 +Release: 1%{?dist}.4 License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -355,7 +355,7 @@ export LIBGUESTFS_DEBUG=1 # Tests disabled TEMPORARILY for faster builds of 1.0.76. Can be REENABLED. %ifarch %{ix86} -#make check +make check %endif @@ -562,6 +562,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Oct 30 2009 Richard W.M. Jones - 1.0.76-1.el5.4 +- Reenable tests. + * Fri Oct 30 2009 Richard W.M. Jones - 1.0.76-1.el5.3 - Try building tools now that EPEL may have been rebased to 5.4. - Tests disabled *temporarily* to allow faster builds. From rel-eng at fedoraproject.org Fri Oct 30 15:45:07 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 30 Oct 2009 15:45:07 -0000 Subject: [fedora-virt-maint] #2926: please tag qemu-0.11.0-9.fc12 Message-ID: <049.4ac9d89053e94920b3eb38e2ba53529c@fedoraproject.org> #2926: please tag qemu-0.11.0-9.fc12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- Contains a fix for a serious networking regression * Thu Oct 29 2009 Mark McLoughlin - 2:0.11.0-9 - Fix dropped packets with non-virtio NICs (#531419) Tested by me -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 30 15:45:08 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 30 Oct 2009 15:45:08 -0000 Subject: [fedora-virt-maint] #2927: please tag libvirt-0.7.1-15.fc12 Message-ID: <049.399190aa239ecf117abceed518f36b59@fedoraproject.org> #2927: please tag libvirt-0.7.1-15.fc12 -----------------------------+---------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: new Milestone: Fedora 12 Final | Component: koji Keywords: | -----------------------------+---------------------------------------------- A fairly miscellaneous bunch of fixes, not of them too serious or risky * Thu Oct 29 2009 Mark McLoughlin - 0.7.1-15 - Avoid compressing small log files (#531030) * Thu Oct 29 2009 Mark McLoughlin - 0.7.1-14 - Make libvirt-devel require libvirt-client, not libvirt - Fix xen driver recounting (#531429) - Fix crash on virsh error (#531429) - Fix segfault where XML parsing fails in qemu disk hotplug - Fix segfault where interface target device name is ommitted (#523418) Tested by me -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 30 16:23:57 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 30 Oct 2009 16:23:57 -0000 Subject: [fedora-virt-maint] Re: #2927: please tag libvirt-0.7.1-15.fc12 In-Reply-To: <049.399190aa239ecf117abceed518f36b59@fedoraproject.org> References: <049.399190aa239ecf117abceed518f36b59@fedoraproject.org> Message-ID: <058.51e49d157ef40d8de224a643f2f53f66@fedoraproject.org> #2927: please tag libvirt-0.7.1-15.fc12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project From rel-eng at fedoraproject.org Fri Oct 30 16:24:04 2009 From: rel-eng at fedoraproject.org (Fedora Release Engineering) Date: Fri, 30 Oct 2009 16:24:04 -0000 Subject: [fedora-virt-maint] Re: #2926: please tag qemu-0.11.0-9.fc12 In-Reply-To: <049.4ac9d89053e94920b3eb38e2ba53529c@fedoraproject.org> References: <049.4ac9d89053e94920b3eb38e2ba53529c@fedoraproject.org> Message-ID: <058.767dfc0ac290dfde1033a000399fb05d@fedoraproject.org> #2926: please tag qemu-0.11.0-9.fc12 ------------------------------+--------------------------------------------- Reporter: markmc | Owner: rel-eng at lists.fedoraproject.org Type: task | Status: closed Milestone: Fedora 12 Final | Component: koji Resolution: fixed | Keywords: ------------------------------+--------------------------------------------- Changes (by jkeating): * status: new => closed * resolution: => fixed Comment: Tagged -- Ticket URL: Fedora Release Engineering Release Engineering for the Fedora Project