Notes For Developers
====================

This document describes a few basic tasks for managing the codebase;
see http://wiki.zmanda.com/ for more detailed developer-oriented
documentation.

Adding Gnulib Modules
---------------------

Edit the clearly marked section in gnulib/regenerate/regenerate,
then re-run that script as directed below.

Updating Gnulib
---------------

This should probably be done after most releases, so that we have
adequate time to uncover any bugs or problems in the new gnulib before
we make another release.

To update the gnulib files included with Amanda, you'll first need a git
working copy of gnulib; let's call it $GNULIB_BR:

  cd /tmp
  git clone git://git.savannah.gnu.org/gnulib.git
  GNULIB_BR=/tmp/gnulib

See http://www.gnu.org/software/gnulib/ for more information.  Then, in the
root of the Amanda source, run

  GNULIB_TOOL=$GNULIB_BR/gnulib-tool ./gnulib/regenerate/regenerate

Use 'svn status' to figure out what changed, and 'svn add' / 'svn rm'
to inform Subversion.  Then re-run autogen, configure, make, and test
the result.

Get the object ID of the latest commit, using 'git show', and replace the
previous object ID in Amanda's gnulib/regenerate/regenerate, so that other
developers can access the same "release" of gnulib as you did.

Updating Libtool
----------------

Libtool includes such useful files as config/config.guess.
Occasionally (probably right after a release), these files should be
updated.  On a machine with libtool installed, simply run 
  libtoolize --force --copy

Then use 'svn status' to see what changed, test it out, and commit.

Updating Gettext
----------------

The gettext library contains a significant number of files.  Assuming
you have the proper version of gettext installed, these files can be
updated by running

  po/reautopoint

and then adjusting as appropriate with 'svn add' / 'svn rm', testing,
and committing.  Note that this script post-processes the results of
autopoint rather extensively, and will probably need to be adjusted
for a new version of autopoint.
