* David Golden <[EMAIL PROTECTED]> [2008-03-26T16:59:26]
> 1) Distributions can't be uniquely identified without an author name.
> For example:
> 
>   cpan://dist/Foo-Bar/1.23

Good catch.

> 2) dists may or may not even contain modules -- they could just contain
> scripts.

I'm not sure this is relevant, yet.  I mean, it means that things won't show up
in 02packages, but that's not the end of the world.  If a dist has no indexed
packages, you can fall back to cpan://id/AUTHOR/... -- and if (1) above is a
big problem, you'll have to anyway.

> 3) version numbers have no easy standards given what's out there in
> the wild.  Consider for example:
> [...] 
> I'm not even sure if CPAN::DistnameInfo really handles all the odd
> cases well, but it's probably pretty close to a standard for what can
> be done.

This problem basically *has* to be a 90% solution.  It sucks, but since
$VERSION can be set to any old crazy thing, it's what we have to live with.

> 4) packages with arbitrary version numbers can't be mapped to a
> distribution unless it appears in 02packages.txt (latest non-developer
> version).  If the latest Foo::Bar is 1.23, there's no way to tell what
> distribution tarball contains Foo::Bar 1.22.

Dieter was working on a backpan index, and I know Leon has one, and BDFOY has
also said he's worked on one.  If it's Reliable Enough, there's that, but point
taken.

> A) package names
> 
> B1) author/distname-version
> B2) author/distname/version

I think B1 is best dropped, because someday some jerk will upload
Foo-Bar-1-2.tar.gz, version 2 of Foo-Bar-1 containing Foo::Bar:1, and now what
does author/Foo-Bar-1 mean?

Do we then want:

  1. cpan://package/Your::Face
  2. cpan://dist/HDP/Your-Face
  3. cpan://dist/HDP/Your-Face/0.01
  4. cpan://file/HDP/Your-Face-0.01.tar.gz

(4) means that you can't use cpan:// to find a non-author file, like 02packages
itself.  There could be //file and //userfile.  Or something.

(2) would refer to the dist per se, not anything like "latest version"

I agree, though, that 2 and 3 have their own problems.

If the backpan indexing is a success, then we may end up with:

  1. cpan://package/Your::Face
  2. cpan://package/Your::Face/0.01
  3. cpan://file/HDP/Your-Face-0.01.tar.gz

If the backpan indexing is a success, then possibly it can be made possible to
allow "install Your::Face 0.01" to force and old version from the backpan.

-- 
rjbs

Reply via email to