bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: announce-gen -- not flexible enough


From: Alfred M. Szmidt
Subject: Re: announce-gen -- not flexible enough
Date: Sat, 05 Dec 2009 14:41:04 -0500

   I.e., initialize "require_news=true" or to false, then run the
   "command":

       if $require_news; then
         ...
       fi

   By reversing the sense of the name, you make it so the three added
   tests are not all negated.  That's more readable.

Good idea; but there is a better way to do this, by adding a hook to
alpha/stable/beta.  Patch attached.  Now if someone has something
completely different to do after dist/distcheck, they can do so.

   > Is there is someone who can add a --skip-news option to
   > announce-gen, (and a way of specifying that you don't want NEWS
   > to be inserted in cfg.mk; though I can do that)?  If not, the
   > best solution is to remove announce-gen from gnulib, since it is
   > not flexible enough for other projets to use; asking everyone to
   > use the same format for a file that has been free-hand for 20+
   > years is not going to work.

   Removing something just because it doesn't suit *you* would be
   unreasonable.  What about all of the other projects that are using
   it?

I am guessing that 3, at most 5 projects use this format for NEWS file
of the ~400 GNU projects; so it has nothing to do with me, gnulib
shouldn't impose something that very few people use, and in the case
of NEWS there have never been any standard layout for it requesting
everyone to use this stringent version is not realistic.  In either
case, such a project wide change should be mentioned in the GNU Coding
Standards, and dicussed on the internal GNU maintainer list.

>From 00c33e8b07ae06d2c09394c3cf2892063f0c2fc6 Mon Sep 17 00:00:00 2001
From: Alfred M. Szmidt <address@hidden>
Date: Sat, 5 Dec 2009 20:44:20 +0100
Subject: [PATCH] Allow for per-project post-release administrative tasks.

---
 ChangeLog    |    8 ++++++++
 top/maint.mk |   10 +++++++++-
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3c01809..900736b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-12-05  Alfred M. Szmidt  <address@hidden>
+
+       * top/maint.mk (alpha, beta, stable): Split out project specific
+       rules into `default-post-release-administrivia'.
+       (post-release-hook): New variable.
+       (post-release-administrivia, default-post-release-administrivia):
+       New targets.
+
 2009-12-05  Bruno Haible  <address@hidden>
 
        * lib/progname.h (set_program_name): Clarify specification.
diff --git a/top/maint.mk b/top/maint.mk
index 1ed1541..262a69f 100644
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -82,6 +82,9 @@ endif
 today = $(shell date +%Y-%m-%d)
 news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)'
 
+# Override this in cfg.mk if you have different post-release procedures.
+post-release-hook ?= default-post-release-administrivia
+
 # Prevent programs like 'sort' from considering distinct strings to be equal.
 # Doing it here saves us from having to set LC_ALL elsewhere in this file.
 export LC_ALL = C
@@ -761,12 +764,17 @@ alpha beta stable: $(local-check) writable-files 
no-submodule-changes
        $(MAKE) news-check
        $(MAKE) distcheck
        $(MAKE) dist XZ_OPT=-9ev
+       $(MAKE) post-release-administrivia
+       $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
+
+post-release-administrivia: $(post-release-hook)
+
+default-post-release-administrivia:
        $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
        if test -d $(release_archive_dir); then                 \
          ln $(rel-files) $(release_archive_dir);               \
          chmod a-w $(rel-files);                               \
        fi
-       $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
        echo $(VERSION) > $(prev_version_file)
        $(MAKE) update-NEWS-hash
        perl -pi -e '$$. == 3 and print "$(noteworthy)\n\n\n"' NEWS
-- 
1.6.5.2





reply via email to

[Prev in Thread] Current Thread [Next in Thread]