You are not logged in.

#1 2025-11-21 20:19:15

soquel
Member
Registered: 2024-04-04
Posts: 2

dealing with same binary name in different packages

Here is a situation:
I have package `aur/jj-bin` installed. It provides `/usr/bin/jj` binary.
Now I wanted to install `extra/jujutsu`, but it also has a binary with the same name in same location `/usr/bin/jj`, so the packages are actually already marked as conflicting.

https://archlinux.org/packages/extra/x86_64/jujutsu/
https://aur.archlinux.org/packages/jj-bin

But this is not optimal, because they are conflicting only because of the binary name clash, not the functionality they provide. Those are completely different tools and there should be a way to install both at the same time. A user might need both.
What is the standard way of dealing with this kind of situation?
I remember ubuntu has a similar issue with `bat` and they called it `batcat`. I don't love that solution, but it's some sort of a solution.
Any ideas?

Offline

#2 2025-11-21 20:26:33

cryptearth
Member
Registered: 2024-02-03
Posts: 1,858

Re: dealing with same binary name in different packages

well - here BOTH devs made the rather ... well, shall we call it "not so good" decision to break down to just TWO letters ... for WHAT reason?
the BOTH should've known better and used longer names from the start - it's not a matter of conflict "now" but to have had a bad idea in the first place

at least for aur package you might be able to alter the makepkg to install in /opt rather then in /usr - but for repo package, which seem quite new, its up to the arch maintainers to maybe have a word with the dev to extent the name

Offline

#3 2025-11-21 20:44:02

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,519

Re: dealing with same binary name in different packages

https://aur.archlinux.org/cgit/aur.git/ … D?h=jj-bin
Edit the PKGBUILD, remove the conflict and make the install line

install -Dm755 $_pkgname "$pkgdir/usr/bin/jsed"

Offline

#4 2025-11-24 22:11:13

soquel
Member
Registered: 2024-04-04
Posts: 2

Re: dealing with same binary name in different packages

Well, it's not a problem for me to *manually* fix it up and install both if I really want, but I was curious whether there is a systemic solution or a documented way of dealing with such cases. Obviously the devs won't change their binary names. I agree they should not take two-letter names and should leave aliasing like this to the user (if they want to do it). Maybe that's a solution? Maybe the package should install under the full name (like in the package name)?

Offline

#5 2025-11-24 22:53:19

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 71,519

Re: dealing with same binary name in different packages

whether there is a systemic solution

devs won't change their binary names

There're no technical solutions to social problems.

You've a collision that needs to be resolved and that can happen at three layers:
1. upstream (the devs of jujutsu and jse hash this out - jse seems to have older claims, jujutsu more weight)
2. repos (the maintainers of the packages hash this out - rn the AUR package sets a conflict what you reasonably object to)
3. locally (you just clean up after the kindergarten however you prefer because somebody has to be the adult in this world - also the manifestation of this collision might be rather limited, resulting in low pressure for a global resolution)

Generic resolutions won't work:
- what determines the package name?
- what has to be named after the package? The "main executable™"?
- what if there's a collision that involves something that's not the "main executable™" of a package?
- imagine the unrelated packages "snafu" and "fubar" both ship /usr/bin/foo and /usr/bin/bar - how do you resolve this generically? Is *every* file in a package supposed to be unconditionally pre- or suffixed w/ the package name?

You've a rare and very specific problem: two packages of interest are trying to occupy /usr/bin/jj - there's a very specific solution for that: at least one of them can't.

Offline

Board footer

Powered by FluxBB