Commit Graph
9656 Commits
Author SHA1 Message Date
Michael Pöhn 28f979584d 🗼 use v2+ signed apk in TestUpdateWithAllowedApkSigningKeys 2026-07-21 10:44:38 +00:00
Michael Pöhn 8b70f83d50 🛣️ switch TestUpdateWithAllowedApkSigningKeys to pathlib 2026-07-21 10:44:38 +00:00
Michael Pöhn 938009d7cc 🪣 TestUpdateWithAllowedApkSigningKeys rm pointless metadata copies 2026-07-21 10:44:38 +00:00
Michael Pöhn b3e2f47ae4 🪚 simplify tmp dir setup in TestUpdateWithAllowedApkSigningKeys 2026-07-21 10:44:38 +00:00
Michael Pöhn eb04ef67af 🔨 test_update_with_AllowedAPKSigningKeys contains 2 tests -> split 2026-07-21 10:44:38 +00:00
Michael Pöhn 366aee7f45 👉 move test_update_with_AllowedAPKSigningKeys into separate TestCase 2026-07-21 10:44:38 +00:00
Michael Pöhn f61f06b413 🤏 separate test case for get_apks_without_allowed_signatures 2026-07-21 10:44:38 +00:00
Michael Pöhn b218b890b1 ⚔️ build: reject v1 only sigend reference Binaries 2026-07-21 10:44:38 +00:00
Michael Pöhn 836d32fe69 🚠 build: refactor binary download into testable sub function
This adds _download_and_check_reference_binary() to build.py and moves
some lines from the humongous main() function there. It also adds some
unit tests for that new fucntion.
2026-07-21 10:44:38 +00:00
Michael Pöhn 3a83ae9fd7 📇 publish: do not allow v1 signed Binaries 2026-07-21 10:44:38 +00:00
Michael Pöhn ac3405fb28 🧓 add common.apk_is_v1_signed_only
Add a helper function that determines whether an APK is exclusively
singed with v1 signatures.
2026-07-21 10:44:38 +00:00
Michael Pöhn a8d5bb460f Merge branch 'skip-fedora-rb-zip-fail' into 'master'
publish: skip sig implant test on Fedora #1354

See merge request fdroid/fdroidserver!1849
2026-07-21 10:43:36 +00:00
Hans-Christoph Steiner 5c7bac295d publish: skip sig implant test on Fedora #1354
There is a complicated issue with the ZIP library that needs to be resolved
in Fedora before this can work.
2026-07-21 12:32:28 +02:00
Hans-Christoph Steiner dcb183cdd8 Merge branch 'revert-c18679d0' into 'master'
sdkmanager from trixie-backports to enable "SDK Extensions"

See merge request fdroid/fdroidserver!1846
2026-07-16 10:30:25 +00:00
linsui 6cf75e9952 Revert "Revert "Install sdkmanager from trixie-backports""
This reverts commit c18679d01b
2026-07-16 10:30:06 +00:00
Hans-Christoph Steiner 798477a643 Merge branch 'more-consistent-naming' into 'master'
🧹 consistent common.apk_extract_signatures argument naming

See merge request fdroid/fdroidserver!1847
2026-07-16 10:27:24 +00:00
Michael Pöhn 1a4aa0b319 🧹 consisten common.apk_extract_signatures argument naming
The `outdir` argument of common.apk_extract_signatures() is supposed to
point to the apps repsective signature directory. The other code wirking
with this path in fdroidserver is calling this variable `sigdir`. So I'm
renaming it for consistency.
2026-07-16 10:22:52 +02:00
linsui 4a8821a586 Merge branch 'revert-6d7b90be' into 'master'
Revert "Install sdkmanager from trixie-backports"

See merge request fdroid/fdroidserver!1845
2026-07-14 17:25:38 +00:00
linsui c18679d01b Revert "Install sdkmanager from trixie-backports"
This reverts commit 6d7b90be90
2026-07-14 16:46:31 +00:00
Hans-Christoph Steiner d105ece6a4 Merge branch 'sdkmanager' into 'master'
Install sdkmanager from trixie-backports

See merge request fdroid/fdroidserver!1844
2026-07-14 13:52:15 +00:00
linsui 6d7b90be90 Install sdkmanager from trixie-backports 2026-07-14 20:33:15 +08:00
Hans-Christoph Steiner 00932d0a71 Merge branch 'scanner-androguard-fix' into 'master'
 fix scanner.py for androguard >= 4.1.4

See merge request fdroid/fdroidserver!1836
2026-06-11 17:00:00 +00:00
Michael Pöhn 02ffbbdb93 fix scanner.py
scanner.py uses an internal api from androguard, that internal api
changed in androguard 4.1.4. This makes sure scanner handles this change
correctly.
2026-06-11 18:44:29 +02:00
Hans-Christoph Steiner d66e1bbc11 Merge branch 'virustotal-v3-api' into 'master'
deploy: port virustotal to v3 API, closes #1276

Closes #1276

See merge request fdroid/fdroidserver!1835
2026-06-11 13:03:21 +00:00
Hans-Christoph Steiner 22f6e18739 deploy: port virustotal to v3 API, closes #1276
* allows large file uploads without a special API key
* puts the API Key in the headers rather than the query string
* cleaner REST API
2026-06-10 20:33:33 +02:00
Michael Pöhn 45089221df Merge branch 'use-NoOverwriteDict-when-needed' into 'master'
only use NoOverwriteDict workaround when Androguard needs it

See merge request fdroid/fdroidserver!1833
2026-06-03 21:51:43 +00:00
Hans-Christoph Steiner 7e17f8b0cd only use NoOverwriteDict workaround when Androguard needs it
Now that https://github.com/androguard/androguard/pull/1128 has been
released in androguard v4.1.4, this code should not override the upstream
fix.

https://gitlab.com/fdroid/fdroidserver/-/jobs/14671739625/viewer
https://github.com/androguard/androguard/issues/1030
2026-06-03 21:45:40 +00:00
Hans-Christoph Steiner 473fe3fea5 Merge branch 'mercurygram-v2-only-graft' into 'master'
common, publish: support v2/v3-only sigdirs in developer signature graft

Closes #1065

See merge request fdroid/fdroidserver!1825
2026-06-03 20:51:49 +00:00
Timothy Mario Redaelli 82e644fa17 common, publish: support v2/v3-only sigdirs in developer signature graft 2026-06-03 20:51:49 +00:00
Hans-Christoph Steiner 993016ef61 Merge branch 'master' into 'master'
Correct a typo in `fdroidserver/vmtools.py`

See merge request fdroid/fdroidserver!1831
2026-05-26 09:02:39 +00:00
Benjamin 9a79129a9f Correct a typo in fdroidserver/vmtools.py 2026-05-24 19:39:54 +02:00
Michael Pöhn 7a9beaee8a Merge branch 'big-icon-extraction-overhaul' into 'master'
implement all paths for extracting PNG icons; purge related ancient cruft

Closes #885

See merge request fdroid/fdroidserver!1788
2026-05-22 23:17:19 +00:00
Hans-Christoph Steiner 093752b06f use IntEnum for SCREEN_RESOLUTIONS
This is a Pythonic structure for gathering all these constant values that
are used in a manageable way.

Enums have SCREEN_RESOLUTIONS['ldpi'] but throw KeyErrors when the key is
there.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 778b6527a0 fix "doesn't conform to UPPER_CASE naming style (invalid-name)" 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 359587b4ae update: stop running icon extraction for the 'archive' section
Do not extract icons in archive, they have not been used there
in a very long time, if ever. And if so, only in specific cases.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 9609cbb082 update: purge system clock check, APKs no longer have dates in them
A long time ago, APKs' ZIP headers usually included the dates that the
files where actually created.  That was a source of current date/time info
for fully offline signing servers, e.g. if the system clock was set to a
time older than included in the APK, then it was probably wrong.

For reproducibility, those dates have been zeroed out since long ago. So
now this is no longer useful since the dates are always 1980-01-01.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 8ab474ad3b update: "0" DPI only needed for extraction, not icon_dirs
The '0' value is not used to generate an icon_dir, e.g. repo/icons-0/, so
this additional "all" structure is not needed.

The 0 DPI value is the really old default when no DPI specified.
https://github.com/androguard/androguard/blob/dd458bead6165975c3ef0b1b78eaf2450e4889d9/androguard/core/apk/__init__.py#L681
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 9f101af294 update: fix ancient bug where not all icons get moved to archive 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner f3e3605f64 update: stop using density values as strings, they're ints 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner cc47f7cc0f update: add tests for extract_apk_icons() 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner b2a7e8eae2 update: parse icons by fully resolving the resources
This was doing only quite simple resolution, which missed lots of
things starting in Android Gradle Plugin 4.2.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 17e0224f63 remove "undefineddpi" from screen_resolutions
The key names from

This value was never unused as far as I can tell and made up in
06598ae406819223dc927ec5422cb150852776623b09e5ee082bd3a04bc76bd2b64fa57ac16a5994
from !234

https://android.googlesource.com/platform/tools/base/+/refs/tags/studio-2025.3.4/build-system/aaptcompiler/src/main/java/com/android/aaptcompiler/android/ResTableConfig.kt#372
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 09947064ff add tests of fdroidserver.update.get_icon_dir() 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner f668343b35 update: move icon density parse to standalone function for testing 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner da58dc7c0a update: PIL.Image constants moved to Resampling 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 02139d196d remove obsolete test back when aapt dump badging was parsed
see !485
2026-05-22 23:02:59 +00:00
Michael Pöhn 5a8a111a29 Merge branch 'dont-hang-on-test_mirroring_a_repo-fail' into 'master'
ensure httpd is shut down when test_mirroring_a_repo fails

See merge request fdroid/fdroidserver!1830
2026-05-22 23:02:09 +00:00
Hans-Christoph Steiner 87ab3ca9da gitlab-ci: add wget to ubuntu_jammy_pip so test_mirroring_a_repo runs
Otherwise, it only runs on the fedora_latest job.  Debian-derives are by
far the most common platform, so this test should run on at least one. This
test caught bugs in !1788 so its valuable.
2026-05-20 11:48:38 +02:00
Hans-Christoph Steiner 976c9c0db4 ensure httpd is shut down when test_mirroring_a_repo fails
Otherwise, this will fail and then hang forever.  THis just puts everything
that could cause the hang in try/finally.
2026-05-20 11:35:05 +02:00
Hans-Christoph Steiner d77e8fa537 Merge branch 'remove-unused-string-from-translations' into 'master'
remove unused strings from translations

See merge request fdroid/fdroidserver!1829
2026-05-19 19:06:27 +00:00