9692 Commits
Author SHA1 Message Date
Michael Pöhn 6416542655 Merge branch 'git-repo-status-show-deleted-modified-separately' into 'master'
separate deleted and modified in git repo status JSON

See merge request fdroid/fdroidserver!1862
2026-09-11 11:49:58 +00:00
Hans-Christoph Steiner 52f0f82a9b separate deleted and modified in git repo status JSON
Running `git status` from the command line shows deleted and modified:

```console
$ git status
On branch main
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	deleted:    repo/index.css
	modified:   repo/index.html
```

But GitPython via `git ls-files` includes deleted files in the modified list:

```
>>> git_repo.git().ls_files(deleted=True).split()
['repo/index.css']
>>> git_repo.git().ls_files(modified=True).split()
['repo/index.css', 'repo/index.html']
```

This was very confusing when troubleshooting #1344
2026-09-11 12:40:05 +02:00
Michael Pöhn e77dad5a38 Merge branch 'fix-test_signindex' into 'master'
signindex: fix tests and ensure index.jar always uses SHA1

See merge request fdroid/fdroidserver!1851
2026-09-11 10:30:25 +00:00
Hans-Christoph Steiner 61c6290a7a signindex: fix test_signindex case which was not running
* `if common.find_apksigner({}) is None:` was always false.
* test case never generated files for archive/
* use --nosign to only sign jars with signindex
2026-09-11 10:30:02 +00:00
Hans-Christoph Steiner ae11f63117 signindex: ensure index.jar always uses SHA1 2026-09-11 10:30:02 +00:00
Hans-Christoph Steiner bd56812fed signindex: complete conversion to common.get_config()
5b997e4037
2026-09-11 10:30:02 +00:00
Hans-Christoph Steiner d03ee2b138 hide icon warnings in integration tests 2026-09-11 10:30:02 +00:00
Hans-Christoph Steiner f9b5bbd66f index: ensure all indexes have the same timestamp
The current method messed up on timezones in some cases. Also fixes:
DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and
scheduled for removal in a future version. Use timezone-aware objects to
represent datetimes in UTC:
datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
2026-09-11 10:30:02 +00:00
Michael Pöhn 5d2dc1e4d1 Merge branch 'test-prod-index-css-html-png' into 'master'
add test of production index.(css/html/png) setup

See merge request fdroid/fdroidserver!1843
2026-09-11 10:00:15 +00:00
Hans-Christoph Steiner b8fbf79a9d add test of production index.(css/html/png) setup 2026-09-11 09:59:48 +00:00
Hans-Christoph Steiner 89f4920b5a Merge branch 'mark-test-with-3.14-breakage' into 'master'
zlib-ng's non-determinism breaks implanting APK sigs #1354, skip test when affected

See merge request fdroid/fdroidserver!1850
2026-09-10 16:22:33 +00:00
Hans-Christoph Steiner 86d643e861 zlib-ng's non-determinism breaks implanting APK sigs #1354
Python 3.14 defaults to building with zlib-ng, so this is a workaround
until signature copying is fixed.

This also fixes !1848 tests on macOS:
https://gitlab.com/fdroid/fdroidserver/-/jobs/15472305534
FileNotFoundError: [Errno 2] No such file or directory: '/etc/os-release'
2026-09-10 16:21:27 +00:00
Hans-Christoph Steiner 660d469fc2 Merge branch 'master' into 'master'
Correct typos

See merge request fdroid/fdroidserver!1857
2026-09-10 16:03:34 +00:00
Benjamin 9452ef5dc5 Correct typos 2026-09-10 16:03:11 +00:00
Hans-Christoph Steiner 8f52ae3ce2 Merge branch 'gitlab-ci-fix-metadata_v0-after-1854' into 'master'
gitlab-ci: set baseline for metadata_v0 after !1854

See merge request fdroid/fdroidserver!1861
2026-09-10 15:22:05 +00:00
Hans-Christoph Steiner e96d3778a0 gitlab-ci: set baseline for metadata_v0 after !1854 2026-09-10 16:33:46 +02:00
Michael Pöhn 3cbbe81055 Merge branch 'taler-donation-support' into 'master'
add taler donation support

Closes #1347

See merge request fdroid/fdroidserver!1854
2026-08-27 14:17:45 +00:00
Michael Pöhn ebcf5636e7 🪙 add support for taler template based donations 2026-08-27 16:00:16 +02:00
Michael Pöhn d7f52c4580 🧋 add array support for doante link metadata.
With this change the `Donate` metadata field can also be an array of
links, not just one single link. e.g.:

```
Donate:
  - "https://f-droid.org/donate"
  - "https://donate.example.com/fdroid"
```

For backwards compatibility the old solo string format is also
supported. e.g.:

```
Donate: "https://f-droid.org/donate"
```
2026-08-27 13:54:58 +00:00
Michael Pöhn ab268be1c8 0️⃣ deal with leading zeros in metadata_v0 ci test 2026-08-27 13:54:58 +00:00
Michael Pöhn 58efbdfb50 Merge branch 'fix-symlinks' into 'master'
Fix symlink handling around triple-t/fastlane metadata

Closes #1358

See merge request fdroid/fdroidserver!1858
2026-08-27 08:23:20 +00:00
ByteHamster 396bfec457 CI doesn't like asserts 2026-08-25 23:55:55 +02:00
ByteHamster 10c3d03b6a Turn it into a utility function 2026-08-25 23:35:04 +02:00
ByteHamster 0ae5a4fcdc Fix symlink handling around triple-t/fastlane metadata 2026-08-23 10:13:02 +02:00
Hans-Christoph Steiner 6af4c4216e Merge branch 'catch-failure-old-sign' into 'master'
Don't ignore errors in sign_jar with use_old_algos

Closes #1355

See merge request fdroid/fdroidserver!1848
2026-07-22 09:36:56 +00:00
Hans-Christoph Steiner 32d0b3bf8f signindex: test exception when failing to sign v0/v1 2026-07-22 11:26:28 +02:00
Hans-Christoph Steiner 5b997e4037 signindex: convert to common.get_config()
717df09be0
2026-07-22 08:19:42 +02:00
Thore Goebel 38c3cbc896 Don't ignore errors in sign_jar with use_old_algos
Fixes https://gitlab.com/fdroid/fdroidserver/-/work_items/1355
2026-07-21 17:33:54 +02:00
Hans-Christoph Steiner 725da99591 Merge branch 'plugins-security-module-doc' into 'master'
document plugins security model, #1351

See merge request fdroid/fdroidserver!1842
2026-07-21 12:35:27 +00:00
Hans-Christoph Steiner ae90037af9 document plugins security model, #1351 2026-07-21 12:05:50 +00:00
Hans-Christoph Steiner 8748dc1caf Merge branch 'drop-v1-sigs' into 'master'
reject v1-only signed apks when AllowedAPKSigningKeys: is in use

Closes #1256

See merge request fdroid/fdroidserver!1808
2026-07-21 10:56:11 +00:00
Michael Pöhn 1ea8ca7685 🧺 make TmpCwd more fault tolerant
TmpCwd used to raise FileNotFound exception when the processes cwd is
pointing to a non-existent directory.  This change makes it so that
TmpCwd doesn't raise this exception anymore.
2026-07-21 10:44:38 +00:00
Michael Pöhn 530c885a66 🌴 update: add get_apks_without_allowed_signatures v1 sig scheme only test 2026-07-21 10:44:38 +00:00
Michael Pöhn f634552c1d ⚰️ update: add v2+ signing scheme check to get_apks_without_allowed_signatures 2026-07-21 10:44:38 +00:00
Michael Pöhn 02da07b736 🐽 make scan_apk_androguard determine is_v1_signed_only 2026-07-21 10:44:38 +00:00
Michael Pöhn 671b728789 ✂️ add apkfile_is_v1_signed_only
Intially apk_is_v1_signed_only() was designed to expect APK file-paths
as parameter. In some cases we already have an androguard APK instance,
so those changes the signature of apk_is_v1_signed_only to take
androguard APK objects instead of file-paths. Additionally we introduce
apkfile_is_v1_signed_only for working with file-paths.
2026-07-21 10:44:38 +00:00
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