Commit Graph

9321 Commits

Author SHA1 Message Date
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
Hans-Christoph Steiner
7a9bb1d0d8 lint: fix false positives on URL shorteners 2025-12-01 16:11:15 +01:00
Hans-Christoph Steiner
cfb5d022d2 Merge branch 'buildserver-scheduling' into 'master'
🏗️ subcommands scheduling and sending buildcycles

See merge request fdroid/fdroidserver!1724
2025-11-26 13:44:25 +00:00
Michael Pöhn
d5a558d04e Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Hans-Christoph Steiner <hans@eds.org>
2025-11-26 13:14:17 +00:00
Michael Pöhn
87e030e475 🎼 silence bandit 2025-11-26 13:14:17 +00:00
Michael Pöhn
709c8fe675 🏗️ subcommands scheduling and sending buildcycles
This adds 2 new sub commands:
* schedule_buildcycle - create a json format schedule for the next
  buildserver build cycle
* send_buildcycle - submit build requests from schedule json to buildbot
2025-11-26 13:14:17 +00:00
Hans-Christoph Steiner
0360a9bd94 Merge branch 'cleanup-get-virt-container-type' into 'master'
🧹 cleanup get_virt_container_type() fail with exception instead exiting

See merge request fdroid/fdroidserver!1728
2025-11-26 13:07:29 +00:00
Michael Pöhn
6f1c253b09 🧹 cleanup get_virt_container_type() fail with exception instead exiting 2025-11-26 12:57:35 +00:00
Hans-Christoph Steiner
fec90282a7 Merge branch 'streamline-execute-sudo' into 'master'
🚗 streamline execute_sudo

See merge request fdroid/fdroidserver!1740
2025-11-26 12:42:46 +00:00
Michael Pöhn
12f9de6697 🚗 streamline execute_sudo
Adding missing execption handling boiler-plate to execute_sudo.py
2025-11-26 12:42:09 +00:00
Hans-Christoph Steiner
afa513bb6e Merge branch 'purge-remove_debuggable_flags' into 'master'
purge remove_debuggable_flags(), upstreams should handle this

See merge request fdroid/fdroidserver!1734
2025-11-26 12:37:34 +00:00
Hans-Christoph Steiner
40d1113898 purge remove_debuggable_flags(), upstreams should handle this
Also, there might be valid use cases for using fdroidserver to build APKs
that are debuggable.  There are other checks to ensure that debuggable APKs
are not published, e.g. in `fdroid update`.

48df58854c/fdroidserver/update.py (L1978)
2025-11-26 12:35:01 +00:00
Hans-Christoph Steiner
68d7a1de59 Merge branch 'rewritemeta' into 'master'
rewritemeta: support read from stdin

See merge request fdroid/fdroidserver!1742
2025-11-26 12:23:17 +00:00
linsui
146f2b93fe rewritemeta: support read from stdin 2025-11-26 12:22:39 +00:00
Michael Pöhn
cbb7698f55 Merge branch 'schedule_verify-if-no-Repo' into 'master'
schedule_verify: do not schedule if no Repo: is provided

See merge request fdroid/fdroidserver!1718
2025-11-26 12:06:19 +00:00
Hans-Christoph Steiner
2112858185 schedule_verify: do not schedule if no Repo: is provided 2025-11-26 11:55:11 +00:00
Michael Pöhn
280eee9be1 Merge branch 'buildserver-set-fs.inotify.max_user_watches' into 'master'
buildserver: set fs.inotify.max_user_watches globally

See merge request fdroid/fdroidserver!1720
2025-11-26 11:53:03 +00:00
Hans-Christoph Steiner
1bffcff5d9 buildserver: set fs.inotify.max_user_watches globally
Some builds need to track a lot of files, so this needs to be set for
them to succeed.
2025-11-26 11:52:04 +00:00
Michael Pöhn
c1356ec635 Merge branch 'rm-CACHEDIR-config.buildserver.yml' into 'master'
remove internal CACHEDIR env var, _config.buildserver.yml_

See merge request fdroid/fdroidserver!1727
2025-11-26 11:51:30 +00:00
Hans-Christoph Steiner
9f3f912e9c buildserver: remove /opt/gradle/bin from PATH, it is no more 2025-11-26 11:50:58 +00:00
Hans-Christoph Steiner
171cf77cc3 rm config.buildserver.yml, ANDROID_HOME set in /etc/profile.d/bsenv.sh
`fdroid build_local_run` has been running without this for a long time.
2025-11-26 11:50:58 +00:00
Hans-Christoph Steiner
97769ad8cb remove internal CACHEDIR env var, it was only used for gradle
fdroidserver!1725
gradlew-fdroid!10
2025-11-26 11:50:58 +00:00