Commit Graph
9342 Commits
Author SHA1 Message Date
Hans-Christoph Steiner 4da6504d6c Merge branch 'fix-icon-check' into 'master'
fix: fix existing icon detection for repo and archive

See merge request fdroid/fdroidserver!1425
2025-12-16 08:55:25 +00:00
Hans-Christoph Steiner f33a3004c6 error if repo_icon is a path not just a filename
https://gitlab.com/fdroid/fdroidserver/-/merge_requests/1425#note_1730855272
2025-12-16 09:41:21 +01:00
Angel 27b537dd0c fix: fix existing icon detection for repo and archive 2025-12-15 23:07:00 +01:00
Hans-Christoph Steiner 2508da8073 Merge branch 'archive_icon' into 'master'
{repo,archive}_icon was not checking path prefix

See merge request fdroid/fdroidserver!1500
2025-12-15 21:32:06 +00:00
g0t mi1k 9cad5da14f *_icon was not checking correct path 2025-12-15 19:25:28 +01:00
Hans-Christoph Steiner 6dfae2ac6d Merge branch 'noname' into 'master'
Don't require versionName

See merge request fdroid/fdroidserver!1265
2025-12-11 18:00:41 +00:00
Hans-Christoph Steiner 34447616b6 add tests for common.replace_build_vars() 2025-12-11 15:37:48 +01:00
linsui 44499d90fa Don't require versionName 2025-12-11 15:37:44 +01:00
Hans-Christoph Steiner 3da9b2530a Merge branch 'format' into 'master'
ruff: add exclude list

See merge request fdroid/fdroidserver!1754
2025-12-11 12:33:18 +00:00
linsui 16c876e309 ruff: add exclude list 2025-12-11 19:54:54 +08:00
linsui 4b969184be black: bump target version to py39 2025-12-11 19:54:54 +08:00
Hans-Christoph Steiner de8bbc0fb9 Merge branch 'trixie-black-common-index-update' into 'master'
port black format to trixie; add common/metadata/update/index to black auto-formatting

See merge request fdroid/fdroidserver!1752
2025-12-11 10:56:48 +00:00
Hans-Christoph Steiner fe762978f1 gitlab-ci: upgrade "black" job to Trixie for improved fmt: skip 2025-12-11 10:45:06 +00:00
Hans-Christoph Steiner 3e8e9023f9 convert common.py index.py metadata.py update.py to Black format
Some of these constructs were too old, weird and ugly to easily convert to
black format, so I added `# fmt: skip`.  And some huge blocks are just ancient with really bizarre code structures, so those are left as is.  They will be refactored out anyway.
2025-12-11 10:45:06 +00:00
Hans-Christoph Steiner fa80486d89 convert to f-strings for cleaner code format 2025-12-11 10:45:06 +00:00
Hans-Christoph Steiner 1db259284c update.get_old_icon_filename() to document old naming scheme 2025-12-11 10:45:06 +00:00
Hans-Christoph Steiner 666ed2dd21 make --create-key string translatable 2025-12-11 10:45:06 +00:00
Hans-Christoph Steiner b95cc31f75 index: refactor v2 json.dump calls into reusable function
This also keeps the Black format clean.
2025-12-11 10:45:06 +00:00
Hans-Christoph Steiner 0d7c5d8376 remove broken code block that treats text as a path
The docs do not mention anything about symlinks working differently on
Windows:
https://docs.python.org/3/library/pathlib.html#pathlib.Path.read_text
2025-12-11 10:45:06 +00:00
Hans-Christoph Steiner 2a58fa3cea Merge branch 'misc-examples' into 'master'
Consistency & verbose (Examples)

See merge request fdroid/fdroidserver!1537
2025-12-10 14:43:35 +00:00
Hans-Christoph Steiner 26a039cd56 gitlab-ci: add all YAML files to yamllint job 2025-12-10 15:28:41 +01:00
g0t mi1k 312fdafb8e example config: Typos 2025-12-10 15:21:48 +01:00
g0t mi1k 3b3438646d example config: Consistent with lines 2025-12-10 15:20:39 +01:00
g0t mi1k 3f3b5be27e example Vagrantfile: Outdated defaults 2025-12-10 15:18:23 +01:00
g0t mi1k b1e91c4d30 example Vagrantfile: Consistent with formatting 2025-12-10 15:18:23 +01:00
Michael Pöhn 1161e8a7a4 Merge branch 'Python-3.14-and-macOS' into 'master'
support Python 3.14 and fix tests on macOS

See merge request fdroid/fdroidserver!1751
2025-12-04 08:24:43 +00:00
Hans-Christoph Steiner 753b73041b add Python 3.14 as supported 2025-12-03 19:07:25 +01:00
Hans-Christoph Steiner 81cff5eaa3 skip rewritemeta tests if ruamel.yaml > 0.17.21 #1138 2025-12-03 19:07:25 +01:00
Hans-Christoph Steiner 8c7f5abf92 checkupdates: only run tests on GNU/Linux
checkupdates is only ever run in production on Debian and it often fails
elsewhere.

https://gitlab.com/fdroid/fdroidserver/-/jobs/12307572200
2025-12-03 19:07:25 +01:00
Hans-Christoph Steiner 31a2c18725 calculate_math_string: support Python 3.14 and newer
Switch to ast.Constant, ast.Num was deprecated in Python 3.8 and removed in
Python 3.14.

> Changed in version 3.8: Class ast.Constant is now used for all constants.
>
> Deprecated since version 3.8: Old classes ast.Num, ast.Str, ast.Bytes,
> ast.NameConstant and ast.Ellipsis are still available, but they will be
> removed in future Python releases. In the meanwhile, instantiating them
> will return an instance of a different class.
https://docs.python.org/3.14/library/ast.html#ast.AST.end_col_offset
2025-12-03 19:07:25 +01:00
Hans-Christoph Steiner 6c46c363a1 calculate_math_string: isolate tests, they need no setUp 2025-12-03 19:07:25 +01:00
Hans-Christoph Steiner 67f79aec89 deploy: "=" not allowed in configparser key in Python 3.14
https://gitlab.com/fdroid/fdroidserver/-/jobs/12178560384

configparser.InvalidWriteError: Cannot write key ; = this file is auto-generated by fdroid deploy, do not edit!; contains delimiter =
2025-12-03 19:07:25 +01:00
Hans-Christoph Steiner 1faafcad65 Merge branch 'download_file-https-only-by-default' into 'master'
net.download_file() only uses https:// by default

See merge request fdroid/fdroidserver!1738
2025-12-03 16:43:55 +00:00
Hans-Christoph Steiner 0a252a0bdd net.download_file() only uses https:// by default
This strictly enforces things like this only use https://:

* `Binaries:` / `binary:` URLs
* `fdroid signatures` fetching APKs
* `fdroid install` fetching from GitHub
2025-12-03 17:13:19 +01:00
Hans-Christoph Steiner d090663a5f signatures: fix typo in argument name in translatable string 2025-12-03 17:13:15 +01:00
Hans-Christoph Steiner e06bb98536 Merge branch 'scanner_permission' into 'master'
scanner: chmod when read or remove fails

See merge request fdroid/fdroidserver!1608
2025-12-03 15:59:22 +00:00
Hans-Christoph Steiner b56fd635c6 scanner: flag suspicious permissions also when running as root
os.access() will always succeed when running as root.
2025-12-03 16:46:52 +01:00
linsui cd33d91e2b scanner: remove file without read permission 2025-12-03 16:43:23 +01:00
Hans-Christoph Steiner 2eccd38313 Merge branch 'pip-audit' into 'master'
🛡️ add pip-audit to gitlab ci

See merge request fdroid/fdroidserver!1750
2025-12-03 14:42:29 +00:00
Michael Pöhn d152b394fd 🛡️ add pip-audit to gitlab ci 2025-12-03 14:16:43 +00:00
Hans-Christoph Steiner c081012781 Merge branch 'misc' into 'master'
Consistency & verbose

See merge request fdroid/fdroidserver!1497
2025-12-03 14:01:09 +00:00
g0t mi1k 53719f7737 makebuildserver: Be more verbose with actions/stages 2025-12-03 14:39:55 +01:00
linsui d4c7eb2b7f Merge branch 'scanner--binary--allow-debuggable' into 'master'
scanner: check binaries for debuggable/testOnly

See merge request fdroid/fdroidserver!1744
2025-12-02 17:25:46 +00:00
Hans-Christoph Steiner f64f9c82ca scanner: check binaries for debuggable/testOnly
This used to be enforced by !1734, but that bitrotted away and no longer
works.  This is a better place to enforce this, since it is easier to
reliably find it in the APK rather than the source code.
2025-12-02 18:11:24 +01:00
Hans-Christoph Steiner 72732c1f9b Merge branch 'lint-https-enforcing' into 'master'
lint: https enforcing

See merge request fdroid/fdroidserver!1748
2025-12-01 18:41:34 +00:00
Hans-Christoph Steiner 5712438809 lint: update list of URL shorteners 2025-12-01 18:39:44 +01:00
Hans-Christoph Steiner 13874b9f4f lint: use PEP8 upper case names for global vars 2025-12-01 16:24:58 +01:00
Hans-Christoph Steiner 34a6e2cfee lint: require https:// and no shorteners in Donate: links 2025-12-01 16:11:17 +01:00
Hans-Christoph Steiner 4a1af27ab2 lint: if Binaries:/binary: then enforce reproducible srclib refs
If the app is meant to be reproducible to the upstream signature, then the
build metadata must supply the commit IDs for srclibs.  Or it will be
impossible to reproduce in the future.  For other cases, this is less
important so it is not strictly enforced.
2025-12-01 16:11:17 +01:00
Hans-Christoph Steiner 40a5d8ecf8 lint: require Binaries:/binary: use https:// and no URL shorteners 2025-12-01 16:11:17 +01:00