From 02a835ff95e0ce6ac167205f50c6439159afd4b6 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 15 Jun 2016 15:02:37 +0200 Subject: [PATCH] buildserver: unpack NDK with a provisioning shell script This makes the process closer to ./jenkins-build scripts and .gitlab-ci.yml files. Hopefully it uses less RAM than chef too. --- .../cookbooks/android-ndk/recipes/default.rb | 50 ------------------- buildserver/provision-android-ndk | 36 +++++++++++++ makebuildserver | 3 +- 3 files changed, 37 insertions(+), 52 deletions(-) delete mode 100644 buildserver/cookbooks/android-ndk/recipes/default.rb create mode 100644 buildserver/provision-android-ndk diff --git a/buildserver/cookbooks/android-ndk/recipes/default.rb b/buildserver/cookbooks/android-ndk/recipes/default.rb deleted file mode 100644 index 506443cb..00000000 --- a/buildserver/cookbooks/android-ndk/recipes/default.rb +++ /dev/null @@ -1,50 +0,0 @@ - -ndk_loc = node[:settings][:ndk_loc] -user = node[:settings][:user] - -script "setup-android-ndk" do - timeout 14400 - interpreter "bash" - user node[:settings][:user] - cwd "/tmp" - code " - mkdir -p #{ndk_loc} - " -end - -script "setup-android-ndk-r9b" do - timeout 14400 - interpreter "bash" - user node[:settings][:user] - cwd "/tmp" - code " - if [ `uname -m` == 'x86_64' ] ; then - SUFFIX='_64' - else - SUFFIX='' - fi - tar jxvf /vagrant/cache/android-ndk-r9b-linux-x86$SUFFIX.tar.bz2 - tar jxvf /vagrant/cache/android-ndk-r9b-linux-x86$SUFFIX-legacy-toolchains.tar.bz2 - mv android-ndk-r9b #{ndk_loc}/r9b - " - not_if "test -d #{ndk_loc}/r9b" -end - -script "setup-android-ndk-r10e" do - timeout 14400 - interpreter "bash" - user node[:settings][:user] - cwd "/tmp" - code " - if [ `uname -m` == 'x86_64' ] ; then - SUFFIX='_64' - else - SUFFIX='' - fi - cd #{ndk_loc} - 7zr x /vagrant/cache/android-ndk-r10e-linux-x86$SUFFIX.bin - mv android-ndk-r10e r10e - " - not_if "test -d #{ndk_loc}/r10e" -end - diff --git a/buildserver/provision-android-ndk b/buildserver/provision-android-ndk new file mode 100644 index 00000000..3c9b0a6a --- /dev/null +++ b/buildserver/provision-android-ndk @@ -0,0 +1,36 @@ +#!/bin/bash +# + +set -e + +if [ -z $ANDROID_NDK_HOME ]; then + echo "ANDROID_NDK_HOME env var must be set!" + exit 1 +fi + +test -e $ANDROID_NDK_HOME || mkdir -p $ANDROID_NDK_HOME +cd $ANDROID_NDK_HOME + +if [ ! -e $ANDROID_NDK_HOME/r9b ]; then + if [ `uname -m` == 'x86_64' ] ; then + SUFFIX='_64' + else + SUFFIX='' + fi + tar jxvf /vagrant/cache/android-ndk-r9b-linux-x86$SUFFIX.tar.bz2 + tar jxvf /vagrant/cache/android-ndk-r9b-linux-x86$SUFFIX-legacy-toolchains.tar.bz2 + mv android-ndk-r9b r9b +fi + +if [ ! -e $ANDROID_NDK_HOME/r10e ]; then + if [ `uname -m` == 'x86_64' ] ; then + SUFFIX='_64' + else + SUFFIX='' + fi + 7zr x /vagrant/cache/android-ndk-r10e-linux-x86$SUFFIX.bin > /dev/null + mv android-ndk-r10e r10e +fi + +chmod -R a+rX $ANDROID_NDK_HOME/ +find $ANDROID_NDK_HOME/ -type f -executable -print0 | xargs -0 chmod a+x diff --git a/makebuildserver b/makebuildserver index 2f9a8ad3..bfe7f149 100755 --- a/makebuildserver +++ b/makebuildserver @@ -386,19 +386,18 @@ vagrantfile += """ chef.log_level = :debug chef.json = { :settings => { - :ndk_loc => "/home/vagrant/android-ndk", :debian_mirror => "%s", :ubuntu_trusty => "%s", :user => "vagrant" } } chef.add_recipe "fdroidbuild-general" - chef.add_recipe "android-ndk" chef.add_recipe "gradle" chef.add_recipe "kivy" end config.vm.provision "shell", path: "provision-android-sdk" + config.vm.provision "shell", path: "provision-android-ndk" end """ % (config['debian_mirror'], -- 2.30.2