Re: CPANTS and META.yml
Michael G Schwern wrote: A. Pagaltzis wrote: * Philippe Bruhat (BooK) [EMAIL PROTECTED] [2006-11-10 19:50]: The French often type LICENCE for LICENSE, so it might be good to update the checking code to look for that too. I've got one of my distributions with that typo. Not because I really care, but because my county's library is so awesome (Multnomah, ie. Portland) that they give everyone an online OED account. I just wanted to show that off. 1601 SHAKES. Twel. N. III. ii. 48 Taunt him with the license of Inke. SHAKESPEARE, BITCHES! Real men have their own OED at home. And still can't remember when to use licence and license. Or practice and practise. Stupid language. -- David Cantrell
Re: CPANTS and META.yml
* David Cantrell [EMAIL PROTECTED] [2006-11-13 10:50]: Real men have their own OED at home. And still can't remember when to use licence and license. Or practice and practise. Stupid language. I made up my own mnemonic aid: You devise a device. Regards, -- Aristotle Pagaltzis // http://plasmasturm.org/
Re: CPANTS and META.yml
A. Pagaltzis wrote: * Philippe Bruhat (BooK) [EMAIL PROTECTED] [2006-11-10 19:50]: The French often type LICENCE for LICENSE, so it might be good to update the checking code to look for that too. I've got one of my distributions with that typo. Uhm, that’s proper English spelling. “License” (as a noun) used to be wrong even in English. Nowadays, you may write either, at least in American English; not sure the Brits have given up that fight yet. Not because I really care, but because my county's library is so awesome (Multnomah, ie. Portland) that they give everyone an online OED account. I just wanted to show that off. 1601 SHAKES. Twel. N. III. ii. 48 Taunt him with the license of Inke. SHAKESPEARE, BITCHES!
Re: CPANTS and META.yml
Le vendredi 03 novembre 2006 à 06:01, Thomas Klausner écrivait: has_humanreadable_license does some where basic guessing if there's a human-readable license (LICENSE file or pod-section). The French often type LICENCE for LICENSE, so it might be good to update the checking code to look for that too. I've got one of my distributions with that typo. While you're at it, you could also check for various localisations of LICENSE, since some of the distribution may have a human-readable license section, but not necessarily written in English. -- Philippe BooK Bruhat A wish is only as good as the wisher and what he can achieve. (Moral from Groo The Wanderer #35 (Epic))
Re: CPANTS and META.yml
Hi! On Tue, Nov 07, 2006 at 06:58:11AM +0100, A. Pagaltzis wrote: But yeah, other than that, I agree, the metric should check that META.yml conforms to the spec it says it conforms to, and that a metric that checks for conformance to the latest version should be a bonus, if it exists at all. I renamed the metrics to metayml_conforms_spec_1_0 (which is (AFAIK) the first well-defined version, even if some of the fields might only be upgraded to 'required' later. And to metayml_conforms_spec_current, which will always point to whatever http://module-build.sourceforge.net/META-spec-current.html says. And it's an optional metric (like has_example and is_prereq) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
David Golden wrote: I have to second this. There really shouldn't be separate conforms to 1.0 and conforms to 1.2 metrics and so on. What happens as the spec evolves? Unless the spec is broken, encouraging specific latest spec compliant is just churn and Kwalitee breaks if there's ever a change that isn't backwards compatible. The test should be whether the META.yml is well-formed -- meaning that it's valid according to the spec that it declares (or 1.0 otherwise). And realistically, Ken, Adam and I (maintainers of the major install tools) really control most of the META.yml generation anyway. If we don't upgrade, you don't upgrade.
Re: CPANTS and META.yml
On 11/6/06, Michael G Schwern [EMAIL PROTECTED] wrote: And realistically, Ken, Adam and I (maintainers of the major install tools) really control most of the META.yml generation anyway. If we don't upgrade, you don't upgrade. Well, that's not entirely true for things like no_index or various resources keywords. I think only Module::Install offers no_index and I don't know that any tool supports the new resources keywords. Within Module::Build, you have to use meta_add and/or meta_merge. Both of those make it very easy for users to create non-standard META.yml entries, even if they don't hand-roll a META.yml. Checking against the spec is a good Kwalitee metric to catch the cases where users have departed from the Spec.(e.g. no lowercase resources keywords except those given in the spec as approved.) David
Re: CPANTS and META.yml
* David Golden [EMAIL PROTECTED] [2006-11-06 05:40]: I have to second this. There really shouldn't be separate conforms to 1.0 and conforms to 1.2 metrics and so on. What happens as the spec evolves? Unless the spec is broken, encouraging specific latest spec compliant is just churn and Kwalitee breaks if there's ever a change that isn't backwards compatible. The test should be whether the META.yml is well-formed -- meaning that it's valid according to the spec that it declares (or 1.0 otherwise). Well, there’s the issue that some META.yml spec versions might be (considered) broken, in which case it might make sense to have the metric check conformance to one of the known good spec versions. Much like the previously discussed “broken installer” metric. But yeah, other than that, I agree, the metric should check that META.yml conforms to the spec it says it conforms to, and that a metric that checks for conformance to the latest version should be a bonus, if it exists at all. Regards, -- Aristotle Pagaltzis // http://plasmasturm.org/
Re: CPANTS and META.yml
A. Pagaltzis wrote: * Thomas Klausner [EMAIL PROTECTED] [2006-11-03 15:25]: metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? Is there something broken about 1.0 that is fixed in 1.2? If so, go ahead. If not, don’t. Once 1.3 is out, presumably with a fix for the `no_index` stuff, then check for conformance to 1.3. I'd say just check that META.yml conforms to whatever version of the spec it says it conforms to. If it doesn't have a version, assume 1.0.
Re: CPANTS and META.yml
On Nov 2, 2006, at 11:01 PM, Thomas Klausner wrote: metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? No. The CPANTS game is a tool for change. We might as well encourage people to change to the current spec. Chris -- Chris Dolan, Software Developer, Clotho Advanced Media Inc. 608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703 vCard: http://www.chrisdolan.net/ChrisDolan.vcf Clotho Advanced Media, Inc. - Creators of MediaLandscape Software (http://www.media-landscape.com/) and partners in the revolutionary Croquet project (http://www.opencroquet.org/)
Re: CPANTS and META.yml
Thomas Klausner wrote: Hi! I had some time recently and added some first META.yml checking to CPANTS (with the help of Gabor Szabo): Aha, since I have your attention... I've been meaning to suggest the following changes, on the best and worst reports pages: This distributions got the most Kwalitee: -- These distributions have the most Kwalitee This distributions got the least Kwalitee: -- These distributions have the least Kwalitee Question: how are the dists sorted on the /author/CPANID page? David -- Much of the propaganda that passes for news in our own society is given to immobilising and pacifying people and diverting them from the idea that they can confront power. -- John Pilger
Re: CPANTS and META.yml
Chris Dolan wrote: On Nov 2, 2006, at 11:01 PM, Thomas Klausner wrote: metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? No. The CPANTS game is a tool for change. We might as well encourage people to change to the current spec. Chris I don't agree... unless all of the various make dist commands within M::B, EU::MM, etc actually always make the META.yml up the latest version of the spec. If a META.yml has declared itself as 1.0 version, then it need only to be 1.0 compliant, and not 1.2 compliant. There no need to force an upgrade from 1.0 to 1.2. The author has done the right thing and need not be punished. Now, for all META.yml files that don't declare a version at all... that's a different story. signature.asc Description: OpenPGP digital signature
Re: CPANTS and META.yml
Christopher H. Laco wrote: Thomas Klausner wrote: Hi! I had some time recently and added some first META.yml checking to CPANTS (with the help of Gabor Szabo): metayml_is_parsable metayml_has_license metayml_conforms_spec metayml_has_license now indictes whether there's a computer readable license in META.yml, while (the also new metric) has_humanreadable_license does some where basic guessing if there's a human-readable license (LICENSE file or pod-section). metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? Well, files that declare themselves as nothing: --- are a free for all... Files that declare: --- #YAML:1.0 should pass the 1.0 spec Files that declare: --- #YAML:1.1 should pass the 1.2 spec err... Files that declare: --- #YAML:1.2 should pass the 1.2 spec I know what I meant. :-) signature.asc Description: OpenPGP digital signature
Re: CPANTS and META.yml
Christopher H. Laco wrote: Chris Dolan wrote: On Nov 2, 2006, at 11:01 PM, Thomas Klausner wrote: metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? No. The CPANTS game is a tool for change. We might as well encourage people to change to the current spec. Chris --Chris Dolan, Software Developer, Clotho Advanced Media Inc. 608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703 vCard: http://www.chrisdolan.net/ChrisDolan.vcf Clotho Advanced Media, Inc. - Creators of MediaLandscape Software (http://www.media-landscape.com/) and partners in the revolutionary Croquet project (http://www.opencroquet.org/) I'm ok with has the latest and greatest 1.2 META spec being a metric, but I think it should be one of the above 100.00 bonus points metrics like the has_demo metric. and yes, I'm biased. I was #2. :-) -=Chris I'm not sure why, but about every other post I make isn't showing up on the list... hmm -=Chris signature.asc Description: OpenPGP digital signature
Re: CPANTS and META.yml
Thomas Klausner wrote: Hi! I had some time recently and added some first META.yml checking to CPANTS (with the help of Gabor Szabo): metayml_is_parsable metayml_has_license metayml_conforms_spec metayml_has_license now indictes whether there's a computer readable license in META.yml, while (the also new metric) has_humanreadable_license does some where basic guessing if there's a human-readable license (LICENSE file or pod-section). metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? Well, files that declare themselves as nothing: --- are a free for all... Files that declare: --- #YAML:1.0 should pass the 1.0 spec Files that declare: --- #YAML:1.1 should pass the 1.2 spec If matchines versiones to their specs can't be done with the available parsers, Id say go back to what you were going before...which I'll assume was a simple throws error on load or doesn't throw error on load check -=Chris signature.asc Description: OpenPGP digital signature
Re: CPANTS and META.yml
Hi! On Fri, Nov 03, 2006 at 03:35:41PM +0100, David Landgren wrote: Aha, since I have your attention... :-) I've been meaning to suggest the following changes, on the best and worst reports pages: This distributions got the most Kwalitee: -- These distributions have the most Kwalitee This distributions got the least Kwalitee: -- These distributions have the least Kwalitee done. Question: how are the dists sorted on the /author/CPANID page? Currently random (whatever the DB spits out), but I'll change that to sorted by distname -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
Chris Dolan wrote: On Nov 2, 2006, at 11:01 PM, Thomas Klausner wrote: metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? No. The CPANTS game is a tool for change. We might as well encourage people to change to the current spec. Chris --Chris Dolan, Software Developer, Clotho Advanced Media Inc. 608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703 vCard: http://www.chrisdolan.net/ChrisDolan.vcf Clotho Advanced Media, Inc. - Creators of MediaLandscape Software (http://www.media-landscape.com/) and partners in the revolutionary Croquet project (http://www.opencroquet.org/) I'm ok with has the latest and greatest 1.2 META spec being a metric, but I think it should be one of the above 100.00 bonus points metrics like the has_demo metric. and yes, I'm biased. I was #2. :-) -=Chris signature.asc Description: OpenPGP digital signature
Re: CPANTS and META.yml
Christopher H. Laco wrote: Files that declare: --- #YAML:1.0 should pass the 1.0 spec Files that declare: --- #YAML:1.1 should pass the 1.2 spec err... Files that declare: --- #YAML:1.2 should pass the 1.2 spec I know what I meant. :-) I thought that was the version of YAML they're conforming to. meta-spec is the META version. meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.2.html version: 1.2 PS If someone would check the metafile generated by MakeMaker 6.31 for 1.2 spec conformance I'd appreciate that.
Re: CPANTS and META.yml
Michael G Schwern wrote: Christopher H. Laco wrote: Files that declare: --- #YAML:1.0 should pass the 1.0 spec Files that declare: --- #YAML:1.1 should pass the 1.2 spec err... Files that declare: --- #YAML:1.2 should pass the 1.2 spec I know what I meant. :-) I thought that was the version of YAML they're conforming to. meta-spec is the META version. meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.2.html version: 1.2 PS If someone would check the metafile generated by MakeMaker 6.31 for 1.2 spec conformance I'd appreciate that. Right. meta-spec version != yaml version. /me smacks forehead. signature.asc Description: OpenPGP digital signature
Re: CPANTS and META.yml
On 11/3/06, Christopher H. Laco [EMAIL PROTECTED] wrote: meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.2.html version: 1.2 The one caution I'd give is around no_index. The spec always called for dir for directories, but CPAN/PAUSE were checking for directory (they may now support both). The blead spec has switched to directory to reflect common usage, but anyone using no-index successfully in the past will not be following the spec. Options: * Grandfather the blead spec for no_index * Get Ken to formally release 1.3 (with directory) and get authors to update various build-tools to declare 1.3 as the spec. Have anyone using directory re-release with a 1.3 META.yml. David
Re: CPANTS and META.yml
Hi! On Fri, Nov 03, 2006 at 10:47:36AM -0500, Michael G Schwern wrote: meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.2.html version: 1.2 The 'problem' is that this field was introduced in 1.1, and it seems that quite a lot of dists use 1.0 of META-spec. My question basically is: What is the 'stable' version of META-spec? I guess I'll post this on the module-build list... PS If someone would check the metafile generated by MakeMaker 6.31 for 1.2 spec conformance I'd appreciate that. Hmm, I tried to do that (I usually use Module::Build): ~$ module-starter --module=FooTest --author='foo' --email='[EMAIL PROTECTED]' Created starter directories and files ~$ cd FooTest/ ~/FooTest$ perl Makefile.PL Checking if your kit is complete... Warning: the following files are missing in your kit: META.yml Please inform the author. Writing Makefile for FooTest ~/FooTest$ make dist rm -rf FooTest-0.01 /usr/bin/perl5.8.8 -MExtUtils::Manifest=manicopy,maniread \ -e manicopy(maniread(),'FooTest-0.01', 'best'); mkdir FooTest-0.01 mkdir FooTest-0.01/t mkdir FooTest-0.01/lib -e: META.yml not found at -e line 1 Can't read META.yml: No such file or directory make: *** [create_distdir] Error 2 I'm using ExtUtils::MakeMaker 6.31 But the META.yml in MakeMaker confroms to META-spec 1.2, so if you use the same tools to generate MakeMakers META.yml it should work: http://cpants.perl.org/kwalitee/ExtUtils-MakeMaker -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
Thomas Klausner wrote: Hmm, I tried to do that (I usually use Module::Build): ~$ module-starter --module=FooTest --author='foo' --email='[EMAIL PROTECTED]' Created starter directories and files ~$ cd FooTest/ ~/FooTest$ perl Makefile.PL Checking if your kit is complete... Warning: the following files are missing in your kit: META.yml Please inform the author. Writing Makefile for FooTest ~/FooTest$ make dist rm -rf FooTest-0.01 /usr/bin/perl5.8.8 -MExtUtils::Manifest=manicopy,maniread \ -e manicopy(maniread(),'FooTest-0.01', 'best'); mkdir FooTest-0.01 mkdir FooTest-0.01/t mkdir FooTest-0.01/lib -e: META.yml not found at -e line 1 Can't read META.yml: No such file or directory make: *** [create_distdir] Error 2 Oh so THAT'S where all those reports of -e META.yml not found were coming from. Module::Starter is being naughty and putting META.yml into the MANIFEST before it exists.
Re: CPANTS and META.yml
Hi! On Fri, Nov 03, 2006 at 01:00:58PM -0500, Michael G Schwern wrote: Oh so THAT'S where all those reports of -e META.yml not found were coming from. Module::Starter is being naughty and putting META.yml into the MANIFEST before it exists. Well, after fixing this by removing META.yml from MANIFEST everything worked. And the generated manifest complies to META.yml Spec 1.2 -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: CPANTS and META.yml
Thomas Klausner wrote: Hi! I had some time recently and added some first META.yml checking to CPANTS (with the help of Gabor Szabo): metayml_is_parsable metayml_has_license metayml_conforms_spec metayml_has_license now indictes whether there's a computer readable license in META.yml, while (the also new metric) has_humanreadable_license does some where basic guessing if there's a human-readable license (LICENSE file or pod-section). metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? Just for giggles, what's the code behind that? Is it different than the current CPAN method: metayml_has_required_fields Is there a good way to check for 1.2 in a test, other than a these fields are required and YAML parses it type of strategy? -=Chris signature.asc Description: OpenPGP digital signature
Sort by kwalitee, descending! (Was: CPANTS and META.yml)
On Fri, 3 Nov 2006 06:47:03 +0100, Thomas Klausner [EMAIL PROTECTED] said: Hi! On Fri, Nov 03, 2006 at 03:35:41PM +0100, David Landgren wrote: Question: how are the dists sorted on the /author/CPANID page? Currently random (whatever the DB spits out), but I'll change that to sorted by distname Sorting by qualitee shows which modules the author loves at the top and the neglected ones at the bottom. So there is only one right sort order: by kwalitee, descending. Thanks:) -- andreas
Re: Sort by kwalitee, descending! (Was: CPANTS and META.yml)
* Andreas J. Koenig [EMAIL PROTECTED] [2006-11-04 04:55]: Sorting by qualitee shows which modules the author loves at the top and the neglected ones at the bottom. So there is only one right sort order: by kwalitee, descending. Actually, by kwalitee, descending, then name, ascending. Regards, -- Aristotle Pagaltzis // http://plasmasturm.org/
Re: CPANTS and META.yml
* Thomas Klausner [EMAIL PROTECTED] [2006-11-03 15:25]: metayml_conforms_spec currently very much busts the CPANTS game. I'm checking if the files comply to META.yml spec 1.2. Most don't, because they seem to use 1.0 Should I switch to 1.0-checking? Is there something broken about 1.0 that is fixed in 1.2? If so, go ahead. If not, don’t. Once 1.3 is out, presumably with a fix for the `no_index` stuff, then check for conformance to 1.3. Regards, -- Aristotle Pagaltzis // http://plasmasturm.org/