chiark / gitweb /
jenkins-build: switch buildserver to new 64-bit base
[fdroidserver.git] / makebuildserver
index bfe7f149f5dc58d47c620804a424697e9a774f33..ccc987c6d5d8cf2c7c45106e1d2ce466036a0978 100755 (executable)
@@ -49,12 +49,12 @@ options, args = parser.parse_args()
 # set up default config
 cachedir = os.path.join(os.getenv('HOME'), '.cache', 'fdroidserver')
 config = {
-    'arch64': False,
-    'basebox': 'jessie32',
+    'arch64': True,
+    'basebox': 'jessie64',
     # TODO in py3, convert this to pathlib.Path(absolute_path_string).as_uri()
     'baseboxurl': [
-        'file://' + os.path.join(cachedir, 'jessie32.box'),
-        'https://f-droid.org/jessie32.box',
+        'file://' + os.path.join(cachedir, 'jessie64.box'),
+        'https://f-droid.org/jessie64.box',
     ],
     'debian_mirror': 'http://http.debian.net/debian/',
     'apt_package_cache': False,
@@ -133,6 +133,8 @@ cachefiles = [
      '45eb581bbe53c9256f34c26b2cea919543c0079140897ac721cf88c0b9f6789e'),
     ('https://dl.google.com/android/repository/platform-23_r03.zip',
      '4b4bcddead3319708275c54c76294707bfaa953d767e34f1a5b599f3edd0076c'),
+    ('https://dl.google.com/android/repository/platform-24_r01.zip',
+     '292e556e9ec84b4134e4126c835e4ac467f6950924fec3684792af0fcf426091'),
     ('https://dl.google.com/android/repository/build-tools_r17-linux.zip',
      '4c8444972343a19045236f6924bd7f12046287c70dace96ab88b2159c8ec0e74'),
     ('https://dl.google.com/android/repository/build-tools_r18.0.1-linux.zip',
@@ -177,6 +179,8 @@ cachefiles = [
      '82754f551a6e36eaf516fbdd00c95ff0ccd19f81d1e134125b6ac4916f7ed9b6'),
     ('https://dl.google.com/android/repository/build-tools_r23.0.3-linux.zip',
      'd961663d4a9e128841751c0156548a347c882c081c83942e53788d8949bf34e1'),
+    ('https://dl.google.com/android/repository/build-tools_r24-linux.zip',
+     'b4871f357224c5f660fd2bbee04d8c7d1c187eeddfd9702cc84503529e3b3724'),
     # the binaries that Google uses are here:
     # https://android.googlesource.com/platform/tools/external/gradle/+/studio-1.5/
     ('https://services.gradle.org/distributions/gradle-1.4-bin.zip',
@@ -197,6 +201,8 @@ cachefiles = [
      '8734b13a401f4311ee418173ed6ca8662d2b0a535be8ff2a43ecb1c13cd406ea'),
     ('https://services.gradle.org/distributions/gradle-2.1-bin.zip',
      '3eee4f9ea2ab0221b89f8e4747a96d4554d00ae46d8d633f11cfda60988bf878'),
+    ('https://services.gradle.org/distributions/gradle-2.2-bin.zip',
+     '91e5655fe11ef414449f218c4fa2985b3a49b7903c57556da109c84fa26e1dfb'),
     ('https://services.gradle.org/distributions/gradle-2.2.1-bin.zip',
      '420aa50738299327b611c10b8304b749e8d3a579407ee9e755b15921d95ff418'),
     ('https://services.gradle.org/distributions/gradle-2.3-bin.zip',
@@ -221,6 +227,8 @@ cachefiles = [
      'e77064981906cd0476ff1e0de3e6fef747bd18e140960f1915cca8ff6c33ab5c'),
     ('https://services.gradle.org/distributions/gradle-2.13-bin.zip',
      '0f665ec6a5a67865faf7ba0d825afb19c26705ea0597cec80dd191b0f2cbb664'),
+    ('https://services.gradle.org/distributions/gradle-2.14-bin.zip',
+     '993b4f33b652c689e9721917d8e021cab6bbd3eae81b39ab2fd46fdb19a928d5'),
     ('https://pypi.python.org/packages/source/K/Kivy/Kivy-1.7.2.tar.gz',
      '0485e2ef97b5086df886eb01f8303cb542183d2d71a159466f99ad6c8a1d03f1'),
 ]
@@ -292,8 +300,8 @@ for srcurl, shasum in cachefiles:
                          stream=True, verify=False, allow_redirects=True)
         content_length = int(r.headers.get('content-length'))
         with open(local_filename, 'ab') as f:
-            for chunk in progress.bar(r.iter_content(chunk_size=1024),
-                                      expected_size=(content_length / 1024) + 1):
+            for chunk in progress.bar(r.iter_content(chunk_size=65536),
+                                      expected_size=(content_length / 65536) + 1):
                 if chunk:  # filter out keep-alive new chunks
                     f.write(chunk)
 
@@ -363,7 +371,8 @@ if 'aptproxy' in config and config['aptproxy']:
 # does not need a custom mount
 if cachedir != 'buildserver/cache':
     vagrantfile += """
-  config.vm.synced_folder '{0}', '/vagrant/cache'
+  config.vm.synced_folder '{0}', '/vagrant/cache',
+    owner: 'root', group: 'root', create: true
 """.format(cachedir)
 
 # cache .deb packages on the host via a mount trick
@@ -376,10 +385,8 @@ if config['apt_package_cache']:
 
 vagrantfile += """
 
-  config.vm.provision "shell" do |shell|
-    shell.path = "setup-env-vars"
-    shell.args = ["/home/vagrant/android-sdk", "/home/vagrant/android-ndk"]
-  end
+  config.vm.provision "shell", path: "setup-env-vars",
+    args: ["/home/vagrant/android-sdk"]
 
   config.vm.provision :chef_solo do |chef|
     chef.cookbooks_path = "cookbooks"
@@ -392,12 +399,15 @@ vagrantfile += """
       }
     }
     chef.add_recipe "fdroidbuild-general"
-    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"
+  config.vm.provision "shell", path: "provision-android-ndk",
+    args: ["/home/vagrant/android-ndk"]
+  config.vm.provision "shell", path: "provision-gradle"
+  config.vm.provision "file", source: "gradle",
+    destination: "/opt/gradle/bin/gradle"
 
 end
 """ % (config['debian_mirror'],