Doing an upgrade, following the recommended doco.
At the step $ sudo dnf system-upgrade download --releasever=42 --setopt=keepcache=1 (even with --allowerasing)
I get
2025-05-17T21:13:37+1000 CRITICAL Error: Transaction test error: file /usr/bin/rhino conflicts between attempted installs of rhino-1.7.14-14.fc42.noarch and nut-2.8.3-1.fc42.x86_64
Turns out both packages contain a file with this name but not in the same directory.
Is this a bin vs sbin artifact? the nut package includes /usr/sbin/rhino Driver for Brazilian Microsol RHINO UPS equipment the rhino package includes /usr/bin/rhino invokes the JavaScript shell for running scripts in batch mode or interactive
I decided to remove the package 'rhino' which did not remove anything else (so nobody needs it?). maybe other programs need /usr/bin/rhino but fail to declare the dependency. I can add rhino later if required.
I need 'nut' and do not want to remove it.
What is the correct way to resolve this problem? Can I leave rhino installed but exclude it from the upgrade?
Tomorrow I will do the upgrade reboot and hope all goes well.
On Sat, May 17, 2025 at 8:28 AM fedora@eyal.emu.id.au wrote:
Doing an upgrade, following the recommended doco.
At the step $ sudo dnf system-upgrade download --releasever=42 --setopt=keepcache=1 (even with --allowerasing)
I get
2025-05-17T21:13:37+1000 CRITICAL Error: Transaction test error: file /usr/bin/rhino conflicts between attempted installs of rhino-1.7.14-14.fc42.noarch and nut-2.8.3-1.fc42.x86_64
Turns out both packages contain a file with this name but not in the same directory.
Is this a bin vs sbin artifact? the nut package includes /usr/sbin/rhino Driver for Brazilian Microsol RHINO UPS equipment the rhino package includes /usr/bin/rhino invokes the JavaScript shell for running scripts in batch mode or interactive
I decided to remove the package 'rhino' which did not remove anything else (so nobody needs it?). maybe other programs need /usr/bin/rhino but fail to declare the dependency. I can add rhino later if required.
I need 'nut' and do not want to remove it.
What is the correct way to resolve this problem? Can I leave rhino installed but exclude it from the upgrade?
Tomorrow I will do the upgrade reboot and hope all goes well.
Related, see https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin. Unfortunately, the document does not provide troubleshooting or workaround steps.
Jeff
On 17/5/25 22:49, Jeffrey Walton wrote:
On Sat, May 17, 2025 at 8:28 AM fedora@eyal.emu.id.au wrote:
Doing an upgrade, following the recommended doco.
At the step $ sudo dnf system-upgrade download --releasever=42 --setopt=keepcache=1 (even with --allowerasing)
I get
2025-05-17T21:13:37+1000 CRITICAL Error: Transaction test error: file /usr/bin/rhino conflicts between attempted installs of rhino-1.7.14-14.fc42.noarch and nut-2.8.3-1.fc42.x86_64
Turns out both packages contain a file with this name but not in the same directory.
Is this a bin vs sbin artifact? the nut package includes /usr/sbin/rhino Driver for Brazilian Microsol RHINO UPS equipment the rhino package includes /usr/bin/rhino invokes the JavaScript shell for running scripts in batch mode or interactive
I decided to remove the package 'rhino' which did not remove anything else (so nobody needs it?). maybe other programs need /usr/bin/rhino but fail to declare the dependency. I can add rhino later if required.
I need 'nut' and do not want to remove it.
What is the correct way to resolve this problem? Can I leave rhino installed but exclude it from the upgrade?
Tomorrow I will do the upgrade reboot and hope all goes well.
Related, see https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin. Unfortunately, the document does not provide troubleshooting or workaround steps.
Yes, I referred to this above as "bin vs sbin artifact". I checked and this is the only file present in both directories where neither is a symlink.
I added a comment in the redhat bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2267022#c17
Jeff
On 17/5/25 22:28, fedora@eyal.emu.id.au wrote:
Doing an upgrade, following the recommended doco.
At the step $ sudo dnf system-upgrade download --releasever=42 --setopt=keepcache=1 (even with --allowerasing)
I get
2025-05-17T21:13:37+1000 CRITICAL Error: Transaction test error: file /usr/bin/rhino conflicts between attempted installs of rhino-1.7.14-14.fc42.noarch and nut-2.8.3-1.fc42.x86_64
Turns out both packages contain a file with this name but not in the same directory.
Is this a bin vs sbin artifact? the nut package includes /usr/sbin/rhino Driver for Brazilian Microsol RHINO UPS equipment the rhino package includes /usr/bin/rhino invokes the JavaScript shell for running scripts in batch mode or interactive
I decided to remove the package 'rhino' which did not remove anything else (so nobody needs it?). maybe other programs need /usr/bin/rhino but fail to declare the dependency. I can add rhino later if required.
I need 'nut' and do not want to remove it.
What is the correct way to resolve this problem? Can I leave rhino installed but exclude it from the upgrade?
Tomorrow I will do the upgrade reboot and hope all goes well.
It is now Tomorrow and the upgrade was done. So far it looks OK.
I raised the issue on the relevant lists and it should be resolved in due time.
I still wonder which package actually uses rhino as everything seems to work after I removed it.
On Sun, 2025-05-18 at 23:55 +1000, fedora@eyal.emu.id.au wrote:
I still wonder which package actually uses rhino as everything seems to work after I removed it.
There are tools for discovering what files belong to which package, and what dependencies there are. But...
You may find that a tool uses some function if its available, and doesn't really care if it's not available. It'll do something else, instead, or simply not offer some particular feature.
If you run a program via the command line, you may see a flurry of messages go up the screen about things it couldn't do. None of which are of any concern to you unless you needed *that* aspect of the thing.
An example that springs to mind is mplayer. If I try something like:
mplayer testfile.mkv
It will try to load some files to do with a remote control, that I don't have, it'll report it couldn't find LIRC support and say I won't be able to use a remote control, but the file will play quite fine without it.
i.e. You *may* be chasing after something that's not important.
On 19/5/25 00:34, Tim via users wrote:
On Sun, 2025-05-18 at 23:55 +1000, fedora@eyal.emu.id.au wrote:
I still wonder which package actually uses rhino as everything seems to work after I removed it.
There are tools for discovering what files belong to which package, and what dependencies there are. But...
You may find that a tool uses some function if its available, and doesn't really care if it's not available. It'll do something else, instead, or simply not offer some particular feature.
If you run a program via the command line, you may see a flurry of messages go up the screen about things it couldn't do. None of which are of any concern to you unless you needed *that* aspect of the thing.
An example that springs to mind is mplayer. If I try something like:
mplayer testfile.mkv
It will try to load some files to do with a remote control, that I don't have, it'll report it couldn't find LIRC support and say I won't be able to use a remote control, but the file will play quite fine without it.
i.e. You *may* be chasing after something that's not important.
True, which is why I am not losing sleep over it. Until one day a failure will lead to it...
ATM (after bin/sbin merge in f42) the rhino and nut people need to coordinate their packages.