Ciaran Gultnieks
1da89dc1f1
Various changes to get makebuildserver to work with a 64 bit base box
...
Note that the apt packages are split into two halves, because it takes
too long (on 64 bit!) to install them all. The sensible fix would be
to simply up the timeout on the package installation section, but this
is completely broken in chef.
2016-07-01 12:00:38 +00:00
Daniel Martí
be4953be02
Add Gradle 2.2 and 2.14 to the buildserver
...
2.2 can be specifically requested by an app, and in some extreme cases
those apps don't build with 2.2.1.
2016-06-24 17:06:17 +01:00
Daniel Martí
5de678e48b
all: switch to jdk8 as default
...
Also, remove jdk7 as it will become unused. We added jdk8 for
retrolambda, and now that we will use jdk8 as the default, jdk7 is
unnecessary as retrolambda can work fine with just jdk8.
This removes it from the buildserver, and the new CI image also only has
jdk8 from jessie-backports.
Fixes #185 .
2016-06-21 11:47:37 +01:00
Hans-Christoph Steiner
226237c5f7
buildserver: do not set NDK env vars, they are handled by fdroid build
...
`fdroid build` handles setting the NDK env vars since the NDK version can
change depending on the app being build. Unlike ANDROID_HOME, there is no
single global NDK location. The NDK installs are all versioned.
2016-06-21 10:29:56 +02:00
Hans-Christoph Steiner
ecab81d69d
buildserver: suppress unzip file list when unpacking SDK/NDK
...
Just too much pointless info in the log.
2016-06-21 10:29:56 +02:00
Hans-Christoph Steiner
6ea2508127
buildserver: unpack gradle versions with provisioning shell script
...
This was not using anything special from chef, so do it in a shell script
instead. This makes the script easier for the python/shell people, and
probably uses less memory, since chef is a memory hog. This might even
make the provision go faster since it uploads the whole script as a file to
the VM, then runs it there. I think chef sends each command via SSH.
2016-06-15 16:35:00 +02:00
Hans-Christoph Steiner
02a835ff95
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.
2016-06-15 16:35:00 +02:00
Hans-Christoph Steiner
e47396b403
buildserver: use android update sdk
to install Android SDK
...
`android update sdk --no-ui` is the standard command line tool for
installing the Android SDK. By symlinking into the $ANDROID_HOME/temp dir,
the cached files can still be used. This converts the chef recipe to a
vagrant shell provisioning script since it was all bash anyway.
Some file names no longer officially have a -linux in them, so those were
changed to keep the cache working with the default filename.
2016-06-15 15:26:35 +02:00
Hans-Christoph Steiner
e449d2f583
buildserver: setup env vars using standard script
...
bash provides a standard file location for a script to be run when the
shell starts: /etc/profile.d/ This converts the scattered bits of code for
making ~/.bsenv into a single provisioning script to generate
/etc/profile.d/bsenv.sh, which gets automatically executed when bash starts
2016-06-15 15:26:35 +02:00
Hans-Christoph Steiner
721b3b79a6
buildserver: extract NDK rather than executing it
...
Then the NDK archive doesn't need execute permissions.
2016-06-15 15:26:35 +02:00
Hans-Christoph Steiner
51e8776a88
REBASE buildserver: handle loops in bash, not ruby, to save memory
2016-06-14 23:21:53 +02:00
Hans-Christoph Steiner
a4615b1def
buildserver: handle loops in bash, not ruby, to save memory
...
Apparently, ruby is quite a memory hog when it forks. I've been getting
errors like this with ./makebuildserver:
Errno::ENOMEM - script[add_btools_17] (android-sdk::default line 72) had an
error: Errno::ENOMEM: Cannot allocate memory - fork(2)
So instead of looping in ruby and forking for each loop, handle the looping
in the bash script, so ruby is just calling a single bash script.
2016-06-14 16:34:13 +02:00
Hans-Christoph Steiner
714b3b9ff6
makebuildserver: use original names for downloaded SDK components
...
It will make it a lot easier to manage the cache if we use the original
file names, which often include the file version. This also changes the
download process to be resumable if there is a partial file in the cache,
and switches from calling wget on the command line to using the python libs
'requests' and 'clint' to provide a similar experience. While its not so
important for this particular bit of code to use those libraries, I think
those two will allow us to provide a better user experience throughout the
whole of fdroidserver.
In this case, it is already doing special tricks fetching the file size
from the server before trying to download it. I suppose this code could
instead check if the file exists, and if so, check the hash sum. I think
that would be slower for most people since checking the hash on large files
takes a noticeable about of time, while a HTTP HEAD request is pretty tiny.
2016-06-14 14:21:59 +02:00
Daniel Martí
fa9aa5d10f
Do not install extra-android-support in the VM
...
It's m2repository that is actually used by maven-based builds. This one
is pretty much useless.
2016-05-27 14:08:57 +01:00
Daniel Martí
d5d22dbc99
Update android sdk version
...
Install version 25 now. Also use the smaller tools zip. While at it,
also remove the tools re-install - it's not worth it, as long as we keep
the initial tools zip up to date.
2016-05-27 14:08:57 +01:00
Daniel Martí
1edd9cde3c
Add gradle 2.13
2016-05-27 14:08:57 +01:00
Boris Kraut
3a45f6ebe0
Add libtool to deps list
2016-05-17 23:04:20 +02:00
Daniel Martí
8dea6b896c
gradle: forgot to actually install 2.12
2016-04-14 16:19:35 +01:00
Daniel Martí
ec9087d057
Add and switch to build-tools 23.0.3
...
Also bump to the CI image which contains it.
2016-04-05 10:49:30 +01:00
Daniel Martí
a345e351ba
Add Gradle 2.12 to the buildserver
2016-04-05 10:49:15 +01:00
Hans-Christoph Steiner
90f547eb5d
update buildserver debian packages for py3
2016-03-15 20:04:50 +01:00
Daniel Martí
3fbe4cc8f2
config.buildserver.py: use new java_paths keys
2016-02-23 12:26:00 +00:00
Daniel Martí
da0a787879
Add gradle 2.11
2016-02-15 12:02:45 +00:00
Daniel Martí
9520839984
gradle wrapper script: add plugin 1.5
2016-02-15 12:02:45 +00:00
Hans-Christoph Steiner
7f451a815b
makebuildserver: add workaround to Ubuntu/trusty's old paramiko
...
Ubuntu trusty 14.04's paramiko does not work with jessie's openssh's
default settings, so they need to be tweaked in order to provide working
ssh to the instance.
https://stackoverflow.com/questions/7286929/paramiko-incompatible-ssh-peer-no-acceptable-kex-algorithm/32691055#32691055
2016-02-11 20:27:30 +01:00
Neil Roberts
c9404c8e39
Add libexpat1-dev and libglib2.0-dev to the default recipe
...
These are needed to build the PrevoDB srcdep of
uk.co.busydoingnothing.prevo.
2016-02-10 14:59:13 +00:00
Hans-Christoph Steiner
980339d2f5
make all apt repos in build server use the configured debian mirror
2016-01-26 11:31:40 +01:00
Daniel Martí
bd29fce13b
Add Gradle 2.10 to the BS
2016-01-05 09:15:54 +01:00
Daniel Martí
20ced3f303
Small gradle wrapper fix
...
It broke on cases like:
if (gradle.gradleVersion >= "2.2") {
2015-12-24 23:08:31 +01:00
Daniel Martí
2c12485aeb
gradle script: properly iterate over known versions
2015-12-02 19:17:08 +01:00
Daniel Martí
326e299e15
Fix ndk always being reinstalled
2015-11-20 17:35:34 -08:00
Daniel Martí
73c680dfcf
Add gradle 2.9 to the BS
2015-11-20 14:08:54 -08:00
Daniel Martí
882cfe3912
Install build-tools from the cache too
2015-11-20 14:08:54 -08:00
Daniel Martí
7842b08f40
Download platforms via makebuildserver
2015-11-20 12:21:31 -08:00
Daniel Martí
953a1e4396
Add qt5 to the buildserver
2015-11-20 05:52:17 -08:00
Daniel Martí
cac9b8a009
fdroidbuild-general: split packages in lines
...
This improves readability, but more importantly makes changes in git a
lot easier to track.
2015-11-20 05:51:33 -08:00
Daniel Martí
87c7da03ee
Fix buildserver debian stable java paths
2015-11-07 18:23:30 +01:00
Ciaran Gultnieks
f3497553e7
Root required to set default java
2015-11-07 10:40:51 +00:00
Ciaran Gultnieks
b9bd3cafe8
Fix 'set default java'
2015-11-07 09:27:12 +00:00
Daniel Martí
66e82cb077
Bump build-tools to 23.0.2
2015-11-05 11:56:13 +01:00
Ciaran Gultnieks
d9d11ba11b
If we're using a jessie buildserver, we need backports (for java 8)
2015-11-05 10:51:54 +00:00
Daniel Martí
a4d1fa22f7
Install Java 1.8 alongside 1.7 for retrolambda
...
Fixes #103 .
2015-11-03 11:08:34 +01:00
Daniel Martí
231339ba80
Add gradle 2.8
2015-10-24 19:05:21 +02:00
Daniel Martí
82624cd7ca
Bump sdk to 24.4.1
2015-10-24 19:02:39 +02:00
Daniel Martí
a229afe178
buildserver: Add gradle 2.7
2015-10-05 23:40:19 +02:00
Ciaran Gultnieks
131487f214
Add python-yaml to buildserver
2015-09-08 09:54:21 +00:00
Daniel Martí
41443edd55
Bump build-tools
2015-09-05 23:02:03 -04:00
Boris Kraut
28fd99f7ac
Add liblzma-dev to buildserver
2015-08-30 12:50:30 +02:00
Ciaran Gultnieks
c46f0a58cc
Merge branch 'per-app-repos' into 'master'
...
config option to enable per-app repos for nightly builds
For Guardian Project, we've been running an fdroid repo for the nightly builds for each of our apps: https://dev.guardianproject.info/debug This is built using a big, hacked up shell script: [update-debug-fdroid-repo](https://github.com/guardianproject/fdroid-repo-tools/blob/master/update-debug-fdroid-repo ). It has proven very useful to us to be able to subscribe to the nightly build for a single app, so this the first step of porting that horrid shell script to `fdroidserver`.
This also helps make the fdroidserver tool suite the single set of tools for all types of builds and releases. That will hopefully drive more free software developers to make f-droid.org the core channel for official releases.
See merge request !66
2015-08-27 18:04:13 +00:00
Hans-Christoph Steiner
0f03de80fa
standardize on HTTPS for github.com links
...
fdroid link already checks HTTPS in build metadata, so this should also use
HTTPS. It makes firewall rules easier when everything is HTTPS.
2015-08-27 00:28:47 +02:00
Hans-Christoph Steiner
f47677ef36
makebuildserver: allow setting apt mirror from command line
...
On some setups, using a custom apt mirror is essential, so this adds a
command line flag to override the default one:
http://ftp.uk.debian.org/debian/
For example, someone who runs a local mirror for offline and low bandwidth
situations.
This uses a % rather than a .format() to avoid escaping { and }, which have
meaning when using .format().
2015-08-26 14:46:54 +02:00
Daniel Martí
bc70f78ef9
Remove default config settings from the BS
2015-08-20 09:48:12 -07:00
Daniel Martí
d59ecb3d18
Add gradle 2.6 to the buildserver
2015-08-18 13:40:21 -07:00
Daniel Martí
d2ccea8246
Update buildserver for android-23
2015-08-18 13:39:00 -07:00
Daniel Martí
3b43e27cb8
Add gradle 2.5, fixes #108
2015-08-13 11:28:01 -07:00
Daniel Martí
24f6cc604b
Always end config list items with a comma
2015-08-13 11:02:09 -07:00
Daniel Martí
9fa5fe15f1
Add automake1.11 for gpg
2015-08-03 21:49:32 -07:00
Daniel Martí
00ace20d9b
Add gradle plugin version 1.3 to our wrapper
2015-08-03 11:34:20 -07:00
Ciaran Gultnieks
d866ab4cef
Fix imagemagick (broken in d9bbb507
)
2015-06-25 22:53:11 +02:00
Daniel Martí
e55d1450d1
Update the Android SDK to 24.3.3
2015-06-19 21:17:43 +02:00
Daniel Martí
52c2ca1fe7
Replace NDK r10d with r10e
2015-06-18 17:05:48 +02:00
Daniel Martí
5985bb4a0b
Add gradle 2.4
2015-06-18 16:57:00 +02:00
Daniel Martí
e608975f78
Bump build-tools to 22.0.1
2015-06-18 16:56:56 +02:00
Boris Kraut
d9bbb507d1
Add graphviz to buildserver
2015-06-05 15:41:21 +02:00
Boris Kraut
b853609ee1
Add pandoc to buildserver
2015-05-23 17:48:05 +02:00
Daniel Martí
3e04a44941
Add plugin version 1.2 to our gradle wrapper
2015-04-29 22:15:57 +02:00
Daniel Martí
577211dae7
Sort debian packages to be installed
2015-04-28 17:39:26 +02:00
Daniel Martí
8de6b79c60
Add scons, make-like tool used by godot
2015-04-28 17:36:15 +02:00
Daniel Martí
ed5c2fd33d
Add gradle 2.3 to the buildserver
...
Fixes apps that explicitly require 2.3 via gradleVersion
2015-04-09 16:02:35 +02:00
Daniel Martí
45925c6816
Forgot to bump build_tools in the configs
2015-03-24 21:36:42 +01:00
Daniel Martí
66487272cd
Update build tools to 22.0.0
2015-03-21 23:42:31 +01:00
Daniel Martí
92fdcd3e6a
Update sdk to 24.1.2
2015-03-21 23:41:08 +01:00
Daniel Martí
4c0ee6ddce
Add android-22 target
2015-03-21 23:28:09 +01:00
Daniel Martí
4feedb7c6b
Gradle plugin version 1.1 still uses gradle 2.2
2015-03-15 16:25:41 +01:00
Matías Zúñiga
3d791e4c9e
Add dependencies needed by "LibreOffice Viewer Beta"
2015-02-03 23:45:26 +00:00
Boris Kraut
abdc97142b
Add compare-locales via easy_install for Firefox
2015-01-25 19:33:02 +01:00
Boris Kraut
ffd5263b58
Add build-deps for Firefox
2015-01-25 19:32:14 +01:00
Daniel Martí
388665ff43
Remove trailing whitespace
2015-01-04 20:52:27 +01:00
Rancor
80957c625f
Fixes #52 : Fix permission for executing android-ndk bin
2015-01-04 20:41:43 +01:00
Daniel Martí
f31ca7c852
Create the ndk_loc dir first ( fixes #52 )
2015-01-04 04:19:19 +01:00
Daniel Martí
f60f1bc59e
Add NDK r10d, this time alongside r9b
...
Specified per-build with ndk=<version> defaulting to the oldest, r9b.
2015-01-03 00:07:01 +01:00
Daniel Martí
d9c6609925
Fix gradleVersions without =
2014-12-31 13:30:53 +01:00
Daniel Martí
6e2bc85518
Add nasm to the buildserver box ( fixes : #51 )
2014-12-30 23:42:26 +01:00
Daniel Martí
16601a0be3
Bump build-tools again to 21.1.2
2014-12-12 12:57:12 +01:00
Daniel Martí
aaf36f654d
Update build-tools to 21.1.1
2014-12-12 12:40:09 +01:00
Daniel Martí
e10b2dd382
Update sdk to 24.0.1
2014-12-12 12:39:04 +01:00
Daniel Martí
05a7a872b6
Add gradle 2.2.1 for plugin versions 1.0.X
2014-12-12 12:29:16 +01:00
Ciaran Gultnieks
3aaa5c9603
Add inkscape to buildserver
2014-12-04 11:38:02 +00:00
Daniel Martí
bf20d5af88
Fix issue where the wrong gradle version may be used
2014-11-15 21:38:48 +01:00
Daniel Martí
80cc8ef5f0
Add support for gradle plugin version 0.14 in the wrapper
2014-11-05 21:30:00 +01:00
Daniel Martí
fa465e2428
Forgot to bump the build tools in the server config
2014-10-23 15:21:07 +02:00
Daniel Martí
57efa16f3f
Bump build-tools to 21.0.2
2014-10-22 15:01:01 +02:00
Daniel Martí
e3856882b7
Add android-21 (5.0) target sdk to the buildserver
2014-10-18 11:55:06 +02:00
Daniel Martí
ea62609a80
Fix gradle 2.1
2014-10-10 12:53:44 +02:00
Daniel Martí
135e15bde3
Add support for gradle plugin version 0.13 via gradle 2.1
2014-10-07 16:36:10 +02:00
Daniel Martí
007e3eee27
Add the python3-gnupg package
2014-09-18 15:37:30 +02:00
Daniel Martí
6767c3f987
Revert "Add android-L target to the buildserver"
...
This reverts commit 7809ef419f
.
android-L is a preview, we want to add android-20 when it comes out.
2014-08-07 10:29:44 +02:00
Daniel Martí
7809ef419f
Add android-L target to the buildserver
2014-08-03 09:51:19 +02:00
Ciaran Gultnieks
87b04c6921
Add python-gnupg to buildserver
2014-07-31 18:49:34 +01:00
Daniel Martí
8595e216f4
Add support for gradle plugin version 0.12
2014-07-04 08:50:20 +02:00
Daniel Martí
4e0e830038
Add android-20 to the SDK
2014-07-03 22:30:30 +02:00
Daniel Martí
ebfce778bc
Update the SDK to 23.0.2, supposedly fixing all issues
2014-07-03 15:36:43 +02:00
Daniel Martí
70d77a1cce
Set up SDK and NDK env vars from python
...
No need to make the buildserver do it
2014-07-01 21:03:50 +02:00
Daniel Martí
7be0634a52
Simpler way to get the available gradle versions
...
Also, sort by version names instead of alphabetically
2014-07-01 19:18:12 +02:00
Daniel Martí
348c6a1085
Update the SDK to version 23.0.0
2014-06-30 17:03:26 +02:00
Daniel Martí
cbdcdd1e78
Update build-tools to 20.0.0
2014-06-30 17:03:16 +02:00
Daniel Martí
4d63ed0568
Add optipng, useful for some apps
...
Specifically, for cz.jirkovsky.lukas.chmupocasi
2014-06-30 16:22:31 +02:00
Daniel Martí
3c08b51dfb
Add support for plugin version 0.11
2014-06-12 10:00:29 +02:00
Daniel Martí
a50e6dbfbd
Update sdk and build-tools
2014-06-11 22:48:12 +02:00
Daniel Martí
4fa5d9063a
Add faketime, needed by lildebi
2014-06-08 10:24:37 +02:00
Daniel Martí
295cddcddb
Add android targets 5, 6 and 9
...
They are nice to have, and will be needed to build support-v4 from source
2014-05-21 11:45:16 +02:00
Daniel Martí
9cb5bbd1ee
Add gradle 1.12 for the plugin version 0.10
...
Also, use https for the gradle.org links
2014-05-20 16:40:43 +02:00
Daniel Martí
6cd21c108c
Stop the gradle version searches once one is found
2014-05-12 15:52:02 +02:00
Ciaran Gultnieks
f10d16f734
Remove ruby packages from buildserver
2014-04-01 17:40:11 +01:00
Daniel Martí
13c79e8e46
Fix buildserver build_tools version
2014-03-11 17:37:42 +01:00
Daniel Martí
7f1acadaf1
Properly default to the highest version of gradle
2014-03-11 17:33:19 +01:00
Daniel Martí
426d85d0b8
Bump build-tools version
2014-03-07 15:38:24 +01:00
Daniel Martí
fa7b9690ec
Clean up the gradle script a bit
2014-03-07 15:37:14 +01:00
Daniel Martí
c76d2321f3
Add support for gradle 1.11 (and plugin ver 0.9)
2014-03-07 15:21:18 +01:00
Daniel Martí
858f89e3ac
Update build-tools to 19.0.2
2014-02-23 12:21:28 +01:00
Daniel Martí
f6f23030e2
Move config.buildserver.py into buildserver subdir
2014-02-17 19:16:14 +01:00
Daniel Martí
dbb7f63906
Add quilt for csipsimple
2014-02-10 09:41:04 +01:00
Daniel Martí
51fc868b5c
Add swig as osmand dependency
2014-02-09 22:48:40 +01:00
Ciaran Gultnieks
f69dbd3e9e
Revert "Switch to python-pgmagick on buildserver too"
...
This reverts commit f012165c69
.
2014-02-03 22:01:33 +00:00
Ciaran Gultnieks
f012165c69
Switch to python-pgmagick on buildserver too
2014-02-03 21:51:22 +00:00
Daniel Martí
0f06f07b89
Forgot vorbis-tools dep for xcsoar
2014-01-30 08:44:38 +01:00
Daniel Martí
3f47b4914d
Remove newline in list of pkgs to install
2014-01-29 19:11:07 +01:00
Daniel Martí
9fa73faf2e
Add missing xcsoar deps
2014-01-29 00:55:53 +01:00
Daniel Martí
03cc679dc8
Forgot to actually install 1.10 via chef
2014-01-27 22:03:39 +01:00
Daniel Martí
6e537c2f37
Add gradle 1.10 with the new plugin 0.8 release
2014-01-27 13:21:44 +01:00
Daniel Martí
5a4b343a3d
Add the curl package to the buildserver
2014-01-23 09:03:00 +01:00
Daniel Martí
0fce807f35
Important to also parse ../build.gradle
2014-01-15 18:07:17 +01:00
Daniel Martí
607736f85d
Remove google apis, they are deprecated and broken
2014-01-12 11:57:47 +01:00
Daniel Martí
ff01aa75cd
Add build-tools to PATH
2014-01-12 11:57:23 +01:00
Daniel Martí
6dc2bb8449
Move gradle script to separate file, install it properly
2014-01-10 20:12:24 +01:00
Daniel Martí
ca7cea37f8
Add our gradle wrapper script
2014-01-09 22:56:51 +01:00
Daniel Martí
db33ae75e5
Revert "Add gradle-1.10" since it's not compatible yet
2014-01-09 16:29:45 +01:00
Daniel Martí
06f9a42601
Move gradle to its own cookbook
2014-01-09 16:27:34 +01:00
Daniel Martí
d83a723f5c
Install gradle version 1.4, 1.6, 1.7, 1.8 and 1.9 to /opt/gradle
2014-01-09 16:23:49 +01:00
Daniel Martí
087cd6d135
Update to build-tools 19.0.1
2013-12-22 13:24:40 +01:00
Daniel Martí
3299873b24
Update to gradle 1.9
2013-12-22 13:22:45 +01:00
Ciaran Gultnieks
5d1bed3380
Fix incomplete ndk upgrade in d7f558ad
2013-12-16 11:42:33 +00:00
Ciaran Gultnieks
a42d00c2a7
Kivy builds need virtualenv
2013-12-01 16:47:27 +00:00
Ciaran Gultnieks
dad763a86c
Some more kivy wip
2013-11-26 22:06:45 +00:00
Ciaran Gultnieks
62e03f84f7
Some more kivy wip
2013-11-26 22:04:40 +00:00
Ciaran Gultnieks
53781f913b
Some more kivy wip
2013-11-26 22:02:33 +00:00
Ciaran Gultnieks
752105c884
Add kivy requirements to buildserver
2013-11-24 22:11:02 +00:00
Ciaran Gultnieks
067cab5a3f
Buildserver apt-get update fix
2013-11-18 22:35:55 +00:00
Ciaran Gultnieks
0876c52e55
Revert "Switch to build-tools 19.0.0" - buggy build tools
...
This reverts commit a81aebb236
.
2013-11-13 14:54:38 +00:00
Ciaran Gultnieks
9ea87f7078
Add texinfo to buildserver
2013-11-11 17:22:49 +00:00