Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
fdroidserver
fdroidserver
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 249
    • Issues 249
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 16
    • Merge Requests 16
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • External Wiki
    • External Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • F-Droid
  • fdroidserverfdroidserver
  • Merge Requests
  • !669

Merged
Opened Aug 28, 2019 by Hans-Christoph Steiner@eighthaveOwner

Graphic hash filename for caching

  • Overview 6
  • Commits 4
  • Pipelines 3
  • Changes 6

This makes fdroid update create a filename with the SHA-256 of the file contents as part of the filename for all "graphics" files (icon.png, featureGraphic.png, tvBanner.png, promoGraphic.png). This filename is then used to make a hard link to the actual file in its original name. The SHA-256 filename is then used in the index. This provides a way for fdroidclient and browsers to reliably cache the file forever yet still update when the file changes. It makes the filename be tied to the file contents. So new filename means new contents, and unchanged filename means unchanged contents.

This also includes two changes to setup.py from the 1.1.x release cycle.

fdroid-website!453 (merged)

Thanks to @uniqx for working through all the details of this problem and solution. ANd thanks to @ploink and @BO41 for providing all the profiling work which made it clear that this work is a priority.

Assignee
Assign to
Reviewer
Request review from
2.0
Milestone
2.0 (Past due)
Assign milestone
Time tracking
Reference: fdroid/fdroidserver!669
Source branch: graphic-hash-filename-for-caching