2 Commits
Author SHA1 Message Date
mrambossekandClaude Opus 4.7 f99b403309 fix: sweep stale hashed indexes BEFORE fdroid update, not after
Build fdroidserver-ipfs image / build (push) Successful in 1m16s
scan_repo_files() in fdroidserver picks up any .json file under repo/
whose name isn't in its ignore list. Our renamed index-v2-<hash>.json
from the prior rehash run isn't in that list, so the next fdroid update
indexed it as an installable "package" with packageName == its sha256.

cleanup_stale_indexes in rehash.py already does the right thing — it
just ran too late, after the bogus entry was already in the new index.
Move the same sweep into the entrypoint, before fdroid update runs, so
scan_repo_files() sees a clean directory.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 07:40:07 +02:00
mrambossekandClaude Opus 4.7 a6168221d1 initial: fdroidserver-ipfs image
Build fdroidserver-ipfs image / build (push) Successful in 22s
Downstream of registry.gitlab.com/fdroid/docker-executable-fdroidserver:master,
patched for publishing F-Droid repos over IPFS:

  - install Debian ipfs-cid so fdroidserver populates ipfsCIDv1 on every
    package file (APKs, icons, screenshots), which fdroidclient with an
    IPFS-gateway mirror routes via CID natively
  - rehash.py wrapper that adds ipfsCIDv1 to entry["index"], renames the
    index to a content-addressed filename, and re-signs entry.jar after
    `fdroid update` — closes the cache-busting gap on the index file itself
  - entrypoint.sh chains rehash automatically after any `fdroid update`,
    so existing fdroid-via-docker wrappers need no changes

See SPEC.md for the rationale and Change 2's algorithm; README.md for
end-user usage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 22:48:39 +02:00