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

Reply via email to