New app: Rufid

Required

  • The app complies with the inclusion criteria
  • The original app author has been notified. I am the upstream author/maintainer.
  • All related fdroiddata and RFP issues have been referenced in this merge request. No related issue was found.
  • Builds with fdroid build and all pipelines pass. The latest fork pipeline 2621461120 fails before creating jobs. A target-side/maintainer pipeline is still needed.
  • The upstream app source code repo contains the app metadata (summary/description/images/changelog/etc) in a Fastlane folder structure.
  • Releases are tagged.

Suggested

  • External repos are added as git submodules instead of srclibs. Rufid stages payload inputs through pinned build scripts instead.
  • Enable Reproducible Builds. Not enabled yet.
  • Multiple apks for native code. The initial inclusion uses one universal APK.

Notes

  • The MR branch has one commit on top of current fdroid/master and one file change: metadata/io.github.rufid.yml.
  • Summary and description are intentionally not stored in fdroiddata metadata. They are in upstream Fastlane metadata.
  • Current F-Droid metadata points to Rufid 0.1.1 / versionCode 2.
  • Upstream source commit: b87c7c1aee4b32023cd03379bea8268a3d996e14 (v0.1.1).
  • GitHub release: https://github.com/GPLaider/rufid/releases/tag/v0.1.1
  • Latest target-side pipeline 2620498853 / job 14974593672 progressed through source payload staging successfully, including FreeDOS, UEFI:NTFS, wimlib, and 7-Zip-JBinding. The remaining failure was the final app Gradle step because the app requested Kotlin jvmToolchain(17) and the F-Droid runner only exposed JDK 21. Upstream commit b87c7c1aee4b32023cd03379bea8268a3d996e14 removes that unnecessary toolchain pin while keeping the app version unchanged.
  • Current clean-branch checks run locally:
    • metadata newline/commit assertions passed
    • git diff --check refs/remotes/fdroid/master...HEAD passed
    • MR changes API confirms only metadata/io.github.rufid.yml is added
    • YAML parse passed with Python/PyYAML
    • tools/rewrite-git-redirects.py io.github.rufid passed
    • fdroid and check-jsonschema are not installed in the current local WSL/PowerShell environment, so they are not claimed here
  • Upstream checks after the JDK fix:
    • gradle --no-daemon :app:assembleRelease -Prufid.includePayloads=false passed on Linux SDK/JDK 21
    • -Prufid.includePayloads=true was not rerun in the current local tree because payloads/out/assets and payloads/out/jniLibs were not staged; the previous target-side F-Droid job already verified source payload staging before reaching the app Gradle failure
  • Payloads are not copied from APKs. The upstream repository documents the supply chain in PAYLOAD_SUPPLY_CHAIN.md and payloads/payloads.lock.
  • FreeDOS stays enabled in the F-Droid build path. The staged FreeDOS image is assembled from source-built FreeDOS kernel, FreeCOM, SYS, and boot-sector artifacts using verified upstream package/source inputs.
  • UEFI:NTFS and wimlib are built from pinned upstream source paths.
  • 7-Zip-JBinding is built from pinned upstream source with RAR/unRAR native sources excluded from the Android CMake input.
Edited by GPLaider

Merge request reports

Loading