announce-gen: fail if the NEWS delta is empty
authorJim Meyering <meyering@redhat.com>
Tue, 17 May 2011 20:24:59 +0000 (22:24 +0200)
committerJim Meyering <meyering@redhat.com>
Wed, 18 May 2011 10:21:49 +0000 (12:21 +0200)
If there's nothing noteworthy in NEWS, then either you forgot
or you shouldn't be releasing.
* build-aux/announce-gen: Die if the NEWS delta is effectively empty.

ChangeLog
build-aux/announce-gen

index b723c7314b0dbe64ca412ad780926d34c1359237..c3260817813e71360ac83abe99c3323c83ff51a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-05-17  Jim Meyering  <meyering@redhat.com>
+
+       announce-gen: fail if the NEWS delta is empty
+       If there's nothing noteworthy in NEWS, then either you forgot
+       or you shouldn't be releasing.
+       * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
+
 2011-05-17  Pádraig Brady <P@draigBrady.com>
 
        * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
index 233ee9b95985fecf83e6875982673d1514b25fb8..0eb6b5b6e77860ce63d728bfc0bc73b67679ab4e 100755 (executable)
@@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
     if 0;
 # Generate a release announcement message.
 
-my $VERSION = '2011-04-29 21:01'; # UTC
+my $VERSION = '2011-05-17 20:25'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
@@ -192,6 +192,7 @@ sub print_news_deltas ($$$)
 
   my $re_prefix = qr/(?:\* )?(?:Noteworthy c|Major c|C)(?i:hanges)/;
 
+  my $found_news;
   open NEWS, '<', $news_file
     or die "$ME: $news_file: cannot open for reading: $!\n";
   while (defined (my $line = <NEWS>))
@@ -214,12 +215,16 @@ sub print_news_deltas ($$$)
           $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o
             and last;
           print $line;
+          $line =~ /\S/
+            and $found_news = 1;
         }
     }
   close NEWS;
 
   $in_items
     or die "$ME: $news_file: no matching lines for `$curr_version'\n";
+  $found_news
+    or die "$ME: $news_file: no news item found for `$curr_version'\n";
 }
 
 sub print_changelog_deltas ($$)