cassandra: Properly wrap all binaries

Would previously overwrite the binary with the wrapper and thus wrap
itself (resulting in an infinite recursion on execution) for the
binaries in /bin.t
This commit is contained in:
Daniel Schaefer
2019-06-13 04:36:41 +02:00
parent 6778ee1862
commit d8ad5ad2a2
+14 -7
View File
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
url = "mirror://apache/cassandra/${version}/apache-${name}-bin.tar.gz"; url = "mirror://apache/cassandra/${version}/apache-${name}-bin.tar.gz";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper coreutils ];
installPhase = '' installPhase = ''
mkdir $out mkdir $out
@@ -51,8 +51,17 @@ stdenv.mkDerivation rec {
bin/sstablescrub \ bin/sstablescrub \
bin/sstableupgrade \ bin/sstableupgrade \
bin/sstableutil \ bin/sstableutil \
bin/sstableverify \ bin/sstableverify; do
tools/bin/cassandra-stress \ # Check if file exists because some don't exist across all versions
if [ -f $out/$cmd ]; then
wrapProgram $out/bin/$(basename "$cmd") \
--suffix-each LD_LIBRARY_PATH : ${libPath} \
--prefix PATH : ${binPath} \
--set JAVA_HOME ${jre}
fi
done
for cmd in tools/bin/cassandra-stress \
tools/bin/cassandra-stressd \ tools/bin/cassandra-stressd \
tools/bin/sstabledump \ tools/bin/sstabledump \
tools/bin/sstableexpiredblockers \ tools/bin/sstableexpiredblockers \
@@ -62,11 +71,9 @@ stdenv.mkDerivation rec {
tools/bin/sstablerepairedset \ tools/bin/sstablerepairedset \
tools/bin/sstablesplit \ tools/bin/sstablesplit \
tools/bin/token-generator; do tools/bin/token-generator; do
# Check if file exists because some don't exist across all versions
# check if file exists because some bin tools don't exist across all
# cassandra versions
if [ -f $out/$cmd ]; then if [ -f $out/$cmd ]; then
makeWrapper $out/$cmd $out/bin/$(${coreutils}/bin/basename "$cmd") \ makeWrapper $out/$cmd $out/bin/$(basename "$cmd") \
--suffix-each LD_LIBRARY_PATH : ${libPath} \ --suffix-each LD_LIBRARY_PATH : ${libPath} \
--prefix PATH : ${binPath} \ --prefix PATH : ${binPath} \
--set JAVA_HOME ${jre} --set JAVA_HOME ${jre}