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