Hans-Christoph Steiner
1aab64e090
better test for gpg-agent to restrict test case
...
This test case needs both gpg and gpg-agent, but gpg can be installed
without gpg-agent. The CI for some of the Ansible stuff needs gpg without
gpg-agent, so switch this test to gpg-agent.
https://gitlab.com/fdroid/ansible-role-install-fdroidserver-dependencies/-/merge_requests/13
2026-02-09 15:45:23 +01:00
Hans-Christoph Steiner
333bd43fe7
ignore locale tests on macOS, localization is not yet used there
2026-01-22 22:15:03 +01:00
linsui
14573e7ccb
fix B105 hardcoded_password_string
2026-01-19 21:53:43 +08:00
Hans-Christoph Steiner
1de072b194
update: use translations when adding DisabledAlgorithm/KnownVuln
...
The translations were filled in using the included script
2026-01-13 20:20:01 +01:00
linsui
36f00f03e5
rewritemeta: fix for metadata from stdin
2026-01-13 16:25:46 +00:00
linsui
674e7f8b7b
scanner: match command with quote marks
2025-12-23 20:28:49 +08:00
linsui
208d956b05
Revert "scanner: fix gradle command match"
...
This reverts commit a43efb1469
2025-12-23 07:23:57 +00:00
linsui
a43efb1469
scanner: fix gradle command match
...
When there is other flavors inserted before the command it should also
match. Before this change only other flavors appended after the command
is matched
2025-12-23 01:58:01 +08:00
linsui
1884d85e7e
Fix wrong type: build.versionCode is int
2025-12-23 01:57:39 +08: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
34447616b6
add tests for common.replace_build_vars()
2025-12-11 15:37:48 +01:00
linsui
4b969184be
black: bump target version to py39
2025-12-11 19:54:54 +08: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
1db259284c
update.get_old_icon_filename() to document old naming scheme
2025-12-11 10:45:06 +00: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
6c46c363a1
calculate_math_string: isolate tests, they need no setUp
2025-12-03 19:07:25 +01: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
linsui
cd33d91e2b
scanner: remove file without read permission
2025-12-03 16:43:23 +01: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
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
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
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
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`.
https://gitlab.com/fdroid/fdroidserver/-/blob/48df58854c3bb2b8e5bd3001c4c06ec872ff2205/fdroidserver/update.py#L1978
2025-11-26 12:35:01 +00:00
linsui
146f2b93fe
rewritemeta: support read from stdin
2025-11-26 12:22:39 +00:00
Hans-Christoph Steiner
2112858185
schedule_verify: do not schedule if no Repo: is provided
2025-11-26 11:55:11 +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
be27b58114
checkupdates: standardize on "from fdroidserver import X"
...
This is the code style used in most of the rest of the submodules.
2025-11-26 11:49:49 +00:00
Hans-Christoph Steiner
0b4764504d
checkupdates: fix pylint invalid-name use-dict-literal no-else-return/raise
2025-11-26 11:49:49 +00:00
Hans-Christoph Steiner
b43faa8c75
lint: port to common.config, remove local config var
2025-11-24 12:31:28 +01:00
Hans-Christoph Steiner
379e293320
lint; fix double execution of tests
2025-11-24 12:01:48 +01:00
Hans-Christoph Steiner
9abb716e48
lint: check git/srclib Repo URLs for proper format
2025-11-24 12:01:48 +01:00
Hans-Christoph Steiner
09a229f662
lint: master or main is actually preferred in URLs over HEAD
2025-11-24 12:01:48 +01:00
linsui
b47ceb648b
Remove /opt/gradle related code
2025-11-18 00:32:08 +08:00
Ygsk Lv.212
a211a047b5
Update BTC & LTC regex for Taproot and stricter rules
2025-11-17 09:44:54 +00:00
linsui
91b5c85a7c
Update litecoin address regex
2025-11-17 02:33:07 +08:00
Hans-Christoph Steiner
b1b30d13a4
set up config['ndk_paths'] on demand by reading source.properties
...
ndk_paths is set up right after installing the NDK and right before
ndk_paths is used in Build.ndk_path().
A proper NDK install always has a _source.properties_ which declares
the revision and release strings. That is used as the source of
revision and release. This only reads from the local filesystem, and
reads the official source of version info (_source.properties_),
thereby avoiding any potential network calls that sdkmanager might
do. This implementation was inspired by @uniqx's:
https://gitlab.com/uniqx/fdroidserver/-/commit/ed931d47d728291ba6b428e0fcf7b53e52476d98#27b997d583cd1c0a05b2213437e0d9fe6536bfe3
2025-11-11 15:56:01 +01:00
Michael Pöhn
9de92dc215
💂 push: owner fix
2025-11-05 11:20:41 +01:00
Hans-Christoph Steiner
950efbbb45
safety catch for --cpus so it isn't higher than actual CPUs
2025-10-29 21:22:35 +01:00
Hans-Christoph Steiner
8421d61369
get_virt_memory_opt: support str values like "16GB"
2025-10-29 21:22:35 +01:00
Michael Pöhn
cd3ca7dc57
🪗 get auto NDK installs working in vm builds
2025-10-29 21:06:43 +01:00
Hans-Christoph Steiner
4f1b50f7a6
switch test_signatures.py to mkdtemp to fix mystery
...
I have no idea what is causing this to fail, but the mkdtemp pattern used
in other test files seems to fix it.
https://gitlab.com/fdroid/fdroidserver/-/jobs/11776468083
======================================================================
ERROR: test_main (tests.test_signatures.SignaturesTest.test_main)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builds/fdroid/fdroidserver/tests/test_signatures.py", line 28, in test_main
with TemporaryDirectory() as tmpdir, TmpCwd(tmpdir):
^^^^^^^^^^^^^^
File "/builds/fdroid/fdroidserver/tests/shared_test_code.py", line 44, in __enter__
self.orig_cwd = os.getcwd()
^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory
----------------------------------------------------------------------
2025-10-23 12:03:52 +02:00
Hans-Christoph Steiner
2fbd6f1a19
new subcommand "schedule_verify" to generate events for apps to verify
2025-10-23 12:03:52 +02:00
Hans-Christoph Steiner
da032d517a
new subcommand "pull": podman/vagrant implementation
2025-10-22 19:45:25 +02:00
Hans-Christoph Steiner
9fa7193620
new subcommand "push": podman/vagrant implementation
2025-10-22 19:42:50 +02:00
Hans-Christoph Steiner
63660e1aed
new subcommand "exec": podman implementation
2025-10-20 15:38:03 +02:00