mirror of
https://github.com/archlinux/aur.git
synced 2026-01-27 20:28:31 +01:00
57 lines
No EOL
1.7 KiB
Bash
Executable file
57 lines
No EOL
1.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# 配置仓库信息
|
|
REPO_USER="lbjlaq"
|
|
REPO_NAME="Antigravity-Manager"
|
|
|
|
echo "==> 正在检查 GitHub 最新版本..."
|
|
|
|
# 1. 获取 GitHub 最新 Release 版本号
|
|
# 使用 GitHub API 获取 latest release 的 tag_name
|
|
LATEST_TAG=$(curl -s "https://api.github.com/repos/$REPO_USER/$REPO_NAME/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
|
|
|
# 获取失败处理
|
|
if [ -z "$LATEST_TAG" ]; then
|
|
echo "!! 错误: 无法获取最新版本信息,请检查网络或 GitHub API 限制。"
|
|
exit 1
|
|
fi
|
|
|
|
# 去掉可能存在的 'v' 前缀 (例如 v3.3.6 -> 3.3.6)
|
|
NEW_VER=${LATEST_TAG#v}
|
|
|
|
# 2. 读取当前 PKGBUILD 中的版本
|
|
CURRENT_VER=$(grep "^pkgver=" PKGBUILD | cut -d'=' -f2)
|
|
|
|
echo " 本地版本: $CURRENT_VER"
|
|
echo " 最新版本: $NEW_VER"
|
|
|
|
if [ "$NEW_VER" == "$CURRENT_VER" ]; then
|
|
echo "==> 当前已是最新版本,无需更新。"
|
|
exit 0
|
|
fi
|
|
|
|
echo "==> 发现新版本!开始执行更新流程..."
|
|
|
|
# 3. 更新 PKGBUILD
|
|
# 修改 pkgver
|
|
sed -i "s/^pkgver=.*/pkgver=$NEW_VER/" PKGBUILD
|
|
# 重置 pkgrel 为 1
|
|
sed -i "s/^pkgrel=.*/pkgrel=1/" PKGBUILD
|
|
|
|
echo " 已更新 PKGBUILD 版本号"
|
|
|
|
# 4. 更新校验和 (需要 pacman-contrib 包)
|
|
if command -v updpkgsums >/dev/null 2>&1; then
|
|
echo "==> 正在下载源文件并更新 sha256sums..."
|
|
updpkgsums
|
|
else
|
|
echo "!! 警告: 未找到 'updpkgsums' 命令。请安装 pacman-contrib (sudo pacman -S pacman-contrib),否则需要手动更新校验和。"
|
|
fi
|
|
|
|
# 5. 生成 .SRCINFO
|
|
echo "==> 正在生成 .SRCINFO..."
|
|
makepkg --printsrcinfo > .SRCINFO
|
|
|
|
echo "==> 更新完成!准备就绪。"
|
|
echo " 版本: $NEW_VER"
|
|
echo " 后续操作: git commit -am \"Update to $NEW_VER\" && git push" |