bharanic-dev opened a new issue #10582:
URL: https://github.com/apache/pulsar/issues/10582


   **Describe the bug**
   
   I am unable to build the RPM packages on a MAC OS, using the steps described 
in the link: 
https://github.com/apache/pulsar/wiki/Release-process#31-build-rpm-and-deb-packages
   
   Basically do:
   
   - mvn install -DskipTests
   - pulsar-client-cpp/pkg/rpm/docker-build-rpm.sh
   
   It fails with the following error:
   Scanning dependencies of target pulsarStaticWithDeps
   /bin/sh: ./build-support/merge_archives.sh: /usr/bin/env: bad interpreter: 
Permission denied
   make[3]: *** [lib/CMakeFiles/pulsarStaticWithDeps] Error 126
   make[2]: *** [lib/CMakeFiles/pulsarStaticWithDeps.dir/all] Error 2
   make[1]: *** [lib/CMakeFiles/pulsarStaticWithDeps.dir/rule] Error 2
   make: *** [pulsarStaticWithDeps] Error 2
   error: Bad exit status from /var/tmp/rpm-tmp.yyZvkJ (%build)
   
   **To Reproduce**
   git clone g...@github.com:apache/pulsar.git apachepulsar
   cd apachepulsar/
   mvn install -DskipTests
   ./pulsar-client-cpp/pkg/rpm/docker-build-rpm.sh
   
   **Expected behavior**
   The expectation is that the build succeeds.
   
   **Desktop (please complete the following information):**
    - OS: macOS Catalina 10.15.7
   
   **Additional context**
   
   I spent some time investigating and it appears that the root-cause might be 
that the execute permission is not set for the following shell script in the 
source archive that gets built.
   
   ls -l 
apache-pulsar-2.8.0-SNAPSHOT-src/pulsar-client-cpp/build-support/merge_archives.sh
   -rw-r--r--  1 bchadalavada  wheel  1196 Jan 22  2020 
apache-pulsar-2.8.0-SNAPSHOT-src/pulsar-client-cpp/build-support/merge_archives.sh
   
   The build works fine if I untar the archive, set the execute permission 
manually and tar it back and then run 
   pulsar-client-cpp/pkg/rpm/docker-build-rpm.sh
   
   Looking at the commit history, we seem to be using the maven-assembly-plugin 
for packaging the sources and the assembly descriptor used is the apache maven 
"sourceReleaseAssemblyDescriptor" .
   commit 0770ae6cf6ff041195d59088db43432244376a94
   Author: Enrico Olivelli <eolive...@gmail.com>
   Date:   Thu Jan 21 11:40:32 2021 +0100
       Create Source tarball using Default ASF Configuration (#9184)
       With this patch we are now using the common ASF configuration to create 
the "release tarball" to be VOTEd and release during the official VOTE.
   
   One way to fix the problem would be to copy 
"sourceReleaseAssemblyDescriptor" and modify it to set the "fileMode" 
appropriately and use that as the assembly descriptor. But that may defeat the 
purpose of using the apache maven assembly plugin.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to