PKGBUILD檔案pkgver不允許使用連字元-問題

witt發表於2024-11-04

前段時間為ecoPaste編寫AUR軟體包的PKGBUILD時遇到了一個問題

執行makepkg -fsi提示==> 錯誤: pkgver 不允許包含冒號、斜槓、連字元或空白符。
我看到這個提示中沒有禁止_,我果斷將-替換為了_,透過pkgver="${pkgver//[:\/\- ]/_}";
image.png

直到今天早上,作者講v0.3.0-beta.3釋出正式版本了,版本號v0.3.0,因為我提交了Github Action, 新版本確定已經到AUR中了,我看了眼我Manjaro通知欄,並沒有收到更新提醒
image.png

習慣性的以為是通知延遲,隨手敲下了yay -Syyu --noconfirm,就去忙其他的事情了。

過了一段時間,摁下快捷鍵使用EcoPaste時,發現仍然彈出了更新提醒,我才去檢查更新,發現命令已經跑完,但是Ecopaste並未更新,我再次敲下了命令yay -S eco-paste-beta-bin,看到一條警告

突然覺得0.3.0_beta.3不符合語義化版本規範,導致0.3.0小於0.3.0_beta.3,AUR不認為版本更新了。

隨即去查詢相關解決方案.

archLinux的PKGBUILD中pkgver規範提到了vercmp命令

經過我測試,只需要將-去除即可。
image.png

改為pkgver="${pkgver//[:\/\- ]/}";

相關文章