Currently translated at 5.5% (32 of 573 strings)
Translated using Weblate: Greek (el) by fresh <fresh190@protonmail.com>
Currently translated at 5.0% (29 of 573 strings)
Co-authored-by: fresh <fresh190@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/el/
Translation: F-Droid/F-Droid Server
Currently translated at 100.0% (573 of 573 strings)
Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 93.8% (538 of 573 strings)
Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 88.6% (508 of 573 strings)
Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 87.7% (503 of 573 strings)
Translated using Weblate: Russian (ru) by Golubev Alexander <fatzer2@gmail.com>
Currently translated at 84.8% (486 of 573 strings)
Co-authored-by: Golubev Alexander <fatzer2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/ru/
Translation: F-Droid/F-Droid Server
Currently translated at 91.2% (523 of 573 strings)
Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 90.2% (517 of 573 strings)
Translated using Weblate: Polish (pl) by WaldiS <sto@tutanota.de>
Currently translated at 90.0% (516 of 573 strings)
Co-authored-by: WaldiS <sto@tutanota.de>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/pl/
Translation: F-Droid/F-Droid Server
Currently translated at 60.0% (344 of 573 strings)
Translated using Weblate: Italian (it) by x <hardwired1.0@protonmail.com>
Currently translated at 42.2% (242 of 573 strings)
Translated using Weblate: Italian (it) by x <hardwired1.0@protonmail.com>
Currently translated at 40.3% (231 of 573 strings)
Co-authored-by: x <hardwired1.0@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/it/
Translation: F-Droid/F-Droid Server
common.set_FDroidPopen_env() is used to call git and other tools that
are not part of the Android SDK nor require Java, so the items that
are being set from the config are optional. This lets plugins do
quite a bit without ever setting up a config.
* origin/missing_manifest:
add missing test files
Drop deleted files from MANIFEST.in
Sort MANIFEST.in
Add missing test files for scanner
fdroid/fdroidserver!842
This is used in _fdroiddata_'s `fdroid build` CI job, and _issuebot_.
This uses @uniqx's awesome new 'plugin' feature to create a 'fetchsrclibs`
command. The 'fdroid build' gitlab-ci job uses --on-server, which does not
set up the srclibs. This plugin does the missing setup.
This is moved from _fdroiddata_ where it was _tools/fdroid_fetchsrclibs.py_.
`Builds:` is directly in the .yml metadata, and the internal representation
now uses the same "Builds" name. Reading in .txt metadata files used the
name "builds" for that. So this test now uses "Builds" as canonical.
Since metadata files are now YAML, programs should be able to just read in
the .yml files, then use them with fdroidserver methods without having to
know about the App class. The App class just provides syntactic sugar by
allowing dict keys to be accessed as attributes.
Now that the mismatch between 'builds' and 'Builds' has been fixed, it is
now possible to read metadata/*.yml files with a standard YAML parser like
PyYAML, then output them using `metadata.write_metadata()`. Other API
functions in fdroidserver should also work in this case.
I did this as I was working on fdroiddata!7860
The .txt format was the last place where the lowercase "builds" was used,
this converts references everywhere to be "Builds". This makes it possible
to load metadata YAML files with any YAML parser, then have it possible to
use fdroidserver methods on that data, like metadata.write_metadata().
The test files in tests/metadata/dump/*.yaml were manually edited by cutting
the builds: block and putting it the sort order for Builds: so the contents
should be unchanged.
```
sed -i \
-e 's/app\.builds/app.get('Builds', \[\])/g' \
-e "s/app\.get(Builds, \[\]) =/app\['Builds'] =/g" \
-e "s/app\.get(Builds, \[\]) =/app\['Builds'] =/g" \
-e "s/app\.get(Builds, \[\])/app.get('Builds', \[\])/g" \
-e "s/app\.get('Builds', \[\])\.append/app\['Builds'\].append/g" \
-e "s/app\['builds'\]/app.get('Builds', [])/g" \
*/*.*
```