diff --git a/PKGBUILD b/PKGBUILD index ebb4855bf5d86..7361a4842b8cb 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,6 +8,7 @@ pkgrel=1 pkgdesc="Port of Facebook's LLaMA model in C/C++ (with AMD ROCm optimizations)" arch=(x86_64 armv7h aarch64) url='https://github.com/ggml-org/llama.cpp' +api_url='https://api.github.com/repos/ggml-org/llama.cpp/releases/latest' license=('MIT') depends=( curl @@ -39,12 +40,18 @@ sha256sums=() prepare() { cd "$srcdir" - git clone --depth 1 --single-branch --branch master "${url}" "${_pkgname}" + + local _latest_tag + _latest_tag=$(curl -s "${api_url}" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + + # 仅使用刚获取的标签进行浅克隆, 避免脱离 Head 提示 + msg2 "Cloning the latest release tag: ${_latest_tag}" + git -c advice.detachedHead=false clone --depth 1 --single-branch --branch "${_latest_tag}" "${url}" "${_pkgname}" } pkgver() { # 使用 API 获取最新发布的标签 - curl -s "https://api.github.com/repos/ggml-org/llama.cpp/releases/latest" | \ + curl -s "${api_url}" | \ grep '"tag_name":' | \ sed -E 's/.*"([^"]+)".*/\1/' }