Skip Menu |

This queue is for tickets about the CPANPLUS CPAN distribution.

Report information
The Basics
Id: 30465
Status: resolved
Worked: 10 min
Priority: 0/
Queue: CPANPLUS

People
Owner: BINGOS [...] cpan.org
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: META.yml is missing prerequisites in 0.83_08
The subject says it all. The prerequisite are listed correctly in the generated Makefile, though.
Subject: Re: [rt.cpan.org #30465] META.yml is missing prerequisites in 0.83_08
Date: Sun, 4 Nov 2007 16:50:16 +0100
To: bug-CPANPLUS [...] rt.cpan.org
From: "Jos I. Boumans" <kane [...] xs4all.nl>
On Nov 4, 2007, at 2:03 PM, Slaven_Rezic via RT wrote: Show quoted text
> The subject says it all. The prerequisite are listed correctly in the > generated Makefile, though.
CPANPLUS' dependencies are dynamic based on your OS and configuration. A static file like meta.yml can not express that, and that's why we don't bother. -- Jos Boumans How do I prove I am not crazy to people who are?
On Sun Nov 04 10:51:01 2007, kane@xs4all.nl wrote: Show quoted text
> > On Nov 4, 2007, at 2:03 PM, Slaven_Rezic via RT wrote: >
> > The subject says it all. The prerequisite are listed correctly in the > > generated Makefile, though.
> > CPANPLUS' dependencies are dynamic based on your OS and configuration. > > A static file like meta.yml can not express that, and that's why > we don't bother. >
Thus systems like CPANTS or CPAN-Dependencies cannot determine any dependencies at all for CPANPLUS. META.yml was not meant as an authoritative source for prereq information (unless you explicitely set the dynamic_config flag to false, see http://module-build.sourceforge.net/META-spec-blead.html#dynamic_config ). I am sure there's a set of CPANPLUS prerequisites which are valid for all platforms and perl versions. Any other prerequisites (e.g. feature-driven) could be put into a "recommends" section in the META.yml. Regards, Slaven
Subject: Re: [rt.cpan.org #30465] META.yml is missing prerequisites in 0.83_08
Date: Sun, 4 Nov 2007 17:56:57 +0100
To: bug-CPANPLUS [...] rt.cpan.org
From: "Jos I. Boumans" <kane [...] xs4all.nl>
On Nov 4, 2007, at 5:28 PM, Slaven_Rezic via RT wrote: Show quoted text
> Thus systems like CPANTS or CPAN-Dependencies cannot determine any > dependencies at all for CPANPLUS. META.yml was not meant as an > authoritative source for prereq information (unless you explicitely > set > the dynamic_config flag to false, see > http://module-build.sourceforge.net/META-spec- > blead.html#dynamic_config > ). I am sure there's a set of CPANPLUS prerequisites which are > valid for > all platforms and perl versions. Any other prerequisites (e.g. > feature-driven) could be put into a "recommends" section in the > META.yml.
We have tried this, and it doesn't work out either. If there's a prereq list in meta.yml it's considered authoritive by many sources (like CPAN.pm) and it's simply _wrong_. The prereq list is dynamic, and therefor simply doesn't fit in a static list. -- Jos Boumans "Never ask a man what computer he uses. If it's a Mac, he'll tell you. If it's not, why embarrass him?" - Tom Clancy CPANPLUS http://cpanplus.sf.net
Subject: Re: [rt.cpan.org #30465] META.yml is missing prerequisites in 0.83_08
Date: 04 Nov 2007 18:45:54 +0100
To: bug-CPANPLUS [...] rt.cpan.org
From: Slaven Rezic <slaven [...] rezic.de>
"kane@xs4all.nl via RT" <bug-CPANPLUS@rt.cpan.org> writes: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=30465 > > > > On Nov 4, 2007, at 5:28 PM, Slaven_Rezic via RT wrote: >
> > Thus systems like CPANTS or CPAN-Dependencies cannot determine any > > dependencies at all for CPANPLUS. META.yml was not meant as an > > authoritative source for prereq information (unless you explicitely > > set > > the dynamic_config flag to false, see > > http://module-build.sourceforge.net/META-spec- > > blead.html#dynamic_config > > ). I am sure there's a set of CPANPLUS prerequisites which are > > valid for > > all platforms and perl versions. Any other prerequisites (e.g. > > feature-driven) could be put into a "recommends" section in the > > META.yml.
> > We have tried this, and it doesn't work out either. If there's a > prereq list > in meta.yml it's considered authoritive by many sources (like > CPAN.pm) and > it's simply _wrong_.
I don't think this is true. Please check it again, at least CPAN.pm should not use the META.yml information unless dynamic_config is explicitely unset in the META.yml. Show quoted text
> > The prereq list is dynamic, and therefor simply doesn't fit in a > static list. >
From scanning through CPANPLUS::Selfupdate, it seems that the "dependencies" hash is static. Or did I miss something? Slaven -- Slaven Rezic - slaven <at> rezic <dot> de Berlin Perl Mongers - http://berlin.pm.org
Subject: Re: [rt.cpan.org #30465] META.yml is missing prerequisites in 0.83_08
Date: Sun, 4 Nov 2007 19:13:15 +0100
To: bug-CPANPLUS [...] rt.cpan.org
From: "Jos I. Boumans" <kane [...] xs4all.nl>
On Nov 4, 2007, at 6:46 PM, slaven@rezic.de via RT wrote: Show quoted text
>> We have tried this, and it doesn't work out either. If there's a >> prereq list in meta.yml it's considered authoritive by many >> sources (like >> CPAN.pm) and it's simply _wrong_.
> > I don't think this is true. Please check it again, at least CPAN.pm > should not use the META.yml information unless dynamic_config is > explicitely unset in the META.yml.
Indeed, it shouldn't. But it did. Checking my own changes, we made the change to remove requires: information in Changeset 789, 09/08/06 12:58:20 (1 year ago). The reason was that CPAN.pm didn't look anywhere else for prereqs if requires: was defined. Between the 1.8x and the 1.9x series of CPAN.pm, this has been fixed judging by the CPAN.pm changelog and looking at diffs. However, looking at corelist, it tells me that every version of perl released so far has a CPAN.pm of < 1.90. That means all current perls are affected by this and CPANPLUS is uninstallable using those CPAN.pms if we ship with a META.yml containing requires: CPAN was first released with perl 5.004 5.004 1.2401 5.00405 1.40 5.005 1.3901 5.00503 1.48 5.00504 1.48 5.006 1.52 5.006001 1.59_54 5.006002 1.59_54 5.007003 1.59_56 5.008 1.61 5.008001 1.76_01 5.008002 1.76_01 5.008003 1.76_01 5.008004 1.76_01 5.008005 1.76_01 5.008006 1.76_01 5.008007 1.76_01 5.008008 1.76_02 5.009 1.76_01 5.009001 1.76_01 5.009002 1.76_01 5.009003 1.83_58 Show quoted text
> From scanning through CPANPLUS::Selfupdate, it seems that the > "dependencies" hash is static. Or did I miss something?
The dependencies for a given feature/issue are static. However, whether they are needed or not is determined by your config, and the config looks at your environmment & OS to determine it's settings. I appreciate the time you spent looking into this, but it doesn't seem like a smart move to trust solely on META.yml currently. Cheers, -- Jos Boumans From kid's Superman costume for Halloween (stitched into the cape's tag) -- "Warning: Use of This Device Does Not Enable Wearer To Fly." CPANPLUS http://cpanplus.sf.net
Subject: Re: [rt.cpan.org #30465] META.yml is missing prerequisites in 0.83_08
Date: 04 Nov 2007 20:21:22 +0100
To: bug-CPANPLUS [...] rt.cpan.org
From: Slaven Rezic <slaven [...] rezic.de>
"kane@xs4all.nl via RT" <bug-CPANPLUS@rt.cpan.org> writes: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=30465 > > > > On Nov 4, 2007, at 6:46 PM, slaven@rezic.de via RT wrote:
> >> We have tried this, and it doesn't work out either. If there's a > >> prereq list in meta.yml it's considered authoritive by many > >> sources (like > >> CPAN.pm) and it's simply _wrong_.
> > > > I don't think this is true. Please check it again, at least CPAN.pm > > should not use the META.yml information unless dynamic_config is > > explicitely unset in the META.yml.
> > Indeed, it shouldn't. But it did. Checking my own changes, we made > the change to remove requires: information in Changeset 789, > 09/08/06 12:58:20 (1 year ago). > > The reason was that CPAN.pm didn't look anywhere else for prereqs > if requires: was defined. > > Between the 1.8x and the 1.9x series of CPAN.pm, this has been fixed > judging by the CPAN.pm changelog and looking at diffs. > > However, looking at corelist, it tells me that every version of perl > released so far has a CPAN.pm of < 1.90. That means all current perls > are affected by this and CPANPLUS is uninstallable using those CPAN.pms > if we ship with a META.yml containing requires: > > CPAN was first released with perl 5.004 > 5.004 1.2401 > 5.00405 1.40 > 5.005 1.3901 > 5.00503 1.48 > 5.00504 1.48 > 5.006 1.52 > 5.006001 1.59_54 > 5.006002 1.59_54 > 5.007003 1.59_56 > 5.008 1.61 > 5.008001 1.76_01 > 5.008002 1.76_01 > 5.008003 1.76_01 > 5.008004 1.76_01 > 5.008005 1.76_01 > 5.008006 1.76_01 > 5.008007 1.76_01 > 5.008008 1.76_02 > 5.009 1.76_01 > 5.009001 1.76_01 > 5.009002 1.76_01 > 5.009003 1.83_58
But CPAN.pm 1.76_02 and all former versions did not load META.yml at all. And I think you may ignore the perl development versions in this list. Show quoted text
>
> > From scanning through CPANPLUS::Selfupdate, it seems that the > > "dependencies" hash is static. Or did I miss something?
> > The dependencies for a given feature/issue are static. However, whether > they are needed or not is determined by your config, and the config > looks > at your environmment & OS to determine it's settings. > > I appreciate the time you spent looking into this, but it doesn't seem > like a smart move to trust solely on META.yml currently. > > Cheers, > > -- > Jos Boumans > > From kid's Superman costume for Halloween (stitched into the > cape's tag) -- "Warning: Use of This Device Does Not Enable > Wearer To Fly." > > CPANPLUS http://cpanplus.sf.net > > >
-- Slaven Rezic - slaven <at> rezic <dot> de tksm - Perl/Tk program for searching and replacing in multiple files http://ptktools.sourceforge.net/#tksm
On Sun Nov 04 13:14:06 2007, kane@xs4all.nl wrote: Show quoted text
> > On Nov 4, 2007, at 6:46 PM, slaven@rezic.de via RT wrote:
[...] Show quoted text
> > From scanning through CPANPLUS::Selfupdate, it seems that the > > "dependencies" hash is static. Or did I miss something?
> > The dependencies for a given feature/issue are static. However, whether > they are needed or not is determined by your config, and the config > looks > at your environmment & OS to determine it's settings.
It seems to me that this may be expressed with the optional_features keyword, which is kind-of specified in the blead version of the META.yml spec. Show quoted text
> > I appreciate the time you spent looking into this, but it doesn't seem > like a smart move to trust solely on META.yml currently. >
It's clear that the contents should not be used for installers. But it is the only way to generate some information about the CPAN dependency web. Regards, Slaven
dynamic_config has been set to 1 in the META.yml, to explicitly state that prereqs are dynamically generated. http://module-build.sourceforg e.net/META-spec-v1.3.html#dynamic_config Many thanks.