summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING29
1 files changed, 18 insertions, 11 deletions
diff --git a/HACKING b/HACKING
index 03b9dd528..baa574736 100644
--- a/HACKING
+++ b/HACKING
@@ -1,10 +1,10 @@
-================================================================
+============================================================================
= This file
* This file attempts to describe the rules to use when hacking
automake.
-================================================================
+============================================================================
= Administrivia
* The correct response to most actual bugs is to write a new test case
@@ -38,7 +38,7 @@
* Changes other than bug fixes must be mentioned in NEWS. Important
bug fixes should be mentioned in NEWS, too.
-================================================================
+============================================================================
= Naming
* Internal make variables and functions should be named following patterns
@@ -53,7 +53,7 @@
except in those situation where that would cause spurious
conflicts with mainline Automake.
-================================================================
+============================================================================
= Editing '.am' files
* Always use $(...) and not ${...}
@@ -73,7 +73,7 @@
* Ensure install rules do not create any installation directory where
nothing is to be actually installed. See automake bug#11030.
-================================================================
+============================================================================
= Editing automake.in and aclocal.in
* Indent using GNU style. For historical reasons, the perl code
@@ -87,7 +87,7 @@
&, just convert the old code as you work on it, and write new
code without.
-================================================================
+============================================================================
= Working with git
* To regenerate dependent files created by aclocal and automake,
@@ -131,7 +131,7 @@
release. For next, and for feature branches, the announcement for the
branch should document rewinding policy.
-================================================================
+============================================================================
= Writing a good commit message
* Here is the general format that Automake's commit messages are expected
@@ -192,7 +192,7 @@
... removed in commit 'v1.11-1674-g02e9072' of 01-01-2012,
"dist: ditch support for lzma"...
-================================================================
+============================================================================
= Test suite
* Use "make check" and "make maintainer-check" liberally.
@@ -207,7 +207,7 @@
* See file 't/README' for more information.
-================================================================
+============================================================================
= Release procedure
* The steps outlined here are meant to be followed for alpha and stable
@@ -222,7 +222,8 @@
date. The maintainer-only target "update-copyright" can help with
this.
-* Update NEWS.
+* Check NEWS; in particular, ensure that all the relevant differences
+ with the last release are actually reported.
* Update the version number in configure.ac.
(The idea is that every other alpha number will be a net release.
@@ -230,7 +231,13 @@
distinguish net and repo versions.)
* Run this:
- ./bootstrap.sh && ./configure && make && make check && make distcheck
+
+ make bootstrap && make check && make distcheck
+
+ It is also advised to run "git clean -fdx" before invoking the
+ bootstrap, to ensure a really clean rebuild. However, it must
+ be done carefully, because that command will remove *all* the
+ files that are not tracked by git!
* Run "make git-tag-release".
This will run the maintainer checks, verify that the local git