[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#772832: unblock: qemu/2.1+dfsg-11



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please consider unblocking package qemu.

The current release in sid fixes one serious bug (#772127) which has been
introduced during jessie development and made more serious by recent changes
in qemu packaging.  Basically, many qemu-system emulators didn't work due
to missing vgabios (part of seabios) and pxe boot roms (ipxe-qemu package).

The fix includes re-working a (debian-specific) patch which introduces a
build-time search PATH instead of a single directory as used by qemu (since
upstream qemu source includes firmware blobs from various projects in a
single directory, this is enough for upstream qemu; but in Debian we have
these blobs in different packages), and also adds Recommends entries to
several qemu-system packages.

I didn't want to use Depends because at least in theory, these systems
can function without the firmware, and also because adding extra Depends
at this stage is a bit risky.

Meanwhile, unfortunately, I mistakenly uploaded a new upstream version of
qemu (2.2), which aimed at experimental, to unstable.  So I had to re-
upload 2.1 version again, bumping the epoch number, to cancel 2.2 upload.
So in addition to fixing that single bug, there's also epoch number
increment.

There's no other changes.

Debdiff between version in jessie/testing and current sid is below.

unblock qemu/2.1+dfsg-11

Thanks,

/mjt

diff -Nru qemu-2.1+dfsg/debian/changelog qemu-2.1+dfsg/debian/changelog
--- qemu-2.1+dfsg/debian/changelog	2014-12-04 16:57:09.000000000 +0300
+++ qemu-2.1+dfsg/debian/changelog	2014-12-10 00:53:52.000000000 +0300
@@ -1,3 +1,26 @@
+qemu (1:2.1+dfsg-11) unstable; urgency=medium
+
+  * bump epoch and reupload to cancel 2.2+dfsg-1exp upload
+    mistakenly done to unstable.  No other changes.
+
+ -- Michael Tokarev <mjt@tls.msk.ru>  Wed, 10 Dec 2014 00:52:28 +0300
+
+qemu (2.1+dfsg-10) unstable; urgency=medium
+
+  * make (debian-specific) x86 data path (with seabios and ipxe
+    in it) non-x86-specific, since other arches use firmware
+    files too (Closes: #772127)
+  * add seabios to Recommends to qemu-system-misc, qemu-system-mips,
+    qemu-system-ppc and qemu-system-sparc packages, because these
+    packages contains emulators using vgabios which is part of
+    seabios package (#772127).
+  * add ipxe-qemu to Recommends to qemu-system-misc, qemu-system-arm,
+    qemu-system-mips, qemu-system-ppc, qemu-system-sparc packages,
+    because these packages contains emulators using network boot
+    roms (#772127), in a similar way.
+
+ -- Michael Tokarev <mjt@tls.msk.ru>  Tue, 09 Dec 2014 13:47:36 +0300
+
 qemu (2.1+dfsg-9) unstable; urgency=high
 
   * apply upstream patches for CVE-2014-8106
diff -Nru qemu-2.1+dfsg/debian/control qemu-2.1+dfsg/debian/control
--- qemu-2.1+dfsg/debian/control	2014-12-04 16:53:29.000000000 +0300
+++ qemu-2.1+dfsg/debian/control	2014-12-10 00:54:52.000000000 +0300
@@ -190,7 +190,10 @@
 Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64 x32
 Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# alpha uses vgabios
+# alpha m68k sh4 uses bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:misc}
 Breaks: qemu-system (<< 1.3.0+dfsg-5)
@@ -215,7 +218,9 @@
 Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64 x32
 Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# aarch64 arm uses bootroms
+ ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:arm}
 Breaks: qemu-system (<< 1.3.0+dfsg-5),
@@ -237,7 +242,9 @@
 Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64 x32
 Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# all mips targets uses vgabios and bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:mips}
 Breaks: qemu-system (<< 1.3.0+dfsg-5)
@@ -263,7 +270,9 @@
 # ubuntu can't Depend on openbios-ppc and openhackware as they're in universe
  openbios-ppc (>= 1.1+svn1229), openhackware
 Suggests: samba, vde2,
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# ppc targets use vgabios-stdvga and bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Provides: ${sysprovides:ppc}
 Breaks: qemu-system (<< 1.3.0+dfsg-5),
 Replaces: qemu-system (<< 1.3.0+dfsg-5),
@@ -286,7 +295,9 @@
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~),
 # ubuntu/openbios-sparc is in universe
  openbios-sparc (>= 1.1+svn1229)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# sparc64 uses vgabios-stdvga and bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:sparc}
 Breaks:
diff -Nru qemu-2.1+dfsg/debian/control-in qemu-2.1+dfsg/debian/control-in
--- qemu-2.1+dfsg/debian/control-in	2014-12-04 16:53:22.000000000 +0300
+++ qemu-2.1+dfsg/debian/control-in	2014-12-09 13:56:42.000000000 +0300
@@ -200,7 +200,10 @@
 Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64 x32
 Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# alpha uses vgabios
+# alpha m68k sh4 uses bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:misc}
 Breaks: qemu-system (<< 1.3.0+dfsg-5)
@@ -225,7 +228,9 @@
 Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64 x32
 Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# aarch64 arm uses bootroms
+ ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:arm}
 Breaks: qemu-system (<< 1.3.0+dfsg-5),
@@ -255,7 +260,9 @@
 Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64 x32
 Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# all mips targets uses vgabios and bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:mips}
 Breaks: qemu-system (<< 1.3.0+dfsg-5)
@@ -282,7 +289,9 @@
 :debian: openbios-ppc (>= 1.1+svn1229), openhackware
 Suggests: samba, vde2,
 :ubuntu: openbios-ppc (>= 1.1+svn1229), openhackware
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# ppc targets use vgabios-stdvga and bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Provides: ${sysprovides:ppc}
 Breaks: qemu-system (<< 1.3.0+dfsg-5),
 :ubuntu: qemu-common (<< 1.3.0+dfsg-5),
@@ -311,7 +320,9 @@
 Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (>> 2.0.0+dfsg-7~),
 # ubuntu/openbios-sparc is in universe
 :debian: openbios-sparc (>= 1.1+svn1229)
-Recommends: qemu-utils
+Recommends: qemu-utils,
+# sparc64 uses vgabios-stdvga and bootroms
+ seabios, ipxe-qemu (>= 1.0.0+git-20131111.c3d1e78-1~)
 Suggests: samba, vde2
 Provides: ${sysprovides:sparc}
 Breaks:
diff -Nru qemu-2.1+dfsg/debian/patches/series qemu-2.1+dfsg/debian/patches/series
--- qemu-2.1+dfsg/debian/patches/series	2014-12-04 16:53:22.000000000 +0300
+++ qemu-2.1+dfsg/debian/patches/series	2014-12-10 00:52:25.000000000 +0300
@@ -3,7 +3,7 @@
 
 02_kfreebsd.patch
 use-fixed-data-path.patch
-use-arch-data-path.patch
+use-data-path.patch
 mjt-set-oem-in-rsdt-like-slic.diff
 imx_timer_TIMER_MAX_clash.diff
 9p-readdir.patch
diff -Nru qemu-2.1+dfsg/debian/patches/use-arch-data-path.patch qemu-2.1+dfsg/debian/patches/use-arch-data-path.patch
--- qemu-2.1+dfsg/debian/patches/use-arch-data-path.patch	2014-12-04 16:53:22.000000000 +0300
+++ qemu-2.1+dfsg/debian/patches/use-arch-data-path.patch	1970-01-01 03:00:00.000000000 +0300
@@ -1,64 +0,0 @@
-From: Michael Tokarev <mjt@tls.msk.ru>
-Date: Sun, 24 Nov 2013 00:56:47 +0400
-Subject: use (arch-specific) data path, not just a single directory
-Forwarded: no
-
-Upstream qemu builds all firmware/binary files and keeps them
-in one data directory.  Debian uses different packages with
-those data files.  In the past, we used to create symlinks from
-qemu data directory to files in other packages.
-
-Instead of using symlinks, this patch allows to specify list
-of directories to look at, at build time (runtime already
-recognizes -L option).
-
-This allows us to go without symlinks, and to make some other
-packages optional (f.e. vga roms are provided by both vgabios
-package and seabios package, either of them should work).
-
-This patch is debian-specific.
-
---- a/arch_init.c
-+++ b/arch_init.c
-@@ -71,6 +71,13 @@ int graphic_height = 600;
- int graphic_depth = 32;
- #endif
- 
-+/* list of (arch-specific) directories to search for data files */
-+char qemu_datapath[] =
-+  CONFIG_QEMU_DATADIR
-+#if (defined(TARGET_I386) || defined(TARGET_X86_64)) && defined(CONFIG_QEMU_X86_DATAPATH)
-+  ":" CONFIG_QEMU_X86_DATAPATH
-+#endif
-+;
- 
- #if defined(TARGET_ALPHA)
- #define QEMU_ARCH QEMU_ARCH_ALPHA
---- a/vl.c
-+++ b/vl.c
-@@ -124,7 +124,8 @@ int main(int argc, char **argv)
- #define MAX_VIRTIO_CONSOLES 1
- #define MAX_SCLP_CONSOLES 1
- 
--static const char *data_dir[16];
-+extern char qemu_datapath[]; /* arch-specific */
-+static const char *data_dir[32];
- static int data_dir_idx;
- const char *bios_name = NULL;
- enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
-@@ -4062,9 +4063,12 @@ int main(int argc, char **argv, char **e
-         }
-     }
- 
--    /* If all else fails use the install path specified when building. */
--    if (data_dir_idx < ARRAY_SIZE(data_dir)) {
--        data_dir[data_dir_idx++] = CONFIG_QEMU_DATADIR;
-+    /* add standard and arch-specific dirs to data path */
-+    for(optarg = strtok(qemu_datapath, ":");
-+        optarg && data_dir_idx < ARRAY_SIZE(data_dir);
-+        optarg = strtok(NULL, ":"))
-+    {
-+        data_dir[data_dir_idx++] = optarg;
-     }
- 
-     smp_parse(qemu_opts_find(qemu_find_opts("smp-opts"), NULL));
diff -Nru qemu-2.1+dfsg/debian/patches/use-data-path.patch qemu-2.1+dfsg/debian/patches/use-data-path.patch
--- qemu-2.1+dfsg/debian/patches/use-data-path.patch	1970-01-01 03:00:00.000000000 +0300
+++ qemu-2.1+dfsg/debian/patches/use-data-path.patch	2014-12-06 15:36:47.000000000 +0300
@@ -0,0 +1,51 @@
+From: Michael Tokarev <mjt@tls.msk.ru>
+Date: Sun, 24 Nov 2013 00:56:47 +0400
+Subject: use data path to search data files, not just a single directory
+Forwarded: no
+
+Upstream qemu builds all firmware/binary files and keeps them
+in one data directory.  Debian uses different packages with
+those data files.  In the past, we used to create symlinks from
+qemu data directory to files in other packages.
+
+Instead of using symlinks, this patch allows to specify list
+of directories to look at, at build time (runtime already
+recognizes -L option).
+
+This allows us to go without symlinks, and to make some other
+packages optional (f.e. vga roms are provided by both vgabios
+package and seabios package, either of them should work).
+
+This patch is debian-specific.
+
+--- a/vl.c
++++ b/vl.c
+@@ -124,7 +124,11 @@
+ #define MAX_VIRTIO_CONSOLES 1
+ #define MAX_SCLP_CONSOLES 1
+ 
+-static const char *data_dir[16];
++#ifndef CONFIG_QEMU_DATAPATH
++# define CONFIG_QEMU_DATAPATH CONFIG_QEMU_DATADIR
++#endif
++static char qemu_datapath[] = CONFIG_QEMU_DATAPATH;
++static const char *data_dir[32];
+ static int data_dir_idx;
+ const char *bios_name = NULL;
+ enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
+@@ -4046,9 +4050,12 @@
+         }
+     }
+ 
+-    /* If all else fails use the install path specified when building. */
+-    if (data_dir_idx < ARRAY_SIZE(data_dir)) {
+-        data_dir[data_dir_idx++] = CONFIG_QEMU_DATADIR;
++    /* add standard dirs to data path */
++    for(optarg = strtok(qemu_datapath, ":");
++        optarg && data_dir_idx < ARRAY_SIZE(data_dir);
++        optarg = strtok(NULL, ":"))
++    {
++        data_dir[data_dir_idx++] = optarg;
+     }
+ 
+     smp_parse(qemu_opts_find(qemu_find_opts("smp-opts"), NULL));
diff -Nru qemu-2.1+dfsg/debian/rules qemu-2.1+dfsg/debian/rules
--- qemu-2.1+dfsg/debian/rules	2014-12-04 16:53:22.000000000 +0300
+++ qemu-2.1+dfsg/debian/rules	2014-12-10 00:52:25.000000000 +0300
@@ -29,12 +29,12 @@
 enable_system = $(if $(filter qemu-system,${BUILD_PACKAGES}),enable,disable)
 enable_linux_user = $(if $(filter qemu-user,${BUILD_PACKAGES}),enable,disable)
 
-X86_DATAPATH = /usr/share/seabios:/usr/lib/ipxe/qemu
+DATAPATH = /usr/share/qemu:/usr/share/seabios:/usr/lib/ipxe/qemu
 
 # we add another set of configure options from debian/control
 common_configure_opts = \
 	--with-pkgversion="Debian $(DEB_VERSION)" \
-	--extra-cflags="$(CFLAGS) $(CPPFLAGS) -DCONFIG_QEMU_X86_DATAPATH='\"${X86_DATAPATH}\"' -DVENDOR_$(VENDOR)" \
+	--extra-cflags="$(CFLAGS) $(CPPFLAGS) -DCONFIG_QEMU_DATAPATH='\"${DATAPATH}\"' -DVENDOR_$(VENDOR)" \
 	--extra-ldflags="$(LDFLAGS) -Wl,--as-needed" \
 	--prefix=/usr \
 	--sysconfdir=/etc \


Reply to: