Re: CPANTS and META.yml

2006-11-13 Thread David Cantrell

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

2006-11-13 Thread A. Pagaltzis
* 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

2006-11-11 Thread Michael G Schwern

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

2006-11-10 Thread Philippe Bruhat (BooK)
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

2006-11-07 Thread Thomas Klausner
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

2006-11-06 Thread Michael G Schwern
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

2006-11-06 Thread David Golden

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

2006-11-06 Thread A. Pagaltzis
* 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

2006-11-04 Thread Michael G Schwern
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

2006-11-03 Thread Chris Dolan

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

2006-11-03 Thread David Landgren

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

2006-11-03 Thread Christopher H. Laco
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

2006-11-03 Thread Christopher H. Laco
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

2006-11-03 Thread Christopher H. Laco
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

2006-11-03 Thread Christopher H. Laco
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

2006-11-03 Thread Thomas Klausner
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

2006-11-03 Thread Christopher H. Laco
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

2006-11-03 Thread Michael G Schwern
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

2006-11-03 Thread Christopher H. Laco
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

2006-11-03 Thread David Golden

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

2006-11-03 Thread Thomas Klausner
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

2006-11-03 Thread Michael G Schwern
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

2006-11-03 Thread Thomas Klausner
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

2006-11-03 Thread Christopher H. Laco
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)

2006-11-03 Thread Andreas J. Koenig
 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)

2006-11-03 Thread A. Pagaltzis
* 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

2006-11-03 Thread A. Pagaltzis
* 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/