summaryrefslogtreecommitdiff
path: root/standalone
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-09-22 13:03:34 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-09-22 13:03:34 -0400
commit272a08e3773f56a07ef9163e191a6a76cd983d69 (patch)
tree46a4915d6a49f4a78afead903625ced2e8b49162 /standalone
parentf159e8bccd823a9125f3134fba5a5dc3c7dd7df7 (diff)
new buildchroot script to automate android chroot setup
Diffstat (limited to 'standalone')
-rwxr-xr-xstandalone/android/buildchroot19
-rwxr-xr-xstandalone/android/buildchroot-inchroot20
-rwxr-xr-xstandalone/android/buildchroot-inchroot-asuser13
3 files changed, 52 insertions, 0 deletions
diff --git a/standalone/android/buildchroot b/standalone/android/buildchroot
new file mode 100755
index 000000000..3f4c8eaa9
--- /dev/null
+++ b/standalone/android/buildchroot
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+if [ "$(whoami)" != root ]; then
+ echo "Must run this as root!" >&2
+ exit 1
+fi
+
+debootstrap --arch=i386 stable debian-stable-android
+cp $0-inchroot debian-stable-android/tmp
+cp $0-inchroot-asuser debian-stable-android/tmp
+chroot debian-stable-android "tmp/$(basename $0)-inchroot"
+
+echo
+echo
+echo "debian-stable-android is set up, with a user androidbuilder"
+echo "your next step is probably to check out git-annex in this chroot"
+echo "and run standalone/android/install-haskell-packages"
+echo
+echo
diff --git a/standalone/android/buildchroot-inchroot b/standalone/android/buildchroot-inchroot
new file mode 100755
index 000000000..2de76fb86
--- /dev/null
+++ b/standalone/android/buildchroot-inchroot
@@ -0,0 +1,20 @@
+#!/bin/sh
+# Runs inside the chroot set up by buildchroot
+set -e
+if [ "$(whoami)" != root ]; then
+ echo "Must run this as root!" >&2
+ exit 1
+fi
+
+mount -t proc proc /proc
+echo "deb-src http://ftp.us.debian.org/debian stable main" >> /etc/apt/sources.list
+apt-get update
+apt-get -y install build-essential ghc git libncurses5-dev cabal-install
+apt-get -y install llvm-3.0 # not 3.1; buggy on arm. 3.2 is ok too
+apt-get -y install ca-certificates curl file m4 autoconf zlib1g-dev
+apt-get -y install libgnutls-dev libxml2-dev libgsasl7-dev pkg-config c2hs
+wget http://snapshot.debian.org/archive/debian/20130903T155330Z/pool/main/a/automake-1.14/automake_1.14-1_all.deb
+dpkg -i automake*.deb
+rm *.deb
+useradd androidbuilder
+su androidbuilder -c $0-asuser
diff --git a/standalone/android/buildchroot-inchroot-asuser b/standalone/android/buildchroot-inchroot-asuser
new file mode 100755
index 000000000..a4467e66b
--- /dev/null
+++ b/standalone/android/buildchroot-inchroot-asuser
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Runs inside the chroot set up by buildchroot, as the user it creates
+set -e
+
+rm -rf .ghc .cabal
+cabal update
+cabal install happy alex --bindir=$HOME/bin
+PATH=$HOME/bin:$PATH
+export PATH
+git clone https://github.com/joeyh/ghc-android
+cd ghc-android
+git checkout stable-ghc-snapshot
+./build