1*2fd7f7a4SMarco A L Barbosa# Copyright 2017 The Rust Project Developers. See the COPYRIGHT 2*2fd7f7a4SMarco A L Barbosa# file at the top-level directory of this distribution and at 3*2fd7f7a4SMarco A L Barbosa# http://rust-lang.org/COPYRIGHT. 4*2fd7f7a4SMarco A L Barbosa# 5*2fd7f7a4SMarco A L Barbosa# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or 6*2fd7f7a4SMarco A L Barbosa# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 7*2fd7f7a4SMarco A L Barbosa# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your 8*2fd7f7a4SMarco A L Barbosa# option. This file may not be copied, modified, or distributed 9*2fd7f7a4SMarco A L Barbosa# except according to those terms. 10*2fd7f7a4SMarco A L Barbosa 11*2fd7f7a4SMarco A L Barbosaset -ex 12*2fd7f7a4SMarco A L Barbosa 13*2fd7f7a4SMarco A L BarbosaURL=https://dl.google.com/android/repository/sys-img/android 14*2fd7f7a4SMarco A L Barbosa 15*2fd7f7a4SMarco A L Barbosamain() { 16*2fd7f7a4SMarco A L Barbosa local arch=$1 17*2fd7f7a4SMarco A L Barbosa local name=$2 18*2fd7f7a4SMarco A L Barbosa local dest=/system 19*2fd7f7a4SMarco A L Barbosa local td=$(mktemp -d) 20*2fd7f7a4SMarco A L Barbosa 21*2fd7f7a4SMarco A L Barbosa apt-get install --no-install-recommends e2tools 22*2fd7f7a4SMarco A L Barbosa 23*2fd7f7a4SMarco A L Barbosa pushd $td 24*2fd7f7a4SMarco A L Barbosa curl -O $URL/$name 25*2fd7f7a4SMarco A L Barbosa unzip -q $name 26*2fd7f7a4SMarco A L Barbosa 27*2fd7f7a4SMarco A L Barbosa local system=$(find . -name system.img) 28*2fd7f7a4SMarco A L Barbosa mkdir -p $dest/{bin,lib,lib64} 29*2fd7f7a4SMarco A L Barbosa 30*2fd7f7a4SMarco A L Barbosa # Extract android linker and libraries to /system 31*2fd7f7a4SMarco A L Barbosa # This allows android executables to be run directly (or with qemu) 32*2fd7f7a4SMarco A L Barbosa if [ $arch = "x86_64" -o $arch = "arm64" ]; then 33*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/bin/linker64 $dest/bin/ 34*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/lib64/libdl.so $dest/lib64/ 35*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/lib64/libc.so $dest/lib64/ 36*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/lib64/libm.so $dest/lib64/ 37*2fd7f7a4SMarco A L Barbosa else 38*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/bin/linker $dest/bin/ 39*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/lib/libdl.so $dest/lib/ 40*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/lib/libc.so $dest/lib/ 41*2fd7f7a4SMarco A L Barbosa e2cp -p $system:/lib/libm.so $dest/lib/ 42*2fd7f7a4SMarco A L Barbosa fi 43*2fd7f7a4SMarco A L Barbosa 44*2fd7f7a4SMarco A L Barbosa # clean up 45*2fd7f7a4SMarco A L Barbosa apt-get purge --auto-remove -y e2tools 46*2fd7f7a4SMarco A L Barbosa 47*2fd7f7a4SMarco A L Barbosa popd 48*2fd7f7a4SMarco A L Barbosa 49*2fd7f7a4SMarco A L Barbosa rm -rf $td 50*2fd7f7a4SMarco A L Barbosa} 51*2fd7f7a4SMarco A L Barbosa 52*2fd7f7a4SMarco A L Barbosamain "${@}" 53