launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #05728
lp:~nick-moffitt/launchpad-buildd/qemu-syscall-emulated-arm-support into lp:launchpad-buildd
Nick Moffitt has proposed merging lp:~nick-moffitt/launchpad-buildd/qemu-syscall-emulated-arm-support into lp:launchpad-buildd.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~nick-moffitt/launchpad-buildd/qemu-syscall-emulated-arm-support/+merge/83651
This branch adds support for syscall-emulated qemu arm chroots, mostly by adjusting the logic surrounding ia32 builds on amd64 hosts. I had to make the qemu-user-static package a Recommends rather than a Depends because these systems currently support Hardy, and qemu-user-static is in Universe only from natty onwards.
--
https://code.launchpad.net/~nick-moffitt/launchpad-buildd/qemu-syscall-emulated-arm-support/+merge/83651
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~nick-moffitt/launchpad-buildd/qemu-syscall-emulated-arm-support into lp:launchpad-buildd.
=== modified file 'debian/changelog'
--- debian/changelog 2011-11-21 05:29:09 +0000
+++ debian/changelog 2011-11-28 17:35:40 +0000
@@ -1,3 +1,12 @@
+launchpad-buildd (108) hardy; urgency=low
+
+ * Fixed up sbuild-package and update-debian-chroot to support
+ syscall-emulated ARM builds on non-ARM hardware.
+ * Added Recommends for qemu-user-static to launchpad-buildd, as the
+ package only exists in Universe in natty and later.
+
+ -- Nick Moffitt <nick.moffitt@xxxxxxxxxxxxx> Mon, 28 Nov 2011 17:12:04 +0000
+
launchpad-buildd (107) hardy; urgency=low
* Correction to generate-translation-templates for the new file location.
=== modified file 'debian/control'
--- debian/control 2011-11-21 03:40:27 +0000
+++ debian/control 2011-11-28 17:35:40 +0000
@@ -11,6 +11,7 @@
Depends: python-lpbuildd (=${source:Version}), python, debootstrap, dpkg-dev,
linux32, file, bzip2, sudo, ntpdate, adduser, apt-transport-https, lsb-release,
apache2, pristine-tar, python-apt, ${misc:Depends}
+Recommends: qemu-user-static
Conflicts: sbuild
Description: Launchpad buildd slave
This is the launchpad buildd slave package. It contains everything needed to
=== modified file 'sbuild-package'
--- sbuild-package 2011-11-09 07:50:56 +0000
+++ sbuild-package 2011-11-28 17:35:40 +0000
@@ -42,15 +42,17 @@
SBUILD="linux32 $SBUILD"
WARN="--warnonly"
;;
- i386|lpia|armel)
+ i386|lpia|arm*)
# SBUILD is already correct
WARN="--warnonly"
;;
amd64)
- if [ "$hostarch" != "$ARCHITECTURETAG" ]; then
- SBUILD="linux32 $SBUILD"
- WARN="--warnonly"
- fi
+ case "$ARCHITECTURETAG" in
+ i386|lpia)
+ SBUILD="linux32 $SBUILD"
+ ;;
+ esac
+ WARN="--warnonly"
;;
ia64)
;;
=== modified file 'update-debian-chroot'
--- update-debian-chroot 2011-11-09 07:50:56 +0000
+++ update-debian-chroot 2011-11-28 17:35:40 +0000
@@ -30,12 +30,27 @@
CHROOT="linux32 $CHROOT"
;;
amd64)
- if [ "$hostarch" != "$ARCHITECTURETAG" ]; then
- CHROOT="linux32 $CHROOT"
- fi
+ case "$ARCHITECTURETAG" in
+ i386|lpia)
+ CHROOT="linux32 $CHROOT"
+ ;;
+ esac
;;
esac
+# Anything more fancy than amd64->ia32 is done with qemu+syscall
+# emulation, handled via binfmt.misc hints to the kernel that require
+# the statically-compiled qemu binary to appear in the same place both
+# inside and outside the chroot.
+if [ "$hostarch" != "$ARCHITECTURETAG" ]
+then
+ case "$ARCHITECTURETAG" in
+ arm*)
+ /usr/bin/install /usr/bin/qemu-arm-static $ROOT/usr/bin/
+ ;;
+ esac
+fi
+
export LANG=C
export DEBIAN_FRONTEND=noninteractive
export TTY=unknown
Follow ups