CCing in [EMAIL PROTECTED] Please reply to this copy so both lists get
the mail.
------ Forwarded message ------
From: Steven Schubiger <[EMAIL PROTECTED]>
Subject: proposal: Module::Build extension, ExtUtils::MakeMaker ->
Module::Build transition, improving tools
Date: Sat, 9 Apr 2005 07:03:03 +0200 (CEST)
To: [EMAIL PROTECTED]
Reply-To: Steven Schubiger <[EMAIL PROTECTED]>
Name
Steven P. Schubiger
Location
Switzerland
Email
<[EMAIL PROTECTED]>
Synopsis
Module::Build extension, ExtUtils::MakeMaker ->
Module::Build transition, improving according tools
Deliverables
1) Make Module::Build ready to be integrated in the core
2) Improve CPAN::Metadata
3) Extend make2build
4) Lecture on major changes between E::MM and M::B and
introduce static conversion via make2build; likely, at
Austrian Perl Workshop, if of any interest, at YAPC::NA
and swiss, austrian, german and french perl monger groups.
5) Change ExtUtils:MM wherever Module::Build can benefit from.
Benefits to the Perl Community
Getting faster rid of the ugly, overly bloated ExtUtils::MakeMaker
Extending the facilities of Module::Build
Introduce the conversion via make2build
Project Details
1) * Adding arbitrary metadata. Possibly completing and integrating
CPAN::Metadata?
* Formally update the META.yml spec. This needs to be done before perl
core integration.
* Extending the diff action ~
* Improve dependencies mini language - dEx (Dependency EXpression language)
* Other refactoring?
* Issues listed in RT
2) Major areas are:
1. The META.yml spec needs to be formally updated. The original spec[1]
is version 1.0. We need a revision that incorporates (or eliminates)
fields currently in use that do not appear in the version 1.0 spec.
Fields in current use can be gathered from statistics gathered a few
months back[2]. Other fields that should probably be included in some
form are meta-spec[3], abstract[4], index & no_index[5], deprecation of
private & public[6], and resources[7]. Approval of the spec and the
funtionality of CPAN::Metadata is ultimately up to the Module::Build
group, mainly Ken and Michael, but input from p5p, module-authors, is
probably a good idea.
2. The new version 1.1 needs to be codified so that the entries are
checked for correctness, requirements are satisfied, etc. See the docs
in CPAN::Metadata::Spec::Base, and partial implementations in
CPAN::Metadata::Spec::1R0 and CPAN::Metadata::Spec::1R1.
3. CPAN::Metadata::Versions was copied almost verbatim from
Module::Build::Base. Some of which has been replaced by a more robust
implementation in Module::Build::ModuleInfo. Both implementations are
problematic in that they eval the $VERSION line. As noted from the
discussion on p5p this is not safe. CPAN::Metadata should use Safe.pm
the way the CPAN indexer currently does, so that the CPAN indexer code
for this can be replaced by CPAN::Metadata. I'd suggest using
Module::Info and patching it where needed, but I believe it also has the
same shortcoming, evaling the code.
4. It would be nice to have CPAN::Metadata write META.yml files without
the requirement on YAML. For the simple, mostly fixed format of META.yml
this shouldn't be too difficult.
5. Integrate with Module::Build. Module::Build can first try
CPAN::Metadata, falling back to YAML and then the manual minimal spec
file. See Module::Build::Base, methods ACTION_distmeta(),
_write_minimal_metadata(), and prepare_metadata().
3) make2build is a static converter that transforms existing Makefile.PL's to
barebone Build.PL's. I'd like to extend the arguments being transformed,
as well as introducing some Module::Build "defaults" with a prompt
mechanism,
whenever an user is present, and defaulting to defaults, whenever absent.
I'd also appreciate lecturing on it, since it seems to be fairly unknown,
since it didn't get its mention.
4) The topic goes right to the point, as there is not much more, that I'd like
to add, as of now. I could definitely outline some basic information, if
you'd
like so.
5) I know that there are existing issues, but I have to contact their
maintainers
therefore.
Project Schedule
I'd assume, it's appropriate to assign it to a quarter, since
a) quite a few people are working on the transition
b) CPAN::Metadata is likely to be sufficiently extended at one point
c) there aren't too many "local" perl mongers
Bio
Who are you?
Uhm, interesting question, I have to admit. I'm a UNIX, programming
(C, Perl, Shell, Assembler) & open source "fanatic". I've been
programming
7+ years Perl, written a handful modules and introduced myself to various
perl lists
2+ years ago; among these are perl5-porters, perl-qa, perl6-compiler,
perl6-internals
and perl6-language. Some patches to perl5-porters have been contributed
over the time,
mostly to core modules & docs.
Currently, I'm a freelance programmer/sysadmin, consuming roughly 75% of
my time.
Besides that, I do volunteer programming work on GNU coreutils, procmail,
pf and tar.
Recently, I've been admitted as GNU id-utils maintainer.
I'm the current vice president of the Linux User Group Switzerland,
promoted for
the duration of one year.
What makes you the best person to work on this project?
I never said so. In fact, I'm interested in seeing the transition
progressing,
but perhaps Ken Williams or Michael G. Schwern would be supposedly
competenter people,
since they know all of the guts, as I admittedly don't, but a) I can read
sources,
b) as far as I can tell, they have regular daytime-jobs.
Amount Requested
Uhm, I have no idea, whatever suffices for one quarter and travel expenses.
Steven