X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/ea0a767697594d2eda37daf5ecbf2fdaf60d2189..7f7fdba418c416d106a996c4d88eb9c57146ae75:/README-hacking diff --git a/README-hacking b/README-hacking index f6b8903e..97c73a80 100644 --- a/README-hacking +++ b/README-hacking @@ -15,25 +15,16 @@ First, if it is a large change, you must make sure they have signed the appropriate paperwork. Second, be sure to add their name and email address to THANKS. -** If a change fixes a test, mention the test in the ChangeLog entry. +** If a change fixes a test, mention the test in the commit message. ** Bug reports -If somebody reports a new bug, mention his name in the ChangeLog entry +If somebody reports a new bug, mention his name in the commit message and in the test case you write. Put him into THANKS. The correct response to most actual bugs is to write a new test case which demonstrates the bug. Then fix the bug, re-run the test suite, and check everything in. -** You may find it useful to install the git-merge-changelog merge driver: - - http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c - -When following the generic installation instructions there, keep in mind that -your clone of Bison's git repository already contains appropriate -.gitattributes files, and running Bison's bootstrap script will make the -necessary changes to .git/config. - * Hacking @@ -158,6 +149,20 @@ Register your changes. $ git checkin ... +For a suggestion of what gnulib commit might be stable enough for a +formal release, see the ChangeLog in the latest gnulib snapshot at: + + http://erislabs.net/ianb/projects/gnulib/ + +The autoconf files we use are currently: + + m4/m4.m4 + lib/m4sugar/m4sugar.m4 + lib/m4sugar/foreach.m4 + +These files don't change very often in Autoconf, so it should be +relatively straight-forward to examine the differences in order to +decide whether to update. * Test suite @@ -175,6 +180,9 @@ release: - Build with -DGNULIB_POSIXCHECK. It suggests gnulib modules that can fix portability issues. +- Check with `make syntax-check' if there are issues diagnosed by + gnulib. + - run `make maintainer-check' which: - runs `valgrind -q bison' to run Bison under Valgrind. - runs the parsers under Valgrind. @@ -192,6 +200,9 @@ release: Bison's included XSLT style sheets with the output of --report=all and --graph. +- running `make maintainer-release-check' takes care of running + maintainer-check, maintainer-push-check and maintainer-xml-check. + - Change tests/atlocal/CFLAGS to add your preferred options. For instance, `-traditional' to check that the parsers are K&R. Note that it does not make sense for glr.c, which should be ANSI, @@ -200,6 +211,10 @@ release: * Release Procedure +** Update the submodules. See above. + +** Update maintainer tools, such as Autoconf. See above. + ** Try to get the *.pot files to the Translation Project at least one week before a stable release, to give them time to translate them. Before generating the *.pot files, make sure that po/POTFILES.in and @@ -232,16 +247,17 @@ occurrences of PACKAGE_COPYRIGHT_YEAR in configure.ac. The version number, *and* the date of the release (including for betas). -** Update ChangeLog -Should have an entry similar to `Version 1.49b.'. +** Mention the release name in a commit message +Should have an entry similar to `Version 2.3b.'. ** Tag the release -Before Bison will build with the right version number, you must tag the release -in git. Do this after all other changes. The command is similar to: +Before Bison will build with the right version number, you must tag +the release in git. Do this after all other changes. The command is +similar to: git tag -a v2.3b -The log message can be simply: +The commit message can be simply: Bison 2.3b @@ -292,7 +308,7 @@ Here's a brief reminder of how to roll the tarballs and upload them: *** put bison-2.3b.tar.gz # This can take a while. *** put bison-2.3b.tar.gz.sig *** put bison-2.3b.tar.gz.directive.asc -*** Repeat all these steps for bison-2.3b.tar.bz2. +*** Repeat all these steps for bison-2.3b.tar.xz. ** Update Bison manual on www.gnu.org. @@ -367,7 +383,7 @@ Push these changes. ----- -Copyright (C) 2002-2005, 2007-2011 Free Software Foundation, Inc. +Copyright (C) 2002-2005, 2007-2012 Free Software Foundation, Inc. This file is part of GNU Bison.