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

2011-02-19 Thread Remi Collet
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 ?
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

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

2011-02-21 Thread Marcela Mašláňová
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

Marcela

-- 
Marcela Mašláňová
BaseOS team Brno
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

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

2011-02-21 Thread Panu Matilainen
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.

- Panu -

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

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

2011-02-21 Thread Remi Collet
Le 21/02/2011 10:36, Panu Matilainen a écrit :
> 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.

So ? Should we fill a bug against perl-Gtk2 to Provides all usable class
provided by Gtk2.so and not detected by RPM ? (a very long list which
could probably be generated from *.pod or or man3/*)

For now I have add a huge filter, which is really a poor workaround

%filter_from_requires /perl(Gtk2::B/d
%filter_from_requires /perl(Gtk2::C/d
%filter_from_requires /perl(Gtk2::D/d
%filter_from_requires /perl(Gtk2::E/d
%filter_from_requires /perl(Gtk2::F/d
%filter_from_requires /perl(Gtk2::H/d
%filter_from_requires /perl(Gtk2::L/d
%filter_from_requires /perl(Gtk2::Notebook)/d
%filter_from_requires /perl(Gtk2::O/d
%filter_from_requires /perl(Gtk2::ProgressBar)/d
%filter_from_requires /perl(Gtk2::S/d
%filter_from_requires /perl(Gtk2::ToggleButton)/d
%filter_from_requires /perl(Gtk2::V/d
%filter_from_requires /perl(Gtk2::W/d


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

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

2011-02-21 Thread Jan Kratochvil
On Mon, 21 Feb 2011 10:36:05 +0100, Panu Matilainen wrote:
> 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.

filed now as:
https://bugzilla.redhat.com/show_bug.cgi?id=679014

/usr/bin/cvs2cl:
package CVS::Utils::ChangeLog::EntrySet::Output::Text;
use base qw( CVS::Utils::ChangeLog::EntrySet::Output );
package CVS::Utils::ChangeLog::EntrySet::Output;

rpm (or which one) generates:
rpm -q --requires cvs2cl
perl(CVS::Utils::ChangeLog::EntrySet::Output)  
 - this is incorrect

BTW (this is correct):
rpm -q --provides cvs2cl



Regards,
Jan
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel


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

2011-02-21 Thread Ralf Corsepius
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,),'

Ralf

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

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

2011-02-21 Thread Panu Matilainen
On 02/21/2011 11:47 AM, Remi Collet wrote:
> Le 21/02/2011 10:36, Panu Matilainen a écrit :
>> 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.
>
> So ? Should we fill a bug against perl-Gtk2 to Provides all usable class
> provided by Gtk2.so and not detected by RPM ? (a very long list which
> could probably be generated from *.pod or or man3/*)

Well, I dont know. Short term, if the use-base requires are causing more 
trouble than good, there's always the option of just reverting the patch.

Longer term (something to investigate for F16 I suppose), language and 
other application specific dependency generation needs to move out of 
rpm into the hands of those who know their language, now that it's 
finally possible. The current situation is nothing short of ridiculous: 
I've close to zero chance at fixing bugs in scripts that are written in 
perl, about perl, which is a language I have absolutely no clue about. 
Heck, I don't even know what "use base" means, other than it apparently 
relates to using modules in one way or the other.

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

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

2011-02-21 Thread Ralf Corsepius
On 02/21/2011 11:39 AM, Panu Matilainen wrote:
> On 02/21/2011 11:47 AM, Remi Collet wrote:
>> Le 21/02/2011 10:36, Panu Matilainen a écrit :
>>> 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.
>>
>> So ? Should we fill a bug against perl-Gtk2 to Provides all usable class
>> provided by Gtk2.so and not detected by RPM ? (a very long list which
>> could probably be generated from *.pod or or man3/*)
>
> Well, I dont know. Short term, if the use-base requires are causing more
> trouble than good,
I disagree - These are a significant improvement ...

> there's always the option of just reverting the patch.
... except that the time they were introduced into Fedora was poorly chosen.

Now it's too late too revert this change, because it would cause further 
  troubles.

In short: The current problems are a temporary churn which could easily 
be fixed (most of them already are fixed!) if QA would finally stop 
taking Fedora 15's packages hostage.

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

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

2011-02-21 Thread Panu Matilainen

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 -
diff --git a/perl-Gtk2.spec b/perl-Gtk2.spec
index 61f1e86..544f2be 100644
--- a/perl-Gtk2.spec
+++ b/perl-Gtk2.spec
@@ -13,6 +13,7 @@ Group:  Development/Libraries
 License:LGPLv2+
 URL:http://search.cpan.org/dist/Gtk2/
 Source0:http://www.cpan.org/authors/id/T/TS/TSCH/Gtk2-%{version}.tar.gz
+Source100: xs-provides.sh
 BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  perl >= 2:5.8.0
@@ -26,7 +27,7 @@ Requires:   perl(:MODULE_COMPAT_%(eval "`%{__perl} 
-V:version`"; echo $versi
 Requires:   perl(Glib) >= 1.200
 Requires:   perl(Cairo) >= 1.00
 
-%{?perl_default_filter}
+%define __elf_provides %{SOURCE100}
 
 %description
 This module allows you to write Gtk+ graphical user interfaces in a
diff --git a/xs-provides.sh b/xs-provides.sh
new file mode 100755
index 000..78070fa
--- /dev/null
+++ b/xs-provides.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+while read f; do
+nm -sD "${f}" | grep -E 'XS_Gtk2.*_new$' \
+| sed -e 's,^.*XS_Gtk2,perl(Gtk2,;s,__,::,g;s,_new,),' 
+done
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

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

2011-02-21 Thread Panu Matilainen
On 02/21/2011 12:58 PM, Ralf Corsepius wrote:
> On 02/21/2011 11:39 AM, Panu Matilainen wrote:
>> On 02/21/2011 11:47 AM, Remi Collet wrote:
>>> Le 21/02/2011 10:36, Panu Matilainen a écrit :
 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.
>>>
>>> So ? Should we fill a bug against perl-Gtk2 to Provides all usable class
>>> provided by Gtk2.so and not detected by RPM ? (a very long list which
>>> could probably be generated from *.pod or or man3/*)
>>
>> Well, I dont know. Short term, if the use-base requires are causing more
>> trouble than good,
> I disagree - These are a significant improvement ...

Like I said, I don't know. If it's a significant improvement, good :)

>> there's always the option of just reverting the patch.
> ... except that the time they were introduced into Fedora was poorly
> chosen.
>
> Now it's too late too revert this change, because it would cause further
> troubles.
>
> In short: The current problems are a temporary churn which could easily
> be fixed (most of them already are fixed!) if QA would finally stop
> taking Fedora 15's packages hostage.

Nod, branching right after a mass-rebuild with such a huge number of 
broken dependencies in the package set (many of which existed before, 
many more brought in by the mass-rebuild) is causing unnecessary pain.

I've been trying to watch over any regressions from the new dependency 
generator bits, but with half the world broken it's pretty hopeless to 
spot any individual issues. Rawhide's been certainly living up to its 
name recently...

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

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

2011-02-21 Thread Iain Arnell
On Mon, Feb 21, 2011 at 11:28 AM, Ralf Corsepius  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


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

2011-02-21 Thread Ralf Corsepius
On 02/21/2011 02:47 PM, Iain Arnell wrote:
> On Mon, Feb 21, 2011 at 11:28 AM, Ralf Corsepius  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?
Please note, I said "uncooked" - It wasn't meant to be more than just a 
"demo of concept".

On a second thought - May-be it would be more suitable for perl to parse 
the *.pods, such XS-modules normally are accompanied with?

I am not sure.

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


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

2011-02-21 Thread Jan Kratochvil
On Mon, 21 Feb 2011 15:22:48 +0100, Ralf Corsepius wrote:
> On a second thought - May-be it would be more suitable for perl to parse 
> the *.pods, such XS-modules normally are accompanied with?

As discussed in
[Bug 679014] rpmbuild: Perl excessive auto-Requires
https://bugzilla.redhat.com/show_bug.cgi?id=679014

there is no need for autodetection.  CPAN packages already provide their
"requires" list:
Gtk2-GladeXML-1.007/META.yml:
requires: 
ExtUtils::Depends: 0.300
ExtUtils::PkgConfig:   1.000
Glib:  1.020
Gtk2:  1.000

which is IIRC generated from Makefile.PL, where one can also find the
"provides" list using ExtUtils::MakeMaker.  This should be resolved by perl
maintainers.


Regards,
Jan
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel


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

2011-02-21 Thread Daniel P. Berrange
On Mon, Feb 21, 2011 at 06:45:03PM +0100, Jan Kratochvil wrote:
> On Mon, 21 Feb 2011 15:22:48 +0100, Ralf Corsepius wrote:
> > On a second thought - May-be it would be more suitable for perl to parse 
> > the *.pods, such XS-modules normally are accompanied with?
> 
> As discussed in
>   [Bug 679014] rpmbuild: Perl excessive auto-Requires
>   https://bugzilla.redhat.com/show_bug.cgi?id=679014
> 
> there is no need for autodetection.  CPAN packages already provide their
> "requires" list:
> Gtk2-GladeXML-1.007/META.yml:
> requires: 
> ExtUtils::Depends: 0.300
> ExtUtils::PkgConfig:   1.000
> Glib:  1.020
> Gtk2:  1.000
> 
> which is IIRC generated from Makefile.PL, where one can also find the
> "provides" list using ExtUtils::MakeMaker.  This should be resolved by perl
> maintainers.

This assume the upstream maintainers fill out the META.yml accurately
which is often not the case :( One of the tests in Module::CPANTS::Analyse
is to run the package through Module::ExtractUse and report all the things
that the maintainer forgot. Unfortunately the CPANTS website is offline
right now so I can't point to the stats showing how many Perl package
fail this test.

I've in fact got an open RFE against cpanspec[1] for it to use
Module::ExtractUse to fill in the BuildRequires properly because
its current scanning of Makefile.PL / META.yml is insufficient in
many cases.

Regards,
Daniel

[1] https://bugzilla.redhat.com/show_bug.cgi?id=461350
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel


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

2011-02-21 Thread Ville Skyttä
On 02/21/2011 11:36 AM, Panu Matilainen wrote:

> 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.

Another one which will result in more dependencies than before is a
here-doc related fix; previously there were more cases where the dep
extractor got the start/end of a here-doc wrong, possibly resulting in
it missing dependencies for the rest of that file and in some cases even
the rest of all the remaining perl files in the build.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel


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

2011-02-21 Thread Ralf Corsepius
On 02/21/2011 07:27 PM, Daniel P. Berrange wrote:
> On Mon, Feb 21, 2011 at 06:45:03PM +0100, Jan Kratochvil wrote:
>> On Mon, 21 Feb 2011 15:22:48 +0100, Ralf Corsepius wrote:
>>> On a second thought - May-be it would be more suitable for perl to parse
>>> the *.pods, such XS-modules normally are accompanied with?
>> As discussed in
>>  [Bug 679014] rpmbuild: Perl excessive auto-Requires
>>  https://bugzilla.redhat.com/show_bug.cgi?id=679014
>>
>> there is no need for autodetection.  CPAN packages already provide their
>> "requires" list:
>> Gtk2-GladeXML-1.007/META.yml:
>> requires:
>>  ExtUtils::Depends: 0.300
>>  ExtUtils::PkgConfig:   1.000
>>  Glib:  1.020
>>  Gtk2:  1.000
>>
>> which is IIRC generated from Makefile.PL, where one can also find the
>> "provides" list using ExtUtils::MakeMaker.  This should be resolved by perl
>> maintainers.
I guess, you didn't realize that the people involved in this thread are 
the perl maintainers.

It's probably only thanks to the fact that the OP who raised this thread 
isn't subscribed to Fedora's perl-list, we raised this thread here and 
due to the effects of Fedora's QA's package blockage (otherwise his 
issues would have likely already been shipped), he rose this question, here.
> This assume the upstream maintainers fill out the META.yml accurately
> which is often not the case
Exactly. Also consider there are many perl-packages (esp. those out of 
CPAN) for which the META.yml-machinery is not available.

On a more abstract level one may consider perl's META.yml-machinery to 
be a package dependency tracking machinery of its own, in parallel to 
rpm's dependency tracking machinery, with the essentially the same 
issues, problems and imperfections as rpm/rpm.specs itself.

Ralf


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


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

2011-02-22 Thread Jan Kratochvil
On Tue, 22 Feb 2011 06:57:20 +0100, Ralf Corsepius wrote:
> On a more abstract level one may consider perl's META.yml-machinery to 
> be a package dependency tracking machinery of its own, in parallel to 
> rpm's dependency tracking machinery, with the essentially the same 
> issues, problems and imperfections as rpm/rpm.specs itself.

In such case aren't such missing dependencies a normal upstream bug which
should be fixed first as a Fedora patch (of META.yml) and pushed upstream,
as usual?


Thanks,
Jan
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel


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

2011-02-22 Thread Marcela Mašláňová
On 02/22/2011 10:45 AM, Jan Kratochvil wrote:
> On Tue, 22 Feb 2011 06:57:20 +0100, Ralf Corsepius wrote:
>> On a more abstract level one may consider perl's META.yml-machinery to 
>> be a package dependency tracking machinery of its own, in parallel to 
>> rpm's dependency tracking machinery, with the essentially the same 
>> issues, problems and imperfections as rpm/rpm.specs itself.
> 
> In such case aren't such missing dependencies a normal upstream bug which
> should be fixed first as a Fedora patch (of META.yml) and pushed upstream,
> as usual?
> 
> 
> Thanks,
> Jan

Great idea, you can start with your package... Seriously, it's hundred
of packages, you can hardly fix all of them and you can't be sure that
there won't be any missing requires during updates. It would be nice if
we have possibility to check it automatically. Rpm changed few things
and it's now finding more requires. That's a start ;-) But it shouldn't
happened few days before freeze.

Regards,
Marcela

-- 
Marcela Mašláňová
BaseOS team Brno
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel