Bug 2203789

Summary: jack-audio-connection-kit-example-clients blocks upgrade to Fedora 38
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: jack-audio-connection-kitAssignee: Nils Philippsen <nphilipp>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 38CC: benjiwiebe, brendan.jones.it, brunovern.a, dominik, guido.aulisi, kvolny, nphilipp, oget.fedora, quantum.analyst
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kamil Páral 2023-05-15 09:15:51 UTC
It seems that jack-audio-connection-kit-example-clients no longer exists in Fedora 38, but not package obsoletes it. That means a system upgrade attempt fails.


$ sudo dnf system-upgrade download --releasever 38
...
Error: 
 Problem: problem with installed package pipewire-jack-audio-connection-kit-0.3.70-1.fc37.x86_64
  - package pipewire-jack-audio-connection-kit-0.3.67-1.fc38.x86_64 conflicts with jack-audio-connection-kit provided by jack-audio-connection-kit-1.9.22-1.fc38.x86_64
  - package pipewire-jack-audio-connection-kit-0.3.70-1.fc38.x86_64 conflicts with jack-audio-connection-kit provided by jack-audio-connection-kit-1.9.22-1.fc38.x86_64
  - problem with installed package jack-audio-connection-kit-example-clients-1.9.21-3.fc37.x86_64
  - pipewire-jack-audio-connection-kit-0.3.70-1.fc37.x86_64 does not belong to a distupgrade repository
  - jack-audio-connection-kit-example-clients-1.9.21-3.fc37.x86_64 does not belong to a distupgrade repository
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages)


$ rpm -qa | grep pipewire | sort
pipewire-0.3.70-1.fc37.i686
pipewire-0.3.70-1.fc37.x86_64
pipewire-alsa-0.3.70-1.fc37.i686
pipewire-alsa-0.3.70-1.fc37.x86_64
pipewire-codec-aptx-0.3.70-1.fc37.x86_64
pipewire-gstreamer-0.3.70-1.fc37.x86_64
pipewire-jack-audio-connection-kit-0.3.70-1.fc37.x86_64
pipewire-libs-0.3.70-1.fc37.i686
pipewire-libs-0.3.70-1.fc37.x86_64
pipewire-pulseaudio-0.3.70-1.fc37.x86_64
pipewire-utils-0.3.70-1.fc37.x86_64

$ rpm -qa | grep jack
jack-audio-connection-kit-example-clients-1.9.21-3.fc37.x86_64
qemu-audio-jack-7.0.0-15.fc37.x86_64
pipewire-jack-audio-connection-kit-0.3.70-1.fc37.x86_64


$ sudo dnf list --showduplicates jack-audio-connection-kit-example-clients --releasever 38
Installed Packages
jack-audio-connection-kit-example-clients.x86_64        1.9.21-3.fc37        @fedora


Reproducible: Always

Comment 1 Kamil Páral 2023-05-15 09:24:27 UTC
Actually, the problem seems to be that jack-audio-connections-kit-example-clients (installed by default in 2015 upgrade) gets obsoleted by jack-audio-connection-kit, but jack-audio-connection-kit conflicts with pipewire-jack-audio-connection-kit (installed by default in 2021 upgrade).

This is non-trivial for sound-unaware users to resolve. If I use `dnf ... --allowerasing`, jack-audio-connection-kit gets installed and pipewire-jack-audio-connection-kit gets removed. That's the very opposite of a default Workstation install right now.

Comment 2 Guido Aulisi 2023-05-16 07:35:51 UTC
IMHO pipewire-jack-audio-connection-kit should obsolete jack-audio-connections-kit-example-clients ad jack-audio-connection-kit does

Comment 3 Guido Aulisi 2023-05-16 10:39:02 UTC
I opened a PR for this: https://src.fedoraproject.org/rpms/pipewire/pull-request/14

Comment 4 Elliott Sales de Andrade 2023-05-21 04:17:20 UTC
The Obsoletes don't quite work if you already have jack-audio-connection-kit installed instead. Since pipewire-jack-audio-connection-kit obsoletes a different version of the main versus the example-clients subpackage, you get a different conflict now:

 Problem 2: both package jack-audio-connection-kit-1.9.22-1.fc38.x86_64 and pipewire-jack-audio-connection-kit-0.3.71-2.fc38.x86_64 obsolete jack-audio-connection-kit-example-clients < 1.9.22
  - package pipewire-jack-audio-connection-kit-0.3.71-2.fc38.x86_64 conflicts with jack-audio-connection-kit provided by jack-audio-connection-kit-1.9.22-1.fc38.x86_64
  - problem with installed package jack-audio-connection-kit-1.9.21-3.fc37.x86_64
  - jack-audio-connection-kit-1.9.21-3.fc37.x86_64 does not belong to a distupgrade repository

Comment 5 Elliott Sales de Andrade 2023-05-22 06:41:16 UTC
(In reply to Elliott Sales de Andrade from comment #4)
> The Obsoletes don't quite work if you already have jack-audio-connection-kit
> installed instead.

Oh, even after swapping to pipewire-jack-audio-connection-kit, the conflict still occurs, probably because of the differing versions on the Obsoletes.