summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2011-07-27 20:12:49 +0100
committerRoger Leigh <rleigh@debian.org>2011-07-27 20:12:49 +0100
commitbfb691cc483f8bc906908de0537d3cb5bb4ac23c (patch)
tree2fe3750e2e4cb90519757ed8aa31e384cfd24f08 /contrib
parentcfd69350f07150e5a11c9cd527adabb9ff026fb1 (diff)
downloadschroot-bfb691cc483f8bc906908de0537d3cb5bb4ac23c.tar.gz
contrib: Add setup script for qemu
Diffstat (limited to 'contrib')
-rw-r--r--contrib/setup.d/99binfmt46
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/setup.d/99binfmt b/contrib/setup.d/99binfmt
new file mode 100644
index 00000000..21754520
--- /dev/null
+++ b/contrib/setup.d/99binfmt
@@ -0,0 +1,46 @@
+#!/bin/sh
+# Copyright © 2011 Julian Andres Klode <jak@debian.org>
+#
+# schroot is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# schroot is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+#
+#####################################################################
+
+set -e
+
+. "$SETUP_DATA_DIR/common-data"
+. "$SETUP_DATA_DIR/common-functions"
+
+
+if [ "$STAGE" != "setup-start" ] && \
+ [ "$STAGE" != "setup-stop" ] && \
+ [ "$STAGE" != "setup-recover" ]; then
+ exit 0
+elif ! which update-binfmts > /dev/null; then
+ info "Missing update-binfmts"
+ exit 0
+fi
+
+shell="${CHROOT_PATH}/bin/sh"
+
+for emulator in $(update-binfmts --find "$shell"); do
+ dst="${CHROOT_PATH}$emulator"
+ if [ ! -e "$emulator" ]; then
+ info "Missing emulator: $emulator"
+ else
+ [ -e "$dst" ] || touch "$dst"
+ mount --bind "$emulator" "$dst"
+ mount -o remount,ro "$dst"
+ fi
+done