# ChangeLog for app-emulation/qemu-softmmu
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-softmmu/ChangeLog,v 1.66 2009/04/24 10:59:50 lu_zero Exp $

  24 Apr 2009; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-softmmu-0.10.1-nopl-fix.patch, qemu-softmmu-0.10.1.ebuild:
  Fix in_asm debugging, thanks to Mark Karpeles <mark@hell.ne.jp>

  27 Mar 2009; Luca Barbato <lu_zero@gentoo.org> metadata.xml,
  qemu-softmmu-0.10.1.ebuild:
  Minor fixes and enabling kvm

  24 Mar 2009; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.10.1.ebuild:
  fix ifup/ifdown installation

*qemu-softmmu-0.10.1 (22 Mar 2009)

  22 Mar 2009; Luca Barbato <lu_zero@gentoo.org>
  +qemu-softmmu-0.10.1.ebuild:
  Bugfix release

  21 Mar 2009; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.10.0.ebuild:
  typo, thanks to Jonathan-Christofer Demay <jcdemay@gmail.com> for spotting
  it

  18 Mar 2009; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.10.0.ebuild:
  disable fdt since the current one is broken...

  17 Mar 2009; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.10.0.ebuild:
  fdt is a fixed dep for now

  12 Mar 2009; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.10.0.ebuild:
  Simplify hardened support

  12 Mar 2009; Diego E. Pettenò <flameeyes@gentoo.org>
  qemu-softmmu-0.9.1.ebuild, qemu-softmmu-0.9.1-r1.ebuild,
  qemu-softmmu-0.9.1-r2.ebuild, qemu-softmmu-0.9.1-r3.ebuild,
  qemu-softmmu-0.10.0.ebuild:
  Remove binchecks restriction (package installs binaries!).

  09 Mar 2009; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.10.0.ebuild:
  Fix leftover from kvm ebuild import

*qemu-softmmu-0.10.0 (06 Mar 2009)

  06 Mar 2009; Luca Barbato <lu_zero@gentoo.org> +files/qemu-ifdown,
  +files/qemu-ifup, +qemu-softmmu-0.10.0.ebuild:
  New release

  28 Jul 2008; Doug Goldstein <cardoe@gentoo.org> metadata.xml:
  add GLEP 56 USE flag desc from use.local.desc

  14 May 2008; Markus Meier <maekke@gentoo.org>
  qemu-softmmu-0.9.1-r3.ebuild:
  amd64 stable, bug #221943

  14 May 2008; Luca Barbato <lu_zero@gentoo.org>
  qemu-softmmu-0.9.1-r3.ebuild:
  Marked ppc

  14 May 2008; Christian Faulhammer <opfer@gentoo.org>
  qemu-softmmu-0.9.1-r3.ebuild:
  stable x86, security bug 212351

*qemu-softmmu-0.9.1-r3 (14 May 2008)

  14 May 2008; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-softmmu-0.9.1-CVE-2008-2004.patch,
  +qemu-softmmu-0.9.1-r3.ebuild:
  Address CVE-2008-2004, fix bug #221943, thanks to Celso Fernandes
  (icezimm) <celso.fernandes@gmail.com>

*qemu-softmmu-0.9.1-r2 (12 May 2008)

  12 May 2008; Peter Volkov <pva@gentoo.org>
  +files/qemu-softmmu-0.9.1-CVE-2008-0928.patch,
  +qemu-softmmu-0.9.1-r2.ebuild:
  Updated patch for security bug #212351 to avoid qcow2 image regression.
  Filtering CFLAGS to allow building with gcc-3.4.

  20 Apr 2008; Luca Barbato <lu_zero@gentoo.org>
  qemu-softmmu-0.9.1-r1.ebuild:
  Move the gcc check in src_unpack

  09 Mar 2008; Luca Barbato <lu_zero@gentoo.org>
  qemu-softmmu-0.9.1-r1.ebuild:
  Marked ppc

*qemu-softmmu-0.9.1-r1 (05 Mar 2008)

  05 Mar 2008; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-softmmu-0.9.1-block-device-address-range.patch,
  +qemu-softmmu-0.9.1-r1.ebuild:
  Fix CVE-2008-0928, patch from the red hat bugzilla

  01 Feb 2008; Luca Barbato <lu_zero@gentoo.org>
  -files/qemu-0.8.0-gcc4-hacks.patch, -files/qemu-0.8.0-gcc4-opts.patch,
  -files/qemu-0.8.2-linux-headers.patch, -files/qemu-0.8.2-sparc-fp.patch,
  -qemu-softmmu-0.8.0.ebuild, -qemu-softmmu-0.8.0.20060329.ebuild,
  -qemu-softmmu-0.8.1.ebuild, -qemu-softmmu-0.8.1-r1.ebuild,
  -qemu-softmmu-0.8.2.ebuild, -qemu-softmmu-0.8.2-r1.ebuild:
  Remove qemu-0.8 series

*qemu-softmmu-0.9.1 (25 Jan 2008)

  25 Jan 2008; Luca Barbato <lu_zero@gentoo.org> +qemu-softmmu-0.9.1.ebuild:
  New version, improved ebuild by Carlo Marcelo Arenas Belon
  <carenas@sajinet.com.pe>, bugs #204675

  13 Nov 2007; Luca Barbato <lu_zero@gentoo.org>
  qemu-softmmu-0.9.0-r1.ebuild:
  Mark the revision stable

*qemu-softmmu-0.9.0-r1 (12 Nov 2007)

  12 Nov 2007; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-softmmu-0.9.0-block-qcow2.patch,
  +qemu-softmmu-0.9.0-r1.ebuild:
  address qcow2 corruption, thanks to Chris Williams <gentoo@psychogeeks.com>
  for the patch, see bug #187075

  09 Sep 2007; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-softmmu-0.9.0-ide-cd.patch, qemu-softmmu-0.9.0.ebuild:
  Address a glitch in the ide/cdrom emulation, thanks to Carlo Marcelo Arenas
  Belon <carenas@sajinet.com.pe> for pointing the patch and reporting the
  issue

  02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org>
  qemu-softmmu-0.8.0.ebuild, qemu-softmmu-0.8.0.20060329.ebuild,
  qemu-softmmu-0.8.1.ebuild, qemu-softmmu-0.8.1-r1.ebuild,
  qemu-softmmu-0.8.2.ebuild, qemu-softmmu-0.8.2-r1.ebuild,
  qemu-softmmu-0.9.0.ebuild:
  (QA) RESTRICT clean up.

  20 May 2007; Christian Faulhammer <opfer@gentoo.org>
  qemu-softmmu-0.9.0.ebuild:
  stable amd64, security bug 176674

  16 May 2007; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.9.0.ebuild:
  Marked ppc

  08 May 2007; Markus Ullmann <jokey@gentoo.org> qemu-softmmu-0.9.0.ebuild:
  Stable on x86 wrt security bug #176674

  21 Feb 2007; Piotr Jaroszyński <peper@gentoo.org> ChangeLog:
  Transition to Manifest2.

  10 Feb 2007; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.9.0.ebuild:
  Fix bug #164491

  10 Feb 2007; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.9.0.ebuild:
  Minor update

*qemu-softmmu-0.9.0 (07 Feb 2007)

  07 Feb 2007; Luca Barbato <lu_zero@gentoo.org> +qemu-softmmu-0.9.0.ebuild:
  New version

  06 Feb 2007; Simon Stelling <blubb@gentoo.org>
  qemu-softmmu-0.8.2-r1.ebuild:
  stable on amd64; bug 159522

  02 Jan 2007; Christian Faulhammer <opfer@gentoo.org>
  qemu-softmmu-0.8.2-r1.ebuild:
  stable x86, bug #159522

  31 Dec 2006; Mike Frysinger <vapier@gentoo.org>
  +files/qemu-0.8.2-linux-headers.patch, qemu-softmmu-0.8.2-r1.ebuild:
  Fix building with sanitized headers.

  31 Dec 2006; Luca Barbato <lu_zero@gentoo.org>
  qemu-softmmu-0.8.2-r1.ebuild:
  Marked ppc

  22 Nov 2006; Kevin F. Quinn <kevquinn@gentoo.org>
  qemu-softmmu-0.8.2-r1.ebuild:
  Add QA variables indicating which files contain textrels, require
  execstack, and contain WX PT_LOAD segments.  The TEXTRELs are a feature of how
  qemu works.  The execstack/wx_load markings are for a foreign binary.

  18 Aug 2006; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.8.2.ebuild:
  remove stray dep

  17 Aug 2006; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.8.2.ebuild,
  qemu-softmmu-0.8.2-r1.ebuild:
  Remove stray bits from the older ebuild

*qemu-softmmu-0.8.2-r1 (17 Aug 2006)

  17 Aug 2006;  Luca Barbato <lu_zero@gentoo.org>
  qemu-softmmu-0.8.2-r1.ebuild, files/digest-qemu-softmmu-0.8.2-r1:
  Added alsa support as requested in bug #116599 by Ivan Yosifov <ivan@yosifov.net>
  and adlib support as requested by Jan Simons <gentoo@onkos.de> on the same bug;
  use tc-getCC, patch from Damien THEBAULT <damien.thebault@laposte.net> in
  bug #132602, set correct kqemu deps, should solve bug #141721

  01 Aug 2006; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.8.2.ebuild:
  False hope, gcc-3 is still required.

*qemu-softmmu-0.8.2 (01 Aug 2006)

  01 Aug 2006; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-0.8.2-sparc-fp.patch, +qemu-softmmu-0.8.2.ebuild:
  New version, should work better with gcc-4

*qemu-softmmu-0.8.1-r1 (12 Jul 2006)

  12 Jul 2006; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-0.8.0-gcc4-hacks.patch, +files/qemu-0.8.0-gcc4-opts.patch,
  +qemu-softmmu-0.8.1-r1.ebuild:
  Updated revision, with alsa and partial gcc4 support on x86 (phreak and
  genstef found the patches)

  09 Jun 2006; Michael Sterrett <mr_bones_@gentoo.org>
  -files/qemu-softmmu-0.7.0-errno.patch, -files/kqemu-0.7.1-sysfs.patch,
  -files/kqemu-sysfs.patch, -qemu-softmmu-0.7.0-r1.ebuild,
  -qemu-softmmu-0.7.1.ebuild, -qemu-softmmu-0.7.1-r1.ebuild,
  -qemu-softmmu-0.7.2.ebuild:
  clean out old files

*qemu-softmmu-0.8.1 (06 May 2006)

  06 May 2006; Luca Barbato <lu_zero@gentoo.org> +qemu-softmmu-0.8.1.ebuild:
  New version

  28 Apr 2006; Luca Barbato <lu_zero@gentoo.org>
  qemu-softmmu-0.8.0.20060329.ebuild:
  Stray epatch removed

  27 Apr 2006; Marien Zwart <marienz@gentoo.org>
  files/digest-qemu-softmmu-0.7.0-r1, files/digest-qemu-softmmu-0.7.1,
  files/digest-qemu-softmmu-0.7.1-r1, files/digest-qemu-softmmu-0.7.2,
  files/digest-qemu-softmmu-0.8.0, files/digest-qemu-softmmu-0.8.0.20060329,
  Manifest:
  Fixing SHA256 digest for real, pass three...

  27 Apr 2006; Marien Zwart <marienz@gentoo.org>
  files/digest-qemu-softmmu-0.7.0-r1, files/digest-qemu-softmmu-0.7.1,
  files/digest-qemu-softmmu-0.7.1-r1, files/digest-qemu-softmmu-0.7.2,
  files/digest-qemu-softmmu-0.8.0, files/digest-qemu-softmmu-0.8.0.20060329,
  Manifest:
  Fixing SHA256 digest, pass two.

  19 Apr 2006; Daniel Gryniewicz <dang@gentoo.org> ChangeLog:
  Marked stable on amd64 per bug# 123972

  16 Apr 2006; Michael Hanselmann <hansmi@gentoo.org>
  qemu-softmmu-0.8.0.ebuild:
  Stable on ppc.

  01 Apr 2006; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.8.0.ebuild:
  Restricted test feature

  29 Mar 2006; Chris White <chriswhite@gentoo.org>
  qemu-softmmu-0.8.0.ebuild:
  x86 stable for qemu-softmmu-0.8.0 bug #123972.

  08 Jan 2006; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.8.0.ebuild:
  Disable gcc checks, thanks to Robert Führicht <the_master_of_disaster@gmx.at>

*qemu-softmmu-0.8.0 (23 Dec 2005)

  23 Dec 2005; Luca Barbato <lu_zero@gentoo.org> +qemu-softmmu-0.8.0.ebuild:
  New version

  01 Dec 2005; <dang@gentoo.org> qemu-softmmu-0.7.0-r1.ebuild,
  qemu-softmmu-0.7.1.ebuild, qemu-softmmu-0.7.1-r1.ebuild,
  qemu-softmmu-0.7.2.ebuild:
  Mark 0.7.2 stable, with workign kqemu. Remove amd64 from older, nonworking
  versions

*qemu-softmmu-0.7.2 (11 Sep 2005)

  11 Sep 2005; Luca Barbato <lu_zero@gentoo.org> +qemu-softmmu-0.7.2.ebuild:
  New release

  19 Aug 2005; Aron Griffis <agriffis@gentoo.org>
  qemu-softmmu-0.7.1-r1.ebuild:
  Minor ebuild fixups, particularly move MODULE_NAMES setting into pkg_setup.
  The kqemu-sysfs patch is not compatible with 2.6.13-rc1+ because the new
  interfaces are GPL-only, so refrain from applying the patch on those
  versions; http://lkml.org/lkml/2005/7/4/5

*qemu-softmmu-0.7.1-r1 (06 Aug 2005)

  06 Aug 2005; Luca Barbato <lu_zero@gentoo.org>
  +qemu-softmmu-0.7.1-r1.ebuild:
  Fix bug #101524

  26 Jul 2005; Luca Barbato <lu_zero@gentoo.org>
  +files/kqemu-0.7.1-sysfs.patch, qemu-softmmu-0.7.1.ebuild:
  updated the sysfs patch, thanks to Philippe Weibel <philippe.weibel@free.fr>

  26 Jul 2005; Luca Barbato <lu_zero@gentoo.org> qemu-softmmu-0.7.1.ebuild:
  Fixes and workarounds for the latest kernels.

*qemu-softmmu-0.7.1 (25 Jul 2005)

  25 Jul 2005; Luca Barbato <lu_zero@gentoo.org> +qemu-softmmu-0.7.1.ebuild:
  New version

*qemu-softmmu-0.7.0-r1 (18 Jun 2005)

  18 Jun 2005; Luca Barbato <lu_zero@gentoo.org>
  +files/qemu-softmmu-0.7.0-errno.patch, +files/kqemu-sysfs.patch,
  +metadata.xml, +qemu-softmmu-0.7.0-r1.ebuild:
  qemu split ebuild, system emulators

