Commit graph

2242 commits

Author SHA1 Message Date
Hans-Christoph Steiner
460c4185bb update: support Fastlane's official location for screenshots
fastlane/android/metadata/locale/images/*Screenshots

https://github.com/fastlane/fastlane/blob/2.61.0/screengrab/lib/screengrab/runner.rb#L324

closes #357
2017-10-13 14:58:15 +02:00
Hans-Christoph Steiner
a4169484fd update: fix detection of Triple-T screenshots
* https://github.com/westnordost/StreetComplete/issues/489
* https://forum.f-droid.org/t/screenshots-dont-show-up-in-client-using-gradle-play-publisher/881/2

#357
2017-10-13 14:58:15 +02:00
Hans-Christoph Steiner
b6067e6a1f server: automatically create S3 bucket when using s3cmd 2017-10-13 14:58:15 +02:00
Hans-Christoph Steiner
0c4dc9779e server: move strings to be gettext translatable 2017-10-13 14:58:15 +02:00
Hans-Christoph Steiner
a4c4a16ed9 handle exceptions that send a tuple for the error message
Running `fdroid verify` I was seeing FDroidExceptions from verify.py:98
that had a tuple rather than a string.


Traceback (most recent call last):
  File "/home/hans/code/fdroid/server/fdroid", line 152, in <module>
    main()
  File "/home/hans/code/fdroid/server/fdroid", line 128, in main
    mod.main()
  File "/home/hans/code/fdroid/server/fdroidserver/verify.py", line 98, in main
    logging.info("...NOT verified - {0}".format(e))
  File "/home/hans/code/fdroid/server/fdroidserver/exception.py", line 22, in __str__
    ret += "\n==== detail begin ====\n%s\n==== detail end ====" % ''.join(self.detail).strip()
TypeError: sequence item 1: expected str instance, HTTPError found
2017-10-13 14:58:15 +02:00
Hans-Christoph Steiner
53ce81179c Merge branch 'error_on_jars' into 'master'
RFC: Error on jars

See merge request fdroid/fdroidserver!325
2017-10-12 11:46:59 +00:00
Michael Pöhn
4b35f19480 Merge branch '334-make-index-generation-fully-reproducible' into 'master'
Resolve "make index generation fully reproducible"

Closes #334

See merge request fdroid/fdroidserver!343
2017-10-06 17:18:10 +00:00
relan
0ab0b03648 common: print VCS client version
This may help to debug issues with too old VCS clients.
2017-10-06 09:41:24 +03:00
Marcus Hoffmann
50ba108093 fix bare except to satisfy newer pycodestyle 2017-10-04 19:23:53 +02:00
Marcus Hoffmann
1c5dccb413 import: fix bitbucket import
repo type can be found on main url, not under /src
2017-10-04 18:54:47 +02:00
Hans-Christoph Steiner
5567182629 Merge branch 'fix-dot-gradle-removal' into 'master'
build: fix build/ and .gradle/ removal after cleaning

Closes #384

See merge request fdroid/fdroidserver!346
2017-10-03 13:19:47 +00:00
relan
aad4bd89d8 build: fix build/ and .gradle/ removal after cleaning
An app may not have a top-level build.gradle file, while Gradle still
creates top-level .gradle/ directory. When build.gradle is absent,
fdroidserver will not remove .gradle/, scanner will find binaries in it
and fail the whole build.

Fix this by also checking for settings.gradle file (should always exist
in the top-level directory) in addition to build.gradle.
2017-10-01 10:11:37 +03:00
Michael Pöhn
89d9d0c45b use OrderedDict for localization data in index-v1 2017-09-26 14:15:48 +02:00
Michael Pöhn
26192a00e2 make sure all timestamps in index-v1 are utc 2017-09-26 14:15:27 +02:00
Michael Pöhn
290b9050e0 convert apk timestamp from filesystem to utc before storing 2017-09-26 14:13:08 +02:00
Michael Pöhn
50c17f99d1 make sure apk-added datetime only gets returned rounded to days 2017-09-26 14:13:04 +02:00
Michael Pöhn
dfc6261ccb sort antiFeatures list in index-v1.json 2017-09-26 14:12:53 +02:00
Michael Pöhn
75c5fa6355 added some docstrings and error messages 2017-09-26 14:11:09 +02:00
Michael Pöhn
6fc968f7cd choose best apk version vor index v0 2017-09-26 14:11:09 +02:00
Michael Pöhn
6930edf889 sort index-v1; publish now creates and stores a list of signature fingerprints 2017-09-26 14:11:09 +02:00
Michael Pöhn
bca07f794f added functions for storing/loading signer fingerprints to stats 2017-09-26 14:11:09 +02:00
Michael Pöhn
ba3844e97e function for finding developer signature in metadata 2017-09-26 14:11:09 +02:00
Michael Pöhn
6a4a78429f add signer to index v1 2017-09-26 14:11:09 +02:00
Michael Pöhn
7c4b8bcac4 added parse release filename function 2017-09-26 14:11:09 +02:00
Michael Pöhn
b993d93395 skip singing apks which ar not validating with signatures from metadata 2017-09-26 14:11:09 +02:00
Michael Pöhn
91369dacfb try injecting signatures for metadata when publishing 2017-09-26 14:11:09 +02:00
Michael Pöhn
08627d70a7 check file existance before trying to verify apks; use centext manager for zips when verifying apk 2017-09-26 14:11:09 +02:00
Michael Pöhn
efb0bf6ee5 add common functions for dealing with apk signatures 2017-09-26 14:11:09 +02:00
Michael Pöhn
45688bfe42 refactored publishing source tarball into a function 2017-09-26 14:11:09 +02:00
Michael Pöhn
c196f7dd7a common function for fetching sha256 signing-key fingerprint 2017-09-26 14:11:09 +02:00
Hans-Christoph Steiner
d44d48285b Merge branch 'build-drozer-syntax-error' into 'master'
building with --dscanner now exits gracefully when repo dir not present

See merge request fdroid/fdroidserver!344
2017-09-26 08:49:51 +00:00
Hans-Christoph Steiner
beb79d613d move lots of comments to function doc strings 2017-09-25 16:35:18 +02:00
Michael Pöhn
d8485f7123 build+drozer: error message instead of crash when repo-folder missing 2017-09-25 16:09:57 +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
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
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
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
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
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
Michael Pöhn
5770e1d3ef log build-server output when verbose flag is set 2017-09-14 01:38:34 +02:00