On Thu, 15 Apr 2010, Barbie wrote:
> On Thu, Apr 15, 2010 at 08:56:04AM -0600, Curtis Jewell wrote:
> > Why don't we make the .cpan/.c6pan file (.c6pan) a JSON file, generated
> > by PAUSE once the tarball is uploaded, with whatever information is
> > required (a reference to the tarball, what version of perl is required,
> > etc.) in order, when that file is passed to a CPAN client, to download
> > and install the tarball.
> 
> This is essentially how PPM works. The PPD file points to a tarball, via
> an extension to the OSD file format. It would be easier to generate an
> installation configuration file, supported by a new installer that can
> cope with the double-click install of several OSes these days, than
> changing the package archive format.

PPM4 actually supports putting the PPD file inside the tarball.  When the
tarball is downloaded with a .ppmx extension, then the client knows to
extract the .ppd from inside the file and install everything else according
to this .ppd file.

The big problem with this scheme is though that is doesn't allow you
to install prerequisites using this mechanism: You can double-click on
a .ppmx file in a web browser and it can be downloaded and installed
automatically.  The ppm installer however no longer knows where the file
came from, so it cannot look for prerequisites in the same place.

This places the burden of installing prerequisites on the user, making
the mechanism less useful than originally expected.

One way around this would be to embed the file location inside the tarball
itself, but that doesn't work if the tarballs may be mirrored to multiple
locations.

It would be nice if browsers would include the download URL in an alternate
data stream (where possible, e.g. NTFS), but it looks like they only store
the Internet.Zone information...

Cheers,
-Jan


Reply via email to