restore pre gradle 9 archive task behaviour for file permissions
What changed, and why it matters
This commit changes how the wallet's build packaging handles file metadata. It removes settings that make archive files (like ZIPs) bit-for-bit identical every time they are built, and instead restores an older Gradle behavior that preserves file permissions (such as whether a file is executable). This is likely a build-fix rather than a direct security patch, but it could affect whether downloaded archives have correct executable bits, which matters for usability and trust in reproducible builds.
Treat as a build-maintenance change. Verify that release archives still have expected file permissions (e.g., executable bits for shell scripts or launchers) and that reproducible-build workflows are updated accordingly. No immediate application-level patching is indicated by this diff alone.
Security signals we found
Reproducible build settings removed from archive tasks
File permission preservation restored in build packaging
Build configuration change only; no application code modified
Evidence from the diff
In build.gradle, the commit replaces two reproducible-build flags on AbstractArchiveTask (preserveFileTimestamps = false and reproducibleFileOrder = true) with useFileSystemPermissions(). Gradle 9 changed archive defaults so that file permissions are no longer preserved by default; useFileSystemPermissions() restores the pre-Gradle-9 behavior. The change therefore prioritizes correct POSIX-style permissions in generated archives over deterministic archive byte content. There is no direct code vulnerability shown in the diff.
Changed components
build.gradle archive task configurationGenerated distribution archives (ZIP/TAR)Inspect captured patch +1 / −2
diff --git a/build.gradle b/build.gradle
index 8616a84..e08b77c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -28,8 +28,7 @@ repositories {
}
tasks.withType(AbstractArchiveTask).configureEach {
- preserveFileTimestamps = false
- reproducibleFileOrder = true
+ useFileSystemPermissions()
}
javafx {
Why this scored 27/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.