On Sat, May 23, 2009 at 11:13 PM, Iain Arnell <iarnell@gmail.com> wrote:
On Sun, May 24, 2009 at 3:03 AM, Chris Weyl <cweyl@alumni.drew.edu> wrote:
> On Sat, May 23, 2009 at 5:57 PM, Chris Weyl <cweyl@alumni.drew.edu> wrote:
>>
>> So, in today's rawhide there are still 184 perl-* packages that provide a
>> .so they shouldn't.  If there aren't any screams, sometime in the not too
>> distant future I'm going to loop over them, add the filtering code we hashed
>> out earlier, and kick builds off in rawhide.
>
> ...or, of course, someone has a better / cleaner idea :)
>

I hate to see that much copy/pasted code - wouldn't it be better to
have a more centralized solution.  Maybe an /etc/rpm/macros.perl with
macros for filtering private .so and unwanted perl(...)
provides/requires? At least until someone gets the time to implement a
better requires/provides facility in rpm (or redhat-rpm-config) itself
- at which point, these workarounds only need to be undone in one
place.

Heh.  I actually sent that last note, then started going down the macro road myself...  Initially I looked at just doing something specific to this, but broke it out and wrote something a touch more granular:

http://fedorapeople.org/~cweyl/macros.perl

With that in place, it's possible to stick a "%{?perl_default_filter}", say before %description, causing all private .so's to not be scanned by the requires scripts...  It also prevents anything under %{_docdir} from being scanned for either prov or req.  We can also filter things both at the file level (preventing them from being scanned) or at the generated req/dep level.

If the macros look sane, I'll open a RFE bug against the perl package to ask that it be bundled and delivered as /etc/rpm/macros.perl.

While this is aimed at solving our issues, it should make dealing with wonky auto req/provs much easier. :)

                                              -Chris
--
Chris Weyl
Ex astris, scientia