convert_redb_to_sqlite.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. # Configuration
  4. BINARY_URL="https://github.com/thesimplekid/cdk-convert-redb-to-sqlite/releases/download/v0.1.1/cdk-convert-redb-to-sqlite"
  5. BINARY_NAME="cdk-convert-redb-to-sqlite"
  6. EXPECTED_SHA256="5af74b7fa1d20a8e53694bb31c6234dfdaae9d8222047e361785cc8420496709"
  7. # Create temporary directory for downloading
  8. TMP_DIR=$(mktemp -d)
  9. trap 'rm -rf "$TMP_DIR"' EXIT
  10. echo "Downloading binary to temporary directory: $TMP_DIR"
  11. cd "$TMP_DIR" || exit 1
  12. echo "Downloading binary from $BINARY_URL..."
  13. if ! curl -L -o "$BINARY_NAME" "$BINARY_URL"; then
  14. echo "Failed to download binary"
  15. exit 1
  16. fi
  17. # Verify SHA256 checksum
  18. echo "Verifying SHA256 checksum..."
  19. ACTUAL_SHA256=$(sha256sum "$BINARY_NAME" | cut -d ' ' -f 1)
  20. if [ "$ACTUAL_SHA256" != "$EXPECTED_SHA256" ]; then
  21. echo "Checksum verification failed!"
  22. echo "Expected: $EXPECTED_SHA256"
  23. echo "Got: $ACTUAL_SHA256"
  24. exit 1
  25. fi
  26. echo "Checksum verified successfully!"
  27. echo "Making binary executable..."
  28. if ! chmod +x "$BINARY_NAME"; then
  29. echo "Failed to make binary executable"
  30. exit 1
  31. fi
  32. echo "Running binary from temporary directory: $TMP_DIR"
  33. "$TMP_DIR/$BINARY_NAME"