#!/bin/bash
set -e
set -o pipefail
if [ $( uname -s) = Darwin ] ; then
basedir = $( dirname $( cd " $( dirname " $0 " ) " ; pwd -P) )
else
basedir = $( dirname $( dirname $( readlink -fm $0 ) ) )
fi
source " $basedir /bin/java-config.sh "
VERSION = $( head -n 1 " $basedir /org.getmonero.i2p.zero/src/org/getmonero/i2p/zero/VERSION " )
rm -fr " $basedir /dist-zip-staging "
mkdir -p " $basedir /dist-zip-staging "
rm -fr " $basedir /dist-zip "
mkdir -p " $basedir /dist-zip "
cd " $basedir /dist "
for i in ${ TARGETS } ; do
cp -r ${ i } " $basedir " /dist-zip-staging/i2p-zero-${ i } .v${ VERSION }
cp -r ${ i } -gui " $basedir " /dist-zip-staging/i2p-zero-${ i } -gui.v${ VERSION }
done
versionDate = ` date -r " $basedir " /org.getmonero.i2p.zero/src/org/getmonero/i2p/zero/VERSION +"%Y%m%d%H%M.%S" `
find " $basedir " /dist-zip-staging -exec touch -t $versionDate { } \;
cd " $basedir /dist-zip-staging "
for i in ${ TARGETS } ; do
for j in "" "-gui" ; do
zip -r9 " $basedir " /dist-zip/i2p-zero-${ i } ${ j } .v${ VERSION } .zip i2p-zero-${ i } ${ j } .v${ VERSION }
normalizeZip " $basedir " /dist-zip/i2p-zero-${ i } ${ j } .v${ VERSION } .zip
done
done
cd ..
print4ColsJustified ( ) {
printf "%-.12s %s" " $1 " "| "
printf "%-.23s %s" " $2 " "| "
printf "%-.21s %s" " $3 " "| "
printf "%s\n" " $4 "
}
getFileSizeMB ( ) {
s = ` du -sk $1 | awk '{printf "%.1f",$1/1024,$2}' `
echo $s
}
print4ColsJustified "OS" "Uncompressed size (MB)" "Compressed size (MB)" " v $VERSION Reproducible build SHA-256 "
print4ColsJustified "------------------------" "------------------------" "------------------------" "------------------------------------------------------------------"
for i in ${ TARGETS } ; do
print4ColsJustified " ${ i } " " `getFileSizeMB $basedir /dist/ ${ i } ` " " `getFileSizeMB $basedir /dist-zip/i2p-zero- ${ i } .v ${ VERSION } .zip` " " \``getHash $basedir /dist-zip/i2p-zero- ${ i } .v ${ VERSION } .zip`\` "
print4ColsJustified " ${ i } GUI " " `getFileSizeMB $basedir /dist/ ${ i } -gui` " " `getFileSizeMB $basedir /dist-zip/i2p-zero- ${ i } -gui.v ${ VERSION } .zip` " " \``getHash $basedir /dist-zip/i2p-zero- ${ i } -gui.v ${ VERSION } .zip`\` "
done
echo ""
echo "Note: Reproducible builds are currently experimental. Due to JDK differences, Builds on Mac will consistently have different hashes than builds on Linux. Official releases will always be built using Docker."