[Lxc-users] [PATCH 2/4] lxc-ubuntu: Base arch detection code on debootstrap's with some additions when we don't have dpkg or udpkg

Serge Hallyn serge.hallyn at ubuntu.com
Fri Jun 24 00:41:25 UTC 2011


Changelog: [seh] Don't take arch from environment

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
 templates/lxc-ubuntu.in |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/templates/lxc-ubuntu.in b/templates/lxc-ubuntu.in
index e73baa8..0a55f4c 100644
--- a/templates/lxc-ubuntu.in
+++ b/templates/lxc-ubuntu.in
@@ -393,14 +393,24 @@ eval set -- "$options"
 release=lucid
 bindhome=
 arch=$(arch)
-trim_container=0
-if [ "$arch" == "x86_64" ]; then arch=amd64
-fi
 
-if [ "$arch" == "i686" ]; then
-    arch=i386
+# Code taken from debootstrap
+if [ -x /usr/bin/dpkg ] && /usr/bin/dpkg --print-architecture >/dev/null 2>&1; then
+    arch=`/usr/bin/dpkg --print-architecture`
+elif type udpkg >/dev/null 2>&1 && udpkg --print-architecture >/dev/null 2>&1; then
+    arch=`/usr/bin/udpkg --print-architecture`
+else
+    arch=$(arch)
+    if [ "$arch" = "i686" ]; then
+        arch="i386"
+    elif [ "$arch" = "x86_64" ]; then
+        arch="amd64"
+    elif [ "$arch" = "armv7l" ]; then
+        arch="armel"
+    fi
 fi
 
+trim_container=0
 hostarch=$arch
 while true
 do
-- 
1.7.4.1





More information about the lxc-users mailing list