x
This commit is contained in:
60
script/package.sh
Executable file
60
script/package.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
set -o pipefail
|
||||
[ "$#" = "1" ] && [ "$1" = '-v' ] && set -x
|
||||
|
||||
OUTPUT_DIR="bin"
|
||||
PACKAGES_DIR="packages"
|
||||
TEMP_DIR="temp_package"
|
||||
VERSION=$(git describe --tags --always --dirty="-dev")
|
||||
CHECKSUMS_FILE="$PACKAGES_DIR/checksums.txt"
|
||||
|
||||
make -f Makefile crossbuild
|
||||
|
||||
rm -rf $PACKAGES_DIR $TEMP_DIR
|
||||
|
||||
mkdir -p $PACKAGES_DIR $TEMP_DIR
|
||||
|
||||
echo "" > $CHECKSUMS_FILE
|
||||
|
||||
for binary in $OUTPUT_DIR/chatlog_*_*; do
|
||||
binary_name=$(basename $binary)
|
||||
|
||||
# quick start
|
||||
if [[ $binary_name == "chatlog_darwin_amd64" ]]; then
|
||||
cp "$binary" "$PACKAGES_DIR/chatlog_macos"
|
||||
echo "$(sha256sum $PACKAGES_DIR/chatlog_macos | sed "s|$PACKAGES_DIR/||")" >> $CHECKSUMS_FILE
|
||||
elif [[ $binary_name == "chatlog_windows_amd64" ]]; then
|
||||
cp "$binary" "$PACKAGES_DIR/chatlog_windows.exe"
|
||||
echo "$(sha256sum $PACKAGES_DIR/chatlog_windows.exe | sed "s|$PACKAGES_DIR/||")" >> $CHECKSUMS_FILE
|
||||
elif [[ $binary_name == "chatlog_linux_amd64" ]]; then
|
||||
cp "$binary" "$PACKAGES_DIR/chatlog_linux"
|
||||
echo "$(sha256sum $PACKAGES_DIR/chatlog_linux | sed "s|$PACKAGES_DIR/||")" >> $CHECKSUMS_FILE
|
||||
fi
|
||||
|
||||
cp "README.md" "LICENSE" $TEMP_DIR
|
||||
|
||||
package_name=""
|
||||
os_arch=$(echo $binary_name | cut -d'_' -f 2-)
|
||||
if [[ $binary_name == *"_windows_"* ]]; then
|
||||
cp "$binary" "$TEMP_DIR/chatlog.exe"
|
||||
package_name="chatlog_${VERSION}_${os_arch}.zip"
|
||||
zip -j "$PACKAGES_DIR/$package_name" -r $TEMP_DIR/*
|
||||
else
|
||||
cp "$binary" "$TEMP_DIR/chatlog"
|
||||
package_name="chatlog_${VERSION}_${os_arch}.tar.gz"
|
||||
tar -czf "$PACKAGES_DIR/$package_name" -C $TEMP_DIR .
|
||||
fi
|
||||
|
||||
rm -rf $TEMP_DIR/*
|
||||
|
||||
if [[ ! -z "$package_name" ]]; then
|
||||
echo "$(sha256sum $PACKAGES_DIR/$package_name | sed "s|$PACKAGES_DIR/||")" >> $CHECKSUMS_FILE
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
rm -rf $TEMP_DIR
|
||||
|
||||
echo "📦 All packages and their sha256 checksums have been created in $PACKAGES_DIR/"
|
||||
Reference in New Issue
Block a user