Re: Applications on CPAN
[email protected] (Eric Wilhelm)
| Newsgroups | perl.cpan.workers |
|---|---|
| Message-ID | <[email protected]> |
# from David Nicol (on module-authors) on Sunday 18 April 2010 13:14:
>Once upon a time, CPAN was supposed to hold applications as well as
> modules. There were so many more modules than applications that
> indexing and so on tools for modules entirely eclipsed applications.
This prompted me to dust off an old unfinished thread: It seems like
there should be some way to say e.g. "install bin/ack" or "install
bin/padre" and get the latest App::Ack or Padre.
# from Andreas J. Koenig on Friday 05 September 2008 00:00:
# Re: addressing scripts as/within distributions
>The lack of excitement about the scripts category is as old as CPAN.
>
>Part of the reason may be that it's so dead easy to wrap a script into
>a module distro that everybody does it.
> ....
>Problem solved, isn't it?
My example case is a distro sans module, so can that be a distro if we
define something in META.yml for a list of programs contained?
The scripts directory doesn't give you any room for tests or room to
grow and has no META.yml, etc. The .pl file is just very different from
the .tar.gz distro and that means two sets of rules for the author to
remember. If we can define a script-only distro as a subset of the
module+script distro case, I think it will be more familiar to
everyone.
But even with module+script, there should be some way to address the
distro by the scripts it provides.
>> Is that part of the 02 index or something else?
>
>02index certainly not. I don't know what else. Nobody has ever made a
>progress on scripts support. I don't have a clue how it would look
>like. Maybe just one index file more, maybe pulling data from
>META.yml. Maybe a new command for the cpan shell, like installprg or
>something.
>
>If the whole thing works such that from the user perspective the two
>things do indistinguishably the same:
>
> install CPAN::Testers::ParseReports
>or
> installprg ctgetreports
>
>then I'd say we gain something.
Yes. What has to happen to make this possible? I would guess:
* META.yml key gets defined
* indexer checks META.yml, creates a new index
* client gets a new command/index
Thanks,
Eric
--
Introducing change is like pulling off a bandage: the pain is a memory
almost as soon as you feel it.
--Paul Graham
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------