1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-16 03:40:33 +01:00
Commit Graph

8610 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
9f606d0fbb metadata: auto-convert YAML special float values: .nan .inf -.inf
Even for people who know what the special floats not-a-number, infinity,
and negative infinity, they don't necessarily know the YAML 1.2 syntax for
these.  I didn't.  And I've spent some quality time fighting things with
those values.  They are also easy to reliably convert to string values.
2023-05-25 16:53:02 +02:00
Hans-Christoph Steiner
8374842faa metadata: normalize TYPE_BOOL to YAML 1.2 booleans
This makes the internal representation always be a boolean, and that also
means that YAML 1.2 booleans will be written out, e.g. rewritemeta.
2023-05-25 16:53:02 +02:00
Hans-Christoph Steiner
aa98d67c86 metadata: test None in post_metadata_parse 2023-05-25 15:10:05 +02:00
Hans-Christoph Steiner
d9b1d845e7 Merge branch 'linsui-master-patch-37288' into 'master'
Fix Chinese example in doc string

See merge request fdroid/fdroidserver!1364
2023-05-25 13:06:55 +00:00
linsui
982ecb45ab Fix Chinese example in doc string 2023-05-25 13:06:45 +00:00
Michael Pöhn
7e1c63b407 Merge branch 'test-build-Prepare-only-in-VM' into 'master'
build: add test to ensure Prepare: is only run in VM

See merge request fdroid/fdroidserver!1361
2023-05-25 13:06:21 +00:00
Hans-Christoph Steiner
df7c909884 build: add test to ensure Prepare: is only run in VM 2023-05-25 13:03:25 +00:00
Michael Pöhn
65e1c81f20 Merge branch 'scanner_argument_order' into 'master'
scanner: Print all short options before long options

See merge request fdroid/fdroidserver!1363
2023-05-25 12:54:18 +00:00
Gregor Düster
fde880d780
scanner: Print all short options before long options
This is the default throughout the code base.
2023-05-25 12:33:39 +02:00
Hans-Christoph Steiner
6d8c1fb885 Merge branch 'weblate' into 'master'
weblate

See merge request fdroid/fdroidserver!1360
2023-05-24 21:10:26 +00:00
Hans-Christoph Steiner
544fa1bb4d
make -C locale update 2023-05-24 23:01:08 +02:00
Hosted Weblate
c5ef3d19cd
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/
Translation: F-Droid/F-Droid Server
2023-05-24 23:01:06 +02:00
Hans-Christoph Steiner
5d85f7ad95 Merge branch 'ci-metadata_v0-RequiresRoot' into 'master'
gitlab-ci: update metadata_v0 job for RequiresRoot: as TYPE_BOOL

See merge request fdroid/fdroidserver!1362
2023-05-24 20:45:08 +00:00
Hans-Christoph Steiner
fc9afc83b8 gitlab-ci: update metadata_v0 job for RequiresRoot: as TYPE_BOOL
b0c05842d8
!1350
2023-05-24 22:36:11 +02:00
Michael Pöhn
86343cbf18 Merge branch 'antiFeatures-from-config' into 'master'
allow Anti-Features to include localized descriptions about why they were added

Closes #683

See merge request fdroid/fdroidserver!1350
2023-05-23 19:08:35 +00:00
Hans-Christoph Steiner
dbf163e03f test to check that the right Builds flag values get removed 2023-05-23 12:11:09 +02:00
Hans-Christoph Steiner
f68b77a933 use pathlib's read_text() to avoid confusin intended blocks 2023-05-23 12:06:21 +02:00
Hans-Christoph Steiner
895e0553a0 error if a YAML Anti-Feature conflicts with a localized file
https://gitlab.com/fdroid/fdroidserver/-/issues/683#note_1383597734
2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
b0c05842d8 metadata: RequiresRoot is boolean, according to docs
"Set this optional field to ‘True’ if the application requires root
privileges to be usable."
https://f-droid.org/docs/Build_Metadata_Reference/#RequiresRoot
2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
0393e46af9 metadata: handle TYPE_STRINGMAP when writing out YAML 2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
e8ab84b583 metadata: simplify _app_to_yaml()
There are some redundant checks and odd construct:
* cm.update({a: b}) --> cm[a] = b
* getattr(app, field) --> app.get(field)
2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
2cb12f9594 metadata: break out write_yaml to standalone function and add unit tests 2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
784bebfee9 metadata: keep manually added NoSourceSince in AntiFeatures
If the metadata file contains NoSourceSince:, it is added to the collection
of Anti-Features.  When rewriting the .yml file, NoSourceSince should only
be written into the AntiFeatures: collection if there are manual changes,
e.g. the user had provided translations.
2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
7c1d7fb4b3 metadata: check error messages are printed for more cases 2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
b2fc59ef9a gitlab-ci: bump version to compare in metadata_v0 job
The previous commit changes the internal representation of
antiFeatures from a list to dict.
https://gitlab.com/eighthave/fdroidserver/-/jobs/4260622978
2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
061ca38afd define "string map" type for new Anti-Features explanations
closes #683
2023-05-23 10:47:03 +02:00
Hans-Christoph Steiner
6e62ea3614 Merge branch 'scanner-allow-non-zero-exit' into 'master'
feat(scanner): Allow non-zero-exit code if problems were found

See merge request fdroid/fdroidserver!1342
2023-05-23 08:35:18 +00:00
Georg krause
9af2efda2e feat(scanner): Allow non-zero-exit code if problems were found 2023-05-23 09:54:24 +02:00
Hans-Christoph Steiner
44513c23fd Merge branch 'readme-and-contributing' into 'master'
update README and add CONTRIBUTING.md

See merge request fdroid/fdroidserver!1353
2023-05-22 14:16:43 +00:00
Hans-Christoph Steiner
a08d4a74e8 update CONTRIBUTING.md 2023-05-22 14:16:31 +00:00
Hans-Christoph Steiner
a02ed98c7e update README to fix out of date things 2023-05-22 14:16:31 +00:00
Hans-Christoph Steiner
84b45abb03 Merge branch 'last-prop' into 'master'
gradlew-fdroid: use last duplicate key like java.util.Properties

Closes #1131

See merge request fdroid/fdroidserver!1356
2023-05-22 11:35:54 +00:00
FC Stegerman
f160ae55cb
gradlew-fdroid: use last duplicate key like java.util.Properties 2023-05-19 18:12:23 +02:00
Michael Pöhn
a9b2f624e5 Merge branch 'scanner_dataclass' into 'master'
scanner: replace global dict by dataclass

See merge request fdroid/fdroidserver!1208
2023-05-12 17:58:26 +00:00
Jochen Sprickerhof
2488cb5710 scanner: replace global dict by dataclass 2023-05-12 17:58:04 +00:00
Jochen Sprickerhof
52e798575b Merge branch 'fix_mkdir' into 'master'
Create repo/icons without failure

See merge request fdroid/fdroidserver!1355
2023-05-12 07:25:53 +00:00
Jochen Sprickerhof
5723a1dafe
Create repo/icons without failure
Fixes fdroid lint CI.
2023-05-12 09:12:28 +02:00
Michael Pöhn
1b765d11e7 Merge branch 'lint-AntiFeatures-from-config' into 'master'
lint: Anti-Features validator uses names from config / plus tests, cleanups, and minor bugfixes

See merge request fdroid/fdroidserver!1352
2023-05-11 14:20:15 +00:00
Hans-Christoph Steiner
af5b067396 gitlab-ci: bump version to compare in metadata_v0 job
The relevant change comes from !1332
2023-05-11 10:37:45 +02:00
Hans-Christoph Steiner
024d309262 index: rename app var to app_dict, its not an App instance
Throughout the code, variables named "app" are instances of the App class.
In this case, this is related, but it is a dict not an App instance, since
it is being prepared for including in the index-v1.json.
2023-05-11 10:37:45 +02:00
Hans-Christoph Steiner
8bc9a3da73 test_parse_yaml_metadata_continue_on_warning checks logging calls 2023-05-11 10:37:45 +02:00
Hans-Christoph Steiner
86b643f87b metadata: test to check that metadata/*.yml overrides .fdroid.yml
This actually uncovered that .fdroid.yml isn't really working. But that is
a problem for another day.
2023-05-11 10:37:45 +02:00
Hans-Christoph Steiner
bb99986630 metadata: fix crash if .fdroid.yml but its not a git repo 2023-05-11 10:37:45 +02:00
Hans-Christoph Steiner
c2bc52dd85 use constant for default locale 2023-05-11 10:37:45 +02:00
Hans-Christoph Steiner
d5a1439457 lint: Anti-Features validator uses names from config 2023-05-11 10:29:04 +02:00
Hans-Christoph Steiner
d6dba05ec3 test load_localized_locale() and translated Anti-Features 2023-05-10 13:34:09 +02:00
Hans-Christoph Steiner
b04c7ff539 load_localized_config() returns a dict in a stable order
I renamed the variables while I was at it, to make it clearer.
2023-05-10 13:17:40 +02:00
Hans-Christoph Steiner
74a23284e1 common: load_localized_config() should make repo/ if not present
For 1,000,000 checks, this adds:
* ~4 seconds of runtime on a server with very slow disks.
* ~0.7 seconds of runtime on my laptop with a fast SSD.
2023-05-10 09:21:14 +02:00
Hans-Christoph Steiner
49362b5fd1 move load_locale() and file_entry() to be accessible by all modules
* load_locale -> common.load_localized_config() since common handles config
* file_entry -> metadata.file_entry() since metadata handles data format
2023-05-10 09:21:14 +02:00
Hans-Christoph Steiner
f9864dc3a2 rewritemeta: split into remove_blank_flags_from_builds()
This takes this key bit of functionality, splits it out as its own
function, and adds some unit tests.
2023-05-10 09:21:14 +02:00