Blame HACKING

Packit 5b56b6
All you need to know when hacking (modifying) GNU gettext or when building
Packit 5b56b6
it off the git repository.
Packit 5b56b6
Packit 5b56b6
Packit 5b56b6
Requirements
Packit 5b56b6
============
Packit 5b56b6
Packit 5b56b6
You will need reasonably recent versions of the build tools:
Packit 5b56b6
Packit 5b56b6
  * A C compiler; on Cygwin or mingw also a C++ compiler. Such as GNU GCC.
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://gcc.gnu.org/
Packit 5b56b6
Packit 5b56b6
  * GNU automake
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/automake/
Packit 5b56b6
Packit 5b56b6
  * GNU autoconf
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/autoconf/
Packit 5b56b6
Packit 5b56b6
  * GNU m4
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/m4/
Packit 5b56b6
Packit 5b56b6
  * GNU bison
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/bison/
Packit 5b56b6
Packit 5b56b6
  * GNU gperf
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/gperf/
Packit 5b56b6
Packit 5b56b6
  * GNU groff 1.17 or newer
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/groff/
Packit 5b56b6
Packit 5b56b6
  * GNU texinfo
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/texinfo/
Packit 5b56b6
Packit 5b56b6
  * GNU emacs or XEmacs
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/emacs/
Packit 5b56b6
      http://www.xemacs.org/
Packit 5b56b6
Packit 5b56b6
  * Perl
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.perl.org/
Packit 5b56b6
Packit 5b56b6
  * TeX (for making the doc in .dvi, .ps or .pdf format)
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://tug.org/teTeX/
Packit 5b56b6
Packit 5b56b6
  * Either an internet connection or a recent copy of GNU gnulib.
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/gnulib/
Packit 5b56b6
Packit 5b56b6
  * GNU tar (for creating distributable tarballs)
Packit 5b56b6
    + Homepage:
Packit 5b56b6
      http://www.gnu.org/software/tar/
Packit 5b56b6
Packit 5b56b6
And, of course, the packages listed in the DEPENDENCIES file.
Packit 5b56b6
Packit 5b56b6
Packit 5b56b6
Building off the git repository
Packit 5b56b6
===============================
Packit 5b56b6
Packit 5b56b6
Access to the git repository is described at
Packit 5b56b6
  http://savannah.gnu.org/git/?group=gettext
Packit 5b56b6
Packit 5b56b6
After fetching the sources from the repository, peek at the comments in
Packit 5b56b6
autogen.sh, then run "./autogen.sh"; then you can proceed with "./configure"
Packit 5b56b6
as usual.
Packit 5b56b6
Packit 5b56b6
Submitting patches
Packit 5b56b6
==================
Packit 5b56b6
Packit 5b56b6
Patches should be sent to bug-gettext@gnu.org, the bug/feature mailing
Packit 5b56b6
list.  You can subscribe to the mailing list, or see the list
Packit 5b56b6
archives, by following links from
Packit 5b56b6
http://savannah.gnu.org/mail/?group=gettext .
Packit 5b56b6
Packit 5b56b6
To email a patch you can use a shell command like 'git format-patch
Packit 5b56b6
-1' to create a file, and then attach the file to your email.  
Packit 5b56b6
Packit 5b56b6
GNU gettext development no longer stores descriptions of new changes
Packit 5b56b6
in ChangeLog files.  Instead, a single ChangeLog file is generated
Packit 5b56b6
from the commit messages when a release is prepared.  So changes you
Packit 5b56b6
commit should not touch any of the ChangeLog files in the repository,
Packit 5b56b6
but instead should contain the log entries in the commit message.
Packit 5b56b6
Packit 5b56b6
For the style of a ChangeLog entry, see the "Change Logs" section of
Packit 5b56b6
the GNU coding standards:
Packit 5b56b6
Packit 5b56b6
  http://www.gnu.org/prep/standards/html_node/Change-Logs.html