On 12/17/2003 9:49 PM, Chad Fowler wrote:

> On Thu, 18 Dec 2003, Randy W. Sims wrote:
> 
> hehe.  "When I said 'distributions', I meant 'distributions'." :)

Oops, sorry. When I said distribution, I meant *modules*.

> # Both of the perl build tools MakeMaker 
> # and Module::Build produce a file, 'META.yml' that is placed inside of 
> # every module distribution on CPAN. The meta data is there for CPAN, 
> # PAUSE, and other tools easily gather information about module 
> # distributions to aid searching, indexing, etc. From looking at the site 
> # mentioned it looks like you keep that info in a ruby script 
> # <http://rubygems.rubyforge.org/wiki/wiki.pl?GemSpecification>; 
> 
> The Ruby script is really a pre-YAML form.  You specify the gem spec in 
> Ruby, but it generates YAML when you actually create the gem.  We didn't 
> want to have to hand-code YAML, since it's much easier to generate YAML 
> from Ruby objects.  So, the Ruby you see is a generator for the real 
> metadata format.  
> 
> Chad

Yeah, that's how it works in MakeMaker and Module::Build. So I guess the 
YAML would look something like:

name: Foo::Bar
version: 0.01
platform: MSWin32
date: 20031217T2200-0400
summary: This module goes foo.
require_paths:
   - path/foo
   - path/bar
autorequire: somefile.rb
author: John Doe
email: jd / somewhere.com
homepage: http://www.foo-bar.org
description: |
  This is a long
  long description
  of what this module
  does.

This compares to the proposed META.yml specification where working on 
for perl like:
name          -> name
version       -> version
platform      -> requires_os|excludes_os
date          ->
summary       -> abstract
require_paths -> ?
autorequire   -> ?
author        -> authored_by
email         -> authored_by
homepage      ->
description   ->

And the META.yml would look like:
name: Foo::Bar
version: 0.01
requires_os: MSWin32
abstract: This module goes foo.
authored_by:
  - John Doe <jd / somewhere.com>
...

(See <http://www.thepierianspring.org/META-spec.html#synopsis> for a 
more representative example.)

Would a common spec be beneficial?

Randy.