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 buildand all pipelines pass. The latest fork pipeline2621461120fails before creating jobs. A target-side/maintainer pipeline is still needed.
Strongly Recommended
- 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/masterand 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/ job14974593672progressed 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 KotlinjvmToolchain(17)and the F-Droid runner only exposed JDK 21. Upstream commitb87c7c1aee4b32023cd03379bea8268a3d996e14removes 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...HEADpassed- MR changes API confirms only
metadata/io.github.rufid.ymlis added - YAML parse passed with Python/PyYAML
tools/rewrite-git-redirects.py io.github.rufidpassedfdroidandcheck-jsonschemaare 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=falsepassed on Linux SDK/JDK 21-Prufid.includePayloads=truewas not rerun in the current local tree becausepayloads/out/assetsandpayloads/out/jniLibswere 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.mdandpayloads/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