By using jarsigner here, we can get rid of getsig.java, since the rest of
what getsig.java does can easily be handled in python. This simplifies
installation and deployment, and makes things work better cross-platform.
This also means that the fdroidserver Debian package no longer needs to
Build-Depends: on default-jdk, which makes builds in pbuilder run a lot
faster. :-)
refs #5https://gitlab.com/fdroid/fdroidserver/issues/5
Done after verifying that they match ones built using a recipe.
Everything in the metadata should be the same as normal, with the
addition of the Binaries: directive to specify where (with pattern
substitution) to get the binaries from.
Publishing only takes place if there is a proper match. (Which seems
very unlikely to be the case unless the exact same toolchain is used, so
I would imagine that unless the person building and signing the incoming
binaries uses fdroidserver to build them, probably the exact same
buildserver id, they will not match. But at least we have the
functionality to support that.)
rsync's --chmod works a bit oddly, it only affects the source files. To
make it set the destintation with the perms set in --chmod, the --perms
flag must also be included.
The timestamps in the .gz files are not used for anything, and they break
the reproducibility of the build. Giving --no-name means gzip will not
save the filename and timestamp in the gz file itself. When gunziping, the
current file name will be used, minus the .gz suffix.
This was causing a number of problems:
* it would spend lots of time sorting through the tmp folders of APKs
created by previous runs of this script
* it would include the bad test APKs in tests/ as normal APKs
* Default paths are not expanded
* When writing to config.py in "fdroid init", don't write expanded paths
either
* Support changes in e.g. $ANDROID_HOME after a config.py is generated thanks
to the fix above