packagearchlinuxnamingmanjarolinux-distro

How should I name packages for arch vs for manjaro or any other arch-based distro, which uses the same package format (.pkg.tar.[zst/xz/gz])


I want to release packages of my software for arch and manjaro and I am packaging it using makepkg and I cannot find any official way to name packages for arch or manjaro differently as opposed to for ex. .deb packages that have the revision part where you can include the disro name ex. (doas-keepenv_1.0-1ubuntu24.04_all.deb / doas-keepenv_1.0-debian12_all.deb / doas-keepenv_1.0-1mint8_all.deb) or .rmp packages which have a separe part for distro short name ex. (doas-keepenv-1.0-1.fc42.noarch.rpm / doas-keepenv-1.0-1.el7.noarch.rpm).

So I would like to know how to create to versions of the filename doas-keepenv-1.0-1-any.pkg.tar.zst one for the arch-compiled one and another for the manjaro-compiled one or if it's unspecified, than how can I do it (if possible) so to not break package managers like pacman


Solution

  • For most third-party software, Option 1 (Provide One Generic Arch Package) is the best and most common approach. Build a single package targeting Arch Linux stable. Publish the package file and/or the PKGBUILD. This package will likely work perfectly fine on Manjaro and other derivatives. If the Manjaro team or users find a specific need for a different build, they can adapt your PKGBUILD.

    If you absolutely must provide different builds due to unavoidable incompatibilities, Option 2 (Use Separate Repositories) is the cleanest and most "Arch-like" way to handle it, even though it requires more effort on your part for hosting.