AUR 上的 pkg、pkg-bin 和 pkg-git 有什么区别?

AUR 上的 pkg、pkg-bin 和 pkg-git 有什么区别?

例如,有

https://aur.archlinux.org/packages/github-desktop/,

https://aur.archlinux.org/packages/github-desktop-bin/, 和

https://aur.archlinux.org/packages/github-desktop-git/

我查看了 pkgbuilds,发现软件包之间没有容易识别的差异。这不仅仅是一个包,而是很多包。他们之间有什么区别?我应该安装哪一个?

答案1

  • 普通包是从存储库的稳定版本或稳定 git 标签构建的。该程序在用户机器上编译然后安装。这需要时间。

  • 带有后缀的软件包-bin已经由上游维护者构建并且可以在某处使用。因此,用户不必在自己的机器上编译该包。该PKGBUILD脚本下载、解压并安装文件。一些专有软件以这种格式发布,但源代码不可用。

  • 带有后缀的包-git是根据 git 存储库的最新提交构建的,无论它是否稳定。这样用户可以获得最新的修复或补丁。这也在用户机器中编译,然后安装。

AUR包之间的区别可以从它们对应的PKGBUILD文件(类似shell脚本)的source()功能上很容易理解。这是一个例子:

pkgver=x.y.z
_pkgver="${pkgver}-linux1"
gitname="release-${_pkgver}"
https://github.com/shiftkey/desktop.git#tag=${gitname}
pkgver=x.y.z
_pkgver="${pkgver}-linux1"
gitname="release-${_pkgver}"
https://github.com/shiftkey/desktop/releases/download/${gitname}/GitHubDesktop-linux-${_pkgver}.deb
https://github.com/shiftkey/desktop.git

进一步阅读:

答案2

-bin表示它将安装二进制文件而不是本地编译。

-git表示会直接拉git取最新版本(这意味着缺少的版本-git比较保守,并且已经过测试)。

相关内容