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

Reply via email to