Basic support for cross-compilation using pbuilder
diff --git a/jenkins/files/pbuilderrc b/jenkins/files/pbuilderrc
index 1d67250..b932afd 100644
--- a/jenkins/files/pbuilderrc
+++ b/jenkins/files/pbuilderrc
@@ -37,6 +37,8 @@
USENETWORK="{{ 'yes' if slave.pbuilder.usenetwork else 'no' }}"
{%- endif %}
+BINDMOUNTS="/var/cache/pbuilder/build"
+
{%- if slave.pbuilder.parallel is defined %}
{%- if slave.pbuilder.parallel %}
@@ -50,5 +52,15 @@
{%- endif %}
-BINDMOUNTS="/var/cache/pbuilder/build"
+ARCH="${ARCH:-{{ slave.pbuilder.get('arch', '$(dpkg --print-architecture)') }}}"
+
+if [ "$ARCH" == "armel" ] && [ "$(dpkg --print-architecture)" != "armel" ]; then
+ DEBOOTSTRAP="qemu-debootstrap"
+fi
+if [ "$ARCH" == "armhf" ] && [ "$(dpkg --print-architecture)" != "armhf" ]; then
+ DEBOOTSTRAP="qemu-debootstrap"
+fi
+
+DEBOOTSTRAPOPTS=("${DEBOOTSTRAPOPTS[@]}" "--arch=$ARCH")
+
{%- endif %}
diff --git a/jenkins/slave/pbuilder.sls b/jenkins/slave/pbuilder.sls
index b45947c..851d1f7 100644
--- a/jenkins/slave/pbuilder.sls
+++ b/jenkins/slave/pbuilder.sls
@@ -8,6 +8,9 @@
- jenkins-debian-glue
- git-buildpackage
- debhelper
+ {%- if slave.get('arch', grains.osarch) != grains.osarch %}
+ - qemu-user
+ {%- endif %}
/srv/repository:
file: