9635 Commits

Author SHA1 Message Date
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.
dd458bead6/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
Hans-Christoph Steiner
7fc34181a8 remove unused string from translations 2026-05-19 20:50:41 +02:00
Hans-Christoph Steiner
2d1ed1b99b Merge branch 'docs/fix-occured-typo' into 'master'
Fix 'occured' -> 'occurred' typo in 4 docstrings/messages (resubmission)

See merge request fdroid/fdroidserver!1822
2026-05-19 17:53:31 +00:00
Mukunda Katta
256cc1c949 Fix 'occured' -> 'occurred' typo in 4 docstrings/messages
Common misspelling of 'occurred' across 4 files in fdroidserver/. Affects
docstrings (build.py, checkupdates.py, import_subcommand.py) and one
user-visible exception message (install.py:225).

No semantic change.
2026-05-19 17:52:53 +00:00
Hans-Christoph Steiner
cd426996ca Merge branch 'declare-build-system' into 'master'
explicitly declare setuptools as the build system

See merge request fdroid/fdroidserver!1815
2026-05-19 17:51:30 +00:00
Hans-Christoph Steiner
ed2a29d396 explicitly declare setuptools as the build system
This is useful when installing on super minimal installs.  Then setuptools
is only installed when it is needed.
2026-05-19 17:50:41 +00:00
Hans-Christoph Steiner
cb6eb33914 Merge branch 'new-basebox-release' into 'master'
makebuildserver: update to latest Debian basebox

See merge request fdroid/fdroidserver!1826
2026-05-19 17:50:25 +00:00
Hans-Christoph Steiner
d3cbb4d498 makebuildserver: update to latest Debian basebox 2026-05-19 17:49:40 +00:00
Hans-Christoph Steiner
ae7411c540 Merge branch 'merge_weblate' into 'master'
weblate

See merge request fdroid/fdroidserver!1828
2026-05-19 17:46:26 +00:00
Hans-Christoph Steiner
a59e26ad4f fix format strings 2026-05-19 19:30:05 +02:00
Hans-Christoph Steiner
0b29ad605b make -C locale compile 2026-05-19 19:30:05 +02:00
Hans-Christoph Steiner
1f2c3e54f2 fix format strings 2026-05-19 19:29:43 +02:00
Hans-Christoph Steiner
0f38a7118b fix "warning: 'msgid' format string with unnamed arguments cannot be properly localized:
The translator cannot reorder the arguments. Please consider using a format
string with named arguments, and a mapping instead of a tuple for the
arguments.
2026-05-19 18:33:45 +02:00
Hans-Christoph Steiner
7d4ae216c8 run locale/pick-complete-translations.py 2026-05-19 18:33:45 +02:00
UDP
4d3a356e91 Translated using Weblate: Chinese (Traditional Han script) (zh_Hant) by UDP <udp@users.noreply.hosted.weblate.org>
Currently translated at 74.6% (466 of 624 strings)

Translated using Weblate: Chinese (Traditional Han script) (zh_Hant) by UDP <udp@users.noreply.hosted.weblate.org>

Currently translated at 74.6% (466 of 624 strings)

Translated using Weblate: Chinese (Traditional Han script) (zh_Hant) by UDP <udp@users.noreply.hosted.weblate.org>

Currently translated at 74.6% (466 of 624 strings)

Co-authored-by: UDP <udp@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hant/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00
大王叫我来巡山
85c73071f9 Translated using Weblate: Chinese (Simplified Han script) (zh_Hans) by 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate: Chinese (Simplified Han script) (zh_Hans) by 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>

Currently translated at 100.0% (624 of 624 strings)

Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hans/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00
Cabbar Hayıroğlu
6c1269aa2a Translated using Weblate: Turkish (tr) by Cabbar Hayıroğlu <halil48efe@gmail.com>
Currently translated at 100.0% (624 of 624 strings)

Co-authored-by: Cabbar Hayıroğlu <halil48efe@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/tr/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00
Ashley Tsuma
56e86e0e0c Translated using Weblate: Swahili (sw) by Ashley Tsuma <tsumaashley@gmail.com>
Currently translated at 91.3% (570 of 624 strings)

Co-authored-by: Ashley Tsuma <tsumaashley@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/sw/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00
Steve Solomon
a01d0db299 Translated using Weblate: Swahili (sw) by Steve Solomon <stevenyasimi01@gmail.com>
Currently translated at 91.3% (570 of 624 strings)

Co-authored-by: Steve Solomon <stevenyasimi01@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/sw/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00
Ashley Tsuma
db4d0809fa Translated using Weblate: Swahili (sw) by Ashley Tsuma <tsumaashley@gmail.com>
Currently translated at 87.5% (546 of 624 strings)

Co-authored-by: Ashley Tsuma <tsumaashley@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/sw/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00
paul mayero
e116232f0d Translated using Weblate: Swahili (sw) by paul mayero <pmmayero@gmail.com>
Currently translated at 87.5% (546 of 624 strings)

Co-authored-by: paul mayero <pmmayero@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/sw/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00
Ashley Tsuma
da5580672b Translated using Weblate: Swahili (sw) by Ashley Tsuma <tsumaashley@gmail.com>
Currently translated at 87.0% (543 of 624 strings)

Translated using Weblate: Swahili (sw) by Ashley Tsuma <tsumaashley@gmail.com>

Currently translated at 86.6% (541 of 624 strings)

Co-authored-by: Ashley Tsuma <tsumaashley@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/sw/
Translation: F-Droid/F-Droid Server
2026-05-19 18:33:45 +02:00