On Wed, Apr 14, 2010 at 7:48 AM, Tim Bunce <tim.bu...@pobox.com> wrote:
> Upload is essentially 'drop a distro tarball' + 'claim ownership'
> (+ and optional 'put in this directory') which then queues it for
> automated indexing later.

I believe it's important to distinguish those activities.  "drop a
tarball into a directory" is file manipulation, whereas "claim
ownership" is a form of indexing.  It's not clear to me that Perl 5
semantics for namespace ownership have any relevance for Perl 6.

> The META spec already includes a 'requires' element that can be used to
> specify a minimum perl version, so I suggest we use that to identify
> that perl6 is required:
>
>    requires:
>        perl: 6.0

I believe this is an acceptable option, but only for expediency.  The
CPAN Meta Spec has many elements which are specific to Perl 5's
approach to indexing.  After spending a lot of time considering it, I
do not think it will serve the needs of Perl 6 in its current form.
Nor, for that matter, do I think that Perl 6 semantics for packages,
authorities, modules, distributions, versions, etc. can be considered
stable (just like the rest of the language).

If Perl 6 authors choose to use the CPAN Meta Spec for Perl 6, I see
that akin to doctors proscribing off-label medicines to patients.  It
might address the symptoms, but the long term side-effects are
unknown.

>> If we separate Perl 5 and Perl 6 distributions within the file system,
>> we can distinguish between them easily and without relying on indexes,
>> meta data files or other elements of complexity.
>
> True, but is that *really* a significant need? Why bother?

There are only two "indexes" on CPAN that matter.  The first is
02packages, which is a map of Perl 5 namespaces to filepaths.  The
other is the filesystem, which organizes files into hierarchies.
Tools that wish to operate only on Perl 5 distributions or only on
Perl 6 distributions need a way to distinguish between them.

Using the filesystem as an index is possible immediately, without
additional effort.  It also would allow mirror operators who choose
not to mirror Perl 5 or Perl 6 to easily prune out portions of the
filetree during rsync.

-- David

Reply via email to