From 272a08e3773f56a07ef9163e191a6a76cd983d69 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 22 Sep 2013 13:03:34 -0400 Subject: new buildchroot script to automate android chroot setup --- standalone/android/buildchroot | 19 +++++++++++++++++++ standalone/android/buildchroot-inchroot | 20 ++++++++++++++++++++ standalone/android/buildchroot-inchroot-asuser | 13 +++++++++++++ 3 files changed, 52 insertions(+) create mode 100755 standalone/android/buildchroot create mode 100755 standalone/android/buildchroot-inchroot create mode 100755 standalone/android/buildchroot-inchroot-asuser (limited to 'standalone') 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 -- cgit v1.2.3