Bug 278181

Summary: Bad Provides
Product: [Fedora] Fedora Reporter: Michael Schwendt <bugs.michael>
Component: ekg2Assignee: Dominik 'Rathann' Mierzejewski <dominik>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: rawhideKeywords: Reopened
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.1.1-1.fc8 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-26 18:48:12 UTC Type: ---
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:    
Bug Blocks: 235704    
Attachments:
Description Flags
one solution none

Description Michael Schwendt 2007-09-05 10:41:00 UTC
ekg2-python provides python
python provides python EQ 0 2.5.1 9.fc8

perl-ekg2 provides perl
perl provides perl EQ 4 5.8.8 25.fc8

ekg2-core provides ncurses
ncurses provides ncurses EQ 0 5.6 9.20070812.fc8

ekg2-voip provides gsm
gsm provides gsm EQ 0 1.0.12 5.fc8

ekg2-gpg provides gpg
gnupg provides gpg
gnupg2 provides gpg

ekg2-xosd provides xosd
xosd provides xosd EQ 0 2.2.14 10.fc8

Comment 1 Dominik 'Rathann' Mierzejewski 2007-09-05 10:48:20 UTC
Yes, these are all plug-ins. Any idea how to fix this?

Comment 2 Michael Schwendt 2007-09-05 11:11:14 UTC
They are not normal for sub-packages.
But where do they come from?

Do they also appear in a fresh scratch-build?


Comment 3 Michael Schwendt 2007-09-05 11:15:12 UTC
Maybe they are generated as a side-effect of the Polish translations
and are a bug in rpm-build?

Comment 4 Michael Schwendt 2007-09-05 11:28:17 UTC
Ah! Bad SONAMEs from the plugin libs.

You need to filter them out with customised find-provides scripts.


Comment 5 Dominik 'Rathann' Mierzejewski 2007-09-05 12:45:33 UTC
OK. I've tried and failed. Could you point me to a working example?

Comment 6 Michael Schwendt 2007-09-05 14:07:07 UTC
http://fedoraproject.org/wiki/PackagingDrafts/FilteringAutomaticDependencies

That enough as a recipe?

[...]

An alternative way is like this:

%define _use_internal_dependency_generator 0

# patch against /usr/lib/rpm/redhat/find-provides
Patch1000: my.custom.find-provides.patch

# here in %prep section
cp -a /usr/lib/rpm/redhat/find-provides %{_tmppath}/find-provides.%{name}
patch %{_tmppath}/find-provides.%{name} %{PATCH1000}
%define __find_provides %{_tmppath}/find-provides.%{name}

In that case you learn when the original find-provides changes
in unexpected ways that break the customisation.


Comment 7 Dominik 'Rathann' Mierzejewski 2007-09-16 15:22:45 UTC
Thank you for the pointers. Fixed in devel. I'll poke rel-eng.

Comment 8 Michael Schwendt 2007-09-24 01:57:29 UTC
Created attachment 203651 [details]
one solution

* the sed regexp in your filter-provides.sh is broken,
it accidentally kills Provides you don't have in the list

* perl-ekg2 still provides "perl" (as the proof that the sed
is wrong -- perhaps you wanted to used \| instead of | but the
pattern is too inaccurate with /d)

* other sub-packages provide lots of symbols which look
like packages names, e.g.: jabber, gtk
(they are only deleted accidentally)

The attached patch doesn't filter the Provides, but the
filelist passed to find-provides. It takes out the plugins
and the Perl shared libs.

Comment 9 Michael Schwendt 2007-09-28 09:18:31 UTC
As a side-note, the iconv calls in the %install section break
--short-circuit rpmbuilds, since source files in $RPM_BUILD_DIR
are modified, and repeated conversion leads to file corruption.
Better modify the files in %prep instead.


Comment 10 Dominik 'Rathann' Mierzejewski 2007-10-23 22:51:36 UTC
New version is out and doesn't have the bad sonames anymore.
I fixed the issue from comment 9, too.

Scratch build here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=208558

Comment 11 Fedora Update System 2007-11-06 16:12:46 UTC
ekg2-0.1.1-1.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update ekg2'

Comment 12 Fedora Update System 2007-11-26 18:48:10 UTC
ekg2-0.1.1-1.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.