diff options
author | Daniel Mueller <deso@posteo.net> | 2017-05-29 14:07:12 -0700 |
---|---|---|
committer | Daniel Mueller <deso@posteo.net> | 2017-05-29 14:07:12 -0700 |
commit | 684c4574c09a6f2cc5a208e4505e9306602b4abc (patch) | |
tree | daaac715140748c82f801f2e4047c57780689bc0 /libc/ci/android-sysimage.sh | |
parent | 436915453f7474117234aa0cedab6f97b3b3575f (diff) | |
download | nitrocli-684c4574c09a6f2cc5a208e4505e9306602b4abc.tar.gz nitrocli-684c4574c09a6f2cc5a208e4505e9306602b4abc.tar.bz2 |
Update libc crate to 0.2.23
The 'libc' create got a couple of updates. This change imports the new
code and bumps the version to use.
Import subrepo libc/:libc at 7db3fd570dfb41a38fb17116e93679307178103a
Diffstat (limited to 'libc/ci/android-sysimage.sh')
-rw-r--r-- | libc/ci/android-sysimage.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/libc/ci/android-sysimage.sh b/libc/ci/android-sysimage.sh new file mode 100644 index 0000000..9611dfe --- /dev/null +++ b/libc/ci/android-sysimage.sh @@ -0,0 +1,52 @@ +# Copyright 2017 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +set -ex + +URL=https://dl.google.com/android/repository/sys-img/android + +main() { + local arch=$1 + local name=$2 + local dest=/system + local td=$(mktemp -d) + + apt-get install --no-install-recommends e2tools + + pushd $td + curl -O $URL/$name + unzip -q $name + + local system=$(find . -name system.img) + mkdir -p $dest/{bin,lib,lib64} + + # Extract android linker and libraries to /system + # This allows android executables to be run directly (or with qemu) + if [ $arch = "x86_64" -o $arch = "arm64" ]; then + e2cp -p $system:/bin/linker64 $dest/bin/ + e2cp -p $system:/lib64/libdl.so $dest/lib64/ + e2cp -p $system:/lib64/libc.so $dest/lib64/ + e2cp -p $system:/lib64/libm.so $dest/lib64/ + else + e2cp -p $system:/bin/linker $dest/bin/ + e2cp -p $system:/lib/libdl.so $dest/lib/ + e2cp -p $system:/lib/libc.so $dest/lib/ + e2cp -p $system:/lib/libm.so $dest/lib/ + fi + + # clean up + apt-get purge --auto-remove -y e2tools + + popd + + rm -rf $td +} + +main "${@}" |