Bug 1243737

Summary: python-solv should depend on an exact version of libsolv
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: libsolvAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: awilliam, jsilhan, mkrizek, mluscon, packaging-team-maint, pnemade, tflink, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 0.6.11-2.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-10 09:57:00 UTC Type: Bug
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 2015-07-16 07:52:12 UTC
Description of problem:
Recently we updated python-libsolv on Fedora 21 and received this error on running "import solv":

    import solv
  File "/usr/lib64/python2.7/site-packages/solv.py", line 28, in <module>
    _solv = swig_import_helper()
  File "/usr/lib64/python2.7/site-packages/solv.py", line 24, in swig_import_helper
    _mod = imp.load_module('_solv', fp, pathname, description)
ImportError: /usr/lib64/python2.7/site-packages/_solv.so: symbol solver_alternatives_count, version SOLV_1.0 not defined in file libsolv.so.0 with link time reference

The reason was that python-solv got updated from python-solv-0.6.4-3.fc21.x86_64 to python-solv-0.6.11-1.fc21.x86_64, but libsolv stayed at 0.6.4.

Since python-libsolv is a python binding for libsolv library, I believe it should depend on the exact version of libsolv it is created against. That would ensure that updating just python-libsolv will also pull and update matching version of libsolv.

The same problem applies most probably also to other language bindings, like ruby-libsolv or perl-libsolv.

Please include Requires in all these subpackages to the exact version of libsolv. Please fix this in all supported Fedora releases, not just Rawhide.

Thank you.

Version-Release number of selected component (if applicable):
python-solv-0.6.11-1.fc21.x86_64

How reproducible:
always

Steps to Reproduce:
1. yum/dnf update python-libsolv
2. see that libsolv stayed with a lower version
3. see that "import solv" fails

Comment 1 Honza Silhan 2015-07-29 14:56:21 UTC
Out of curiosity: why don't you use hawkey? It would really help if you could fix this in dist-git by yourself.

Comment 2 Kamil Páral 2015-08-04 09:14:59 UTC
Historic reasons, I guess. It would be great to see it rewritten to a higher level API. Hopefully in the future.

Unless you get to it first, I'll ask somebody with provenpackager powers to fix the spec file (I assume we have your permission, per your response). Thanks.

Comment 3 Tim Flink 2015-08-04 16:06:47 UTC
(In reply to Jan Silhan from comment #1)
> Out of curiosity: why don't you use hawkey?

I'm not sure that hawkey would work well for our particular use case but I wouldn't really expect it to. We can look into in the future but I'm not really keen on such a big change unless there's a good, immediate reason.

> It would really help if you could fix this in dist-git by yourself.

I'm really not sure quite what you're getting at here but as Kamil said, we'll start asking provenpackagers to make the change.

Comment 4 Adam Williamson 2015-08-04 19:41:26 UTC
Change made, builds started for all releases (21 to Rawhide).

Comment 5 Fedora Update System 2015-08-04 22:36:43 UTC
libsolv-0.6.11-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/libsolv-0.6.11-2.fc21

Comment 6 Fedora Update System 2015-08-04 22:36:51 UTC
libsolv-0.6.11-2.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/libsolv-0.6.11-2.fc22

Comment 7 Fedora Update System 2015-08-04 22:36:59 UTC
libsolv-0.6.11-2.fc23 has been submitted as an update for Fedora 23.
https://admin.fedoraproject.org/updates/libsolv-0.6.11-2.fc23

Comment 8 Fedora Update System 2015-08-05 00:11:53 UTC
Package libsolv-0.6.11-2.fc23:
* should fix your issue,
* was pushed to the Fedora 23 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libsolv-0.6.11-2.fc23'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-12735/libsolv-0.6.11-2.fc23
then log in and leave karma (feedback).

Comment 9 Kamil Páral 2015-08-05 06:54:28 UTC
Thanks, Adam.

Comment 10 Fedora Update System 2015-08-06 14:58:31 UTC
libsolv-0.6.11-3.git1f9abfb.fc23 has been submitted as an update for Fedora 23.
https://admin.fedoraproject.org/updates/libsolv-0.6.11-3.git1f9abfb.fc23

Comment 11 Fedora Update System 2015-08-10 09:57:00 UTC
libsolv-0.6.11-2.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2015-08-26 04:34:12 UTC
libsolv-0.6.11-3.git1f9abfb.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2015-09-01 07:27:04 UTC
libsolv-0.6.11-2.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.