pkgbuild: Fix sha256sums array after 0.35.0 bump
Build Arch package / build (push) Successful in 27s
Build Arch package / build (push) Successful in 27s
update.sh replaced only the first sha256sums line and left orphan hashes, so makepkg could not source PKGBUILD. Rewrite both deb and launch-shim sums; reset pkgrel to 1 for the first 0.35.0 package.
This commit is contained in:
+41
-10
@@ -23,20 +23,51 @@ deb_url="https://downloads.cursor.com/grokbot/stable/${commit}/linux/x64/grok-bo
|
||||
tmp=$(mktemp)
|
||||
trap 'rm -f "$tmp"' EXIT
|
||||
curl -fsSL --retry 3 "$deb_url" -o "$tmp"
|
||||
sha=$(sha256sum "$tmp" | cut -d' ' -f1)
|
||||
deb_sha=$(sha256sum "$tmp" | cut -d' ' -f1)
|
||||
shim_sha=$(sha256sum grok-bot-launch.sh | cut -d' ' -f1)
|
||||
|
||||
# Reset pkgrel on upstream version bumps.
|
||||
sed -i \
|
||||
-e "s/^pkgver=.*/pkgver=${version}/" \
|
||||
-e "s/^_commit=.*/_commit=${commit}/" \
|
||||
-e "s/^sha256sums=.*/sha256sums=('${sha}')/" \
|
||||
-e "s/^pkgrel=.*/pkgrel=1/" \
|
||||
PKGBUILD
|
||||
|
||||
# Refresh .SRCINFO source URL + hashes without requiring makepkg.
|
||||
sed -i \
|
||||
-e "s/^\\tpkgver = .*/\\tpkgver = ${version}/" \
|
||||
-e "s#^\\tsource = https://downloads.cursor.com/grokbot/stable/.*/linux/x64/grok-bot_.*_amd64.deb#\\tsource = https://downloads.cursor.com/grokbot/stable/${commit}/linux/x64/grok-bot_${version}_amd64.deb#" \
|
||||
-e "s/^\\tnoextract = grok-bot_.*_amd64.deb/\\tnoextract = grok-bot_${version}_amd64.deb/" \
|
||||
-e "s/^\\tsha256sums = .*/\\tsha256sums = ${sha}/" \
|
||||
.SRCINFO
|
||||
python3 - "$deb_sha" "$shim_sha" <<'PY'
|
||||
import pathlib, re, sys
|
||||
deb_sha, shim_sha = sys.argv[1], sys.argv[2]
|
||||
p = pathlib.Path("PKGBUILD")
|
||||
text = p.read_text()
|
||||
block = f"sha256sums=(\n '{deb_sha}'\n '{shim_sha}'\n)"
|
||||
text2, n = re.subn(r"sha256sums=\([^\)]*\)", block, text, count=1, flags=re.S)
|
||||
if n != 1:
|
||||
raise SystemExit(f"sha256sums replace failed (n={n})")
|
||||
p.write_text(text2)
|
||||
PY
|
||||
|
||||
echo "Updated PKGBUILD and .SRCINFO to ${version} sha256=${sha}"
|
||||
python3 - "$version" "$commit" "$deb_sha" "$shim_sha" <<'PY'
|
||||
import pathlib, re, sys
|
||||
version, commit, deb_sha, shim_sha = sys.argv[1:5]
|
||||
p = pathlib.Path(".SRCINFO")
|
||||
lines = []
|
||||
saw_sha = False
|
||||
for line in p.read_text().splitlines(True):
|
||||
if line.startswith("\tpkgver ="):
|
||||
lines.append(f"\tpkgver = {version}\n"); continue
|
||||
if line.startswith("\tpkgrel ="):
|
||||
lines.append("\tpkgrel = 1\n"); continue
|
||||
if line.startswith("\tsource = https://downloads.cursor.com/grokbot/stable/"):
|
||||
lines.append(f"\tsource = https://downloads.cursor.com/grokbot/stable/{commit}/linux/x64/grok-bot_{version}_amd64.deb\n"); continue
|
||||
if line.startswith("\tnoextract = grok-bot_"):
|
||||
lines.append(f"\tnoextract = grok-bot_{version}_amd64.deb\n"); continue
|
||||
if line.startswith("\tsha256sums ="):
|
||||
if not saw_sha:
|
||||
lines.append(f"\tsha256sums = {deb_sha}\n")
|
||||
lines.append(f"\tsha256sums = {shim_sha}\n")
|
||||
saw_sha = True
|
||||
continue
|
||||
lines.append(line)
|
||||
p.write_text("".join(lines))
|
||||
PY
|
||||
|
||||
echo "Updated PKGBUILD and .SRCINFO to ${version} deb_sha=${deb_sha} shim_sha=${shim_sha}"
|
||||
|
||||
Reference in New Issue
Block a user