Hello community, here is the log from the commit of package kvm for openSUSE:Factory checked in at 2012-01-17 11:33:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kvm (Old) and /work/SRC/openSUSE:Factory/.kvm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "kvm", Maintainer is "BROGERS@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/kvm/kvm.changes 2011-10-29 08:00:33.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kvm.new/kvm.changes 2012-01-17 16:10:13.000000000 +0100 @@ -1,0 +2,27 @@ +Wed Jan 11 05:21:04 UTC 2012 - brogers@suse.com + +- fix issue with g_thread_init deprecation now treated as error + +------------------------------------------------------------------- +Tue Dec 13 12:57:10 UTC 2011 - bkutil@suse.com + +- Fix dictzip with long file names. + +------------------------------------------------------------------- +Tue Dec 13 05:01:48 UTC 2011 - brogers@suse.com + +- Update to qemu-kvm v1.0 + - see http://wiki.qemu.org/ChangeLog/1.0 for details + +------------------------------------------------------------------- +Tue Nov 29 21:46:36 UTC 2011 - brogers@suse.com + +- change a build dependency from spice-devel to spice-protocol + +------------------------------------------------------------------- +Mon Nov 28 20:28:51 UTC 2011 - brogers@suse.com + +- add missing break. Plugs potential buffer overflow in CCID card + passthru device (bnc#731086) + +------------------------------------------------------------------- Old: ---- kvm-qemu-fix-1mb-memory-assert.patch kvm-qemu-fix-unused-but-set.patch kvm-qemu-preXX-block-curl-Don-t-finish-AIOCBs-too-early.patch kvm-qemu-preXX-block-curl-Implement-a-flush-function-on-the-fd-han.patch kvm-qemu-preXX-e1000-Don-t-set-the-Capabilities-List-bit.patch kvm-qemu-preXX-qemu_vmalloc-align-properly-for-transparent-hugepag.patch kvm-qemu-preXX-vns-tls-don-t-use-depricated-gnutls-functions.patch qemu-kvm-0.15.1.tar.bz2 New: ---- kvm-qemu-preXX-dictzip3.patch kvm-qemu-preXX-g_thread_init-users-don-t-call-it-if-glib-2.31.patch qemu-kvm-1.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kvm.spec ++++++ --- /var/tmp/diff_new_pack.x1lsTO/_old 2012-01-17 16:10:17.000000000 +0100 +++ /var/tmp/diff_new_pack.x1lsTO/_new 2012-01-17 16:10:17.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package kvm # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -14,14 +14,13 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - -# norootforbuild # icecream 0 -%bcond_with spice -%define package_true_version 0.15.1 -%define package_base_version 0.15.1 +%bcond_without spice + +%define package_true_version 1.0 +%define package_base_version 1.0 %define bios_id seabios-1.6.3 %define pxe_rom_id ipxe-git-aaf7a35 %define vgabios_id vgabios-0.6c @@ -30,7 +29,7 @@ # note that this list doesn't include the ipxe roms since they get handled # individually and not as a group -%define firmware_files {bios.bin sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/extboot.bin optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/vapic.bin} +%define firmware_files {bios.bin sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/vapic.bin} ExclusiveArch: %ix86 x86_64 ia64 s390x @@ -44,9 +43,21 @@ %define using_buildservice 0%{?opensuse_bs} Name: kvm -BuildRequires: SDL-devel alsa alsa-devel gnutls-devel libaio-devel -BuildRequires: libcurl-devel libpulse-devel ncurses-devel pciutils-devel perl -BuildRequires: glib2-devel libattr-devel python texinfo xfsprogs-devel +BuildRequires: SDL-devel +BuildRequires: alsa +BuildRequires: alsa-devel +BuildRequires: glib2-devel +BuildRequires: gnutls-devel +BuildRequires: libaio-devel +BuildRequires: libattr-devel +BuildRequires: libcurl-devel +BuildRequires: libpulse-devel +BuildRequires: ncurses-devel +BuildRequires: pciutils-devel +BuildRequires: perl +BuildRequires: python +BuildRequires: texinfo +BuildRequires: xfsprogs-devel %if 0%{?suse_version} >= 1130 BuildRequires: brlapi-devel %endif @@ -71,7 +82,8 @@ %if 0%{?suse_version} >= 1130 # Spice support does not currently build with -Werror on 32-bit platforms %ifnarch %ix86 -BuildRequires: libspice-server-devel spice-devel +BuildRequires: libspice-server-devel +BuildRequires: spice-protocol-devel %endif %endif %endif @@ -82,9 +94,9 @@ %if 0%{?suse_version} < 1110 Requires: kvm-kmp %endif -License: BSD3c ; GPLv2 ; GPLv2+ ; LGPLv2.1+ ; MIT -Group: System/Kernel Summary: Kernel-based Virtual Machine +License: BSD-3-Clause ; GPL-2.0 ; GPL-2.0+ ; LGPL-2.1+ ; MIT +Group: System/Kernel Url: http://www.linux-kvm.org Version: %{package_true_version} Release: 0 @@ -114,21 +126,16 @@ Patch60: qemu-datadir.diff Patch61: kvm-qemu-default-memsize.patch Patch62: kvm-qemu-user-space-tool-name.patch -Patch63: kvm-qemu-fix-unused-but-set.patch -Patch64: kvm-qemu-madvise-DONTFORK-for-tight-memory-migration.patch -Patch65: kvm-qemu-fix-1mb-memory-assert.patch +Patch63: kvm-qemu-madvise-DONTFORK-for-tight-memory-migration.patch # Post-release upstream patches Patch100: kvm-qemu-preXX-dictzip1.patch Patch101: kvm-qemu-preXX-dictzip2.patch Patch102: kvm-qemu-preXX-report-default-mac-used.patch Patch103: kvm-qemu-preXX-console.patch -Patch104: kvm-qemu-preXX-vns-tls-don-t-use-depricated-gnutls-functions.patch -Patch105: kvm-qemu-preXX-qemu_vmalloc-align-properly-for-transparent-hugepag.patch -Patch106: kvm-qemu-madvise-hugepages.patch -Patch107: kvm-qemu-preXX-block-curl-Implement-a-flush-function-on-the-fd-han.patch -Patch108: kvm-qemu-preXX-block-curl-Don-t-finish-AIOCBs-too-early.patch -Patch109: kvm-qemu-preXX-e1000-Don-t-set-the-Capabilities-List-bit.patch +Patch104: kvm-qemu-madvise-hugepages.patch +Patch105: kvm-qemu-preXX-dictzip3.patch +Patch106: kvm-qemu-preXX-g_thread_init-users-don-t-call-it-if-glib-2.31.patch Patch150: qemu-kvm-common-code-fixes-for-s390-build.patch @@ -214,8 +221,6 @@ %patch61 -p1 %patch62 -p1 %patch63 -p1 -%patch64 -p1 -%patch65 -p1 # Post-release patches %patch100 -p1 @@ -225,9 +230,6 @@ %patch104 -p1 %patch105 -p1 %patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 %patch150 -p1 @@ -320,8 +322,7 @@ sed -i 's/CFLAGS =/CFLAGS +=/' roms/vgabios/Makefile # userspace: -make -#make %{?jobs:-j%jobs} +make %{?jobs:-j%jobs} # Firmware %ifarch %ix86 x86_64 ++++++ kvm-qemu-preXX-dictzip1.patch ++++++ --- /var/tmp/diff_new_pack.x1lsTO/_old 2012-01-17 16:10:17.000000000 +0100 +++ /var/tmp/diff_new_pack.x1lsTO/_new 2012-01-17 16:10:17.000000000 +0100 @@ -24,10 +24,10 @@ 2 files changed, 502 insertions(+), 1 deletions(-) create mode 100644 block/dictzip.c -Index: qemu-kvm-0.14.0/block/dictzip.c +Index: qemu-kvm-1.0/block/dictzip.c =================================================================== --- /dev/null -+++ qemu-kvm-0.14.0/block/dictzip.c ++++ qemu-kvm-1.0/block/dictzip.c @@ -0,0 +1,566 @@ +/* + * DictZip Block driver for dictzip enabled gzip files @@ -296,7 +296,7 @@ + } + + /* random access data */ -+ s->chunks = qemu_malloc(chunks_len); ++ s->chunks = g_malloc(chunks_len); + if (header_ver == 99) + s->chunks32 = (uint32_t *)s->chunks; + @@ -345,7 +345,7 @@ + } + + /* compute offsets */ -+ s->offsets = qemu_malloc(sizeof( *s->offsets ) * s->chunk_cnt); ++ s->offsets = g_malloc(sizeof( *s->offsets ) * s->chunk_cnt); + + for (offset = headerLength + 1, i = 0; i < s->chunk_cnt; i++) { + s->offsets[i] = offset; @@ -367,7 +367,7 @@ + fprintf(stderr, "DictZip: Error opening file: %s\n", err); + bdrv_delete(s->hd); + if (s->chunks) -+ qemu_free(s->chunks); ++ g_free(s->chunks); + return -EINVAL; +} + @@ -392,7 +392,7 @@ + DictCache *cache; + int r; + -+ buf = qemu_malloc(acb->chunks_len); ++ buf = g_malloc(acb->chunks_len); + + /* uncompress the chunk */ + acb->zStream->next_in = acb->gzipped; @@ -422,13 +422,13 @@ + + cache->len = 0; + if (cache->buf) -+ qemu_free(cache->buf); ++ g_free(cache->buf); + cache->start = acb->gz_start; + cache->buf = buf; + cache->len = acb->chunks_len; + + /* free occupied ressources */ -+ qemu_free(acb->qiov_gz); ++ g_free(acb->qiov_gz); + qemu_aio_release(acb); +} + @@ -517,7 +517,7 @@ + gz_nb_sectors++; + + /* Allocate qiov, iov and buf in one chunk so we only need to free qiov */ -+ qiov_gz = qemu_mallocz(sizeof(QEMUIOVector) + sizeof(struct iovec) + ++ qiov_gz = g_malloc0(sizeof(QEMUIOVector) + sizeof(struct iovec) + + (gz_nb_sectors * SECTOR_SIZE)); + iov = (struct iovec *)(((char *)qiov_gz) + sizeof(QEMUIOVector)); + buf = ((uint8_t *)iov) + sizeof(struct iovec *); @@ -553,7 +553,7 @@ + if (!s->cache[i].len) + continue; + -+ qemu_free(s->cache[i].buf); ++ g_free(s->cache[i].buf); + } + + for (i = 0; i < Z_STREAM_COUNT; i++) { @@ -561,10 +561,10 @@ + } + + if (s->chunks) -+ qemu_free(s->chunks); ++ g_free(s->chunks); + + if (s->offsets) -+ qemu_free(s->offsets); ++ g_free(s->offsets); + + dprintf("Close\n"); +} @@ -595,15 +595,15 @@ +} + +block_init(dictzip_block_init); -Index: qemu-kvm-0.14.0/Makefile.objs +Index: qemu-kvm-1.0/Makefile.objs =================================================================== ---- qemu-kvm-0.14.0.orig/Makefile.objs -+++ qemu-kvm-0.14.0/Makefile.objs -@@ -24,6 +24,7 @@ block-nested-y += qcow2.o qcow2-refcount +--- qemu-kvm-1.0.orig/Makefile.objs ++++ qemu-kvm-1.0/Makefile.objs +@@ -34,6 +34,7 @@ block-nested-y += qcow2.o qcow2-refcount block-nested-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o block-nested-y += qed-check.o block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o +block-nested-y += dictzip.o block-nested-$(CONFIG_WIN32) += raw-win32.o block-nested-$(CONFIG_POSIX) += raw-posix.o - block-nested-$(CONFIG_CURL) += curl.o + block-nested-$(CONFIG_LIBISCSI) += iscsi.o ++++++ kvm-qemu-preXX-dictzip2.patch ++++++ --- /var/tmp/diff_new_pack.x1lsTO/_old 2012-01-17 16:10:17.000000000 +0100 +++ /var/tmp/diff_new_pack.x1lsTO/_new 2012-01-17 16:10:17.000000000 +0100 @@ -25,10 +25,10 @@ 2 files changed, 334 insertions(+), 1 deletions(-) create mode 100644 block/tar.c -Index: qemu-kvm-0.14.0.rc0/block/tar.c +Index: qemu-kvm-1.0/block/tar.c =================================================================== --- /dev/null -+++ qemu-kvm-0.14.0.rc0/block/tar.c ++++ qemu-kvm-1.0/block/tar.c @@ -0,0 +1,356 @@ +/* + * Tar block driver @@ -173,7 +173,7 @@ + + dprintf("Last chunk until %lx new chunk at %lx\n", s->last_end, offs); + -+ s->sparse = qemu_realloc(s->sparse, (s->sparse_num + 1) * sizeof(SparseCache)); ++ s->sparse = g_realloc(s->sparse, (s->sparse_num + 1) * sizeof(SparseCache)); + sparse = &s->sparse[s->sparse_num]; + sparse->start = s->last_end; + sparse->end = offs; @@ -320,11 +320,11 @@ + sec_file -= (sparse->end - sparse->start) / SECTOR_SIZE; + } else if ((sparse->start <= start) && (sparse->end >= end)) { + /* all our sectors are sparse */ -+ char *buf = qemu_mallocz(nb_sectors * SECTOR_SIZE); ++ char *buf = g_malloc0(nb_sectors * SECTOR_SIZE); + + acb = qemu_aio_get(&tar_aio_pool, bs, cb, opaque); + qemu_iovec_from_buffer(qiov, buf, nb_sectors * SECTOR_SIZE); -+ qemu_free(buf); ++ g_free(buf); + acb->bh = qemu_bh_new(tar_sparse_cb, acb); + qemu_bh_schedule(acb->bh); + @@ -333,7 +333,7 @@ + ((sparse->end >= start) && (sparse->end < end))) { + /* we're semi-sparse (worst case) */ + /* let's go synchronous and read all sectors individually */ -+ char *buf = qemu_malloc(nb_sectors * SECTOR_SIZE); ++ char *buf = g_malloc(nb_sectors * SECTOR_SIZE); + uint64_t offs; + + for (offs = 0; offs < (nb_sectors * SECTOR_SIZE); @@ -386,11 +386,11 @@ +} + +block_init(tar_block_init); -Index: qemu-kvm-0.14.0.rc0/Makefile.objs +Index: qemu-kvm-1.0/Makefile.objs =================================================================== ---- qemu-kvm-0.14.0.rc0.orig/Makefile.objs -+++ qemu-kvm-0.14.0.rc0/Makefile.objs -@@ -24,7 +24,7 @@ block-nested-y += qcow2.o qcow2-refcount +--- qemu-kvm-1.0.orig/Makefile.objs ++++ qemu-kvm-1.0/Makefile.objs +@@ -34,7 +34,7 @@ block-nested-y += qcow2.o qcow2-refcount block-nested-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o block-nested-y += qed-check.o block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o @@ -398,4 +398,4 @@ +block-nested-y += dictzip.o tar.o block-nested-$(CONFIG_WIN32) += raw-win32.o block-nested-$(CONFIG_POSIX) += raw-posix.o - block-nested-$(CONFIG_CURL) += curl.o + block-nested-$(CONFIG_LIBISCSI) += iscsi.o ++++++ kvm-qemu-preXX-dictzip3.patch ++++++ Index: qemu-kvm-0.12.5/block/tar.c =================================================================== --- qemu-kvm-0.12.5.orig/block/tar.c +++ qemu-kvm-0.12.5/block/tar.c @@ -83,7 +83,8 @@ static int str_ends(char *str, const cha return !strncmp(str + str_len - end_len, end, end_len); } -static int is_target_file(BlockDriverState *bs, char *filename) +static int is_target_file(BlockDriverState *bs, char *filename, + char *header) { int retval = 0; @@ -99,10 +100,17 @@ static int is_target_file(BlockDriverSta if (str_ends(filename, ".vmdk")) retval = 1; + if (retval && + (header[OFFS_TYPE] != '0') && + (header[OFFS_TYPE] != 'S')) { + retval = 0; + } + dprintf("does filename %s match? %s\n", filename, retval ? "yes" : "no"); /* make sure we're not using this name again */ filename[0] = '\0'; + return retval; } @@ -201,12 +209,13 @@ static int tar_open(BlockDriverState *bs bdrv_pread(s->hd, header_offs - s->file_len, s->longfile, sizeof(s->longfile)); s->longfile[sizeof(s->longfile)-1] = '\0'; + real_file = header; } else if (s->longfile[0]) { real_file = s->longfile; } else { real_file = header; } - } while(!is_target_file(bs, real_file)); + } while(!is_target_file(bs, real_file, header)); /* We found an image! */ ++++++ kvm-qemu-preXX-g_thread_init-users-don-t-call-it-if-glib-2.31.patch ++++++
From 42ed3727536ccf80c87942b3f04e7378fe90f107 Mon Sep 17 00:00:00 2001 From: Alon Levy
Date: Tue, 20 Dec 2011 13:41:04 +0200 Subject: [PATCH] g_thread_init users: don't call it if glib >= 2.31
since commit f9b29ca03 included in release 2.31 (docs below say 2.32 but
that is not correct) and onwards g_thread_init is deprecated and calling
it is not required:
http://developer.gnome.org/glib/unstable/glib-Deprecated-Thread-APIs.html#g-...
g_thread_init has been deprecated since version 2.32 and should not be
used in newly-written code. This function is no longer necessary. The
GLib threading system is automatically initialized at the start of your
program.
Fixes bulid failure when warnings are treated as errors on fedora 17.
I only tested the change to vl.c, and copy pasted to the two other
locations (couldn't decide if a wrapper for calling g_thread_init is
uglier).
Signed-off-by: Alon Levy