chiark / gitweb /
fdroidserver.git
7 years agoMerge branch 'updates' into 'master'
Daniel Martí [Tue, 25 Oct 2016 11:06:47 +0000 (11:06 +0000)]
Merge branch 'updates' into 'master'

makebs and CI updates

See merge request !178

7 years agoBump ci images and default build-tools
Daniel Martí [Sun, 23 Oct 2016 15:58:37 +0000 (16:58 +0100)]
Bump ci images and default build-tools

7 years agomakebs: bump m2repo, add api25 and build-tools 25
Daniel Martí [Sun, 23 Oct 2016 15:47:19 +0000 (16:47 +0100)]
makebs: bump m2repo, add api25 and build-tools 25

7 years agoMerge branch 'build-tools' into 'master'
Ciaran Gultnieks [Wed, 5 Oct 2016 18:09:46 +0000 (18:09 +0000)]
Merge branch 'build-tools' into 'master'

makebs: add build-tools 24.0.3

See merge request !175

7 years agoMerge branch 'fixes-on-the-way-to-kvm' into 'master'
Ciaran Gultnieks [Wed, 5 Oct 2016 18:09:18 +0000 (18:09 +0000)]
Merge branch 'fixes-on-the-way-to-kvm' into 'master'

buildserver fixes on the way to KVM

Here are a couple of relatively basic fixes I found while working on the KVM support (merge request coming soon).

See merge request !174

7 years agomakebs: add build-tools 24.0.3
Daniel Martí [Mon, 3 Oct 2016 08:10:41 +0000 (09:10 +0100)]
makebs: add build-tools 24.0.3

7 years agobuildserver: only auto-detect KVM in ./makebuildserver
Hans-Christoph Steiner [Wed, 28 Sep 2016 07:52:00 +0000 (09:52 +0200)]
buildserver: only auto-detect KVM in ./makebuildserver

Having a second, different KVM auto-detect routine in Vagrantfile will only
confuse things.  This also removes the direct call to the systemd utility.

7 years agobuildserver: run dir check as very first thing
Hans-Christoph Steiner [Mon, 26 Sep 2016 11:11:22 +0000 (07:11 -0400)]
buildserver: run dir check as very first thing

No point in running any other code if the script is just going to bail
out with an error.  This assumes that ./makebuildserver is only ever
run from a git clone of fdroidserver.git.

7 years agobuildserver: use py3's pathlib to generate cache file URL
Hans-Christoph Steiner [Mon, 26 Sep 2016 11:17:31 +0000 (07:17 -0400)]
buildserver: use py3's pathlib to generate cache file URL

This should handle edge cases better, like odd characters in the path, etc.

7 years agojenkins-build-makebuildserver: remove errant blank line
Hans-Christoph Steiner [Mon, 26 Sep 2016 10:14:37 +0000 (06:14 -0400)]
jenkins-build-makebuildserver: remove errant blank line

7 years agoMerge branch 'master' into 'master'
Hans-Christoph Steiner [Tue, 27 Sep 2016 12:54:02 +0000 (12:54 +0000)]
Merge branch 'master' into 'master'

Add qt sdk support

Qt SDK extraction on the VM

See merge request !172

7 years agoAdd qt sdk support
est31 [Sat, 24 Sep 2016 12:10:55 +0000 (14:10 +0200)]
Add qt sdk support

8 years agoMerge branch 'checkupdates-crash' into 'master'
Ciaran Gultnieks [Mon, 26 Sep 2016 21:46:16 +0000 (21:46 +0000)]
Merge branch 'checkupdates-crash' into 'master'

checkupdates: avoid crash with --auto and None CVC

As reported by @CiaranG.

See merge request !173

8 years agocheckupdates: avoid crash with --auto and None CVC
Daniel Martí [Mon, 26 Sep 2016 20:07:55 +0000 (21:07 +0100)]
checkupdates: avoid crash with --auto and None CVC

Reproducible via `fdroid checkupdates --auto subreddit.android.appstore`
at fdroiddata HEAD (e76449ab).

WARNING: ...subreddit.android.appstore : Couldn't find package ID
CRITICAL: Unknown exception found!
Traceback (most recent call last):
  File "/home/mvdan/.bin/fdroid", line 147, in <module>
    main()
  File "/home/mvdan/.bin/fdroid", line 124, in main
    mod.main()
  File "/home/mvdan/git/fsr/fdroidserver/checkupdates.py", line 571, in main
    checkupdates_app(app)
  File "/home/mvdan/git/fsr/fdroidserver/checkupdates.py", line 469, in checkupdates_app
    if int(build.vercode) >= int(app.CurrentVersionCode):
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

8 years agoMerge branch 'fix-post-kvm' into 'master'
Ciaran Gultnieks [Fri, 23 Sep 2016 16:33:52 +0000 (16:33 +0000)]
Merge branch 'fix-post-kvm' into 'master'

Fix post KVM

A couple of fixes to the KVM support that was just merged, as reported by @CiaranG

See merge request !171

8 years agobuildserver: bochs can also be used with KVM
Hans-Christoph Steiner [Fri, 23 Sep 2016 15:40:23 +0000 (17:40 +0200)]
buildserver: bochs can also be used with KVM

jenkins.debian.net is being detected as 'bochs' rather than 'qemu'.

8 years agobuildserver: only check cache permissions when using libvirt
Hans-Christoph Steiner [Fri, 23 Sep 2016 13:19:15 +0000 (15:19 +0200)]
buildserver: only check cache permissions when using libvirt

VirtualBox runs as the same user as `fdroid`, so the cache does not need to
be accessible by the world.  On libvirt, libvirtd runs the VMs as its own
user, so in that case, the cache dirs must have permissions to let that
user access them.

8 years agobuildserver: wipe snapshot from libvirt store on --clean
Hans-Christoph Steiner [Mon, 19 Sep 2016 14:45:06 +0000 (16:45 +0200)]
buildserver: wipe snapshot from libvirt store on --clean

8 years agoMerge branch 'buildserver-qemu-kvm' into 'master'
Ciaran Gultnieks [Fri, 23 Sep 2016 12:25:12 +0000 (12:25 +0000)]
Merge branch 'buildserver-qemu-kvm' into 'master'

buildserver running in qemu/kvm to support KVM on KVM

jenkins.debian.net runs in QEMU/KVM instances, so in order to run the F-Droid buildserver there, it needs to work inside of a KVM guest.  The best way I found to do that is to create QEMU/KVM instances via KVM's "nested" virtualization support.  This collection of commits enables using QEMU/KVM as the buildserver when `./makebuildserver` detects that it is running inside of KVM.  Otherwise, the old behavior is default: running in VirtualBox.

I have run these tests inside of ubuntu/16.04 on bare metal, which uses VirtualBox, and ubuntu/16.04 KVM guest, which uses QEMU/KVM.  It'll also run on the Guardian Project jenkins box, which is Debian/jessie.

@mvdan @CiaranG @krt

See merge request !168

8 years agoMerge branch 'master' into 'master'
Hans-Christoph Steiner [Fri, 23 Sep 2016 06:36:58 +0000 (06:36 +0000)]
Merge branch 'master' into 'master'

makebs: add gradle 3.1

See merge request !170

8 years agomakebs: add gradle 3.1
est31 [Fri, 23 Sep 2016 05:50:52 +0000 (07:50 +0200)]
makebs: add gradle 3.1

8 years agoMerge branch 'vagrant' into 'master'
Daniel Martí [Tue, 20 Sep 2016 16:19:08 +0000 (16:19 +0000)]
Merge branch 'vagrant' into 'master'

docs: update vagrant link

As pointed out in https://f-droid.org/forums/topic/documentation-bug-fix-report/#post-21839 , the link to the vagrant doc is 404. I'd assume that this is the correct link, but please verify this before merge.

See merge request !169

8 years agodocs: update vagrant link
Boris Kraut [Tue, 20 Sep 2016 09:38:12 +0000 (11:38 +0200)]
docs: update vagrant link

8 years agobuildserver: only include latest m2 when provisioning
Hans-Christoph Steiner [Mon, 19 Sep 2016 11:29:46 +0000 (13:29 +0200)]
buildserver: only include latest m2 when provisioning

I think the `android update sdk` tool is installing all of the m2 files
that are present in the temp cache, and it seems to do it in order of
newest to oldest.  Well done, and I thought that tool couldn't get any
worse.  So only include the latest version of android_m2repository*.zip in
the temp cache.

8 years agobuildserver: ensure dirs to mount cache exist in guest VM instance
Hans-Christoph Steiner [Thu, 15 Sep 2016 13:50:16 +0000 (15:50 +0200)]
buildserver: ensure dirs to mount cache exist in guest VM instance

It seems that the 9p synced folder setup is not as flexible and easy as the
VirtualBox one, so we have to do more little things like this.

8 years agobuildserver: fix jenkins build to support QEMU/KVM
Hans-Christoph Steiner [Thu, 15 Sep 2016 12:38:36 +0000 (14:38 +0200)]
buildserver: fix jenkins build to support QEMU/KVM

8 years agobuildserver: retry apt-get downloads 20 times
Hans-Christoph Steiner [Thu, 15 Sep 2016 09:12:49 +0000 (11:12 +0200)]
buildserver: retry apt-get downloads 20 times

Try harder before failing the whole buildserver setup.

8 years agobuildserver: auto-detect and use libvirt's QEMU+KVM
Hans-Christoph Steiner [Thu, 15 Sep 2016 09:12:18 +0000 (11:12 +0200)]
buildserver: auto-detect and use libvirt's QEMU+KVM

For running in QEMU/KVM guests like on jenkins.debian.net, this sets up the
whole process automatically.  This only really covers the case where this
is running in a KVM guest, and the original case of running VirtualBox on
bare metal.  It could be extended to cover more cases if someone wanted to.

8 years agobuildserver: make sure cachedir is accessible to VM instance
Hans-Christoph Steiner [Tue, 6 Sep 2016 12:22:29 +0000 (14:22 +0200)]
buildserver: make sure cachedir is accessible to VM instance

It seems that KVM/QEMU's 9p sharing is more sensitive to file perms.  If
~/.cache is 0700, then ~/.cache/fdroidserver cannot be mounted in the guest

8 years agobuildserver: support optionally using qemu+kvm
Hans-Christoph Steiner [Mon, 5 Sep 2016 21:21:24 +0000 (23:21 +0200)]
buildserver: support optionally using qemu+kvm

This makes it possible to run the full build process in a KVM virtual
machine, like jenkins.debian.net.

closes #190

8 years agobuildserver: ignore android sdk repos of proprietary bits
Hans-Christoph Steiner [Thu, 15 Sep 2016 09:29:31 +0000 (11:29 +0200)]
buildserver: ignore android sdk repos of proprietary bits

The Android SDK by default includes some Google repositories of their
proprietary SDKs.  We of course do not want that stuff ever.  We also do
not need the emulator images since this process does not currently install
or run an emulator.

8 years agoexample file for public read only S3 bucket policy
Hans-Christoph Steiner [Thu, 15 Sep 2016 09:35:38 +0000 (11:35 +0200)]
example file for public read only S3 bucket policy

This is the locked down S3 policy as created by Benetech for their Secure
App Generator project.

8 years agoskip `fdroid import` test if gitlab is not available
Hans-Christoph Steiner [Thu, 15 Sep 2016 06:29:18 +0000 (08:29 +0200)]
skip `fdroid import` test if gitlab is not available

This prevents CI build failures when gitlab is deploying or has other
issues that might cause a 500.

8 years agoMerge branch 'gradle-wrapper' into 'master'
Daniel Martí [Thu, 15 Sep 2016 20:45:44 +0000 (20:45 +0000)]
Merge branch 'gradle-wrapper' into 'master'

Make the gradle wrapper smarter

@eighthave PTAL

This will help with issues like https://gitlab.com/fdroid/fdroiddata/issues/515

See merge request !166

8 years agoMerge branch 'makebs-updates' into 'master'
Hans-Christoph Steiner [Thu, 15 Sep 2016 20:38:43 +0000 (20:38 +0000)]
Merge branch 'makebs-updates' into 'master'

Makebs updates

See merge request !167

8 years agomakebs: bump support repo to 38
Daniel Martí [Thu, 15 Sep 2016 19:07:25 +0000 (20:07 +0100)]
makebs: bump support repo to 38

8 years agomakebs: bump tools to 25.2.2
Daniel Martí [Thu, 15 Sep 2016 19:07:16 +0000 (20:07 +0100)]
makebs: bump tools to 25.2.2

8 years agogradle: support gradle-wrapper.properties version
Daniel Martí [Thu, 15 Sep 2016 18:14:40 +0000 (19:14 +0100)]
gradle: support gradle-wrapper.properties version

Brings our wrapper closer to gradlew's functionality.

Updates #98.

8 years agogradle: delay calculating some versions
Daniel Martí [Thu, 15 Sep 2016 18:10:18 +0000 (19:10 +0100)]
gradle: delay calculating some versions

Simplifies the wrapper script.

8 years agoMerge branch 'control-errors-warnings' into 'master'
Daniel Martí [Mon, 12 Sep 2016 14:16:42 +0000 (14:16 +0000)]
Merge branch 'control-errors-warnings' into 'master'

make metadata exceptions optional based on CLI flag

In many cases, there are times where metadata errors need to be ignored, or
at least not stop the command from running.  For example, there will
inevitably be new metadata fields added, in which case a packaged version
of fdroidserver will throw errors on each one.  This adds a standard -W
flag to customize the response: ignore, default, or error.

* by default, the errors are still errors
* `fdroid readmeta -W` will just print errors
* `fdroid readmeta -Wignore` will not even print errors

https://gitlab.com/fdroid/fdroidserver/issues/150

See merge request !164

8 years agoMerge branch 'buildserver-fixes-pre-kvm' into 'master'
Daniel Martí [Mon, 12 Sep 2016 14:16:15 +0000 (14:16 +0000)]
Merge branch 'buildserver-fixes-pre-kvm' into 'master'

buildserver fixes pre-KVM

This is a collection of little fixes to the buildserver setup that I did while implementing the QEMU+KVM support.  Since I was running the whole process repeatedly, I had opportunity to find and fix little things like this.

See merge request !165

8 years agobuildserver: remove Kivy, unused since 2013 and out of date
Hans-Christoph Steiner [Mon, 12 Sep 2016 11:05:05 +0000 (13:05 +0200)]
buildserver: remove Kivy, unused since 2013 and out of date

This is the last thing using Chef, which adds a lot of time to the time it
takes to fully provision the buildserver.  This slows down development on
the things we are actually using, like running all builds on
jenkins.debian.net.

#210 #165

8 years agobuildserver: download apt package first to increase reliability
Hans-Christoph Steiner [Tue, 6 Sep 2016 12:33:13 +0000 (14:33 +0200)]
buildserver: download apt package first to increase reliability

This does not have the careful result rechecking that chef has, when it
installs each package in the list one at a time.  So to help with failures
caused by a package failing to download, first try downloading all the
package, then run the install.  The install pass will try to download any
missing packages.

Really, this should use ansible or perhaps chef again since those include
lots of tricks around this stuff.

8 years agobuildserver: only specify lib*-dev to future proof package list
Hans-Christoph Steiner [Thu, 8 Sep 2016 19:47:42 +0000 (21:47 +0200)]
buildserver: only specify lib*-dev to future proof package list

Using libssl-dev will work on all releases of Debian, but Debian/stretch
does not have libssl1.0.0.

8 years agobuildserver: test build of Checkey and old F-Droid
Hans-Christoph Steiner [Thu, 7 Jul 2016 19:44:55 +0000 (21:44 +0200)]
buildserver: test build of Checkey and old F-Droid

The buildserver should still be able to build old versions of apps, and
Checkey is a verified, reproducible build.

8 years agobuildserver: force a known-good version of chef
Hans-Christoph Steiner [Tue, 30 Aug 2016 20:56:06 +0000 (22:56 +0200)]
buildserver: force a known-good version of chef

This forces the release channel and version of chef-solo to install on the
guest VM.  I was getting really massive, odd stacktraces without specifying
this, and chef is only used for Kivy now anyway.

8 years agobuildserver: vagrant-cachier conflicts with custom apt cache
Hans-Christoph Steiner [Tue, 30 Aug 2016 19:23:40 +0000 (21:23 +0200)]
buildserver: vagrant-cachier conflicts with custom apt cache

The technique where /var/cache/apt is mounted as a shared folder conflicts
with vagrant-cachier's workings.  Therefore, ignore vagrant-cachier if the
user selects ./makebuildserver's custom apt cache.  The shared folder way
has the advantage for CI builds of storing the cache outside of
VAGRANT_HOME, which is set to be in the git project.  That gets wiped by
`git clean -fdx` on each CI build.

8 years agomake metadata exceptions optional based on CLI flag
Hans-Christoph Steiner [Mon, 12 Sep 2016 10:55:48 +0000 (12:55 +0200)]
make metadata exceptions optional based on CLI flag

In many cases, there are times where metadata errors need to be ignored, or
at least not stop the command from running.  For example, there will
inevitably be new metadata fields added, in which case a packaged version
of fdroidserver will throw errors on each one.  This adds a standard -W
flag to customize the response: ignore, default, or error.

* by default, the errors are still errors
* `fdroid readmeta -W` will just print errors
* `fdroid readmeta -Wignore` will not even print errors

https://gitlab.com/fdroid/fdroidserver/issues/150

8 years agoBump to 0.7.0 0.7.0
Daniel Martí [Sun, 11 Sep 2016 09:52:11 +0000 (11:52 +0200)]
Bump to 0.7.0

8 years agoMerge branch 'updates' into 'master'
Daniel Martí [Sat, 10 Sep 2016 10:06:44 +0000 (10:06 +0000)]
Merge branch 'updates' into 'master'

all: bump to build-tools 24.0.2

Update the docker image to include it there too.

See merge request !163

8 years agoall: bump to build-tools 24.0.2
Daniel Martí [Sat, 10 Sep 2016 09:43:04 +0000 (11:43 +0200)]
all: bump to build-tools 24.0.2

Update the docker image to include it there too.

8 years agoMerge branch 'buildserver-fixes' into 'master'
Hans-Christoph Steiner [Mon, 5 Sep 2016 08:48:49 +0000 (08:48 +0000)]
Merge branch 'buildserver-fixes' into 'master'

buildserver fixes

updates to the Android SDK packages used by `./makebuildserver`

See merge request !162

8 years agoupdate to platform-24_r02 in ./makebuildserver
Hans-Christoph Steiner [Tue, 30 Aug 2016 17:47:37 +0000 (19:47 +0200)]
update to platform-24_r02 in ./makebuildserver

8 years agoadd build-tools_r24.0.2-linux.zip to ./makebuildserver
Hans-Christoph Steiner [Tue, 30 Aug 2016 16:19:49 +0000 (18:19 +0200)]
add build-tools_r24.0.2-linux.zip to ./makebuildserver

8 years agonew build-tools_r24.0.1.zip sha256, Google keeps changing it
Hans-Christoph Steiner [Tue, 30 Aug 2016 16:19:34 +0000 (18:19 +0200)]
new build-tools_r24.0.1.zip sha256, Google keeps changing it

I validated this versus the Google repository XML downloaded from two
separate paths from:
https://dl.google.com/android/repository/repository-12.xml

Using their SHA1:
84f18c392919a074fcbb9b1d967984e6b2fef8b4

8 years agoMerge branch 'patch-1' into 'master'
Hans-Christoph Steiner [Tue, 30 Aug 2016 16:09:10 +0000 (16:09 +0000)]
Merge branch 'patch-1' into 'master'

Add buildserver lxml requirement for pEp

See merge request !161

8 years agoAdd buildserver lxml requirement for pEp
huss [Sun, 28 Aug 2016 12:47:12 +0000 (12:47 +0000)]
Add buildserver lxml requirement for pEp

8 years agoMerge branch 'fix-push-requests' into 'master'
Daniel Martí [Fri, 26 Aug 2016 22:26:17 +0000 (22:26 +0000)]
Merge branch 'fix-push-requests' into 'master'

Fix push requests

Two bug fixes found in the process of implementing the client side of the push requests in https://gitlab.com/fdroid/fdroidclient/merge_requests/386

This is related to !156.

See merge request !160

8 years agomake build reproducible by fixing sort order in docs
Hans-Christoph Steiner [Fri, 26 Aug 2016 09:48:12 +0000 (11:48 +0200)]
make build reproducible by fixing sort order in docs

From Debian https://bugs.debian.org/835463
 Description: Make the build reproducible
 Author: Chris Lamb <lamby@debian.org>
 Last-Update: 2016-08-26

8 years agorename server request from "delete" to "uninstall"
Hans-Christoph Steiner [Tue, 23 Aug 2016 18:30:27 +0000 (20:30 +0200)]
rename server request from "delete" to "uninstall"

This matches the Android API's current Intent action for this, rather than
the deprecated one:

https://gitlab.com/fdroid/fdroidclient/blob/v0.101-alpha5/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java#L147
https://developer.android.com/reference/android/content/Intent.html#ACTION_UNINSTALL_PACKAGE
https://developer.android.com/reference/android/content/Intent.html#ACTION_DELETE

8 years agosanitize mirror URLs to prevent path segments from being removed
Hans-Christoph Steiner [Tue, 23 Aug 2016 14:20:52 +0000 (16:20 +0200)]
sanitize mirror URLs to prevent path segments from being removed

urllib.parse.urljoin() will strip off the last path segment before joining
if that last path segment does not end with /.  That's a "feature" to make
it easy to replace file names.  Here it was stripping off the essential
'fdroid' segment, making URLs like:

https://foo.com/repo

when they should be

https://foo.com/fdroid/repo

8 years agoMerge branch 'ci-bump' into 'master'
Daniel Martí [Mon, 22 Aug 2016 09:25:19 +0000 (09:25 +0000)]
Merge branch 'ci-bump' into 'master'

CI: bump docker image

See merge request !159

8 years agoCI: bump docker image
Daniel Martí [Sun, 21 Aug 2016 09:11:01 +0000 (11:11 +0200)]
CI: bump docker image

8 years agomakebs: add gradle 3.0
Daniel Martí [Thu, 18 Aug 2016 15:53:27 +0000 (17:53 +0200)]
makebs: add gradle 3.0

8 years agomakebs: bump m2repository to r36 (24.2.0)
Daniel Martí [Thu, 18 Aug 2016 15:48:01 +0000 (17:48 +0200)]
makebs: bump m2repository to r36 (24.2.0)

8 years agomakebs: bump tools to r25.2.1
Daniel Martí [Thu, 18 Aug 2016 15:47:49 +0000 (17:47 +0200)]
makebs: bump tools to r25.2.1

8 years agogradle: plugins 2.2 and 2.1.3 require 2.14.1
Daniel Martí [Thu, 18 Aug 2016 15:38:36 +0000 (17:38 +0200)]
gradle: plugins 2.2 and 2.1.3 require 2.14.1

8 years agoMerge branch 'push-install' into 'master'
Hans-Christoph Steiner [Wed, 17 Aug 2016 09:18:31 +0000 (09:18 +0000)]
Merge branch 'push-install' into 'master'

set up install/delete lists for "push" commands from server

It is now possible for the server operator to specify lists of apps that must be installed or deleted on the client (aka "push installs).  If
the user has opted in, or the device is already setup to respond to these requests, then fdroidclient will automatically install/delete
the packageNames listed.  This is protected by the same signing key as the app index metadata.

It generates single XML elements with the data set in the attributes. This keeps the XML compact and easily extensible, e.g. for adding versionCode, signingKey, etc as attributes:

```xml
    <install packageName="com.fsck.k9"/>
    <install packageName="at.bitfire.davdroid"/>
    <delete packageName="com.facebook.orca"/>
```

See merge request !156

8 years agoset up install/delete lists for "push" commands from server
Hans-Christoph Steiner [Tue, 16 Aug 2016 19:02:15 +0000 (21:02 +0200)]
set up install/delete lists for "push" commands from server

It is now possible for the server operator to specify lists of apps that
must be installed or deleted on the client (aka "push installs).  If
the user has opted in, or the device is already setup to respond to
these requests, then fdroidclient will automatically install/delete
the packageNames listed.  This is protected by the same signing key
as the app index metadata.

It generates single XML elements with the data set in the attributes. This
keeps the XML compact and easily extensible, e.g. for adding versionCode,
signingKey, etc as attributes:

    <install packageName="com.fsck.k9"/>
    <install packageName="at.bitfire.davdroid"/>
    <delete packageName="com.facebook.orca"/>

Copyright: 2016 Blue Jay Wireless
Signed-off-by: Hans-Christoph Steiner <hans@eds.org>
closes #177

8 years agoMerge branch 'ndk11' into 'master'
Daniel Martí [Sun, 14 Aug 2016 09:15:04 +0000 (09:15 +0000)]
Merge branch 'ndk11' into 'master'

Add ndk r11c

NDK11 is required by some apps (some versions of VLC) which will not build with r10e or r12b. As always, please test this before merging: I havent added a NDK before.

See merge request !155

8 years agomakebs: add automake
Daniel Martí [Sun, 14 Aug 2016 07:57:29 +0000 (09:57 +0200)]
makebs: add automake

Version 1.14 is needed for k9 and some other apps.

8 years agoAdd ndk r11c
Boris Kraut [Fri, 12 Aug 2016 18:24:54 +0000 (20:24 +0200)]
Add ndk r11c

8 years agoMerge branch 'gradle-2.14.1' into 'master'
Daniel Martí [Fri, 12 Aug 2016 20:36:35 +0000 (20:36 +0000)]
Merge branch 'gradle-2.14.1' into 'master'

Add gradle 2.14.1

I hope verything is doen correctly, didnt add any gradle versions since moving from chef.. (or at all?)

See merge request !154

8 years agoAdd gradle 2.14.1
Boris Kraut [Fri, 12 Aug 2016 17:52:32 +0000 (19:52 +0200)]
Add gradle 2.14.1

8 years agoMerge branch 'java-home-lookup' into 'master'
Hans-Christoph Steiner [Tue, 9 Aug 2016 15:44:06 +0000 (15:44 +0000)]
Merge branch 'java-home-lookup' into 'master'

Fix JDK lookup

Fix two cases when JDK path lookup could fail (found those issues on my Fedora 24 box).

See merge request !153

8 years agoMerge branch 'permission-parsing' into 'master'
Hans-Christoph Steiner [Tue, 9 Aug 2016 15:33:19 +0000 (15:33 +0000)]
Merge branch 'permission-parsing' into 'master'

Parse maxSdkVersion and -23 permission tags

Parse maxSdkVersion and uses-permission-sdk-23 tags and insert them into the index.

AndroidManifest:
```xml
    <uses-permission android:name="android.permission.READ_CALENDAR" />

    <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="18" />

    <uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION" />
```

new index format:
```xml
<package>
            <version>1.0</version>
            <versioncode>1</versioncode>
            <apkname>maxmin.apk</apkname>
            <hash type="sha256">526eb6d643050c3fae42fb6c001c704006046db52e98998b21f7646ecae3dae5
            </hash>
            <sig>893fc1f22301c902d05c938b29d21648</sig>
            <size>8681</size>
            <sdkver>14</sdkver>
            <targetSdkVersion>24</targetSdkVersion>
            <added>2016-08-01</added>
            <permissions>READ_EXTERNAL_STORAGE,READ_CALENDAR,WRITE_EXTERNAL_STORAGE</permissions>
                <uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"
                    maxSdkVersion="18" />
                <uses-permission name="android.permission.READ_CALENDAR" />
                <uses-permission name="android.permission.READ_EXTERNAL_STORAGE" />
                <uses-permission-sdk-23 name="android.permission.ACCESS_FINE_LOCATION" />
</package>
```

old format:
```xml
<permissions>READ_CALENDAR,ACCESS_FINE_LOCATION,WRITE_EXTERNAL_STORAGE</permissions>
```

This generates both formats for backward compatibility with old clients.

Also increase version of index format.

This is a proposal for the issues discussed in https://gitlab.com/fdroid/fdroidclient/issues/704

@eighthave @mvdan

See merge request !150

8 years agoParse maxSdkVersion and -23 permission tags
Dominik Schürmann [Sat, 30 Jul 2016 21:12:52 +0000 (23:12 +0200)]
Parse maxSdkVersion and -23 permission tags

Parse maxSdkVersion and uses-permission-sdk-23
tags and insert them into the index, e.g.,
<package>
 <permissions>READ_EXTERNAL_STORAGE,READ_CALENDAR,WRITE_EXTERNAL_STORAGE</permissions>
  <uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"
   maxSdkVersion="18" />
  <uses-permission name="android.permission.READ_CALENDAR" />
  <uses-permission name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission-sdk-23 name="android.permission.ACCESS_FINE_LOCATION" />
</package>

Also increase version of index format

8 years agoCheck javac existence when looking for JDK
relan [Wed, 3 Aug 2016 05:24:45 +0000 (08:24 +0300)]
Check javac existence when looking for JDK

Empty JDK directories can remain from previous JDK installations. For
example in RHEL/Fedora when RPM upgrades a package it can leave modified
files (usually configs) and, consequently, their directories. So we could
end up selecting a bad JDK path.

8 years agoMerge branch 'fix-ndk' into 'master'
Ciaran Gultnieks [Thu, 4 Aug 2016 09:16:43 +0000 (09:16 +0000)]
Merge branch 'fix-ndk' into 'master'

Re-add NDK r12b and fix build-tools 24.0.1

See merge request !152

8 years agoFix JAVA_HOME environment variable handling
relan [Wed, 3 Aug 2016 05:21:46 +0000 (08:21 +0300)]
Fix JAVA_HOME environment variable handling

Append JAVA_HOME to pathlist as a string, not as a list of characters.

8 years agomakebs: work around build-tools 24.0.1 version bug
Daniel Martí [Tue, 2 Aug 2016 16:08:48 +0000 (18:08 +0200)]
makebs: work around build-tools 24.0.1 version bug

The zip contains 24.0.0 as the version, which means our magic was
installing 24.0.0 twice and skipping 24.0.1.

8 years agoall: switch to build-tools 24.0.1 as default
Daniel Martí [Tue, 2 Aug 2016 09:12:01 +0000 (11:12 +0200)]
all: switch to build-tools 24.0.1 as default

8 years agoRe-add NDK r12b, now fixed.
Daniel Martí [Tue, 2 Aug 2016 09:09:32 +0000 (11:09 +0200)]
Re-add NDK r12b, now fixed.

8 years agoRevert "all: add NDK r12b and set it as default"
Ciaran Gultnieks [Mon, 1 Aug 2016 11:38:52 +0000 (12:38 +0100)]
Revert "all: add NDK r12b and set it as default"

This reverts commit 82d09560c63ea282222b319437494ad6837be026.

It doesn't work - the setup scripts are expecting a ".bin" file (which
is apparently a 7z archive), but what's actually got is a ".zip".

Conflicts:
buildserver/provision-android-ndk

8 years agoCatch another case of invalid wiki page names
Ciaran Gultnieks [Mon, 1 Aug 2016 11:25:22 +0000 (12:25 +0100)]
Catch another case of invalid wiki page names

8 years agoMerge branch 'bump-ci' into 'master'
Daniel Martí [Mon, 1 Aug 2016 06:07:26 +0000 (06:07 +0000)]
Merge branch 'bump-ci' into 'master'

CI: bump docker image

See merge request !151

8 years agoCI: bump docker image
Daniel Martí [Sun, 31 Jul 2016 22:57:32 +0000 (00:57 +0200)]
CI: bump docker image

8 years agoMerge branch 'pep' into 'master'
Daniel Martí [Sun, 31 Jul 2016 17:15:58 +0000 (17:15 +0000)]
Merge branch 'pep' into 'master'

bs: add sqlite3 and asn1c

Ref: https://gitlab.com/fdroid/fdroiddata/merge_requests/1557

See merge request !149

8 years agocommon: extra checks for NDK in local.props
Daniel Martí [Thu, 28 Jul 2016 06:26:51 +0000 (08:26 +0200)]
common: extra checks for NDK in local.props

The previous commit fixed it in local setups, this fixes it in broken
buildservers too and makes it more reliable.

8 years agomakebs: fix config crash
Daniel Martí [Wed, 27 Jul 2016 09:20:17 +0000 (11:20 +0200)]
makebs: fix config crash

Without this, running makebuildserver from a clean master results in the
following:

 $ ./makebuildserver
Traceback (most recent call last):
  File "./makebuildserver", line 74, in <module>
    del(config['__builtins__'])  # added by compile/exec
KeyError: '__builtins__'

This is because a clean checkout has no config, thus exec is never
actually ran.

8 years agowp-fdroid: add 7.0 (24) to the versions list
Daniel Martí [Mon, 25 Jul 2016 12:56:54 +0000 (14:56 +0200)]
wp-fdroid: add 7.0 (24) to the versions list

8 years agocommon: don't insert $ANDROID_NDK to local.props
Daniel Martí [Mon, 25 Jul 2016 11:07:46 +0000 (13:07 +0200)]
common: don't insert $ANDROID_NDK to local.props

See the comment.

Updates #171.

8 years agomakebs: update android support repo
Daniel Martí [Mon, 25 Jul 2016 10:45:56 +0000 (12:45 +0200)]
makebs: update android support repo

8 years agomakebs: add build-tools-24.0.1
Daniel Martí [Mon, 25 Jul 2016 10:40:44 +0000 (12:40 +0200)]
makebs: add build-tools-24.0.1

Fixes #196.

8 years agomakebs: "fix" platform v24 zip for r02
Daniel Martí [Mon, 25 Jul 2016 10:40:17 +0000 (12:40 +0200)]
makebs: "fix" platform v24 zip for r02

Google replaced the r01 zip instead of adding the r02 one. Oh well.

8 years agobs: add sqlite3 and asn1c
Boris Kraut [Sat, 23 Jul 2016 17:14:28 +0000 (19:14 +0200)]
bs: add sqlite3 and asn1c

8 years agomakebs: revert platform-tools change in 2227cc6d
Daniel Martí [Tue, 19 Jul 2016 18:30:05 +0000 (20:30 +0200)]
makebs: revert platform-tools change in 2227cc6d

Amusingly, the commit changed more than just this so a simple git revert
is not possible.

The problem is that the zip is replaced with each point release (24.0.1
at the time of writing) and there is no way to get a URL to a single,
non-changing version. Hence any caching or checksums are completely
worthless and will break every few weeks.

8 years agoMerge branch 'ndk-r12' into 'master'
Hans-Christoph Steiner [Mon, 18 Jul 2016 14:50:51 +0000 (14:50 +0000)]
Merge branch 'ndk-r12' into 'master'

NDK r12

See merge request !147

8 years agoMerge branch 'ndk-error' into 'master'
Hans-Christoph Steiner [Mon, 18 Jul 2016 14:47:45 +0000 (14:47 +0000)]
Merge branch 'ndk-error' into 'master'

build: error properly if an invalid ndk is used

See merge request !146

8 years agoMerge branch 'patch-2' into 'master'
Daniel Martí [Wed, 13 Jul 2016 20:48:33 +0000 (20:48 +0000)]
Merge branch 'patch-2' into 'master'

Server manual phrasing matches client. "beta" -> "unstable"

Fixes #193

See merge request !148