#3497 Update qtkeychain, qxmpp and Kaidan on f43 and f42
Closed: Accepted by sgallagh. Opened by fed500.

Kaidan at present does not work. The latest release works but requires newer versions of qxmpp and qtkeychain. Kaidan is the only current consumer of qxmpp. qtkeychain is required by:

akonadi-import-wizard-0:25.08.2-1.fc44.x86_64
calligra-libs-0:25.08.2-1.fc44.x86_64
itinerary-0:25.08.2-3.fc44.x86_64
kasts-0:25.08.2-1.fc44.x86_64
kate-plugins-0:25.08.2-1.fc44.x86_64
kdepim-runtime-1:25.08.2-2.fc44.x86_64
kdepim-runtime-libs-1:25.08.2-2.fc44.x86_64
kf5-kldap-0:23.08.5-4.fc43.i686
kf5-kldap-0:23.08.5-4.fc43.x86_64
kf5-kmailtransport-0:23.08.5-7.fc43.i686
kf5-kmailtransport-0:23.08.5-7.fc43.x86_64
kldap-0:25.08.2-1.fc44.i686
kldap-0:25.08.2-1.fc44.x86_64
kmail-libs-0:25.08.2-1.fc44.x86_64
kmailtransport-0:25.08.2-1.fc44.i686
kmailtransport-0:25.08.2-1.fc44.x86_64
kmymoney-libs-0:5.2.1-2.fc44.x86_64
krdp-0:6.5.1-1.fc44.x86_64
kstars-1:3.7.8-1.fc43.x86_64
ktextaddons-qt5-0:1.5.4-5.fc43.i686
ktextaddons-qt5-0:1.5.4-5.fc43.x86_64
ktextaddons-qt6-0:1.8.0-1.fc44.i686
ktextaddons-qt6-0:1.8.0-1.fc44.x86_64
libquentier-0:0.5.0-21.fc43.i686
libquentier-0:0.5.0-21.fc43.x86_64
libquotient-qt6-0:0.9.5-1.fc44.i686
libquotient-qt6-0:0.9.5-1.fc44.x86_64
libquotient-qt6-devel-0:0.9.5-1.fc44.i686
libquotient-qt6-devel-0:0.9.5-1.fc44.x86_64
neochat-0:25.08.2-2.fc44.x86_64
nextcloud-client-0:3.16.3-2.fc43.x86_64
nextcloud-client-libs-0:3.16.3-2.fc43.x86_64
nheko-0:0.12.1-10.fc44.x86_64
pim-sieve-editor-0:25.08.2-1.fc44.x86_64
plasmatube-0:25.08.2-1.fc44.x86_64
psi-plus-1:1.5.2081-4.fc43.x86_64
qgis-0:3.44.4-1.fc44.i686
qgis-0:3.44.4-1.fc44.x86_64
qtkeychain-qt5-devel-0:0.14.3-5.fc43.i686
qtkeychain-qt5-devel-0:0.14.3-5.fc43.x86_64
qtkeychain-qt6-devel-0:0.14.3-5.fc43.i686
qtkeychain-qt6-devel-0:0.14.3-5.fc43.x86_64
quaternion-0:0.0.97~beta1-5.fc44.x86_64
ruqola-0:2.6.0-1.fc44.i686
ruqola-0:2.6.0-1.fc44.x86_64
smb4k-0:4.0.0-2.fc43.x86_64
tokodon-0:25.08.2-1.fc44.x86_64
trojita-0:0.7.0.1-0.23.20230430gitd1e1b4a.fc43.x86_64

Can check for compatibility of qtkeychain or see if can apply a patch to Kaidan, but would be helpful to at least be able to update qxmpp and Kaidan.


I'm not sure what you are asking here. Is this somehow an fesco problem?

Should this be a devel list post?

Metadata Update from @ngompa:
- Issue tagged with: updates policy exception

@fed500 ?

Permission is needed to have breaking upgrades on stable Fedora releases.

A build for f43 and f42 is available at:
https://copr.fedorainfracloud.org/coprs/fed500/kaidan/builds/

Can check whether other packages that depend on qtkeychain will build.

About Qxmpp: The soname bump brought into stable releases was not allowed unless it was got exemption from FESCo. [1] qxmpp only reqiured by kaidan, which may be more likely to get the exception. And as suggested in the email discussions with @siosm and @farchord , this request by @fed500 was filed for the exception of qxmpp.

[1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#stable-releases

Right. We could've loosely rationalized that this would have fallen within the KDE exception when it comes to soname exceptions but I wasn't willing to do that as it's not really the truth. I decided to take the soname policy to the letter. If this is a mistake, I'm sorry.

Is this a one time request? or a long term exception?

The latest release works but requires newer versions of qxmpp and qtkeychain. Kaidan is the only current consumer of qxmpp. qtkeychain is required by: (long list)
Can check for compatibility of qtkeychain or see if can apply a patch to Kaidan, but would be helpful to at least be able to update qxmpp and Kaidan.

To me it is quite unclear what the scope is of what's being requested here.

  • Which packages do have breaking changes, i.e. which packages are you requestion an exception to the Updates Policy for?
  • Do those libraries have API / ABI changes and / or soname changes?
  • Which packages need to be rebuilt if there are ABI / soname changes?
  • Have you checked whether the affected packages actually do build with the new version?

@fed500 can you please provide the requested information?

The latest release works but requires newer versions of qxmpp and qtkeychain. Kaidan is the only current consumer of qxmpp. qtkeychain is required by: (long list)
Can check for compatibility of qtkeychain or see if can apply a patch to Kaidan, but would be helpful to at least be able to update qxmpp and Kaidan.

To me it is quite unclear what the scope is of what's being requested here.

  • Which packages do have breaking changes, i.e. which packages are you requestion an exception to the Updates Policy for?

Requesting exemption for
kaidan
qxmpp
qtkeychain

  • Do those libraries have API / ABI changes and / or soname changes?

  • Which packages need to be rebuilt if there are ABI / soname changes?

Only Kaidan for qxmpp. Need to check if rebuilds are needed for qtkeychain.

  • Have you checked whether the affected packages actually do build with the new version?
    Need to check this.

Looks like we're still missing some key information here?

FYI, ktextaddons, which is one of the core libraries for KDE, now require the newest version of qtkeychain. That is usually needed in gear updates, so we potentially have some time left before that becomes a problem, but I'd say this would need to be allowed sooner rather than later.

The only thing missing is a check to ensure reverse dependencies actually do build with the updated libraries. Someone please provide that information so we can accept/reject accordingly.

Alright so, at least for qtkeychain, and I did have a chat in matrix with @ngompa about this, for the current version in F43 for example:

dnf repoquery --provides qtkeychain-qt6
libqt6keychain.so.1
libqt6keychain.so.1()(64bit)
qtkeychain-qt6 = 0.14.3-5.fc43
qtkeychain-qt6(x86-32) = 0.14.3-5.fc43
qtkeychain-qt6(x86-64) = 0.14.3-5.fc43

The one in F42:

dnf repoquery --provides qtkeychain-qt6 --releasever=42
libqt6keychain.so.1
libqt6keychain.so.1()(64bit)
qtkeychain-qt6 = 0.14.3-4.fc42
qtkeychain-qt6(x86-32) = 0.14.3-4.fc42
qtkeychain-qt6(x86-64) = 0.14.3-4.fc42

And the new updated 0.15.0 version, from the build log:

Provides: libqt6keychain.so.1()(64bit) qtkeychain-qt6 = 0.15.0-1.fc44 qtkeychain-qt6(x86-64) = 0.15.0-1.fc44

A soname DID change but it doesn't look like things link to it directly if I'm reading that right, right?

Oh and Neochat (A program needing qtkeychain) works fine after updating the library.

The soname didn't change, but CMake produces a library file with a version suffix and a soversion suffix. They are considered equivalent, and the only real signature is the soversion one. So there is actually no soname bump.

Checking builds in a copr https://copr.fedorainfracloud.org/coprs/fed500/qtkeychain it will take a few days

Metadata Update from @decathorpe:
- Issue tagged with: meeting

This issue will be discussed at the next meeting on 2026-01-20

Will need one more week to finish checking dependent packages build.

Deferred to the next meeting - note that we might not have quorum next week (CentOS Connect / FOSDEM) so it might happen the week after

https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/IXPVJMEORBD34ZVW3C43WTUK6NR3SC6H/

FYI, qtkeychain is now a required dependancy for KDE Plasma 6.6. Because of an update for a KDE framework, this will require me to rebuild all of the KDE stack, frameworks, gear and plasma once we do the final 6.6 update. So hopefully this can be accepted by February 12th!

As far as I can see, qtkeychain 0.14.3 in F43 (https://koji.fedoraproject.org/koji/rpminfo?rpmID=43661965) & 0.15.0 in F44 (https://koji.fedoraproject.org/koji/rpminfo?rpmID=45784807) provide the same soname.

If it's now a dependency of KDE Plasma then it should (also) be covered by the exception that we have for Plasma.

So this is just about updating qxmpp (which does change soname version between what's in F43 & F44 right now) which is only used by kaidan as far as I can see:

$ dnf repoquery --whatrequires "libQXmppQt6.so.5()(64bit)"
kaidan-0:0.12.2-2.fc43.x86_64
kaidan-0:0.12.2-5.fc43.x86_64
qxmpp-qt6-devel-0:1.10.3-2.fc43.x86_64

So if kaidan is broken right now, I think it should be fine to allow updating qxmpp & kaidan in stable releases to fix the application even if it results in a soname bump.

That would match criteria 1 & 4 from the exception list in https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#_exceptions.

Builds are running at https://copr.fedorainfracloud.org/coprs/fed500/qtkeychain/builds/
Expect they will not all have completed by the time of the meeting. Build failures on ppc seem unrelated infrastructure network access problems.

@kevin This would be a one time request. Not a long term exemption.

AGREED: Exception is granted as long as the COPR builds don't discover additional problems. (+6, 0, -0) (@sgallagh:fedora.im, 18:17:40)

Metadata Update from @sgallagh:
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

Need to use version of krdp in f43 for f43 and f42 builds:
https://copr.fedorainfracloud.org/coprs/fed500/qtkeychain/build/10093422/
version of krdp in rawhide does not build on f42 and f43:
https://copr.fedorainfracloud.org/coprs/fed500/qtkeychain/build/10090523/

qgis builds are failing in f44
https://packages.fedoraproject.org/pkgs/qgis/qgis/

Build logs show

CMake Error at /builddir/build/BUILD/qgis-3.44.7-build/qgis-3.44.7/redhat-linux-build/yarn_commands.cmake:10 (message):
  error @achrinza/node-ipc@9.2.9: The engine "node" is incompatible with this
  module.  Expected version "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16
  || 17 || 18 || 19 || 20 || 21 || 22".  Got "24.13.0"
  error Found incompatible module.

modifying https://src.fedoraproject.org/rpms/qgis/blob/rawhide/f/qgis.spec#_174
would seems to be required to enable it to build, attempt to fix this:
https://src.fedoraproject.org/rpms/qgis/pull-request/13

Expect update should be ok once qgis builds are back to normal in rawhide.

Metadata