Package: qemu
Version: 0.8.0-2
Severity: wishlist
Tags: patch
New version, modified to apply after #356279
(qemu_0.8.0-2_build_outside_tree.patch). Also fixed a bug in
postinst/prerm scripts.
--
Anderson Lizardo
Embedded Linux Lab - 10LE
Nokia Institute of Technology - INdT
Manaus - Brazil
Changelog:
* Add binfmt-support hooks, allowing "transparent" user emulation. Idea
borrowed from qemu-binfmt-conf.sh.
- Recommends binfmt-support.
Index: qemu-0.8.0/debian/control
===================================================================
--- qemu-0.8.0.orig/debian/control 2006-03-11 22:54:20.000000000 -0400
+++ qemu-0.8.0/debian/control 2006-03-11 22:54:44.000000000 -0400
@@ -14,7 +14,7 @@ Package: qemu
Architecture: amd64 i386 powerpc alpha sparc arm s390
Depends: ${shlibs:Depends}, vgabios (>= 0.5a-1), bochsbios (>= 2.2.1-1),
proll, openhackware
-Recommends: debootstrap, sharutils
+Recommends: debootstrap, sharutils, binfmt-support
Suggests: sudo, dpkg-cross
Description: fast processor emulator
QEMU is a FAST! processor emulator: currently the package supports
Index: qemu-0.8.0/debian/rules
===================================================================
--- qemu-0.8.0.orig/debian/rules 2006-03-11 22:54:20.000000000 -0400
+++ qemu-0.8.0/debian/rules 2006-03-11 22:54:44.000000000 -0400
@@ -7,6 +7,8 @@ CC = gcc-3.4
# WARNING: Removing no-strict-aliasing will make qemu insta-segfault.
CFLAGS = -Wall -g -fno-strict-aliasing
+DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
+
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
@@ -81,6 +83,14 @@ install: build
for i in $(qemu_bios_files); do \
rm -f $(build_dir)/pc-bios/$$i $(D)/usr/share/qemu/$$i; \
done
+
+ # Install binfmt-support format files (except for DEB_HOST_ARCH_CPU)
+ install -m755 -d $(D)/usr/share/binfmts
+ -for i in `ls $(CURDIR)/debian/binfmts`; do \
+ test "$(DEB_HOST_ARCH_CPU)" != "$$i" && \
+ install -m644 $(CURDIR)/debian/binfmts/$$i/* \
+ $(D)/usr/share/binfmts; \
+ done
binary-indep:
# Nothing to do.
Index: qemu-0.8.0/debian/qemu.prerm
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/qemu.prerm 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,43 @@
+#! /bin/sh
+# prerm script for qemu
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+case "$1" in
+ remove|upgrade|deconfigure)
+ if [ -x /usr/sbin/update-binfmts ]; then
+ for i in `cd /usr/share/binfmts; ls qemu-*`; do
+ qemu_bin=$i
+ if [ "$i" = "i486" ]; then qemu_bin=i386; fi
+ update-binfmts --package qemu --remove $i \
+ /usr/bin/$qemu_bin || true
+ done
+ fi
+ ;;
+ failed-upgrade)
+ ;;
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: qemu-0.8.0/debian/qemu.postinst
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/qemu.postinst 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,44 @@
+#! /bin/sh
+# postinst script for qemu
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+
+case "$1" in
+ configure)
+ if [ -x /usr/sbin/update-binfmts ]; then
+ for i in `cd /usr/share/binfmts; ls qemu-*`; do
+ update-binfmts --import $i || true
+ done
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: qemu-0.8.0/debian/binfmts/i386/qemu-i486
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/i386/qemu-i486 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-i386
+magic \x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00
+mask \xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff
Index: qemu-0.8.0/debian/binfmts/i386/qemu-i386
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/i386/qemu-i386 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-i386
+magic \x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00
+mask \xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff
Index: qemu-0.8.0/debian/binfmts/arm/qemu-armeb
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/arm/qemu-armeb 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-armeb
+magic \x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28
+mask \xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff
Index: qemu-0.8.0/debian/binfmts/arm/qemu-arm
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/arm/qemu-arm 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-arm
+magic \x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00
+mask \xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff
Index: qemu-0.8.0/debian/binfmts/sparc/qemu-sparc
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/sparc/qemu-sparc 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-sparc
+magic \x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02
+mask \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff
Index: qemu-0.8.0/debian/binfmts/powerpc/qemu-ppc
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/powerpc/qemu-ppc 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-ppc
+magic \x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14
+mask \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff
Index: qemu-0.8.0/debian/binfmts/mips/qemu-mipsel
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/mips/qemu-mipsel 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-mipsel
+magic \x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00
+mask \xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff
Index: qemu-0.8.0/debian/binfmts/mips/qemu-mips
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ qemu-0.8.0/debian/binfmts/mips/qemu-mips 2006-03-11 22:54:44.000000000 -0400
@@ -0,0 +1,4 @@
+package qemu
+interpreter /usr/bin/qemu-mips
+magic \x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08
+mask \xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff