Commit graph

3306 commits

Author SHA1 Message Date
Jochen Sprickerhof
2b41dffcb2 Provide verbose output with --verbose
23b0b6bc added logging in case of an FDroidException on the build
server. This broke the log of apps that fail to build.

Prior to 23b0b6bc a failing build in the VM triggered a BuildException
on the server side but the build output was written to the log in the
finally part of build_server(). After 23b0b6bc the finally part writs
the build as well but the BuildException is caught in main() and the
build log is overwritten with the empty exception content. This patch
always adds the build log to the exception so it is written to the log.

Closes: #882
2021-09-10 14:10:46 +02:00
Jochen Sprickerhof
72df2639a2 Log traceback with exception 2021-08-27 13:29:07 +02:00
Jochen Sprickerhof
23b0b6bcaf Deploy build error log in case of an exception
This happened with us.spotco.fennec_dos_2912000 where no build log was
saved in the repo but the wiki has an error text. The error text was:

"Command '['rsync', '--recursive', '--perms', '--links', '--quiet', '--rsh=ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=FATAL -o IdentitiesOnly=yes -o PasswordAuthentication=no -p 2222 -i /home/fbuild/.vagrant.d/boxes/buildserver/0/virtualbox/vagrant_private_key', 'build/srclib/MozFennec', 'vagrant@127.0.0.1:/home/vagrant/build/srclib']' returned non-zero exit status 255."

Which is generated by the rsync subprocess call in build_server(). I
assume that it threw an Exception (not an FdroidException, because the
string "Build completed at" is not in the wiki site) that was caught in
main().
2021-08-27 08:05:28 +02:00
Jochen Sprickerhof
b62124853a Remove waring about no config file
fdroid works fine without a config so there is no reason to warn about
it.
2021-08-23 11:41:44 +00:00
fdroid-bot
54bc6f05de Android NDK None (None) 2021-08-23 10:48:53 +00:00
Jochen Sprickerhof
fde48a1e77 [checkupdates] Warn if no version in latest tag 2021-08-21 08:23:27 +02:00
Hans-Christoph Steiner
3283ce2510
import: fix error when using python3-git from stretch
closes https://gitlab.com/fdroid/issuebot/-/issues/48#note_646592031
closes issuebot#48
2021-08-09 16:27:56 +02:00
Jochen Sprickerhof
cacbe88b8c Don't fail fdroid update on empty repository
Steps to reproduce:

$ git init
$ fdroid update --create-key
2021-08-05 16:05:28 +00:00
Hans-Christoph Steiner
3b95d3de64
update: AllowedAPKSigningKeys metadata to enforce APK signers
This field lets you specify which signing certificates should be
trusted for APKs in a binary repo.
2021-08-05 16:43:48 +02:00
Hans-Christoph Steiner
074ea8cae3
metadata: remove unused fields and types
BuildVersion and UseBuilt were only ever used in the .txt format, which is
gone.
2021-08-05 14:24:45 +02:00
Felix C. Stegerman
ee18afe8dd
copy_triple_t_store_metadata(): also look in $subdir/*/src/*/play 2021-08-04 00:12:17 +02:00
Felix C. Stegerman
ac2b5cb7de
fix copy_triple_t_store_metadata() 2021-08-03 20:25:23 +02:00
Jochen Sprickerhof
16f8d50194 [checkupdates] make no version information an error 2021-07-29 11:38:15 +02:00
Jochen Sprickerhof
58dcb4c2a0 [checkupdates] Don't fail for disabled apps 2021-07-29 11:37:34 +02:00
Jochen Sprickerhof
44a0e7e74f [checkupdates] Simplify logic in check_http 2021-07-28 00:09:40 +02:00
Jochen Sprickerhof
8f836b3b01 [checkupdates] Move log messages into method 2021-07-28 00:09:40 +02:00
Jochen Sprickerhof
ae98844943 [checkupdates] Raise exception instead of returning an error 2021-07-28 00:09:40 +02:00
Jochen Sprickerhof
6f7a1ecf01 [checkupdates] Don't catch exceptions
Basically moves all code one level up.
2021-07-28 00:09:40 +02:00
Jochen Sprickerhof
a2db8f4a62 [checkupdates] Exit 1 in case of errors 2021-07-28 00:09:40 +02:00
Jochen Sprickerhof
331b4830dd Support multiple flavours in parse_androidmanifests
Previously only the last flavour was checked.
2021-07-24 21:20:19 +02:00
Felix C. Stegerman
051905620d fix copy_triple_t_store_metadata() w/ multiple apps in same repo 2021-07-02 14:34:34 +00:00
Hans-Christoph Steiner
40c77892a2
do not crash when config.yml is 0 bytes or empty of data 2021-07-01 14:45:35 +02:00
Hans-Christoph Steiner
5267699d81
index: make download_repo_index() handle common URL mistakes 2021-07-01 14:43:58 +02:00
Felix C. Stegerman
28740ee036 has_known_vulnerability(): check .so files with version in filename 2021-06-28 18:53:22 +00:00
Hans-Christoph Steiner
307cf8958c
run black to reformat code that does not have WIP merge requests 2021-06-28 18:57:56 +02:00
Jochen Sprickerhof
674786db96 [checkupdates] Ignore broken submodule
In case the app repository has a broken submodule, checkupdates failed
and did not search for any version updates. Ignoring the error let's us
at least find new version in the main repo (which is probably the right
place anyhow) and thus an improvement.
2021-06-25 12:15:41 +02:00
Hans-Christoph Steiner
ecc21489d4
fix pydocstyle 2021-06-25 12:11:50 +02:00
Hans-Christoph Steiner
3e7ce8ce31
merge scan_apk doc string updates 2021-06-25 09:28:48 +02:00
Hans-Christoph Steiner
578ff7069f Merge branch 'master' into 'docs-numpy'
# Conflicts:
#   fdroidserver/update.py
2021-06-25 07:25:10 +00:00
linsui
03c3e45116 add require_signature param to scan_apk 2021-06-25 07:10:18 +00:00
Benedikt Brückmann
675d034ac7 Fix errors from merge and review 2021-06-25 06:42:17 +02:00
Benedikt Brückmann
3d85b91dc4 rewrite docstrings to match numpy style guide 2021-06-25 06:28:47 +02:00
Benedikt Brückmann
9038161b70 apply numpy docstyle 2021-06-25 06:28:47 +02:00
Benedikt Brückmann
01b9fb1549 Fix pep8 whitespace errors 2021-06-25 06:28:47 +02:00
Benedikt Brückmann
1e943a22df rewrite docstrings to match numpy style guide 2021-06-25 06:28:47 +02:00
Benedikt Brückmann
d168b9c05b rewrite docstrings to match numpy style guide 2021-06-25 06:28:43 +02:00
linsui
763a2ee80d fix invalid extension of output apk 2021-06-24 13:42:10 +00:00
Jochen Sprickerhof
b49c3741bd [checkupdates] Use tag if version is 'Unknown'
Regression from cd405cc9.
Parse_androidmanifests() can return 'Unknown' or 'Ignore' if it did not
find a version name. The check_tags() always returned the tag and
checkupdates_app() replaced the version by the tag in the 'Unknown'
case. Since cd405cc9 the tag is the hash and so the version would become
the hash as well. This patch moves the 'Unknown' check directly after
the Parse_androidmanifests().
2021-06-20 08:49:49 +02:00
Hans-Christoph Steiner
78d37bb13b switch to allow/block list terminology throughout code base
allowlist and blocklist are much clearer terms with no cultural baggage.
This changes all "whitelist" references to "allowlist", and all "blacklist"
references to "blocklist".
2021-06-18 18:26:50 +00:00
Hans-Christoph Steiner
1300771bad
'import resource' only where its used, Windows does not have it 2021-06-18 11:12:25 +02:00
Hans-Christoph Steiner
1f5534d060
require config.yml use UTF-8 as encoding
config.yml requires ASCII or UTF-8 encoding because this code does not
auto-detect the file's encoding.  That is left up to the YAML library.
YAML allows ASCII, UTF-8, UTF-16, and UTF-32 encodings.  Since it is a
good idea to manage config.yml (WITHOUT PASSWORDS!) in git, it makes
sense to use a globally standard encoding.
2021-06-18 11:12:20 +02:00
Hans-Christoph Steiner
48c4354629
always open Android source files as UTF-8
Android Studio recommends "you use UTF-8 encoding whenever possible",
so this code assumes the files use UTF-8.  UTF-8 is also the default
encoding on GNU/Linux and macOS.
https://sites.google.com/a/android.com/tools/knownissues/encoding

Windows will probably default to UTF16, since that's the native
encoding for files.  So forcing things to use UTF-8 should help
compatibility.
2021-06-18 11:12:18 +02:00
Gerhard Olsson
0c31c4a5ab
win fixes 2021-06-18 10:30:59 +02:00
Hans-Christoph Steiner
1e1f0db347
stats/known_apks.txt must be in UTF-8 format on all platforms 2021-06-18 10:30:57 +02:00
Hans-Christoph Steiner
a6d35a7ee1
metadata: always open metadata files as UTF-8
Windows seems to require this, otherwise this happens:

Traceback (most recent call last):

  File "tests/update.TestCase", line 737, in test_translate_per_build_anti_features

    apps = fdroidserver.metadata.read_metadata(xref=True)

  File "C:\Users\travis\build\fdroidtravis\fdroidserver\fdroidserver\metadata.py", line 813, in read_metadata

    app = parse_metadata(metadatapath, appid in check_vcs, refresh)

  File "C:\Users\travis\build\fdroidtravis\fdroidserver\fdroidserver\metadata.py", line 1023, in parse_metadata

    parse_yaml_metadata(mf, app)

  File "C:\Users\travis\build\fdroidtravis\fdroidserver\fdroidserver\metadata.py", line 1073, in parse_yaml_metadata

    yamldata = yaml.safe_load(mf)

  File "C:\python37\lib\site-packages\yaml\__init__.py", line 162, in safe_load

    return load(stream, SafeLoader)

  File "C:\python37\lib\site-packages\yaml\__init__.py", line 112, in load

    loader = Loader(stream)

  File "C:\python37\lib\site-packages\yaml\loader.py", line 34, in __init__

    Reader.__init__(self, stream)

  File "C:\python37\lib\site-packages\yaml\reader.py", line 85, in __init__

    self.determine_encoding()

  File "C:\python37\lib\site-packages\yaml\reader.py", line 124, in determine_encoding

    self.update_raw()

  File "C:\python37\lib\site-packages\yaml\reader.py", line 178, in update_raw

    data = self.stream.read(size)

  File "C:\python37\lib\encodings\cp1252.py", line 23, in decode

    return codecs.charmap_decode(input,self.errors,decoding_table)[0]

UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 37: character maps to <undefined>
2021-06-18 10:30:55 +02:00
Hans-Christoph Steiner
c12007c260
publish: use platform-neutral newlines 2021-06-18 10:30:52 +02:00
linsui
7c831c11dd NON_FREE_GRADLE_LINES: add com.android.billingclient 2021-06-17 11:53:03 +00:00
Jochen Sprickerhof
39c55d799b [checkupdates] Only update if version code is grater
Don't change the current versions in case there is an error in the check_* methods or upstream screwed up.
2021-06-17 11:52:37 +00:00
Jochen Sprickerhof
cd405cc93e Use hash of tag when adding new version
Also extend getref with a refname parameter and implement it for
vcs_git.
2021-06-17 11:51:18 +00:00
Jochen Sprickerhof
3809b4d424 Ignore git submodule failure in gotorevisionx
gotorevisionx tries to clean up the git repo before checking out a new
revision. In b848b99ba this was changed to reset and clean any submodule
as well. In case upstream has a broken submodule configuration this
could fail and we can't checkout the new revision. As we are doing a
reset and clean after checking out the new revision anyhow, this change
ignores submodule errors before the checkout and only makes sure that
the main repo is reset and clean.

This broke checkupdates for apps where old versions had broken
submodules. It checkout out the old version and got stuck, not able to
checkout any other version.
2021-06-15 20:39:18 +02:00