What's the difference between pkg, pkg-bin and pkg-git on the AUR?
Normal packages are built from stable versions or stable git tags of a repository. The program is compiled in user's machine and then installed. This will take time.
Packages with
-bin
suffix are already built by upstream maintainer and is available somewhere. So, users do not have to compile the package in their machine. ThePKGBUILD
script downloads, extracts and install the files. Some proprietary software are released in this format where source code is not available.Packages with
-git
suffix are built from the latest commit from git repository, no matter it is a stable or not. This way user get latest fix or patches. This also compiled in user machine, then installed.
The difference among the AUR packages can be easily understood from their corresponding PKGBUILD
file (shell script like) in source()
function. Here is an example:
- For
github-desktop
the source is a stable git release tag:
pkgver=x.y.z
_pkgver="${pkgver}-linux1"
gitname="release-${_pkgver}"
https://github.com/shiftkey/desktop.git#tag=${gitname}
- For
github-desktop-bin
the source is a already packed Debian package:
pkgver=x.y.z
_pkgver="${pkgver}-linux1"
gitname="release-${_pkgver}"
https://github.com/shiftkey/desktop/releases/download/${gitname}/GitHubDesktop-linux-${_pkgver}.deb
- For
github-desktop-git
the source is latest master branch:
https://github.com/shiftkey/desktop.git
Further readings:
- Arch Wiki: Arch User Repository (AUR)
- Manjaro Forum: The difference between bin and non bin packages