-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.sh
More file actions
executable file
·60 lines (45 loc) · 1.87 KB
/
Copy pathpackage.sh
File metadata and controls
executable file
·60 lines (45 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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/"