On 09/07/2010 10:57 AM, Marcela Mašláňová wrote:
On 09/07/2010 10:51 AM, Paul Howarth wrote:
> On 07/09/10 07:44, Ralf Corsepius wrote:
>> On 09/07/2010 08:32 AM, Marcela Mašláňová wrote:
>>> commit 913e9f58837c3237bd67804e552732e77bb336e7
>>> Author: Marcela Mašláňová<mmaslano(a)redhat.com>
>>> Date: Tue Sep 7 08:32:10 2010 +0200
>>>
>>> - 630802 filter Mail::Sendmail from provides, require it from RPM
>>>
>>> perl-Test-Smoke.spec | 11 ++++++++++-
>>> 1 files changed, 10 insertions(+), 1 deletions(-)
>>> ---
>>> diff --git a/perl-Test-Smoke.spec b/perl-Test-Smoke.spec
>>> index 2fafd95..023404f 100644
>>> --- a/perl-Test-Smoke.spec
>>> +++ b/perl-Test-Smoke.spec
>>> @@ -1,6 +1,6 @@
>>> Name: perl-Test-Smoke
>>> Version: 1.43
>>> -Release: 1%{?dist}
>>> +Release: 2%{?dist}
>>> Summary: Perl core test smoke suite
>>> License: GPL+ or Artistic
>>> Group: Development/Libraries
>>> @@ -10,6 +10,7 @@ BuildRoot:
%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
>>> BuildArch: noarch
>>> BuildRequires: perl(ExtUtils::MakeMaker)
>>> BuildRequires: perl(Test::More)
>>> +Requires: perl(Mail::Sendmail)
>>> Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl}
-V:version`"; echo $version))
>>>
>>> %description
>>> @@ -17,6 +18,10 @@ Test::Smoke exports $conf and read_config() by default.
>>>
>>> %prep
>>> %setup -q -n Test-Smoke-%{version}
>>> +%{?filter_setup:
>>> +%filter_from_provides /perl(Mail::Sendmail)/d
>>> +%?perl_default_filter
>>> +}
>>>
>>> %build
>>> %{__perl} Makefile.PL INSTALLDIRS=vendor
OPTIMIZE="$RPM_OPT_FLAGS"
>>> @@ -34,6 +39,7 @@ find $RPM_BUILD_ROOT -depth -type d -exec rmdir {}
2>/dev/null \;
>>> %{_fixperms} $RPM_BUILD_ROOT/*
>>> rm -rf $RPM_BUILD_ROOT/%{_bindir}/W32Configure.pl
>>> rm -rf $RPM_BUILD_ROOT/%{_mandir}/man1/W32Configure*
>>> +rm -rf $RPM_BUILD_ROOT/%{perl_vendorlib}/inc/Mail/Sendmail.pm
>>>
>>> %check
>>> make test
>>> @@ -58,5 +64,8 @@ rm -rf $RPM_BUILD_ROOT
>>> %{_mandir}/man3/*
>>>
>>> %changelog
>>> +* Tue Sep 7 2010 Marcela Mašláňová<mmaslano(a)redhat.com> 1.43-2
>>> +- 630802 filter Mail::Sendmail from provides, require it from RPM
>>> +
>>
>> IMO, you are playing with symptoms, because the actual cause is this
>> package being broken.
>>
>> I.e. instead of filtering inc::Mail::Sendmail, this package is broken i
>> in installing inc/Mail/Sendmail.
> Marcela seems to have fixed the problem twice: firstly, as you noted, by
> filtering out the errant provide, and secondly by removing
> $RPM_BUILD_ROOT/%{perl_vendorlib}/inc/Mail/Sendmail.pm and adding
> Requires: perl(Mail::Sendmail) instead, which should mean that the
> filtering isn't needed in the first place.
>
> Paul.
> --
I created an upstream ticket. I'll try to propose patch for removing
bundled library, when I have time.
The cause of this problem isn't the source package containing a bundled
perl-module, it is this package installing this bundled library and it
using it (c.f. "grep inc smokeperl.pl", this is all wrong).
Ralf