linsui
7723311b44
disable gradle jvm auto download
2026-03-18 04:12:57 +08:00
Hans-Christoph Steiner
b20d505347
index: make sure DNS records are in the "mirrors" list
...
fdroidclient!1626
https://gitlab.com/fdroid/fdroidclient/-/work_items/2948#note_3157998787
fdroidclient#2717
fdroidclient#2948
2026-03-13 22:58:07 +01:00
Hans-Christoph Steiner
2e4b8c8d15
fix Fedora check in macOS job
...
platform.freedesktop_os_release() requires that /etc/os-release or
/usr/lib/os-release is present.
2026-03-12 22:00:04 +01:00
mnbogner
b7714db4f6
added check foripv6 suppot to dns tests
2026-03-12 22:00:02 +01:00
Alexander Martinz
0577be66d5
test: test_index: test_make_v1: ensure nativecode exists
...
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com >
2026-03-12 20:32:10 +01:00
Alexander Martinz
313b8d0171
tests: test_index: add test_make_v1
...
Test index creation for index_v1.
This is based on test_make_v0 and uses the existing
org.dyndns.fules.ck test app.
The metadata was imported from fdroiddata.
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com >
2026-03-12 20:32:10 +01:00
Benson Muite
a3d928f94b
Update to a supported Fedora version
...
- use OpenJDK21
- Install python-oscrypto
- Enable weak ciphers when running tests
- Add Androguard dependency
- Skip gpg test on Fedora
- Ensure zlib not zlib-ng is used on Fedora
2026-03-11 14:46:23 +00:00
Hans-Christoph Steiner
67831d6608
add tests
2026-03-11 11:54:47 +01:00
Hans-Christoph Steiner
e5630f0717
test YAML 1.2 for config
...
This disables pycodestyle's "W291 trailing whitespace" because these tests
need a trailing whitespace in the YAML string to represent null. Black
handles this fine.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
b6ad69080b
reset apkcache to move data to new internal format
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
c8d04e38f0
move 'signer' into internal index-v2 format
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
f5e0599571
move repo["timestamp"] to internal index-v2 format
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
97ecf27eee
move PackageAddedCache to update.py, it is only used there
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
a1ea7cf325
move 'added' to internal index-v2 format
...
This ended up being a refactoring of the whole KnownApks setup.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
78aec37622
port 'added' integration test to JSON for clarity of purpose
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
69995e5b33
move 'apkName' field into internal index-v2 format
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
bea377f183
move 'versionName' field to internal index-v2 format
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
cd9c6a9231
minSdkVersion/targetSdkVersion/maxSdkVersion into internal index-v2 format
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
6b16cd1024
init 'features' only when it is needed
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
f0eedc3ade
move 'nativecode' field into internal index-v2 format
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
bf81f9f149
test_update: simplify scan_apk() tests
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
5f180465de
'manifest' in internal struct; remove single use of namedtuple
...
Everywhere else, just plain data structures are used, like dict, list, etc.
Plus even the code that accesses these namedtuples is not using the features
of the namedtuple.
These are steps towards refactoring the code so that index-v2 is the
internal data structure of fdroid update. Then ultimately, we'll be
able to remove the whole convert_version() function and streamline
other parts of the code. Then the data structure conversions will
only need to happen in the code that generates the old index files.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
e12103528a
update test APK to include one required <uses-feature>
...
cd tests/repo
apktool d duplicate.permisssions_9999999.apk
# edit duplicate.permisssions_9999999/AndroidManifest.xml
export PATH="/opt/android-sdk/build-tools/35.0.0:$PATH"
apktool build duplicate.permisssions_9999999.apk
unzip duplicate.permisssions_9999999/dist/duplicate.permisssions_9999999.apk AndroidManifest.xml
zip duplicate.permisssions_9999999.apk AndroidManifest.xml
mv duplicate.permisssions_9999999.apk ../unsigned/
cd ..
../fdroid publish duplicate.permisssions
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
c04ea16882
actually implement VCSException when git-svn includes username
...
Back in 2015, 49549f4ca attempted to throw an error if a username was added
to a git-svn `Repo:` URL. But it tested the function self.repotype itself
rather than executing it. This fixes that and adds a test.
2026-03-05 18:52:13 +00:00
Hans-Christoph Steiner
b628d53a02
purge support for deprecated RepoType: bzr svn
...
* bzr is no longer developed
* svn was long ago replaced by git-svn
!1662
2026-03-05 18:52:13 +00:00
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