develooper Front page | perl.perl5.porters | Postings from February 2003

[PATCH] Make adding notes to patchlevel.h easier

Thread Next
From:
andreas.koenig
Date:
February 18, 2003 02:49
Subject:
[PATCH] Make adding notes to patchlevel.h easier
Message ID:
m3n0kt27av.fsf@k242.linux.bogus
Would people like that adding a comment to patchlevel.h is as easy as

    perl -x patchlevel.h comment ...

? I have a patch for doing that. I think I have to credit Simon Cozens
on doing the initial implementation, I'm not sure, I've used this one
for ages.

--- perl-p-5.8.0@18740/patchlevel.h~	Tue Feb 18 09:41:15 2003
+++ perl-p-5.8.0@18740/patchlevel.h	Tue Feb 18 11:30:55 2003
@@ -75,7 +75,46 @@
 	(Note changes to line numbers as well as removal of context lines.)
 	This will prevent patch from choking if someone has previously
 	applied different patches than you.
+
+        History has shown that nobody distributes patches that also
+        modify patchlevel.h. Do it yourself. The following perl
+        program can be used to add a comment to patchlevel.h:
+
+#!perl
+die "Usage: perl -x patchlevel.h comment ..." unless @ARGV;
+open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
+open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
+my $seen=0;
+while (<PLIN>) {
+    if (/\t,NULL/ and $seen) {
+       while (my $c = shift @ARGV){
+            print PLOUT qq{\t,"$c"\n};
+       }
+    }
+    $seen++ if /local_patches\[\]/;
+    print PLOUT;
+}
+close PLOUT or warn "Couldn't close filehandle writing to patchlevel.new : $!";
+close PLIN or warn "Couldn't close filehandle reading from patchlevel.h : $!";
+unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
+  if -e "patchlevel.bak";
+rename "patchlevel.h", "patchlevel.bak" or
+  die "Couldn't rename patchlevel.h to patchlevel.bak : $!";
+rename "patchlevel.new", "patchlevel.h" or
+  die "Couldn't rename patchlevel.new to patchlevel.h : $!";
+__END__
+
+Please keep empty lines below so patching of this file doesn't
+interfere with the following lines.
+
  */
+
+
+
+
+
+
+
 #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
 static	char	*local_patches[] = {
 	NULL


-- 
andreas

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About