Abhishek Chaudhary created FINERACT-3011:
--------------------------------------------

             Summary: Source release tarball does not keep gradlew and the 
shell scripts executable
                 Key: FINERACT-3011
                 URL: https://issues.apache.org/jira/browse/FINERACT-3011
             Project: Apache Fineract
          Issue Type: Bug
          Components: Build
    Affects Versions: 1.16.0, 1.16.1
            Reporter: Abhishek Chaudhary
             Fix For: 1.17.0


Since the upgrade to Gradle 9 (FINERACT-2799), archive tasks store every file 
as 0644 and every directory as 0755, so {{srcDistTar}} no longer keeps the 
executable bit from the working tree. In the 1.16.0 and 1.16.1 source tarballs, 
{{gradlew}} and all shell scripts are 0644, and building from an extracted 
source release fails at the first step:

{noformat}
$ ./gradlew build
bash: ./gradlew: Permission denied
{noformat}

The 1.15.0 source tarball still had them executable.

*Steps to reproduce*
# {{./gradlew :fineract-war:srcDistTar}}
# {{tar tvzf fineract-war/build/distributions/apache-fineract-src-*.tar.gz | 
grep -E '/gradlew$|\.sh$'}}

*Expected*
{{gradlew}} and the shell scripts are {{-rwxr-xr-x}}, as they are in git.

*Proposed fix*
Set the permissions of {{gradlew}} and {{**/*.sh}} explicitly in the source 
distribution in {{fineract-war/build.gradle}}. The tarball stays reproducible 
and does not depend on the file modes of the machine that builds it.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to