Bug 1273515

Summary: No all libraries required by librepo are listed as deps
Product: [Fedora] Fedora Reporter: Tomas Mlcoch <tmlcoch>
Component: librepoAssignee: Tomas Mlcoch <tmlcoch>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: bugs.michael, tmlcoch
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-22 08:31:17 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:
Bug Depends On: 1273803    
Bug Blocks:    

Description Tomas Mlcoch 2015-10-20 15:31:25 UTC
Description of problem:
https://lists.fedoraproject.org/pipermail/users/2015-October/465816.html

Probably caused by this statement in spec:

# prevent provides from nonstandard paths:
%filter_provides_in %{python_sitearch}/.*\.so$
%filter_provides_in %{python3_sitearch}/.*\.so$
%filter_setup

Comment 1 Tomas Mlcoch 2015-10-20 16:16:37 UTC
Hm, I thought that the cause of the issue are the %filter_provides_in statement, but it is not true.
This statement filters only provides, not requires.
To be sure I removed the statement from librepo's spec [1], but indeed it didn't help [2].

$ wget https://kojipkgs.fedoraproject.org//work/tasks/7726/11517726/python-librepo-1.7.17-2.fc24.x86_64.rpm
$ rpm -qRp python-librepo-1.7.17-2.fc24.x86_64.rpm | grep idn
<nothing>

[1] http://pkgs.fedoraproject.org/cgit/librepo.git/commit/
[2] http://koji.fedoraproject.org/koji/taskinfo?taskID=11517693

Comment 2 Tomas Mlcoch 2015-10-21 09:27:41 UTC
Probably a bug in rpm:
https://bugzilla.redhat.com/show_bug.cgi?id=1273803

Comment 3 Michael Schwendt 2015-10-21 20:20:46 UTC
Probably not a bug, since both rpmdeps -R and elfdeps -R find the same libs. Plus:

$ eu-readelf --dynamic  /usr/lib64/python2.7/site-packages/librepo/_librepomodule.so |grep NEEDED|sort
  NEEDED            Shared library: [libc.so.6]
  NEEDED            Shared library: [libcurl.so.4]
  NEEDED            Shared library: [libexpat.so.1]
  NEEDED            Shared library: [libglib-2.0.so.0]
  NEEDED            Shared library: [libgpg-error.so.0]
  NEEDED            Shared library: [libgpgme.so.11]
  NEEDED            Shared library: [libpython2.7.so.1.0]
  NEEDED            Shared library: [librepo.so.0]

Doesn't look as if there's a direct dep on libidn, and it's only libcurl that's linked with it.

# rpm -q --whatrequires 'libidn.so.11()(64bit)'
wget-1.16.3-1.fc22.x86_64
iputils-20140519-4.fc22.x86_64
dnsmasq-2.72-3.fc22.x86_64
libidn-1.32-1.fc22.x86_64
libpurple-2.10.11-12.fc22.x86_64
hesiod-3.2.1-4.fc22.x86_64
bind-utils-9.10.2-5.P4.fc22.x86_64
systemd-219-24.fc22.x86_64
libcurl-7.40.0-7.fc22.x86_64
gnutls-utils-3.3.18-1.fc22.x86_64