All contributions must conform to the GNU Coding Standards. Submissions which do not conform to the standards will be returned with a request to reformat the changes.
Note that the GNU Coding Standards do not actually cover Perl programming style. Automake largely uses the obvious extrapolation from the GNU C style, but there are some differences. Try to follow the existing style.
Additional conventions are listed in the file HACKING, present in the git tree.
Before we can accept code contributions from you, we need a copyright assignment form filled out.
The Legal Matters section of the Information for maintainers of GNU software gives more details about what legally significant changes are.
Every patch must have several pieces of information before we can properly evaluate it.
A description of the bug and how your patch fixes this bug. For new features: a description of the feature and your implementation.
A ChangeLog entry as plaintext; see the ChangeLog file for format and content.
Note that, unlike some other projects, we do require ChangeLog entries also for documentation (i.e., .texi files).
The patch itself. If you are accessing the git repository at git://git.sv.gnu.org/automake, use git's features to create patch emails. If you are using the read-only CVS mirror, use cvs update; cvs diff -u; else, use diff -u OLD NEW. If your version of diff does not support these options, then get the latest version of GNU diff. Please send patches inline, unless your mailer destroys their format.
It's best to send patches against the current git version, because Automake may have changed a lot since previous releases.
Patches which include new test cases are especially welcome. Ideally we should add test cases everytime we fix a bug or add a new feature. Read tests/README for hints.
When adding a new feature, make sure you
Send patches to automake-patches@gnu.org.
Persistent contributors who submit high quality patches may be given direct git access. You have been warned.
You can always submit bugs to bug-automake@gnu.org.
You can also submit bug reports to our GNATS database. This is prefered for bugs that look difficult to fix and will probably not be fixed anytime soon.