1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-05 06:50:10 +01:00
Commit Graph

4525 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
ca069d941d Merge branch 'port-to-osx-and-trusty' into 'master'
port to OSX and Ubuntu/trusty

See merge request fdroid/fdroidserver!341
2017-09-20 15:24:57 +00:00
Hans-Christoph Steiner
86a3ef5355 travis-ci: always reinstall Java on OSX to get recent version
The Travis images have quite old versions of Java currently.
2017-09-19 20:16:08 +02:00
Hans-Christoph Steiner
a9a696b199 travis-ci: test on older OSX versions 2017-09-19 20:16:08 +02:00
Hans-Christoph Steiner
2764c43fa2 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.
2017-09-19 20:16:08 +02:00
Hans-Christoph Steiner
dc569b9c18 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.
2017-09-19 20:16:08 +02:00
Hans-Christoph Steiner
373b46ab3f tests: don't run gpgsign tests on Travis CI's OSX, gpg always fails 2017-09-19 20:16:08 +02:00
Hans-Christoph Steiner
2b5edf2434 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
2017-09-19 20:16:08 +02:00
Hans-Christoph Steiner
0a88a97881 travis-ci: update OSX CI build to work again 2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
d1f6126dea tests: support Ubuntu/trusty's python3.4-venv 2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
bc192b6be0 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/
2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
176f539647 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
2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
6adf309bef 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.
2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
5dcb48831f 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.
2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
535f2afe90 init: prompt user for Android SDK path using platform-specific default 2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
1d4e3a254d 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
2017-09-19 20:13:36 +02:00
Hans-Christoph Steiner
c225e0c363 Merge branch 'first-working-localization' into 'master'
First working localization

See merge request fdroid/fdroidserver!340
2017-09-19 18:12:41 +00:00
Hans-Christoph Steiner
8e0b424bc8 update translation template with latest strings 2017-09-16 13:19:38 +02:00
Hans-Christoph Steiner
86cf1c9800 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`
2017-09-16 13:19:38 +02:00
Hans-Christoph Steiner
6c7b987239 fix string formats that are ambiguous for translators 2017-09-16 13:19:38 +02:00
Hans-Christoph Steiner
255932453c ensure _ is used only for gettext strings
_ is often used for variables that are ignored, this makes that a bit more
explicit
!338
2017-09-16 13:19:38 +02:00
Hans-Christoph Steiner
53e4ec47a7 English source string corrections
From @monolifed <monolifed@gmail.com>
2017-09-16 13:19:38 +02:00
Hans-Christoph Steiner
9712fac011 "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.
2017-09-16 11:11:49 +02:00
Hans-Christoph Steiner
c7d45b9515 Merge branch 'plural' into 'master'
Correct plurals

See merge request fdroid/fdroidserver!334
2017-09-16 08:11:06 +00:00
Hans-Christoph Steiner
acac15f74d Merge branch 'newcomers' into 'master'
allow starting without config.py

See merge request fdroid/fdroidserver!335
2017-09-16 08:07:56 +00:00
Hans-Christoph Steiner
f144cae11c Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidserver!339
2017-09-15 21:00:33 +00:00
Hans-Christoph Steiner
5ca2997daf Weblate 2017-09-15 21:00:33 +00:00
Hans-Christoph Steiner
a2eaf37394 Merge branch 'implement-gettext' into 'master'
first implementation of localization using gettext

Closes #342

See merge request fdroid/fdroidserver!338
2017-09-15 19:29:12 +00:00
Jan Berkel
4723cff0c8 Correct plurals 2017-09-15 14:16:30 +02:00
Hans-Christoph Steiner
fa0d618d2f 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.
2017-09-15 11:41:51 +02:00
Hans-Christoph Steiner
278d67d960 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
2017-09-15 11:39:00 +02:00
Hans-Christoph Steiner
e4ca82d80c 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
2017-09-15 11:37:24 +02:00
Hans-Christoph Steiner
cb10f0df09 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
2017-09-15 11:37:21 +02:00
Hans-Christoph Steiner
96e71bfdb3 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
2017-09-15 11:35:30 +02:00
Hans-Christoph Steiner
30c0d5f4d5 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.
2017-09-15 11:35:30 +02:00
Hans-Christoph Steiner
9cb074cb08 Merge branch 'buildserver-verbose' into 'master'
print build-server output when verbose flag is set

Closes #213

See merge request fdroid/fdroidserver!219
2017-09-15 09:10:07 +00:00
Hans-Christoph Steiner
7aebf7a33f Merge branch '368-makebuildserver-fails-checkey-101' into 'master'
remove checkey from jenkins-build-makebuildserver

Closes #368

See merge request fdroid/fdroidserver!337
2017-09-15 09:01:12 +00:00
Michael Pöhn
23b45c68c1 remove checkey from jenkins-build-makebuildserver 2017-09-14 11:28:12 +02:00
Marcus Hoffmann
34f79b876c tests: don't touch config.py, no config is fine now 2017-09-14 02:15:57 +02:00
Marcus Hoffmann
190a2fde81 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.
2017-09-14 02:15:57 +02:00
Marcus Hoffmann
feadc6a565 make sure config exists before writing to it 2017-09-14 02:15:57 +02:00
Marcus Hoffmann
de1afc3c7e bash_completion: add update --create-key option 2017-09-14 02:15:57 +02:00
Michael Pöhn
5770e1d3ef log build-server output when verbose flag is set 2017-09-14 01:38:34 +02:00
Marcus Hoffmann
237973a1d6 bash_completion: fix option completion
Line breaks need to be escaped in the command list.
2017-09-13 14:02:04 +02:00
Hans-Christoph Steiner
7db6997eea add all subcommands to bash completion
The bash completion needs a modernization, but this at least makes all the
subcommands work.
#374
2017-09-13 09:53:26 +02:00
Hans-Christoph Steiner
a4a7b99760 Merge branch 'fix_gplay_check' into 'master'
Fix gplay check

See merge request !333
2017-09-13 07:18:46 +00:00
Marcus Hoffmann
5ebde251b1 checkupdates: use html.unescape instead of HTMLParser.unescape
HTMLParser.unescape is only an internal method and deprecated.
This requires Pyhton 3.4.
2017-09-13 01:42:15 +02:00
Marcus Hoffmann
921524081c 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.
2017-09-13 01:40:09 +02:00
Hans-Christoph Steiner
253bd92df3 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
2017-09-12 15:33:51 +00:00
Hans-Christoph Steiner
7513432a41 Merge branch 'warn_on_aar' into 'master'
scanner: warn on aar files

See merge request !332
2017-09-12 15:29:29 +00:00
Hans-Christoph Steiner
9461dd0f3d Merge branch 'scanner_refactoring' into 'master'
Scanner refactoring

See merge request !330
2017-09-11 15:47:57 +00:00