chiark / gitweb /
Hans-Christoph Steiner [Wed, 20 Sep 2017 15:22:56 +0000 (17:22 +0200)]
move lots of comments to function doc strings
Hans-Christoph Steiner [Wed, 20 Sep 2017 13:54:50 +0000 (15:54 +0200)]
travis-ci: quiet output for pip/sdkmanager installs
The log was getting way too long.
Hans-Christoph Steiner [Wed, 20 Sep 2017 10:23:41 +0000 (12:23 +0200)]
update MANIFEST.in
There were a number of new files missing. Some files still manually
excluded. Generated using:
for f in `git ls-tree -r master --name-only | sort`; do echo include $f; done
Hans-Christoph Steiner [Wed, 20 Sep 2017 09:48:49 +0000 (11:48 +0200)]
use pandoc to convert README.md to PyPI's reST format
PyPI and Python packages expect the description to be in reST format, which
is a lot different than Markdown. This does the conversion if pandoc is
installed.
Hans-Christoph Steiner [Mon, 25 Sep 2017 12:17:34 +0000 (12:17 +0000)]
Merge branch 'gradle-4.2' into 'master'
makebuildserver: add Gradle 4.2
See merge request fdroid/fdroidserver!342
relan [Sat, 23 Sep 2017 07:04:39 +0000 (10:04 +0300)]
makebuildserver: add Gradle 4.2
Hans-Christoph Steiner [Wed, 20 Sep 2017 15:24:57 +0000 (15:24 +0000)]
Merge branch 'port-to-osx-and-trusty' into 'master'
port to OSX and Ubuntu/trusty
See merge request fdroid/fdroidserver!341
Hans-Christoph Steiner [Tue, 19 Sep 2017 18:10:25 +0000 (20:10 +0200)]
travis-ci: always reinstall Java on OSX to get recent version
The Travis images have quite old versions of Java currently.
Hans-Christoph Steiner [Sun, 17 Sep 2017 10:54:43 +0000 (12:54 +0200)]
travis-ci: test on older OSX versions
Hans-Christoph Steiner [Tue, 19 Sep 2017 14:41:50 +0000 (16:41 +0200)]
tests: use ci-test-app with current Gradle Android Plugin
This works around the gradle 2.x bug where versions newer than 2.9 cannot
run things. This also then specifies the version of Gradle Android Plugin
that is included in Debian/stretch.
Hans-Christoph Steiner [Tue, 19 Sep 2017 18:01:15 +0000 (20:01 +0200)]
tests: support Java setups where MD5 is not disabled by default
For platforms using Java < 1.8.0_133, MD5 is still enabled for JAR
signatures. Its just too painful to manage all this, so support this
in the tests.
Hans-Christoph Steiner [Thu, 14 Sep 2017 12:34:29 +0000 (14:34 +0200)]
tests: don't run gpgsign tests on Travis CI's OSX, gpg always fails
Hans-Christoph Steiner [Tue, 19 Sep 2017 17:58:45 +0000 (19:58 +0200)]
travis-ci: make Trusty builds a first class citizen
Trusty is used in Travis-CI, Windows Subsystem for Linux, and many other
places, so its an important target platform to test on. This provides
testing for the backports in the Launchpad PPAs like:
* https://launchpad.net/~fdroid/+archive/ubuntu/fdroidserver
* https://launchpad.net/~fdroid/+archive/ubuntu/buildserver
Hans-Christoph Steiner [Tue, 19 Sep 2017 17:58:31 +0000 (19:58 +0200)]
travis-ci: update OSX CI build to work again
Hans-Christoph Steiner [Fri, 15 Sep 2017 21:25:07 +0000 (23:25 +0200)]
tests: support Ubuntu/trusty's python3.4-venv
Hans-Christoph Steiner [Sat, 16 Sep 2017 08:03:17 +0000 (10:03 +0200)]
tests: prefer GNU sed on BSD/OSX, BSD's sed has lame syntax
https://blog.remibergsma.com/2012/09/18/sed-inline-editing-different-on-mac-osx/
Hans-Christoph Steiner [Tue, 19 Sep 2017 08:57:29 +0000 (10:57 +0200)]
allow spaces in filenames
This fixes all the bugs I could find that prevented fdroid from
handling files with spaces in them. This is more important now that
fdroid supports random media files, and Repomaker
Hans-Christoph Steiner [Tue, 19 Sep 2017 14:48:20 +0000 (16:48 +0200)]
tests: move test APK with bad unicode filename to separate test
This filename has some messed up bytes related to bi-directional script
that is included (Left-to-Right and Right-to-Left). GNU/Linux always
interprets filenames as pure byte sequences. Windows and OSX store
filenames as Unicode strings. So on OSX, the invalid filename gets
converted to a valid name. That works fine, but the test fails because it
is compared to a file generated on Ubuntu, where it preserves the byte
sequence.
This includes an APK with a valid Unicode filename that includes
bi-directional script.
Hans-Christoph Steiner [Tue, 19 Sep 2017 13:07:19 +0000 (15:07 +0200)]
index: always use jarsigner for verifying JAR signatures
apksigner v0.7 (build-tools 26.0.1), Google made it require that the
AndroidManifest.xml was present in the archive before it verifies the
signature. So this needs to stick with the jarsigner hack for JARs.
Hans-Christoph Steiner [Tue, 19 Sep 2017 08:55:16 +0000 (10:55 +0200)]
init: prompt user for Android SDK path using platform-specific default
Hans-Christoph Steiner [Sun, 17 Sep 2017 19:54:21 +0000 (21:54 +0200)]
create blank config.py using cross-platform technique
os.mknod() fails on OSX with:
Traceback (most recent call last):
File "/Users/travis/build/fdroidtravis/fdroidserver/tests/../fdroid", line 154, in <module>
main()
File "/Users/travis/build/fdroidtravis/fdroidserver/tests/../fdroid", line 130, in main
mod.main()
File "/Users/travis/build/fdroidtravis/fdroidserver/fdroidserver/update.py", line 1768, in main
common.write_to_config(config, 'repo_keyalias', config['repo_keyalias'])
File "/Users/travis/build/fdroidtravis/fdroidserver/fdroidserver/common.py", line 2328, in write_to_config
os.mknod(cfg)
PermissionError: [Errno 1] Operation not permitted
Hans-Christoph Steiner [Tue, 19 Sep 2017 18:12:41 +0000 (18:12 +0000)]
Merge branch 'first-working-localization' into 'master'
First working localization
See merge request fdroid/fdroidserver!340
Hans-Christoph Steiner [Fri, 15 Sep 2017 21:40:11 +0000 (23:40 +0200)]
update translation template with latest strings
Hans-Christoph Steiner [Fri, 15 Sep 2017 21:39:32 +0000 (23:39 +0200)]
add Makefile to handle refreshing translation template
To generate the translation files, run `make -C locale`or
`cd locale && make`
To update the template, run `make -C locale template` or
`cd locale && make fdroidserver.pot`
Hans-Christoph Steiner [Fri, 15 Sep 2017 21:20:29 +0000 (23:20 +0200)]
fix string formats that are ambiguous for translators
Hans-Christoph Steiner [Fri, 15 Sep 2017 19:48:45 +0000 (21:48 +0200)]
ensure _ is used only for gettext strings
_ is often used for variables that are ignored, this makes that a bit more
explicit
!338
Hans-Christoph Steiner [Fri, 15 Sep 2017 20:20:18 +0000 (22:20 +0200)]
English source string corrections
From @monolifed <monolifed@gmail.com>
Hans-Christoph Steiner [Sat, 16 Sep 2017 08:41:12 +0000 (10:41 +0200)]
"No config.py found" should warning level, until people get use to it
Since !335 changed the long standing behavior, now allowing `fdroid` to
work without a config.py being present, this message should be quite
visible in case people are expecting `fdroid` to fail when there is no
config.py present.
Hans-Christoph Steiner [Sat, 16 Sep 2017 08:11:06 +0000 (08:11 +0000)]
Merge branch 'plural' into 'master'
Correct plurals
See merge request fdroid/fdroidserver!334
Hans-Christoph Steiner [Sat, 16 Sep 2017 08:07:56 +0000 (08:07 +0000)]
Merge branch 'newcomers' into 'master'
allow starting without config.py
See merge request fdroid/fdroidserver!335
Hans-Christoph Steiner [Fri, 15 Sep 2017 21:00:33 +0000 (21:00 +0000)]
Merge branch 'weblate' into 'master'
Weblate
See merge request fdroid/fdroidserver!339
Hans-Christoph Steiner [Fri, 15 Sep 2017 21:00:33 +0000 (21:00 +0000)]
Weblate
Hans-Christoph Steiner [Fri, 15 Sep 2017 19:29:12 +0000 (19:29 +0000)]
Merge branch 'implement-gettext' into 'master'
first implementation of localization using gettext
Closes #342
See merge request fdroid/fdroidserver!338
Jan Berkel [Wed, 13 Sep 2017 15:33:57 +0000 (17:33 +0200)]
Correct plurals
Hans-Christoph Steiner [Fri, 15 Sep 2017 09:41:39 +0000 (11:41 +0200)]
rename 'app-id' to standard Android 'applicationId'
* https://developer.android.com/studio/build/application-id.html
* https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/applicationid-vs-packagename
This only changes the term in the human texts, not var names or CLI flags.
Hans-Christoph Steiner [Wed, 13 Sep 2017 16:03:57 +0000 (18:03 +0200)]
implement gettext localization
This allows all the text to be localized via Weblate. This is a quick
overview of all the strings, but there are certainly some that were left
out.
closes #342
Hans-Christoph Steiner [Wed, 13 Sep 2017 14:00:51 +0000 (16:00 +0200)]
tests: support running on platforms with old java
In order to test on travis-ci's OSX setup, its easiest to support the old
version of Java that is installed there by default. It is pretty old, so
it does not include the April 2017 update that disables MD5:
https://blogs.oracle.com/java-platform-group/oracle-jre-will-no-longer-trust-md5-signed-code-by-default
https://www.bleepingcomputer.com/news/security/oracle-to-block-jar-files-signed-with-md5-starting-with-april-2017
https://support.ca.com/us/knowledge-base-articles.TEC1691042.html
#292 #323
Hans-Christoph Steiner [Thu, 14 Sep 2017 06:44:43 +0000 (08:44 +0200)]
standardize os.walk() var names based on Python 3.5 docs
There were multiple conventions used in the code, but mostly it was already
using the convention from the docs, so this converts things to using that
convention:
https://docs.python.org/3/library/os.html#os.walk
Hans-Christoph Steiner [Fri, 15 Sep 2017 09:31:18 +0000 (11:31 +0200)]
set minimum Python version to 3.4
We use contructs introduced in 3.4, and 3.4 is really widely available.
https://setuptools.readthedocs.io/en/latest/setuptools.html#new-and-changed-setup-keywords
Hans-Christoph Steiner [Thu, 14 Sep 2017 08:22:37 +0000 (10:22 +0200)]
gitlab-ci: ensure release tag is present for metadata_v0 tests
Forks won't necessarily have all the tags, so this ensures that they are
present.
Hans-Christoph Steiner [Fri, 15 Sep 2017 09:10:07 +0000 (09:10 +0000)]
Merge branch 'buildserver-verbose' into 'master'
print build-server output when verbose flag is set
Closes #213
See merge request fdroid/fdroidserver!219
Hans-Christoph Steiner [Fri, 15 Sep 2017 09:01:12 +0000 (09:01 +0000)]
Merge branch '368-makebuildserver-fails-checkey-101' into 'master'
remove checkey from jenkins-build-makebuildserver
Closes #368
See merge request fdroid/fdroidserver!337
Michael Pöhn [Thu, 14 Sep 2017 09:28:12 +0000 (11:28 +0200)]
remove checkey from jenkins-build-makebuildserver
Marcus Hoffmann [Thu, 14 Sep 2017 00:14:26 +0000 (02:14 +0200)]
tests: don't touch config.py, no config is fine now
Marcus Hoffmann [Tue, 12 Sep 2017 14:21:29 +0000 (16:21 +0200)]
common: allow starting without a config file
There is no reason this should be disallowed as the default config often
works well when building simple apps.
Marcus Hoffmann [Thu, 14 Sep 2017 00:13:49 +0000 (02:13 +0200)]
make sure config exists before writing to it
Marcus Hoffmann [Thu, 14 Sep 2017 00:03:43 +0000 (02:03 +0200)]
bash_completion: add update --create-key option
Michael Pöhn [Wed, 13 Sep 2017 23:38:34 +0000 (01:38 +0200)]
log build-server output when verbose flag is set
Marcus Hoffmann [Wed, 13 Sep 2017 12:02:04 +0000 (14:02 +0200)]
bash_completion: fix option completion
Line breaks need to be escaped in the command list.
Hans-Christoph Steiner [Wed, 13 Sep 2017 07:53:26 +0000 (09:53 +0200)]
add all subcommands to bash completion
The bash completion needs a modernization, but this at least makes all the
subcommands work.
#374
Hans-Christoph Steiner [Wed, 13 Sep 2017 07:18:46 +0000 (07:18 +0000)]
Merge branch 'fix_gplay_check' into 'master'
Fix gplay check
See merge request !333
Marcus Hoffmann [Tue, 12 Sep 2017 23:42:15 +0000 (01:42 +0200)]
checkupdates: use html.unescape instead of HTMLParser.unescape
HTMLParser.unescape is only an internal method and deprecated.
This requires Pyhton 3.4.
Marcus Hoffmann [Tue, 12 Sep 2017 23:40:09 +0000 (01:40 +0200)]
checkupdates: fix google play check method
This has never worked with python3 and was also not properly adapted to
apps as objects. So we fix both of these issues.
Hans-Christoph Steiner [Tue, 12 Sep 2017 15:33:51 +0000 (15:33 +0000)]
Merge branch 'refuse-publishing-duplicate-apks' into 'master'
proper error message when publishing with the same app in repo and unsigned
See merge request !329
Hans-Christoph Steiner [Tue, 12 Sep 2017 15:29:29 +0000 (15:29 +0000)]
Merge branch 'warn_on_aar' into 'master'
scanner: warn on aar files
See merge request !332
Hans-Christoph Steiner [Mon, 11 Sep 2017 15:47:57 +0000 (15:47 +0000)]
Merge branch 'scanner_refactoring' into 'master'
Scanner refactoring
See merge request !330
Marcus Hoffmann [Sun, 3 Sep 2017 22:57:38 +0000 (00:57 +0200)]
scanner: warn on aar files
Marcus Hoffmann [Mon, 11 Sep 2017 14:46:54 +0000 (16:46 +0200)]
scanner: rename variables, use os.path.relpath
* rename fd -> path_in_build_dir
* rename fp -> filepath
* use os.path.reldir instead of string manipulation
Marcus Hoffmann [Mon, 4 Sep 2017 14:11:27 +0000 (16:11 +0200)]
scanner: more descriptive variable names from os.walk
This uses the names from python documentation of os.walk().
Michael Pöhn [Tue, 30 May 2017 12:53:54 +0000 (14:53 +0200)]
proper error message when publishing with the same app in repo and unsigned
Hans-Christoph Steiner [Thu, 7 Sep 2017 09:51:08 +0000 (09:51 +0000)]
Merge branch 'close-subprocess-file-handles' into 'master'
make sure file-streams of subprocesses get closed
See merge request !328
Hans-Christoph Steiner [Thu, 7 Sep 2017 09:49:51 +0000 (09:49 +0000)]
Merge branch 'close-subprocess-file-handles' into 'master'
make sure file-streams of subprocesses get closed
See merge request !328
Hans-Christoph Steiner [Thu, 7 Sep 2017 09:04:25 +0000 (09:04 +0000)]
Merge branch 'signatures-subcommand' into 'master'
signatures command
See merge request !327
Michael Pöhn [Thu, 7 Sep 2017 00:36:58 +0000 (02:36 +0200)]
make sure file-streams of subprocesses get closed
Michael Pöhn [Wed, 6 Sep 2017 13:54:16 +0000 (15:54 +0200)]
added signatures subcommand
Hans-Christoph Steiner [Tue, 5 Sep 2017 14:45:57 +0000 (14:45 +0000)]
Merge branch 'dont-list-fdroid-subcommands-in-random-order' into 'master'
don't list fdroid subcommands in random order
See merge request !326
Michael Pöhn [Mon, 4 Sep 2017 12:29:30 +0000 (14:29 +0200)]
dont list fdroid subcommands in random order
Marcus Hoffmann [Sun, 3 Sep 2017 17:30:00 +0000 (19:30 +0200)]
remove trailing whitespace
Marcus Hoffmann [Sun, 3 Sep 2017 16:33:03 +0000 (18:33 +0200)]
makebuildserver: add comment about not upgrading sdk-tools
Michael Pöhn [Fri, 1 Sep 2017 12:21:05 +0000 (12:21 +0000)]
Merge branch 'apk_output_location' into 'master'
handle gradle-plugin 3.0 output apk location
Closes #363
See merge request !321
Hans-Christoph Steiner [Thu, 31 Aug 2017 19:51:09 +0000 (19:51 +0000)]
Merge branch 'metadata_v0_test' into 'master'
bump fdroid version to test against to 0.8 remove legacy handling
See merge request !324
Marcus Hoffmann [Thu, 31 Aug 2017 18:36:07 +0000 (20:36 +0200)]
CI: bump fdroid version to test against to 0.8 remove legacy handling
Bump to latest released version, remove all handling of things that
changed in a backward incompatible way before.
Hans-Christoph Steiner [Thu, 31 Aug 2017 12:48:18 +0000 (12:48 +0000)]
Merge branch 'mr/update_docker-py' into 'master'
setup.py: unstick docker-py and requests dependencies
See merge request !318
Marcus Hoffmann [Mon, 28 Aug 2017 15:05:24 +0000 (15:05 +0000)]
Merge branch 'mr/verify_ca_certs_v2' into 'master'
makebuildserver: verify https all requests to avoid urllib3 warnings
See merge request !316
Marcus Hoffmann [Sun, 27 Aug 2017 22:40:49 +0000 (22:40 +0000)]
Merge branch 'revert-
af707cd1' into 'master'
Revert "setup.py: don't use pyasn1 to 0.3.3 until pyasn1-modules is updated to support it"
See merge request !322
Marcus Hoffmann [Sun, 27 Aug 2017 22:07:49 +0000 (22:07 +0000)]
Revert "setup.py: don't use pyasn1 to 0.3.3 until pyasn1-modules is updated to support it"
This reverts commit
af707cd1cb86ff8c3f8931adc0f874cd976cf391
Marcus Hoffmann [Sun, 27 Aug 2017 21:58:40 +0000 (21:58 +0000)]
setup.py: don't use pyasn1 to 0.3.3 until pyasn1-modules is updated to support it
Latest pyasn1-modules hard codes pyasn1-0.3.2, so this currently break our tests.
Ref: https://github.com/etingof/pyasn1-modules/issues/4
Marcus Hoffmann [Sun, 27 Aug 2017 19:41:16 +0000 (19:41 +0000)]
Merge branch 'mr/update_platforms_tools' into 'master'
makebuildserver: update platform and build tool releases
See merge request !317
Marcus Hoffmann [Sat, 26 Aug 2017 15:03:13 +0000 (17:03 +0200)]
add comments to gradle output directories
Marcus Hoffmann [Sat, 26 Aug 2017 10:55:34 +0000 (12:55 +0200)]
handle gradle-plugin 3.0 output apk location
This commit adds support for new gradle plugin 3.0 output directories.
The new structure looks like this:
build/outputs/apk/<flavour1><Flavour2>/release/*.apk
Note the capitalization on the different flavour components.
So if we build a specific flavour combination we add this combination to
the path where we look for an output .apk.
Closes #363
Based on !320 by: Michel Le Bihan <michel@lebihan.pl>
Signed-off-by: Marcus Hoffmann <bubuiic@aol.com>
Michael Pöhn [Tue, 22 Aug 2017 16:46:07 +0000 (16:46 +0000)]
Merge branch 'local_metadata' into 'master'
metadata: also read .fdroid.txt metadata
Closes #364
See merge request !319
Marcus Hoffmann [Mon, 21 Aug 2017 22:03:43 +0000 (00:03 +0200)]
metadata: also read .fdroid.txt metadata
This is documented as working here:
https://f-droid.org/docs/Building_Applications/
(second to last paragraph)
fixes #364
Marcus Hoffmann [Wed, 16 Aug 2017 23:47:06 +0000 (01:47 +0200)]
setup.py: unstick docker-py and requests dependencies
docker-py 1.10.6 is the last version released under docker-py, after that it
will be just docker, but has breaking changes, see:
https://github.com/docker/docker-py/releases/tag/2.0.0
Update the list of allowed versions of requests to docker-py master.
Marcus Hoffmann [Wed, 16 Aug 2017 22:41:23 +0000 (00:41 +0200)]
makebuildserver: update platform and build tool releases
Update platform-25 to r03
Update platform-26 to r02
Add build-tools_r26.0.1
sha256 signatures locally computed after verifying the sha1 signature provided
by the repository2-1.xml file.
All these will be downloaded and installed in the buildserver through
provision-android-sdk anyway but this adds them to the cache.
Marcus Hoffmann [Wed, 16 Aug 2017 22:49:53 +0000 (00:49 +0200)]
makebuildserver: verify https all requests to avoid urllib3 warnings
According to http://docs.python-requests.org/en/master/user/advanced/#ca-certificates
python-requests >= 2.4.0 will use the certifi provided certificates.
We already recommend installing python3-certifi in the docs.
On debian requests is patched to use the system trust store instead.
Hans-Christoph Steiner [Tue, 15 Aug 2017 15:49:58 +0000 (15:49 +0000)]
Merge branch 'gradle-updates' into 'master'
makebuildserver: add Gradle 3.5.1, 4.0.1, 4.0.2 and 4.1
See merge request !313
Hans-Christoph Steiner [Tue, 15 Aug 2017 15:48:50 +0000 (15:48 +0000)]
Merge branch 'ndk-r15c' into 'master'
makebuildserver: upgrade NDK r15b to r15c
See merge request !314
relan [Mon, 7 Aug 2017 11:46:08 +0000 (14:46 +0300)]
makebuildserver: add Gradle 3.5.1, 4.0.1, 4.0.2 and 4.1
Android Gradle plugin 3.0.0 requires Gradle 4.1.
relan [Fri, 11 Aug 2017 07:19:40 +0000 (10:19 +0300)]
makebuildserver: upgrade NDK r15b to r15c
Hans-Christoph Steiner [Thu, 27 Jul 2017 01:21:28 +0000 (18:21 -0700)]
metadata: handle empty YAML files without crashing
!311
Hans-Christoph Steiner [Wed, 26 Jul 2017 22:34:13 +0000 (15:34 -0700)]
update: test metadata creation using internal and external templates
There is a hardcoded template in update.py, and there is also the
possibility for the user to create a template.yml. This tests both of them
and cleans up the related code a bit.
#352 !310
Hans-Christoph Steiner [Wed, 26 Jul 2017 13:38:47 +0000 (06:38 -0700)]
add missing comma in setup.py
Hans-Christoph Steiner [Wed, 26 Jul 2017 18:14:33 +0000 (18:14 +0000)]
Merge branch 'metadata' into 'master'
preserve order and formatting on creating Metadata from Yaml template (closes #352)
Closes #352
See merge request !310
Izzy [Wed, 26 Jul 2017 07:22:01 +0000 (09:22 +0200)]
preserve order and formatting on creating Metadata from Yaml template (closes #352)
Hans-Christoph Steiner [Wed, 19 Jul 2017 14:21:50 +0000 (16:21 +0200)]
Bump to 0.8
Hans-Christoph Steiner [Wed, 19 Jul 2017 14:12:06 +0000 (16:12 +0200)]
update pypi "classifiers"
Hans-Christoph Steiner [Wed, 19 Jul 2017 14:08:21 +0000 (16:08 +0200)]
update README to point to https://f-droid.org/docs
Hans-Christoph Steiner [Wed, 19 Jul 2017 14:03:50 +0000 (16:03 +0200)]
update file list in setup.py
Hans-Christoph Steiner [Wed, 26 Jul 2017 05:06:42 +0000 (05:06 +0000)]
Merge branch 'metadata' into 'master'
Updating syntax check for Flattr (see #284)
See merge request !309
Izzy [Thu, 20 Jul 2017 18:26:25 +0000 (20:26 +0200)]
Updating syntax check for Flattr (see #284)