From f7870a2e60e8d1e7998afa4f88343a91dc2d5026 Mon Sep 17 00:00:00 2001 From: Igor Barcik Date: Tue, 5 May 2026 19:25:50 +0200 Subject: [PATCH] add cleanup script and automated updater for version bumps --- cleanup.sh | 4 ++ update-windsurf.sh | 96 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 cleanup.sh create mode 100755 update-windsurf.sh diff --git a/cleanup.sh b/cleanup.sh new file mode 100644 index 0000000..1d499f4 --- /dev/null +++ b/cleanup.sh @@ -0,0 +1,4 @@ +rm -f .SRCINFO +rm -f code.sh +rm -f windsurf*.tar.zst +rm -f Windsurf*.deb \ No newline at end of file diff --git a/update-windsurf.sh b/update-windsurf.sh new file mode 100755 index 0000000..82bfec5 --- /dev/null +++ b/update-windsurf.sh @@ -0,0 +1,96 @@ +#!/bin/bash +# Windsurf AUR package updater + +set -e + +PKGDIR="$(dirname "$0")" +PKGBUILD="$PKGDIR/PKGBUILD" +SRCINFO="$PKGDIR/.SRCINFO" + +# Colors +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Get current version from PKGBUILD +current_ver=$(grep -E '^pkgver=' "$PKGBUILD" | cut -d= -f2) +echo "Current PKGBUILD version: $current_ver" + +# Fetch latest version from apt repository +echo "Checking Windsurf repository..." +latest_info=$(curl -s "https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/dists/stable/main/binary-amd64/Packages.gz" | zcat) +latest_ver=$(echo "$latest_info" | grep -A1 "Package: windsurf" | grep "Version:" | head -1 | sed 's/Version: \([0-9.]*\).*/\1/') + +if [[ -z "$latest_ver" ]]; then + echo -e "${RED}Error: Could not fetch latest version${NC}" + exit 1 +fi + +echo "Latest available version: $latest_ver" + +# Compare versions +if [[ "$current_ver" == "$latest_ver" ]]; then + echo -e "${GREEN}Already up to date!${NC}" + exit 0 +fi + +# Check if latest is newer (simple version comparison) +if printf '%s\n%s\n' "$current_ver" "$latest_ver" | sort -V -C; then + echo -e "${YELLOW}Update available: $current_ver → $latest_ver${NC}" +else + echo -e "${YELLOW}Repository version ($latest_ver) is older than PKGBUILD ($current_ver)${NC}" + echo "Skipping update." + exit 0 +fi + +# Download and calculate SHA256 +deb_url="https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/w/windsurf/Windsurf-linux-x64-${latest_ver}.deb" +echo "" +echo "Downloading ${latest_ver} for SHA256 verification..." +echo "URL: $deb_url" + +new_sha256=$(curl -sL "$deb_url" | sha256sum | cut -d' ' -f1) + +if [[ -z "$new_sha256" ]] || [[ ${#new_sha256} -ne 64 ]]; then + echo -e "${RED}Error: Failed to calculate SHA256${NC}" + exit 1 +fi + +echo "" +echo "New SHA256: $new_sha256" +echo "" + +# Show diff +echo "Proposed changes:" +echo " PKGBUILD: pkgver=$latest_ver" +echo " PKGBUILD: sha256sums=('$new_sha256' ...)" +echo " .SRCINFO: pkgver = $latest_ver" +echo " .SRCINFO: source = ...Windsurf-linux-x64-${latest_ver}.deb" +echo " .SRCINFO: sha256sums = $new_sha256" +echo "" + +# Ask for confirmation +read -p "Update PKGBUILD and .SRCINFO? [Y/n] " -n 1 -r +echo "" + +if [[ ! $REPLY =~ ^[Yy]$ ]] && [[ -n $REPLY ]]; then + echo "Update cancelled." + exit 0 +fi + +# Update PKGBUILD +echo "Updating PKGBUILD..." +sed -i "s/^pkgver=.*/pkgver=$latest_ver/" "$PKGBUILD" +sed -i "s/sha256sums=('[^']*'/sha256sums=('$new_sha256'/" "$PKGBUILD" + +# Update .SRCINFO +echo "Updating .SRCINFO..." +sed -i "s/pkgver = .*/pkgver = $latest_ver/" "$SRCINFO" +sed -i "s|Windsurf-linux-x64-[0-9.]*\.deb|Windsurf-linux-x64-${latest_ver}.deb|" "$SRCINFO" +sed -i "s/sha256sums = [a-f0-9]*/sha256sums = $new_sha256/" "$SRCINFO" + +echo -e "${GREEN}Updated to version $latest_ver${NC}" +echo "" +echo "Review changes with: git diff" +echo "Build with: makepkg -si"