#!/bin/bash

spath="$(dirname "$(readlink -f "$0")")"
source $spath/utils/support
source $spath/utils/banners

ARCH=$1
DISTRO=$2
TDIR=$3
OUT_TMP=$4
PACKAGES=$5
EXTRA_FILES="$(cat $6)"
INSTALL_BCC=$7
SKIP_DEVICE=$8		# Skip any device-specific stages

time qemu-debootstrap --arch $ARCH --include=$PACKAGES \
	$DISTRO $OUT_TMP http://deb.debian.org/debian/

# Some reason debootstrap leaves these mounted
umount $OUT_TMP/proc/sys/fs/binfmt_misc || true
umount $OUT_TMP/proc || true

# Make bash the default shell
chroot $OUT_TMP rm /bin/sh || true
chroot $OUT_TMP ln -s /bin/bash /bin/sh || true
cp $spath/addons/bashrc $OUT_TMP/.bashrc
cp $spath/addons/bashrc.common $OUT_TMP/.bashrc.common
cp $spath/addons/bashrc.silent $OUT_TMP/.bashrc.silent
cp $spath/addons/get_kvers.sh $OUT_TMP/

for f in $EXTRA_FILES; do
	if [ $f == "none" ]; then continue; fi
	cp $f $OUT_TMP/
done

# Cleanup
rm -rf $OUT_TMP/lib/udev/*
rm -rf $OUT_TMP/var/lib/apt/lists/*
rm -rf $OUT_TMP/var/cache/apt/archives/*deb
rm -rf $OUT_TMP/usr/share/locale/*
rm -rf $OUT_TMP/usr/lib/share/locale/*
rm -rf $OUT_TMP/usr/share/doc/*
rm -rf $OUT_TMP/usr/lib/share/doc/*
rm -rf $OUT_TMP/usr/share/ieee-data/*
rm -rf $OUT_TMP/usr/lib/share/ieee-data/*
rm -rf $OUT_TMP/usr/share/man/*
rm -rf $OUT_TMP/usr/lib/share/man/*

# Fix apt-get issue: Android requires _apt user to be in the
# AID_INET group which is also android specific.
grep -ri _apt:x:100:65534 $OUT_TMP/etc/passwd > /dev/null 2>&1
if [ $? -ne 0 ]; then
	c_warning "_apt user cannot be added to AID_INET group"
else
	sed -i -e 's/_apt:x:100:65534/_apt:x:100:3003/' $OUT_TMP/etc/passwd
fi

# Add a default DNS server
echo "nameserver 4.2.2.2" > $OUT_TMP/etc/resolv.conf

# Clone BCC if needed
if [ $INSTALL_BCC -eq 1 ]; then
	git clone https://github.com/iovisor/bcc.git $TDIR/debian/bcc-master
	cp $spath/bcc/build-bcc.sh $TDIR/debian/bcc-master/;

	pushd $TDIR/debian/bcc-master
	git apply $spath/bcc/misc/0001-clang-Allow-user-to-override-kernel-version.patch
	git apply $spath/bcc/misc/0001-DONOT-MERGE-Remove-version-override-warnings.patch
	popd
fi

# Should be really do this?
chmod -R 0777 $TDIR/

[ $SKIP_DEVICE -eq 0 ] || exit 0

c_info "Compressing new filesystem to prepare to push to Android /data/androdeb/"
tar -zcf $TDIR/deb.tar.gz -C $TDIR debian

chmod 0777 $TDIR/deb.tar.gz
