summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.git34
-rw-r--r--doc/.gitignore2
-rw-r--r--maintMakefile44
3 files changed, 70 insertions, 10 deletions
diff --git a/README.git b/README.git
index b83ae32..132f760 100644
--- a/README.git
+++ b/README.git
@@ -162,29 +162,43 @@ Steps to Release
----------------
Here are the things that need to be done (in more or less this order)
-before making an official release:
+before making an official release. If something breaks such that you need to
+change code, be sure to start over again sufficiently that everything is
+consistent (that's why we don't finalize the Git tag, etc. until the end).
* Update the configure.ac file with the new release number.
+ * Update the EDITION value in the doc/make.texi file.
* Update the NEWS file with the release number and date.
+ * Ensure the Savannah bug list URL in the NEWS file uses the correct
+ "Fixed Release" ID number.
+ * Run "make distcheck" to be sure it all works.
+ * Run "make update-www" to get a copy of the GNU make web pages
+ * Update the web page boilerplate if necessary
+ * Run "make gendocs" (requires gnulib) to generate the manual files for
+ the GNU make web pages.
+ * Follow the directions from gendocs for the web page repository
+ * run "make tag-release" to create a Git tag for the release
+ * Push everything:
+ git push --tags origin master
+
+Manage the Savannah project for GNU make:
+
* In Savannah modify the "Value", "Rank", and "Description" values for the
current "SCM" entry in both "Component Version" and "Fix Release" fields
to refer to the new release, for "Bugs" and "Patches".
- * Update the Savannah bug list URL in the NEWS file to use the correct
- "Fixed Release" ID number.
* In Savannah create a new entry for the "Component Version" and "Fix
Release" fields:
- Value: SCM
- Rank: 20
- Descr: Fixed in Git; will be available in the next version of Make.
- * Run "make distcheck" to be sure it all works.
- * git tag -u <GPGID> <VER> where GPGID is my GPG key fingerprint,
- and VER is the release version.
- * Push everything:
- git push --tags origin master
* Create the new release in the Savannah "Bugs" Administration for
both the "Component Version" and "Fixed Release" fields.
- * Create the new release in the Savannah "Patches" Administration for
- the "Fixed Release" field.
+
+Start the next release:
+
+ * Update configure.ac and add a ".90" to the release number.
+ * Update the NEWS file with a new section for the release / date.
+ * Update the Savannah URL for the bugs fixed in the NEWS section.
Publishing a Package
diff --git a/doc/.gitignore b/doc/.gitignore
index 230ef46..ca68d2d 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1,3 +1,5 @@
+manual/
+gendocs_template
fdl.texi
make-stds.texi
stamp-vti
diff --git a/maintMakefile b/maintMakefile
index da5361f..0e0de8f 100644
--- a/maintMakefile
+++ b/maintMakefile
@@ -267,10 +267,54 @@ po-check:
rm -f $@-1 $@-2; \
fi
+
+## --------------- ##
+## Generate docs. ##
+## --------------- ##
+
+.PHONY: update-www gendocs
+
+CVS = cvs
+
+makeweb-repo = $(USER)@cvs.sv.gnu.org:/web/make
+gnuweb-repo = :pserver:anonymous@cvs.sv.gnu.org:/web/www
+gnuweb-dir = www/server/standards
+
+# Get the GNU make web page boilerplate etc.
+update-makeweb:
+ [ -d '$(MAKEWEBDIR)' ] || mkdir -p '$(MAKEWEBDIR)'
+ [ -d '$(MAKEWEBDIR)'/CVS ] \
+ && { cd '$(MAKEWEBDIR)' && $(CVS) update; } \
+ || { mkdir -p '$(dir $(MAKEWEBDIR))' && cd '$(dir $(MAKEWEBDIR))' \
+ && $(CVS) -d $(makeweb-repo) co -d '$(notdir $(MAKEWEBDIR))' make; }
+
+# Get the GNU web page boilerplate etc.
+update-gnuweb:
+ [ -d '$(GNUWEBDIR)' ] || mkdir -p '$(GNUWEBDIR)'
+ [ -d '$(GNUWEBDIR)/$(gnuweb-dir)'/CVS ] \
+ && { cd '$(GNUWEBDIR)/$(gnuweb-dir)' && $(CVS) update; } \
+ || { cd '$(GNUWEBDIR)' && $(CVS) -d $(gnuweb-repo) co '$(gnuweb-dir)'; }
+
+gendocs: update-gnuweb update-makeweb
+ cp $(GNULIBDIR)/doc/gendocs_template doc
+ cd doc \
+ && rm -rf doc/manual \
+ && $(GNULIBDIR)/build-aux/gendocs.sh --email '$(BUGLIST)' \
+ make 'GNU Make Manual'
+ find '$(MAKEWEBDIR)'/manual \( -name CVS -prune \) -o \( -name '[!.]*' -type f -exec rm -f '{}' \; \)
+ cp -r doc/manual '$(MAKEWEBDIR)'
+ @echo 'Status of $(MAKEWEBDIR) repo:' && cd '$(MAKEWEBDIR)' \
+ && cvs -q -n update \
+ && echo '- cvs add <new files>' \
+ && echo '- cvs remove <deleted files>' \
+ && echo '- cvs commit' \
+ && echo '- cvs tag make-$(subst .,-,$(VERSION))'
+
## ------------------------- ##
## Make release targets. ##
## ------------------------- ##
+.PHONY: tag-release
tag-release:
case '$(VERSION)' in \
(*.*.9*) message=" candidate" ;; \