Sometimes when searching for a package the Arch repository gives few options.
So yesterday I was looking for Protonmail-bridge and there were a few to choos from.
Today I am looking into Treesheets and there are two to choose from
treesheets-bin
treesheets-git
What is the differencet?
How do you know which to choose?
A package with a name ending in -git will pull the source code from a git repository, and build it from that same source.
A package with a name ending in -bin will get a binary package, built by someone else on some other machine, and package it for installation by pacman.
Is one preferable to the other??
It depends. If you want to build the latest version from source code, then go with the -git
package. If you want to install an already compiled binary, go with the -bin
package.
For large packages that take ages to compile, like web browsers, usually people opt for -bin
packages. But for smaller utilities, it does not matter. -git
simply means that the source code is sourced from a git repository. Such packages are usually the freshest, but may also contain more bugs.
-bin
means a precompiled binary. pre-packed and ready to go.
-git
means it will be built from git source (gitlab, github).
You may notice that a lot ‘-git’ packages have older version dates - thats because unless a change is needed it will always pull from current source - the pkgbuild doesnt need updating because you will grab the project source and build its current state… this takes longer too of course.
None of the AUR “packages” are actually packaged. They are just PKGBUILD files containing instructions how to build the package locally. -bin
packages simply mean that you do not have to compile anything, but that the software is sourced in a binary form. But you still have to build the package locally that can be installed with pacman
.
If we are talking about the AUR, it’s not a built package (“pre-packed”, as you call it). It’s just sourced in binary form (compiled), but you still have to package it locally.
Fantastic discussion thank you people.
The wonderful world of Arch
My 2 cents about -git packages ( or other so called “VCS” packages such as “-svn”, “-bzr” et al): not only that they pull the latest (and not always greatest) commit the first time you try to install them, they will also be updated in the system each time there was even one commit since you last checked.Thus, “-git” should be considered developer - / alpha tester-oriented package, super-rarely a stable release.
Besides, “-git” packages are never (or rarely?) “-bin”, and if the build process takes ages, multiply ages by rebuild frequency.