3 ms·
I wish there was one universal package manager which provides binaries for all platforms, stable/beta/nightly, unverified and verified No more “apt get”, “pacm
by armchairhacker 4y ago
I wish there was one universal package manager which provides binaries for all platforms, stable/beta/nightly, unverified and verified
No more “apt get”, “pacman -S”, “brew install”, etc. you just run “pkg add <package>” and it will a) actually have the package and b) download or build it whether you’re on debian, arch, macos, openBSD, etc.
You can configure to use the stable or nightly packages, you can add custom package repos including an AUR-equivalent “unverified” repo (and remove the default “verified but not securely audited” repo), you can configure to build everything manually if you want or only download prebuilt binaries, or download source code, or documentation. And you
can do this globally, for users, for groups of packages, or for individual packages. You can patch local packages, you can define a buildscript and publish your own packages from their git repos, etc. You can even use a stable version of one package and force it to have nightly dependencies (or vice versa), probably not a good idea but you do you.
Honestly it sounds so simple but it isn’t implemented. Instead we have Debian for stable packages, Arch for nightly packages and AUR, macOS has homebrew with all its criticisms or MacPorts, and BSD has 3 different package managers all with their own flaws. And languages have their own package managers, which is fine (bc you’re not going to use one language’s package manager for another) but it would be nice to get that unified as well and have superior dependency resolution, workspaces, etc. for every language.
- joe_guy 4y agoThe tooling side isn't the tricky part, it's the insane amount of work that is required to create and maintain each package. You need massive community buy in. Because of this, unfortunately, the best package managers aren't the most sound, the best are the most popular.
- encryptluks2 4y agoArch doesn't use nightly packages. They use stable and Debian often use several releases behind. Your statement is like saying that using the latest official stable version of Nginx is the same as nightly and doesn't instill a lot of confidence in whatever point you're trying to make.
- Beltalowda 4y agoThere are cross-platform package managers: pkgsrc and nix for example, and I believe HomeBrew runs on Linux too. It's not that simple though as certain choices are fundamentally incompatible. In Debian packagers are expected to take "ownership" of the package, backport fixes, apply patches or fixes to integrate better with the Debian system, etc. On Arch Linux, it will ship the latest stable version from upstream with as little modifications as possible. You can go with one approach or you can go with the other, but you can't really do both at the same time. Then there's the design of the tooling itself: apt behaves fundamentally different from pacman. Some things can probably be unified here and there, but I don't think it's quite that simple.