diff --git a/buildserver/Vagrantfile b/buildserver/Vagrantfile index 982c0267..ef1a407a 100644 --- a/buildserver/Vagrantfile +++ b/buildserver/Vagrantfile @@ -79,12 +79,12 @@ Vagrant.configure("2") do |config| end config.vm.provision "shell", path: "setup-env-vars", - args: ["/home/vagrant/android-sdk"] + args: ["/opt/android-sdk"] config.vm.provision "shell", path: "provision-apt-get-install", args: [configfile['debian_mirror']] config.vm.provision "shell", path: "provision-android-sdk" config.vm.provision "shell", path: "provision-android-ndk", - args: ["/home/vagrant/android-ndk"] + args: ["/opt/android-sdk/ndk"] config.vm.provision "shell", path: "provision-gradle" end diff --git a/buildserver/config.buildserver.yml b/buildserver/config.buildserver.yml index 2a3cb3fa..3073faf7 100644 --- a/buildserver/config.buildserver.yml +++ b/buildserver/config.buildserver.yml @@ -1,8 +1,8 @@ -sdk_path: /home/vagrant/android-sdk +sdk_path: /opt/android-sdk ndk_paths: - r10e: /home/vagrant/android-ndk/r10e - r21e: /home/vagrant/android-ndk/r21e - r22b: /home/vagrant/android-ndk/r22b + r10e: /opt/android-sdk/ndk/r10e + r21e: /opt/android-sdk/ndk/21.4.7075529 + r22b: /opt/android-sdk/ndk/22.0.7026061 java_paths: 8: /usr/lib/jvm/java-8-openjdk-amd64 diff --git a/buildserver/provision-android-ndk b/buildserver/provision-android-ndk index 1fcabf93..655bf06f 100644 --- a/buildserver/provision-android-ndk +++ b/buildserver/provision-android-ndk @@ -18,9 +18,15 @@ fi for version in r21e r22b; do if [ ! -e ${NDK_BASE}/${version} ]; then unzip /vagrant/cache/android-ndk-${version}-linux-x86_64.zip > /dev/null - mv android-ndk-${version} ${version} + mv android-ndk-${version} \ + `sed -En 's,^Pkg.Revision *= *(.+),\1,p' android-ndk-${version}/source.properties` fi done +# allow gradle/etc to install missing NDK versions +chgrp vagrant $NDK_BASE +chmod g+w $NDK_BASE + +# ensure all users can read and execute the NDK chmod -R a+rX $NDK_BASE/ find $NDK_BASE/ -type f -executable -print0 | xargs -0 chmod a+x diff --git a/buildserver/setup-env-vars b/buildserver/setup-env-vars index 19259266..5fed9e8f 100644 --- a/buildserver/setup-env-vars +++ b/buildserver/setup-env-vars @@ -17,4 +17,4 @@ chmod 0644 $bsenv # make sure that SSH never hangs at a password or key prompt printf ' StrictHostKeyChecking yes' >> /etc/ssh/ssh_config -printf ' BatchMode yes' >> /etc/ssh/config +printf ' BatchMode yes' >> /etc/ssh/ssh_config diff --git a/fdroidserver/common.py b/fdroidserver/common.py index fba87e99..01244f03 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -4006,9 +4006,9 @@ def auto_install_ndk(build): --onserver` calls can run in a single session. The production buildserver is reset between every build. - The default ANDROID_HOME base dir of /home/vagrant/android-sdk is - hard-coded in buildserver/Vagrantfile. The "ndk" subdir is where - Android Studio will install the NDK into versioned subdirs. + The default ANDROID_SDK_ROOT base dir of /opt/android-sdk is hard-coded in + buildserver/Vagrantfile. The $ANDROID_HOME/ndk subdir is where Android + Studio will install the NDK into versioned subdirs. https://developer.android.com/studio/projects/configure-agp-ndk#agp_version_41 Also, r10e and older cannot be handled via this mechanism because