Unify package names across architectures?

In Debian, users can rely on basically the same package name regardless of the particular architecture involved, which streamlines how devs setup their boxes, configure build bots, and write tutorials. Debian offers an optional colon separator to disambiguate between multiple architectures, such as when installing specifically i386 packages onto an amd64 machine. I think this notation is overall fairly elegant and would love to see it applied to Haiku packages as well.

For example, instead of running pkgman install llvm_clang for x86_64, pkgman install llvm_x86_clang for x86, pkgman install cmake for x86_64, and pkgman install cmake_x86 for x86, users could rely on unified pkgman install llvm_clang, pkgman install cmake regardless of their host architecture. Finally, pkgman install llvm_clang:x86[_64], pkgmain install cmake:x86[_64] would select a specific architecture, should x86_64 users wish to install the x86 edition of a package. It’s a subtle thing, and not a huge barrier to how packages are used, but right now the proliferation of different package names across architures multiples the number of shell scripts, conditional branches, and so on that developers must maintain in order to support the different kinds of Haiku environments.

Just don’t use package names: “pkgman install cmd:cmake”

1 Like