Bug 750866

Summary: parrot-tools-0:3.6.0-1.fc15 provides perl(DB) erroneously
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: parrotAssignee: Gerd Pokorra <gp>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: dmalcolm, gp, steve
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: 2012-08-07 16:16:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Petr Pisar 2011-11-02 15:46:41 UTC
# repoquery --qf '%{SOURCERPM}/%{NEVRA}' --whatprovides 'perl(DB)' 
perl-5.12.4-162.fc15.src.rpm/perl-4:5.12.4-162.fc15.x86_64
perl-5.12.3-157.fc15.src.rpm/perl-4:5.12.3-157.fc15.x86_64
parrot-3.3.0-1.fc15.src.rpm/parrot-tools-0:3.3.0-1.fc15.x86_64
parrot-3.6.0-1.fc15.src.rpm/parrot-tools-0:3.6.0-1.fc15.x86_64

The perl(DB) should be provided by perl (the Perl 5) package only.

I can see this problem in F15 and F16.

Comment 1 Gerd Pokorra 2011-11-03 00:53:06 UTC
There is a section in the spec file that should avoid this:

.
.
.
%prep
%setup -q

cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* | %{__sed} -e '/perl(A)/d' -e '/perl(B)/d' \
                            -e '/perl(DB)/d' -e '/perl(Parrot::OpLib::core)/d'
EOF

%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
chmod +x %{__perl_provides}


%build
.
.
.


It looks like that this do not work any more with F15 and F16. Do you have an idea why?

Comment 2 Marcela Mašláňová 2011-11-03 07:20:52 UTC
No, we are using now for F-15 and higher:
%global __provides_exclude perl\\(DB\))|perl\\(and others

Comment 3 Petr Pisar 2011-11-03 09:18:08 UTC
This is tricky question. In short I don't know. See <https://fedoraproject.org/wiki/Perl/Tips#Filtering_autogenerated_dependencies_does_not_work>.

Comment 4 Gerd Pokorra 2011-11-04 12:11:04 UTC
Thank you for the information.

Rebuilds of parrot-3.6.0 are done in F15 (parrot-3.6.0-2.fc15)
and F16 (parrot-3.6.0-2.fc16) with

%global __provides_exclude perl\\(DB\\)

in the spec file. (It works fine.)

I will rebuild also in F17 when I find a solution also to exclude 

 perl(Parrot::OpLib::core) = %{version}

Comment 5 Gerd Pokorra 2011-11-04 17:07:26 UTC
Rebuild in F17 is running.

I don't find a way to filter out a provide that looks like:

  perl(...) = %{version}

Comment 6 Petr Pisar 2011-11-07 16:55:03 UTC
You can use the same macro to filter it out. It's just a regular expression.

However the reason why you cannot filter `perl(Parrot::OpLib::core) = 3.6.0' from parrot-tools Provides is you inject it manually on parrot.spec:73. The explicitly written dependencies are added into package after running filters.

But you should know why you added the dependency in version 1.4.0-9.

Comment 7 Fedora End Of Life 2012-08-07 16:16:46 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 8 Petr Pisar 2012-08-08 08:45:22 UTC
This seems fixed in F19--16. Thanks.