F-Droid compliance #112

Merged
albert merged 2 commits from fdroid/fingerprint-and-antifeature into main 2026-07-27 03:59:51 +00:00
Owner

Following up on #111, this change adds the F-Droid repo fingerprint and the "non-free network services" tag to the shepherd-media build.

Following up on #111, this change adds the F-Droid repo fingerprint and the "non-free network services" tag to the shepherd-media build.
Pulled from the signature on the live repo's entry.jar, so the value in
the docs is the one clients will actually pin, not a transcription of
what the landing page claims:

    keytool -printcert -jarfile entry.jar
    Owner:  CN=git.armeafamily.com F-Droid repo
    SHA256: B3:DC:61:94:…:B4:22

The QR code stays the quick path for getting it onto a phone, but the
fingerprint is what makes an unattended background update safe, and
reading it out of the same page it is meant to authenticate is circular.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EmC6kNZDqCMWGkmXuwyEFo
feat(fdroid): tag shepherd-media with the NonFreeNet anti-feature
All checks were successful
CI / Version harmony (pull_request) Successful in 12s
CI / Arch neutrality (pull_request) Successful in 11s
CI / ShellCheck (pull_request) Successful in 15s
CI / CI image (pull_request) Successful in 22s
CI / CI image (Android) (pull_request) Successful in 21s
CI / CI images (pull_request) Successful in 0s
CI / Rustfmt (pull_request) Successful in 13s
CI / Warm cargo registry (pull_request) Successful in 19s
CI / Android media (cargo-ndk build) (pull_request) Successful in 34s
CI / Android companion (unit tests) (pull_request) Successful in 58s
CI / Clippy (pull_request) Successful in 1m45s
CI / Build (pull_request) Successful in 3m4s
CI / Test (pull_request) Successful in 3m23s
CI / E2E (pull_request) Successful in 3m16s
CI / Firewall E2E (pull_request) Successful in 4m3s
CI / Package (.deb smoke build) (pull_request) Successful in 2m23s
39f37559ac
YouTube libraries are resolved with yt-dlp against YouTube itself — a
proprietary service that cannot be self-hosted or swapped out — so the
app earns the tag even though it does not require it: local-directory
and RSS libraries touch no such service. The declaration carries a
reason string, which the client shows alongside the tag.

Only shepherd-media. The companion app speaks Bluetooth LE to a device
you own and reaches no network service at all.

Verified against the v0.3.1 APKs: fdroidserver emits it per-version in
index-v2 (that format lets anti-features vary by version), and the
companion entry stays clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EmC6kNZDqCMWGkmXuwyEFo
albert merged commit 3b025450eb into main 2026-07-27 03:59:51 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
albert/shepherd-launcher!112
No description provided.