Il 29/04/22 21:42, Troy Dawson ha scritto:
On Fri, Apr 29, 2022 at 11:28 AM Germano Massullo <germano.massullo@gmail.com> wrote:
Recent CentOS Stream Qt update broke some EPEL packages like keepassxc
that needed a rebuild against the new Qt version.
Can we talk about a way to prevent this from happening again?

Best regards

Looking at  keepassxc specifically, I'd say take the following line out of the spec file.
  %{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}

If you let rpmbuild figure out the dependencies (which it is already doing fairly well), then it will know when there is a real ABI change and you need to rebuild the package.
Looking at
  "dnf repoquery --requires keepassxc | grep -i qt"
and then looking at the changes that happened in qt5, it looks like it wouldn't have needed a rebuild if the Requires wasn't manually set.

I'm not saying rpmbuild is 100% perfect for figuring out requires, but in this case it was doing it right.

That macro is needed to avoid situations where users somehow manage to install keepassxc on a system with old Qt version like in following bugreport
https://bugzilla.redhat.com/show_bug.cgi?id=2068981