Fix update crash in case of unset dates in APK; add an option to use APK's entry date
I encountered an error when I tried to add [TrackID APK](https://play.google.com/store/apps/details?id=com.sonyericsson.trackid) (files in the APK don't have dates set): as far as I can remember `datetime(*manifest.date_time)` was raising `ValueError`.
Also add an option to use date from APK as this APK's entry date (may be useful in case of a simple binary repo): `fdroid update --use-date-from-apk`.
I should have split this commit, but I hope this would be OK too.
See merge request !104
Debian import freeze
These are the issues as discussed in today's meeting. More in the commit messages, and mostly, in the related issues.
See merge request !101
serverwebroot has long supported uploading to multiple servers, this bit of
metadata communicates those official mirrors to the client so that it can
automatically do something useful with that information.
closes#14https://gitlab.com/fdroid/fdroidserver/issues/14
Full BSD/OSX port
This finishes up the OSX port by getting the full test suite running on OSX. It also sets up an OSX CI job travis-ci.org, run as part of the github mirror here: https://github.com/f-droid/fdroidserver You can see those CI builds here: https://travis-ci.org/f-droid/fdroidserver
This should translate entirely to *BSD since OSX's user land is merged with FreeBSD.
See merge request !100
Before, `fdroid build` would create some subdirs, then fail when it could
not read the metadata via metadata.read_metadata(). This checks before
whether there is any metadata available, and warns the user accordingly.
Auto detect java homes
There are a wide variety of possible JDKs (OpenJDK, Oracle, OSX, etc.) as well as standard paths for the JDK. This includes code to look in standard paths for various platforms and enumerate the installed JDKs (e.g. 6, 7, 8, 9). That is then used for `JAVA[6-9]_HOME` env vars and the path for `jarsigner` and `keytool`.
See merge request !98
Using the same JDK throughout should prevent weird bugs where a setup might
use Java8's jarsigner and Java7's keytool. This also allows the user to
set java_paths and have jarsigner and keytool used from that specified JDK.
This incorporates almost all of the patch that is in the Debian package
that forces fdroidserver to use the default JDK on that Debian release.
closes#93https://gitlab.com/fdroid/fdroidserver/issues/93
use tag if version name is unknown
If we don't find the version name neither in the AndroidManifest.xml nor
in the build.grade file, we fallback to the tag the user specified to
search for.
That way we have a better version name than 'Unknown'.
See merge request !97
If we don't find the version name neither in the AndroidManifest.xml nor
in the build.grade file, we fallback to the tag the user specified to
search for.
That way we have a better version name than 'Unknown'.
Add libexpat1-dev and libglib2.0-dev to the default recipe
These are needed to build the PrevoDB srcdep of
uk.co.busydoingnothing.prevo.
See merge request !96
Jenkins ./makebuildserver works!
These commits get `./makebuildserver` running in a Jenkins job. It builds the whole setup from scratch every time, including the vagrant and virtualbox setups.
Also, this modifies the git pre-commit hook to only run on the files being committed when called by git.
See merge request !95
4 gigs is still a common amount of RAM these days for laptops, if the VM
takes almost all of that, it makes the machine drag to almost a halt. Most
apps build fine in 1gig of RAM, indeed that's the default for most CI
instances, like travis-ci and gitlab-ci.