Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1925932 - fmt: rebase to 6.2.1
Summary: fmt: rebase to 6.2.1
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: fmt
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kefu Chai
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-02-07 13:55 UTC by Andrew Bauer
Modified: 2021-05-08 02:23 UTC (History)
5 users (show)

Fixed In Version: fmt-6.2.1-2.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-02-21 01:56:09 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Andrew Bauer 2021-02-07 13:55:13 UTC
I am part of the dev team for the ZoneMinder project, whose rpm packages live in RPMFusion.

We've had a recent proposal to build against the fmt library. The only blocker is this package is not currently available for el7. 

An alternative would be to embed the library into the project, but as you can see it adds quite a bit to the project: https://github.com/ZoneMinder/zoneminder/pull/3119/files

Adding fmt-6.2.1 to epel 7 would be a much cleaner solution.


After a minor change to the spec file, the fmt package builds fine on el7:
https://copr.fedorainfracloud.org/coprs/kni/fmt-el7/package/fmt/

Here is the change that is needed:
https://github.com/knight-of-ni/specfiles/commit/a03b626513d164e0682975b54dec26eece784286


Would the package maintainer be willing to build this package for el7?

I get it. el7 is old, which is why I am perfectly willing to maintain this branch myself. My FAS account is kni.

If you are willing to give me commit access, I can do all the work for you. Thank you.

Comment 1 Andrew Bauer 2021-02-07 14:09:51 UTC
UPDATE:
The proposed specfile change is even simpler than that.

Both cmake (fedora) and cmake3 (rhel 7) package define %ctest3 macro:

>[abauer@vFedora ~]$ rpm --eval %ctest3
>
>  cd "x86_64-redhat-linux-gnu" 
>  /usr/bin/ctest --output-on-failure --force-new-ctest-process -j4  
>  cd -


>[abauer@vCentOS7 ~]$ rpm --eval %ctest3
>
>  cd "." 
>  /usr/bin/ctest3 --output-on-failure --force-new-ctest-process -j4  
>  cd -

So, all we need to do is change:

ctest -> %{ctest3} under %check

Comment 2 Fedora Update System 2021-02-18 14:25:25 UTC
FEDORA-EPEL-2021-d5fe34a16a has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-d5fe34a16a

Comment 3 Fedora Update System 2021-02-19 01:25:43 UTC
FEDORA-EPEL-2021-d5fe34a16a has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-d5fe34a16a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 4 Fedora Update System 2021-02-21 01:56:09 UTC
FEDORA-EPEL-2021-d5fe34a16a has been pushed to the Fedora EPEL 7 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 5 Carl George 🤠 2021-02-21 21:37:49 UTC
This update bumps the soname from libfmt.so.3 to libfmt.so.6.  This is a breaking change which is against EPEL Policy [0].  mkvtoolnix no longer installs and needs to be rebuilt against the new soname (bug 1931239). Why wasn't the Incompatible Upgrades Policy [1] followed?


[0] https://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#Policy
[1] https://fedoraproject.org/wiki/EPEL_incompatible_upgrades_policy

Comment 6 Vitaly Zaitsev 2021-02-22 10:58:23 UTC
> This is a breaking change which is against EPEL Policy [0].

That's why I'm not touching EPEL.

> Why wasn't the Incompatible Upgrades Policy [1] followed?

EPEL 7 didn't previously have an FMT library. Please check which repo you got libfmt.so.3 from.

Comment 7 Carl George 🤠 2021-02-22 19:30:01 UTC
> EPEL 7 didn't previously have an FMT library. Please check which repo you got libfmt.so.3 from.

Yes it did, and that's where I installed it from.  I got it as a dependency of mkvtoolnix.  You can see in koji that mkvtoolnix-46.0.0-1.el7 was built against fmt-devel-3.0.2-1.el7 [0] and was linked against libfmt.so.3 [1].  You can also see the previous bodhi updates for EPEL7 [2], as well as the fact that the epel7 merge commit [3] has a parent commit updating the package to 3.0.2-1 [4].

So I ask again, why wasn't the Incompatible Upgrades Policy followed?  At a minimum, the submitter needs to email epel-devel to inform people of this situation.  I've already rebuilt mkvtoolnix against the new soname (bug 1931239), but anyone else linking against that library needs to be informed.


[0] https://kojipkgs.fedoraproject.org//packages/mkvtoolnix/46.0.0/1.el7/data/logs/x86_64/root.log
[1] https://koji.fedoraproject.org/koji/rpminfo?rpmID=21364654libfmt.so.7()(64bit)
[2] https://bodhi.fedoraproject.org/updates/?packages=fmt&release=epel-7
[3] https://src.fedoraproject.org/rpms/fmt/c/f49096bb0f571d532645483e73d988317c60da89?branch=epel7
[4] https://src.fedoraproject.org/rpms/fmt/c/15761facdfecf616c9a88c1b025d5b3b1f6e1f53?branch=epel7

Comment 8 Carl George 🤠 2021-02-22 23:18:59 UTC
> [1] https://koji.fedoraproject.org/koji/rpminfo?rpmID=21364654libfmt.so.7()(64bit)

Please excuse the typo, this link should be https://koji.fedoraproject.org/koji/rpminfo?rpmID=21364654

Comment 9 Carl George 🤠 2021-03-31 20:18:06 UTC
Kefu, please send an email to epel-devel to inform people about this incompatible upgrade.

Comment 10 Carl George 🤠 2021-05-06 23:45:24 UTC
Vitaly, since Kefu is not responding will you handle announcing this on epel-devel?

Comment 11 Vitaly Zaitsev 2021-05-07 13:12:51 UTC
Sorry, I'm not interested in EPEL7.

Comment 12 Kefu Chai 2021-05-08 02:23:27 UTC
hi Carl, sorry for

1) missing the needinfo. somehow, i didn't get the notification.
2) violating the policy. i didn't mean to do so. just forgot to check for packages depending on libfmt and to send the mail to the ML.
3) introducing the regression and the inconvenience.

i just sent a mail to the epel-devel ML.

hi Vitaly, i am sorry for the noise.


Note You need to log in before you can comment on or make changes to this bug.