rawhide report: 20110219 changes - requires perl(Gtk2::

Panu Matilainen pmatilai at laiskiainen.org
Mon Feb 21 11:52:16 UTC 2011


On 02/21/2011 12:28 PM, Ralf Corsepius wrote:
> On 02/21/2011 10:36 AM, Panu Matilainen wrote:
>> On 02/21/2011 11:23 AM, Marcela Mašláňová wrote:
>>> On 02/19/2011 09:10 PM, Remi Collet wrote:
>>>> Le 19/02/2011 20:25, Rawhide Report a écrit :
>>>>
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::ScrolledWindow)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::DrawingArea)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::Frame)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::ComboBox)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::VBox)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::ToggleButton)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::Dialog)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::Window)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::Notebook)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::OptionMenu)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::HBox)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::Entry)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::EventBox)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::HScale)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::SpinButton)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::Button)
>>>>> gmusicbrowser-1.0.2-2.fc15.noarch requires perl(Gtk2::Viewport)
>>>>
>>>> I don't understand why this requires are detected in f15/rawhide
>>>> (wasn't
>>>> in f14) ?
>>>>
>>>> Should I filter them ?
>>>> Shouldn't perl-Gtk2 provides them ?
>>>>
>>>>
>>>> Any tips / idea ?
>>> The huge number of perl requires is result of recent update to rpm-4.9.
>>> In rpm were fixed some bugs and our filtering macro doesn't work well
>>> now [1].
>>>
>>> [1] https://bugzilla.redhat.com/show_bug.cgi?id=674765
>>
>> The filtering macros work just like they always did, the issue of
>> config(foo) dependencies when using external dependency generator (which
>> the current Fedora-specific filter macros rely on) in bug 674765 is not
>> new to 4.9.x. So 674765 is not really related here...
>>
>> A more likely candidate for new dependencies appearing is that rpm now
>> collects dependencies from perl's "use base qw" syntax, which older
>> versions did not.
>
> That's only one half of the issue.
>
> In case of the perl(Gtk2::*), rpm now collects "use base ..." requires,
> but misses to collect and provide the XS-symbols they are implicitly
> provided through.
>
> I.e. in a perfect world, rpm's deptracking needs to be extended to
> collect XS-symbols,
>
> A quick hack applicable to the perl-Gtk2-* packages would be to run
> some "nm -sD --undefined ..." based script to generate a list of these
> Provides:
>
> Rough uncooked example:
>
> nm -sD --defined /usr/lib64/perl5/auto/Gtk2/Gtk2.so \
> | grep -E 'XS_Gtk2.*_new$' \
> | sed -e 's,^.*XS_Gtk2,perl(Gtk2,;s,__,::,g;s,_new,),'

Right, if it's possible to generalize that to work with other XS modules 
it's easy to add a separate rule for them.

Meanwhile it's possible to override __elf_provides to a script which 
does the above (see attached patch perl-Gtk2 spec), BUT that only works 
when the internal dependency generator is used, and the fedora filtering 
macros disable it. So it's pretty much caught in the middle :-/

         - Panu -
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: perl-xs-hack-0.patch
Url: http://lists.fedoraproject.org/pipermail/devel/attachments/20110221/dab699ce/attachment.pl 


More information about the devel mailing list