Re: Trimming the CPAN - Automatic Purging

2010-03-29 Thread Steffen Mueller

Hi Elaine,

Elaine Ashton wrote:

On Mar 28, 2010, at 12:48 PM, Randy Kobes wrote:
Jarkko and I were talking about it this morning - as he's not in
favour of pruning - while trying to think of a way around the size
problem and he reminded me of the idea that, if I recall correctly
was Adreas' suggestion a while back, there be an A, B and C 'PAN' of
sorts where you could pull varying degrees of content - sort of
CPAN:Mini writ large. I don't think that idea ever got any traction
because it wouldn't really solve some of the issues for the major
upstream mirrors and the mechanics of deciding where to draw the
lines between them. I still think it's a good idea though.


This sounds a bit like the CPAN - backpan scheme but with some 
additional levels?



I do very much like Tim's proposal for giving old modules a push to
BackPAN since, with proper communication of the changes to the
authors along with a way to mark exceptions, this would rid CPAN of a
lot of cruft that should be on BackPan anyway.


I'm not even going to throw in my considerable weight on this whole 
debate of pruning*. But if backpan became the official way to access 
old versions starting from yesterday's, wouldn't that mean:


a) That the toolchain would have to be adapted to a tiered 
infrastructure (think of the indexes...)

and more importantly:
b) The backpan would have to be mirrored all over the place as well, 
thus pushing the problem to the next level?


Best regards,
Steffen

* If you must know, I don't like the means but sympathize with the goals.

PS: This isn't targeted at Elaine specifically, but can everybody please 
take a step back and relax? Please be civil.


Re: Perl 6 versus the CPAN

2010-01-05 Thread Steffen Mueller

Hi David, hi all,

David Golden wrote:

Except that we're in feature freeze for Perl 5.12, so that won't
actually happen until 5.13.  But as soon as Perl 5.12.0 ships, I plan
to pull the trigger on JSON and HTTP::Lite and make them CPAN.pm
dependencies so we can (a) bootstrap CPAN with HTTP and (b) start
consuming JSON metadata (and index) files.


Amen to that!

Regarding SQLite via DBI indexes: Nice idea *after* bootstrapping. But 
in practical terms, that's never going to fly. p5p will reject any 
proposals to include anything like SQLite or DBI in core. That doesn't 
stand the chance of an ice berg in hell. Don't waste your time musing 
about it. Going one step away from core-ifying that: Bootstrapping this 
would make initial CPAN client setup a VERY painful experience and I am 
still under the impression that we[1] are currently trying to make this 
a smoother experience.


I believe structured ascii (or Unicode) text data with a light-weight 
parser in core is our best bet. The only thing that worries me about 
this is memory consumption for large index files.


Best regards,
Steffen

[1] This is a literary we in the sense of: Golden et al. Particularly 
NOT including myself.


Re: CMSP 01. Update the YAML version declaration

2009-10-09 Thread Steffen Mueller

Hi all,

David Golden wrote:

01. Update the YAML version declaration

Proposal:

The version declaration for YAML has not been --- #YAML:1.0 for a long
time, update it to the current YAML 1.1 equivalent.


I'm opposed on practical grounds, as we want Meta parsing in the Perl
core (Parse::CPAN::Meta)  and attempts to put a full featured YAML
parser in core have been rejected.


+1

I think for any YAML-based META files, we need to limit ourselves to the 
subset of YAML that is supported by Parse::CPAN::Meta for these reasons.



But as I said, I think discussion of output format is a broader one
that needs to consider all options holistically.


Cool. I just learned a new word!

Cheers,
Steffen


Re: CMSP 02. Formally switch to YAML Tiny

2009-10-09 Thread Steffen Mueller

Ricardo Signes wrote:

* David Golden xda...@gmail.com [2009-10-09T07:42:06]

02. Formally switch to YAML Tiny

Proposal:

Change the language referring to YAML to instead refer to YAML Tiny and
update the specification URL to point to the YAML Tiny specification.
(AdamKennedy)


Accept with modification: YAML Tiny should be as the specification for
YAML-like META files, which should be deprecated in favor of META files encoded
in JSON.


Certainly, everyone involved in this is aware of this, but let me state 
one time for the record YAML::Tiny minus dumping == Parse::CPAN::Meta. 
This assertion holds now and will in future. For this reason, I am 
*strongly in favour* of defining the YAML-based META files as using this 
subset/dialect of YAML.


As for adopting JSON as the default format: What's the chances of 
including a full JSON parser in core?
IIRC the main reason against including a full YAML parser in core was 
that they're all different and likely broken in subtle or not so subtle 
ways. Certainly, they're all dead-and-wrong or in flux (both of which is 
bad for perl core). I understand this criterion does not apply to JSON?


Cheers,
Steffen


Re: CMSP 05. Schema

2009-10-09 Thread Steffen Mueller

Graham Barr wrote:


On Oct 9, 2009, at 6:43 AM, David Golden wrote:


05. Schema

Proposal:

The META spec should come along with a formal schema definition.
(SlavenRezic)


I am not so much concerned about a formal schema. But an official module
to validate, or purge bad data, would be great. otherwise users end up
having to write very defensive code (ie making sure hash/array 
references are
as expected). being able to validate first will simplify code for many 
people


I think this is a very important point considering that it would 
probably make sense to have this validation supported in the perl core 
so CPAN(PLUS) can use it. Including a framework such as Rx in core for 
this seems unlikely. Including a special purpose module (or extending 
one like Parse::CPAN::Meta) is likely possible and no big deal.


Cheers,
Steffen


Re: CMSP 06. Data structures, not YAML

2009-10-09 Thread Steffen Mueller

Ricardo Signes wrote:

* David Golden xda...@gmail.com [2009-10-09T07:44:43]

06. Data structures, not YAML

Proposal:

The META spec should be defined in terms of (Perl) data structures, and not
in terms of YAML. (Slaven Rezic)


Agreed, but the spec should be very clear (perhaps, as said, in an appendix)
how the data should be serialized and included in dists.


I have no strong feelings about this except for what Ricardo wrote 
above: The serialization method needs to be prominently featured.


Steffen


Re: CMSP 10. Add a free-text prerequisite field

2009-10-09 Thread Steffen Mueller

Hans Dieter Pearcey wrote:

Excerpts from David Golden's message of Fri Oct 09 07:47:00 -0400 2009:

10. Add a free-text prerequisite field

Proposal:

Add free-text entries that *describe* prerequisites that cannot be
described right now, like prerequisite: a working libexpat, Need a perl
with defined-or, Need root access to /media/test. (Tux)


Putting human-readable stuff in a file intended primarily for
machine-readability seems of minimal use to me.


I'm in two minds about this. Such a free form field may be useful if you 
consider that human-readable information may be generated from the META 
files. (Take a look at search.cpan.org, for example.) I don't see a good 
way to fill in the information at build time, though, except maybe 
parsing it from the POD as with abstracts.


Steffen


Re: CMSP 14. Prerequisites should be mutually exclusive

2009-10-09 Thread Steffen Mueller

David Golden wrote:

14. Prerequisites should be mutually exclusive



* I think this would remove a certain amount of useful flexibility,
  standard light weight META Object modules could easily automate the
  production of the merged list. This feels like sacrificing on a
  fundamental point to make life easier when you don't have tools that
  haven't been written yet --Adam K


-1

What Adam said.

Steffen


Re: CMSP 16. Binary Package Dependencies

2009-10-09 Thread Steffen Mueller

David Golden wrote:

16. Binary Package Dependencies


If we could get this right, I'd give all my votes for this. I know that 
at least Adam and I had been thinking hard about this kind of thing in a 
different context a few years back. It's utterly hard to get right if at 
all possible.


Sadly, -1.

Steffen




Re: CMSP 19. Make repository resource a hash

2009-10-09 Thread Steffen Mueller

David Golden wrote:

19. Make repository resource a hash


+1

Steffen


Re: CMSP 20. Make bugtracker resource a hash

2009-10-09 Thread Steffen Mueller

Hans Dieter Pearcey wrote:

Excerpts from David Golden's message of Fri Oct 09 07:51:29 -0400 2009:

20. Make bugtracker resource a hash

Proposal:

The bugtracker resource shoudl be made into a hash that defines different
types of resources, e.g. web page, email report address, etc.  (#toolchain
discussion)


Agree, given a fixed set of keys.


Yep, free-form wouldn't be very useful.

Steffen


Re: CMSP 21. Formalize optional_features

2009-10-09 Thread Steffen Mueller

David Golden wrote:

21. Formalize optional_features


I've had more hassle than luck with optional features, but since some 
people make valid use of it, I'd be (slightly) against removal.


+1 to formalization

Steffen


Re: CMSP 23. Have a development version flag

2009-10-09 Thread Steffen Mueller

David Golden wrote:

23. Have a development version flag



* Con: Development version'ness would not be determinable post-installation
  AdamKennedy


Correction to my earlier reply: If we have the META info available 
*easily* post installation (cf. 33), my vote becomes a +1.


Steffen


Re: CMSP 25. Controlling test suite runs

2009-10-09 Thread Steffen Mueller

Ricardo Signes wrote:

* David Golden xda...@gmail.com [2009-10-09T07:53:28]

25. Controlling test suite runs

Proposal:

The META spec should add flags to indicate that distribution's
tests may be shuffled or run in parallel. (SlavenRezic)


I like the idea in general.  I'd just set aside a name for the entry and ask
the harness guys for a spec.


+1.

Smart guy, that rjbs. Reading my thoughts and writing replies for me.

Steffen


Re: CMSP 24. Add a release_status field

2009-10-09 Thread Steffen Mueller

David Golden wrote:

24. Add a release_status field


Obviously supersedes the devel version proposal (23). This would 
depend on post installation, easy querying of META information (33).


Steffen


Re: CMSP 26. Specify a DLSIP resource

2009-10-09 Thread Steffen Mueller

Hans Dieter Pearcey wrote:

Excerpts from David Golden's message of Fri Oct 09 07:53:50 -0400 2009:

26. Specify a DLSIP resource

Proposal:

DLSIP codes should be specified in META.* as a resource.


My impression of DLSIP is that it's nearly as unused as the modules list.  Is
this inaccurate?


I don't think so. Hence: -1

Steffen


Re: CMSP 28. Short description

2009-10-09 Thread Steffen Mueller

Ricardo Signes wrote:

* David Golden xda...@gmail.com [2009-10-09T07:54:35]

28. Short description

Proposal:

Field for short description that can be used in search (with higher
priority than long description), when generating README, OS packages or
submitting dist to Ohloh, Freshmeat and similar sites. 'abstract' currently
is module-specific (for ex. for Shipwright: Best Practical Builder) and
would not tell much about module purpose in general. --Chorny 01:15, 28
September 2009 (BST)


Opposed.

abstract is not module-specific.  Most things just use the abstract of the
main module in a dist.  This is not a needed addition.


weakly opposed, too.

We should always keep in mind how information ends up in META.XXX. 
Humans should not have to write META stuff. Therefore, the only 
moderately sane and established free-form source of information is 
module POD. Since that's sort-of module-specific already, this would not 
be a very helpful addition.


Steffen


Re: CMSP 27. Long description

2009-10-09 Thread Steffen Mueller

Ricardo Signes wrote:

* David Golden xda...@gmail.com [2009-10-09T07:54:13]

27. Long description

Proposal:

Field for long description that can be used in search, when generating
README, OS packages or submitting dist to Ohloh, Freshmeat and similar
sites. --Chorny 19:40, 21 September 2009 (BST)


Sure, why not?


Because META should be *generated* from other sources. Where should 
free-form data come from?


Steffen


Re: CMSP 31. Version changes

2009-10-09 Thread Steffen Mueller

Hans Dieter Pearcey wrote:

Excerpts from David Golden's message of Fri Oct 09 07:55:36 -0400 2009:

31. Version changes

Proposal:

Description of changes in that versions and tags for changes. Useful for
submission to Freshmeat and for quick review of changes. --Chorny 18:51, 30
September 2009 (BST)


This seems like getting people to agree on a machine-readable changelog format,
which appears only slightly more likely than world peace.  Am I misreading it?


Apart from my usual complaint about where does the information come 
from?, this seems possible enough if you leave most of it up to the 
author: Add a sequence that has a version, an *optional* release date, 
and (a possibly optional) free-form field of changes. Personally, I'd 
like to go one step further and make the free form field really an array 
of free-form fields for individual changes. That offers the opportunity 
for opposed authors to use a single one of them as a free-form field for 
all changes.


Steffen


Re: CMSP 34. Formally reserve keys for private 'in-house' use

2009-10-09 Thread Steffen Mueller

Graham Barr wrote:



* David Golden xda...@gmail.com [2009-10-09T07:56:46]

34. Formally reserve keys for private 'in-house' use


personally I dislike the case distinction and would rather switch to 
using x- prefixes which are used in so many other places to mean private 
extensions


+1


Graham.


phew - did I get to the end :)


+1

Steffen


Re: CMSP 02. Formally switch to YAML Tiny

2009-10-09 Thread Steffen Mueller

Ricardo Signes wrote:

* Steffen Mueller nj88ud...@sneakemail.com [2009-10-09T10:04:44]
As for adopting JSON as the default format: What's the chances of  
including a full JSON parser in core?


I believe they are good.  JSON.pm has no weird prereqs, works admirably, and
the author has no objections.


Cool, then count me in. This increases the coreification chances by a lot.

Steffen