On Mon, Feb 21, 2011 at 11:28 AM, Ralf Corsepius <rc040...@freenet.de> wrote:
[snip]
>
> 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,),'

grep /and/ sed? What about simply:

nm -sD --defined /usr/lib64/perl5/auto/Gtk2/Gtk2.so \
| sed -ne '/XS_Gtk2.*_new$/{s,^.*XS_Gtk2,perl(Gtk2,;s,__,::,g;s,_new,),;p}'

Or a perlier way would be to grab the info from perl's symbol table:

perl -MDevel::Symdump -MGtk2 -E 'say "perl($_)" for sort
Devel::Symdump->rnew("Gtk2")->packages'

-- 
Iain.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Reply via email to