* Rename cmuxterm to cmux across entire codebase - Rename GitHub repos: manaflow-ai/cmuxterm -> manaflow-ai/cmux, manaflow-ai/homebrew-cmuxterm -> manaflow-ai/homebrew-cmux - Rename bundle IDs: com.cmuxterm.app -> com.cmux.app - Rename CLI: CLI/cmuxterm.swift -> CLI/cmux.swift - Rename homebrew submodule: homebrew-cmuxterm -> homebrew-cmux - Update all socket paths: /tmp/cmuxterm*.sock -> /tmp/cmux*.sock - Update all GitHub URLs, DMG names, Sparkle URLs - Update all source files, scripts, tests, docs, CI workflows * Bump version to 1.23.0
60 lines
1.7 KiB
Bash
Executable file
60 lines
1.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SPARKLE_VERSION="${SPARKLE_VERSION:-2.8.1}"
|
|
SPARKLE_KEYCHAIN_ACCOUNT="${SPARKLE_KEYCHAIN_ACCOUNT:-cmux}"
|
|
SPARKLE_ENV_FILE="${SPARKLE_ENV_FILE:-.env}"
|
|
|
|
work_dir="$(mktemp -d)"
|
|
cleanup() {
|
|
rm -rf "$work_dir"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
echo "Cloning Sparkle ${SPARKLE_VERSION}..."
|
|
git clone --depth 1 --branch "$SPARKLE_VERSION" https://github.com/sparkle-project/Sparkle "$work_dir/Sparkle"
|
|
|
|
echo "Building Sparkle generate_keys tool..."
|
|
xcodebuild \
|
|
-project "$work_dir/Sparkle/Sparkle.xcodeproj" \
|
|
-scheme generate_keys \
|
|
-configuration Release \
|
|
-derivedDataPath "$work_dir/build" \
|
|
CODE_SIGNING_ALLOWED=NO \
|
|
build >/dev/null
|
|
|
|
generate_keys="$work_dir/build/Build/Products/Release/generate_keys"
|
|
if [[ ! -x "$generate_keys" ]]; then
|
|
echo "generate_keys binary not found at $generate_keys" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "Generating or locating Sparkle keys in keychain (account: $SPARKLE_KEYCHAIN_ACCOUNT)..."
|
|
"$generate_keys" --account "$SPARKLE_KEYCHAIN_ACCOUNT"
|
|
|
|
public_key="$("$generate_keys" --account "$SPARKLE_KEYCHAIN_ACCOUNT" -p)"
|
|
private_key_file="$work_dir/sparkle_private_key.txt"
|
|
"$generate_keys" --account "$SPARKLE_KEYCHAIN_ACCOUNT" -x "$private_key_file"
|
|
private_key="$(cat "$private_key_file")"
|
|
|
|
if [[ -z "$public_key" || -z "$private_key" ]]; then
|
|
echo "Failed to generate Sparkle keys." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -f "$SPARKLE_ENV_FILE" ]]; then
|
|
tmp_env="$work_dir/env.tmp"
|
|
awk -F= 'BEGIN {OFS="="}
|
|
$1 == "SPARKLE_PUBLIC_KEY" {next}
|
|
$1 == "SPARKLE_PRIVATE_KEY" {next}
|
|
{print}
|
|
' "$SPARKLE_ENV_FILE" > "$tmp_env"
|
|
mv "$tmp_env" "$SPARKLE_ENV_FILE"
|
|
fi
|
|
|
|
{
|
|
echo "SPARKLE_PUBLIC_KEY=$public_key"
|
|
echo "SPARKLE_PRIVATE_KEY=$private_key"
|
|
} >> "$SPARKLE_ENV_FILE"
|
|
|
|
echo "Sparkle keys written to $SPARKLE_ENV_FILE"
|