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 13:48:12 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 235704    
Attachments:
Description Flags
one solution none

Description Michael Schwendt 2007-09-05 06:41:00 EDT
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 06:48:20 EDT
Yes, these are all plug-ins. Any idea how to fix this?
Comment 2 Michael Schwendt 2007-09-05 07:11:14 EDT
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 07:15:12 EDT
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 07:28:17 EDT
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 08:45:33 EDT
OK. I've tried and failed. Could you point me to a working example?
Comment 6 Michael Schwendt 2007-09-05 10:07:07 EDT
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 11:22:45 EDT
Thank you for the pointers. Fixed in devel. I'll poke rel-eng.
Comment 8 Michael Schwendt 2007-09-23 21:57:29 EDT
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 05:18:31 EDT
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 18:51:36 EDT
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 11:12:46 EST
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 13:48:10 EST
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.