summarylogtreecommitdiffstats
path: root/update_pkgbuild.sh
blob: e0d8380b660f8ed1bcd490f2e24bd07229986e3b (plain)
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
61
62
63
64
#!/bin/bash

# Script to automatically update PKGBUILD with the latest CJsShell version and SHA256

set -e

REPO_PATH="/home/cadenfinley/Documents/GitHub/CJsShell"
PKGBUILD_PATH="/home/cadenfinley/Documents/GitHub/cjsh-AUR/PKGBUILD"

echo "Fetching latest version from CJsShell repository..."
cd "$REPO_PATH"
LATEST_TAG=$(git describe --tags --abbrev=0)
LATEST_VERSION=${LATEST_TAG#v}

if [ -z "$LATEST_VERSION" ]; then
    echo "Error: Could not determine latest version"
    exit 1
fi

echo "Latest version: $LATEST_TAG (pkgver $LATEST_VERSION)"

# Get current version from PKGBUILD
CURRENT_VERSION=$(grep "^pkgver=" "$PKGBUILD_PATH" | cut -d= -f2)
echo "Current version in PKGBUILD: $CURRENT_VERSION"

if [ "$LATEST_VERSION" = "$CURRENT_VERSION" ]; then
    echo "PKGBUILD is already up to date!"
    exit 0
fi

echo "Downloading tarball for tag $LATEST_TAG..."
TARBALL_URL="https://github.com/CadenFinley/CJsShell/archive/refs/tags/${LATEST_TAG}.tar.gz"
TEMP_DIR=$(mktemp -d)
TARBALL_PATH="$TEMP_DIR/cjsh-${LATEST_VERSION}.tar.gz"

curl -sL "$TARBALL_URL" -o "$TARBALL_PATH"

echo "Calculating SHA256 checksum..."
SHA256=$(sha256sum "$TARBALL_PATH" | cut -d' ' -f1)
echo "SHA256: $SHA256"

# Clean up temp directory
rm -rf "$TEMP_DIR"

echo "Updating PKGBUILD..."

# Update pkgver
sed -i "s/^pkgver=.*/pkgver=$LATEST_VERSION/" "$PKGBUILD_PATH"

# Update sha256sums
sed -i "s/^sha256sums=.*/sha256sums=('$SHA256')/" "$PKGBUILD_PATH"

# Reset pkgrel to 1 when version changes
sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD_PATH"

echo "PKGBUILD updated successfully!"
echo "  Version: $CURRENT_VERSION -> $LATEST_VERSION"
echo "  SHA256: $SHA256"
echo ""
echo "Don't forget to:"
echo "  1. Review the changes in PKGBUILD"
echo "  2. Test the build with 'makepkg -si'"
echo "  3. Update .SRCINFO with 'makepkg --printsrcinfo > .SRCINFO'"
echo "  4. Commit and push the changes"