Change 33922 by [EMAIL PROTECTED] on 2008/05/25 19:51:20

        Integrate:
        [ 33617]
        Integrate:
        [ 33260]
        I've been maintaining Net::Ping for a while now.
        
        [ 33295]
        Make sure we only find the macro we were looking for,
        not something that only starts with the same string.
        
        [ 33303]
        Jerry D. Hedden now maintains Thread::Semaphore on CPAN
        
        [ 33352]
        Subject: [patch] Porting/expand-macros.pl gets 'indent'ing
        From: Jim Cromie <[EMAIL PROTECTED]>
        Message-ID: <[EMAIL PROTECTED]>
        Date: Thu, 07 Feb 2008 17:03:22 -0700
        
        [ 33353]
        Take advantage of the fact that we can use indent as a stdin/stdout
        filter to reduce its workload (and ours) by only sending it the 3 or
        so lines that we are interested in printing, not the preceding
        bucket loads.
        
        [ 33456]
        Subject: checkAUTHORS.pl update for me
        From: Michael G Schwern <[EMAIL PROTECTED]>
        Date: Sun, 09 Mar 2008 00:35:48 +0100
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 33731]
        Integrate:
        [ 33374]
        Tidy up error messages
        
        [ 33612]
        Config.pm needs to be listed in Module::CoreList, too
        
        [ 33646]
        Run overload.pl from regen.pl, and check overload.c as well as 
overload.h
        
        [ 33711]
        Subject: [perl #53000] Patch for featured TODO: make a reproducible 
perlmodlib.PL 
        From: "James Bence" (via RT) <[EMAIL PROTECTED]>
        Date: Wed, 16 Apr 2008 22:22:12 -0700
        Message-ID: <[EMAIL PROTECTED]>
        
        plus regen perlmodlib (from a clean source tree)
        and remove perltodo note
        
        [ 33879]
        Integrate:
        [ 33764]
        Change of maintainer.
        
        [ 33799]
        Subject: Re: helping 5.8.9
        From: Steffen Mueller <[EMAIL PROTECTED]>
        Message-ID: <[EMAIL PROTECTED]>
        Date: Sun, 04 May 2008 21:38:38 +0200

Affected files ...

... //depot/maint-5.8/perl/AUTHORS#51 integrate
... //depot/maint-5.8/perl/Porting/Maintainers.pl#40 integrate
... //depot/maint-5.8/perl/Porting/checkAUTHORS.pl#11 integrate
... //depot/maint-5.8/perl/Porting/corelist.pl#2 integrate
... //depot/maint-5.8/perl/Porting/expand-macro.pl#2 integrate
... //depot/maint-5.8/perl/pod/perlmodlib.PL#11 integrate
... //depot/maint-5.8/perl/pod/perltodo.pod#45 integrate
... //depot/maint-5.8/perl/regen.pl#5 integrate

Differences ...

==== //depot/maint-5.8/perl/AUTHORS#51 (text) ====
Index: perl/AUTHORS
--- perl/AUTHORS#50~33198~      2008-02-02 09:34:10.000000000 -0800
+++ perl/AUTHORS        2008-05-25 12:51:20.000000000 -0700
@@ -117,6 +117,7 @@
 Brooks D Boyd
 Brian Callaghan                        <[EMAIL PROTECTED]>
 Brian Clarke                   <[EMAIL PROTECTED]>
+brian d foy                    <[EMAIL PROTECTED]>
 Brian Grossman
 Brian Harrison                 <[EMAIL PROTECTED]>
 Brian Ingerson                 <[EMAIL PROTECTED]>
@@ -233,7 +234,7 @@
 David Manura                   <[EMAIL PROTECTED]>
 David Mitchell                 <[EMAIL PROTECTED]>
 David Muir Sharnoff            <[EMAIL PROTECTED]>
-david nicol                    <[EMAIL PROTECTED]>
+David Nicol                    <[EMAIL PROTECTED]>
 David R. Favor                 <[EMAIL PROTECTED]>
 David Sparks                   <[EMAIL PROTECTED]>
 David Starks-Browning          <[EMAIL PROTECTED]>
@@ -286,6 +287,7 @@
 Felix Gallo                    <[EMAIL PROTECTED]>
 Fergal Daly                    <[EMAIL PROTECTED]>
 Florent Guillaume
+Florian Ragwitz                        <[EMAIL PROTECTED]>
 Frank Crawford
 Frank Ridderbusch              <[EMAIL PROTECTED]>
 Frank Tobin                    <[EMAIL PROTECTED]>

==== //depot/maint-5.8/perl/Porting/Maintainers.pl#40 (text) ====
Index: perl/Porting/Maintainers.pl
--- perl/Porting/Maintainers.pl#39~33527~       2008-03-14 03:46:20.000000000 
-0700
+++ perl/Porting/Maintainers.pl 2008-05-25 12:51:20.000000000 -0700
@@ -17,7 +17,6 @@
        'arandal'       => 'Allison Randal <[EMAIL PROTECTED]>',
        'audreyt'       => 'Audrey Tang <[EMAIL PROTECTED]>',
        'avar'          => 'Ævar Arnfjörð Bjarmason <[EMAIL PROTECTED]>',
-       'bbb'           => 'Rob Brown <[EMAIL PROTECTED]>',
        'craig'         => 'Craig Berry <[EMAIL PROTECTED]>',
        'dankogai'      => 'Dan Kogai <[EMAIL PROTECTED]>',
        'dconway'       => 'Damian Conway <[EMAIL PROTECTED]>',
@@ -69,12 +68,14 @@
        'sburke'        => 'Sean Burke <[EMAIL PROTECTED]>',
        'mschwern'      => 'Michael Schwern <[EMAIL PROTECTED]>',
        'smccam'        => 'Stephen McCamant <[EMAIL PROTECTED]>',
+       'smpeters'      => 'Steve Peters <[EMAIL PROTECTED]>',
        'smueller'      => 'Steffen Mueller <[EMAIL PROTECTED]>',
        'tels'          => 'Tels <[EMAIL PROTECTED]>',
        'tomhughes'     => 'Tom Hughes <[EMAIL PROTECTED]>',
        'tjenness'      => 'Tim Jenness <[EMAIL PROTECTED]>',
        'tyemq'         => 'Tye McQueen <[EMAIL PROTECTED]>',
        'yves'          => 'Yves Orton <[EMAIL PROTECTED]>',
+       'zefram'        => 'Andrew Main <[EMAIL PROTECTED]>',
        );
 
 # The FILES is either filenames, or glob patterns, or directory
@@ -473,7 +474,7 @@
 
         'Math::Complex' =>
                 {
-                'MAINTAINER'    => 'jhi',
+                'MAINTAINER'    => 'zefram',
                 'FILES'         => q[lib/Math/Complex.pm lib/Math/Trig.pm],
                 'CPAN'          => 1,
                 },
@@ -532,7 +533,7 @@
 
        'Net::Ping' =>
                {
-               'MAINTAINER'    => 'bbb',
+               'MAINTAINER'    => 'smpeters',
                'FILES'         => q[lib/Net/Ping.pm lib/Net/Ping],
                'CPAN'          => 1,
                },
@@ -834,7 +835,7 @@
 
        'Time::HiRes' =>
                {
-               'MAINTAINER'    => 'jhi',
+               'MAINTAINER'    => 'zefram',
                'FILES'         => q[ext/Time/HiRes],
                'CPAN'          => 1,
                },

==== //depot/maint-5.8/perl/Porting/checkAUTHORS.pl#11 (text) ====
Index: perl/Porting/checkAUTHORS.pl
--- perl/Porting/checkAUTHORS.pl#10~32298~      2007-11-12 15:21:15.000000000 
-0800
+++ perl/Porting/checkAUTHORS.pl        2008-05-25 12:51:20.000000000 -0700
@@ -51,6 +51,7 @@
     "ammon\100rhythm.com",
     "bah\100longitude.com",
     "bbucklan\100jpl-devvax.jpl.nasa.gov",
+    "ben\100linuxgazette.net",
     "bilbo\100ua.fm",
     "bob\100starlabs.net",
     "bonefish\100cs.tu-berlin.de",
@@ -66,10 +67,12 @@
     "ilya\100juil.nonet",
     "info\100lingo.kiev.ua",
     "jms\100mathras.comcast.net",
+    "johnh\100isi.edu",
     "kan\100dcit.cz",
     "kaminsky\100math.huji.ac.il",
     "knew-p5p\100pimb.org",
     "kvr\100centrum.cz",
+    "lemkemch\100t-online.de",
     "mauzo\100csv.warwick.ac.uk",
     "merijnb\100ms.com",
     "mlelstv\100serpens.de",
@@ -268,8 +271,10 @@
 +                                       craig.berry\100metamorgs.com
 +                                       craig.berry\100signaltreesolutions.com
 +                                       craigberry\100mac.com
++                                       craig.a.berry\100gmail.com
 davem                                   davem\100fdgroup.com
 +                                       davem\100iabyn.nospamdeletethisbit.com
++                                       davem\100iabyn.com
 +                                       davem\100fdgroup.co.uk
 +                                       davem\100fdisolutions.com
 +                                       davem\100iabyn.com
@@ -320,12 +325,16 @@
 +                                       dtr8sin02\100sneakemail.com
 +                                       rt8363b02\100sneakemail.com
 +                                       o6hhmk002\100sneakemail.com
++                                       smueller\100cpan.org
++                                       l2ot9pa02\100sneakemail.com
++                                       wyp3rlx02\100sneakemail.com
 
 abe\100ztreet.demon.nl                  abeltje\100cpan.org
 abigail\100abigail.be                   abigail\100foad.org
 +                                       abigail\100abigail.nl
 ajohnson\100nvidia.com                  ajohnson\100wischip.com
 alexm\100netli.com                      alexm\100w-m.ru
+alex-p5p\100earth.li                    alex\100rcon.rog
 alian\100cpan.org                       alian\100alianwebserver.com
 allens\100cpan.org                      easmith\100beatrice.rutgers.edu
 andreas.koenig\100anima.de        andreas.koenig.gmwojprw\100franz.ak.mind.de
@@ -399,9 +408,8 @@
 
 nospam-abuse\100bloodgate.com           tels\100bloodgate.com
 +                                       perl_dummy\100bloodgate.com
-nospam-abuse\100ilyaz.org               ilya\100math.ohio-state.edu
-+                                       ilya\100math.berkeley.edu
-+                                       ilya\100math.berkeley.edu
+ilya\100math.berkeley.edu               ilya\100math.ohio-state.edu
++                                       nospam-abuse\100ilyaz.org
 
 p5-authors\100crystalflame.net          perl\100crystalflame.net
 +                                       rs\100crystalflame.net
@@ -425,17 +433,21 @@
 +                                       richard.foley\100rfi.net
 rick\100consumercontact.com             rick\100bort.ca
 +                                       rick.delaney\100rogers.com
++                                       rick\100bort.ca
 rjbs\100cpan.org                        rjbs-perl-p5p\100lists.manxome.org
 rjk\100linguist.dartmouth.edu           rjk\100linguist.thayer.dartmouth.edu
 +                                       rjk-perl-p5p\100tamias.net
 rmgiroux\100acm.org                     rmgiroux\100hotmail.com
-robin.barker\100npl.co.uk               rmb1\100cise.npl.co.uk
-+                                       rmbarker\100cpan.org
+rmbarker\100cpan.org                    rmb1\100cise.npl.co.uk
++                                       robin.barker\100npl.co.uk
 rootbeer\100teleport.com                rootbeer\100redcat.com
 
 schubiger\100cpan.org                   steven\100accognoscere.org
 +                                       sts\100accognoscere.org
 schwern\100pobox.com                    schwern\100gmail.com
++                                       schwern\100athens.arena-i.com
++                                       schwern\100blackrider.aocn.com
++                                       
schwern\100ool-18b93024.dyn.optonline.net
 sebastien\100aperghis.net               maddingue\100free.fr
 +                                       saper\100cpan.org
 simon\100simon-cozens.org               simon\100pembro4.pmb.ox.ac.uk
@@ -444,7 +456,7 @@
 +                                       simon\100cozens.net
 +                                       simon\100netthink.co.uk
 slaven\100rezic.de                      slaven.rezic\100berlin.de
-+                                       (srezic\100iconmobile.com)
++                                       srezic\100iconmobile.com
 smcc\100mit.edu                         smcc\100ocf.berkeley.edu
 +                                       smcc\100csua.berkeley.edu
 spider\100orb.nashua.nh.us              spider\100web.zk3.dec.com

==== //depot/maint-5.8/perl/Porting/corelist.pl#2 (text) ====
Index: perl/Porting/corelist.pl
--- perl/Porting/corelist.pl#1~32312~   2007-11-14 10:09:03.000000000 -0800
+++ perl/Porting/corelist.pl    2008-05-25 12:51:20.000000000 -0700
@@ -36,6 +36,8 @@
     $lines{sprintf "\t%-24s=> $version,\n", "'$module'"}++;
 }, 'lib', 'ext', 'vms/ext', 'symbian/ext');
 
+-e 'configpm' and $lines{sprintf "\t%-24s=> undef,\n", "'Config'"}++;
+
 if (open my $ucdv, "<", "lib/unicore/version") {
     chomp (my $ucd = <$ucdv>);
     $lines{sprintf "\t%-24s=> '$ucd',\n", "'Unicode'"}++;

==== //depot/maint-5.8/perl/Porting/expand-macro.pl#2 (text) ====
Index: perl/Porting/expand-macro.pl
--- perl/Porting/expand-macro.pl#1~33198~       2008-02-02 09:34:10.000000000 
-0800
+++ perl/Porting/expand-macro.pl        2008-05-25 12:51:20.000000000 -0700
@@ -1,16 +1,37 @@
 #!perl -w
 use strict;
 
+use Getopt::Std;
+
 use vars qw($trysource $tryout $sentinel);
 $trysource = "try.c";
 $tryout = "try.i";
 
+getopts('fF:ekvI:', \my %opt) or usage();
+
+sub usage {
+    die<<EO_HELP;
[EMAIL PROTECTED];
+usage: $0 [options] <macro-name> [headers]
+options:
+    -f         use 'indent' to format output
+    -F <tool>  use <tool> to format output  (instead of -f)
+    -e         erase try.[ic] instead of failing when theyre present 
(errdetect)
+    -k         keep them after generating (for handy inspection)
+    -v         verbose
+    -I <indent-opts>   passed into indent
+EO_HELP
+}
+
 my $macro = shift;
-die "$0 macro [headers]" unless defined $macro;
+usage "missing <macro-name>" unless defined $macro;
 
 $sentinel = "$macro expands to";
 
+usage "-f and -F <tool> are exclusive\n" if $opt{f} and $opt{F};
+
 foreach($trysource, $tryout) {
+    unlink $_ if $opt{e};
     die "You already have a $_" if -e $_;
 }
 
@@ -23,16 +44,20 @@
 
 my $args = '';
 
+my $found_macro;
 while (<>) {
-    next unless /^#\s*define\s+$macro/;
+    next unless /^#\s*define\s+$macro\b/;
     my ($def_args) = /^#\s*define\s+$macro\(([^)]*)\)/;
     if (defined $def_args) {
        my @args = split ',', $def_args;
+       print "# macro: $macro args: @args in $_\n" if $opt{v};
        my $argname = "A0";
        $args = '(' . join (', ', map {$argname++} [EMAIL PROTECTED]) . ')';
     }
+    $found_macro++;
     last;
 }
+die "$macro not found\n" unless $found_macro;
 
 open my $out, '>', $trysource or die "Can't open $trysource: $!";
 
@@ -45,14 +70,38 @@
 
 close $out or die "Can't close $trysource: $!";
 
+print "doing: make $tryout\n" if $opt{v};
 system "make $tryout" and die;
 
+# if user wants 'indent' formatting ..
+my $out_fh;
+
+if ($opt{f} || $opt{F}) {
+    # a: indent is a well behaved filter when given 0 arguments, reading from
+    #    stdin and writing to stdout
+    # b: all our braces should be balanced, indented back to column 0, in the
+    #    headers, hence everything before our #line directive can be ignored
+    #
+    # We can take advantage of this to reduce the work to indent.
+
+    my $indent_command = $opt{f} ? 'indent' : $opt{F};
+
+    if (defined $opt{I}) {
+       $indent_command .= " $opt{I}";
+    }
+    open $out_fh, '|-', $indent_command or die $?;
+} else {
+    $out_fh = \*STDOUT;
+}
+
 open my $fh, '<', $tryout or die "Can't open $tryout: $!";
 
 while (<$fh>) {
-    print if /$sentinel/o .. 1;
+    print $out_fh $_ if /$sentinel/o .. 1;
 }
 
-foreach($trysource, $tryout) {
-    die "Can't unlink $_" unless unlink $_;
+unless ($opt{k}) {
+    foreach($trysource, $tryout) {
+       die "Can't unlink $_" unless unlink $_;
+    }
 }

==== //depot/maint-5.8/perl/pod/perlmodlib.PL#11 (text) ====
Index: perl/pod/perlmodlib.PL
--- perl/pod/perlmodlib.PL#10~32387~    2007-11-17 16:29:35.000000000 -0800
+++ perl/pod/perlmodlib.PL      2008-05-25 12:51:20.000000000 -0700
@@ -10,36 +10,57 @@
 push @MANIFEST, 'lib/Config.pod', 'lib/Errno.pm', 'lib/lib.pm',
     'lib/DynaLoader.pm', 'lib/XSLoader.pm';
 
--f "../lib/DynaLoader.pm" or die "Must be run from a source tree where perl 
has been built\n";
+# If run in a clean source tree, these will be missing because they are
+# generated by the build.
+my %generated = (
+    'encoding' => 'Allows you to write your script in non-ascii or non-utf8',
+    'lib' => 'Manipulate @INC at compile time',
+    'ops' => 'Restrict unsafe operations when compiling',
+    'Config' => 'Access Perl configuration information',
+    'DynaLoader' => 'Dynamically load C libraries into Perl code',
+    'Errno' => 'System errno constants',
+    'O' => 'Generic interface to Perl Compiler backends',
+    'Safe' => 'Compile and execute code in restricted compartments',
+    'XSLoader' => 'Dynamically load C libraries into Perl code',
+);
+
+# If run in a clean source tree, these should not be reported.
+# These are considered 'modules' by this script, but they really are not.
+my %suppressed = map {$_ => 1} qw(
+    B::O
+    Encode::encoding
+    Opcode::Safe
+    Opcode::ops
+);
 
 for (@MANIFEST) {
-     my $filename;
-     next unless s|^lib/|| or m|^ext/|;
-     my ($origfilename) = ($filename) = m|^(\S+)|;
-     $filename =~ s|^[^/]+/|| if $filename =~ s|^ext/||;
-     next unless $filename =~ m!\.p(m|od)$!;
-     unless (open (MOD, "../lib/$filename")) {
-       unless (open (MOD, "../$origfilename")) {
-           warn "Couldn't open ../$origfilename: $!";
-           next;
-       }
-       $filename = $origfilename;
-     }
+    my $filename;
+    next unless s|^lib/|| or m|^ext/|;
+    my ($origfilename) = ($filename) = m|^(\S+)|;
+    $filename =~ s|^[^/]+/|| if $filename =~ s|^ext/||;
+    next unless $filename =~ m!\.p(m|od)$!;
+    unless (open (MOD, "../lib/$filename")) {
+        unless (open (MOD, "../$origfilename")) {
+            warn "Couldn't open ../$origfilename: $!";
+            next;
+        }
+        $filename = $origfilename;
+    }
 
 
      my ($name, $thing);
      my $foundit=0;
      {
-        local $/="";
-        while (<MOD>) {
-            next unless /^=head1 NAME/;
-            $foundit++;
-            last;
-        }
+         local $/="";
+         while (<MOD>) {
+             next unless /^=head1 NAME/;
+             $foundit++;
+             last;
+         }
      }
      unless ($foundit) {
-        warn "$filename missing =head1 NAME (okay if there is respective 
.pod)\n";
-        next;
+         warn "$filename missing =head1 NAME (OK if respective .pod exists)\n";
+         next;
      }
      my $title = <MOD>;
      chomp($title);
@@ -57,11 +78,12 @@
      ($name, $thing) = split / --? /, $title, 2;
 
      unless ($name and $thing) {
-        warn "$filename missing name\n"  unless $name;
-        warn "$filename missing thing\n" unless $thing;
-        next;
+         warn "$filename missing name\n"  unless $name;
+         warn "$filename missing thing\n" unless $thing;
+         next;
      }
 
+     next if $suppressed{$perlname};
 
      $thing =~ s/^perl pragma to //i;
      $thing = ucfirst($thing);
@@ -72,6 +94,17 @@
      } else {
           push @pragma, $title;
      }
+
+     # if we find a generated one via the MANIFEST, no need to add later.
+     delete $generated{$perlname};
+}
+while (my ($name,$desc) = each %generated) {
+    my $title = "=item $name\n\n$desc\n\n";
+    if ($name =~ /[A-Z]/) {
+        push @mod, $title;
+    } else {
+        push @pragma, $title;
+    }
 }
 
 print OUT <<'EOF';

==== //depot/maint-5.8/perl/pod/perltodo.pod#45 (text) ====
Index: perl/pod/perltodo.pod
--- perl/pod/perltodo.pod#44~33805~     2008-05-10 08:40:07.000000000 -0700
+++ perl/pod/perltodo.pod       2008-05-25 12:51:20.000000000 -0700
@@ -64,12 +64,6 @@
 aren't found by podchecker. Add this check to podchecker, get rid of
 checkpods and have C<make check> use podchecker.
 
-=head2 perlmodlib.PL rewrite
-
-Currently perlmodlib.PL needs to be run from a source directory where perl
-has been built, or some modules won't be found, and others will be
-skipped. Make it run from a clean perl source tree (so it's reproducible).
-
 =head2 Parallel testing
 
 (This probably impacts much more than the core: also the Test::Harness

==== //depot/maint-5.8/perl/regen.pl#5 (text) ====
Index: perl/regen.pl
--- perl/regen.pl#4~30057~      2007-01-29 07:55:07.000000000 -0800
+++ perl/regen.pl       2008-05-25 12:51:20.000000000 -0700
@@ -28,7 +28,7 @@
           'regcomp.pl'  => [qw[regnodes.h]],
           'warnings.pl' => [qw[warnings.h lib/warnings.pm]],
           'reentr.pl'   => [qw[reentr.c reentr.h]],
-          'overload.pl' => [qw[overload.h]],
+          'overload.pl' => [qw[overload.c overload.h]],
           );
 
 sub do_cksum {
@@ -47,8 +47,7 @@
     return %cksum;
 }
 
-foreach my $pl (qw (keywords.pl opcode.pl embed.pl bytecode.pl
-                   regcomp.pl warnings.pl autodoc.pl reentr.pl)) {
+foreach my $pl (keys %gen) {
   print "$^X $pl\n";
   my %cksum0;
   %cksum0 = do_cksum($pl) unless $pl eq 'warnings.pl'; # the files were removed
End of Patch.

Reply via email to