gnucash/README.git
John Ralls 168dc03dde Rename README.svn to README.git and revise
reflecting the git conversion.
2014-02-16 09:39:02 -08:00

83 lines
3.4 KiB
Plaintext

This file contains guidelines for using GnuCash from a git repository.
They have been adapted from the guidelines for gnome-libs by
Miguel de Icaza who adapted them from guidelines written by
Owen Taylor.
+ In order to build GnuCash from git, you need to run the autogen.sh
command to generate a configure script:
./autogen.sh
After the ./configure script has been created, you need to run it
with all the usual options. See ./configure --help for a
reminder. For example:
./configure --enable-ofx --enable-opt-style-install --prefix=/opt/gnucash
If in doubt, you can run autogen.sh, run ./configure --help,
then re-run ./configure with your options.
(Note: Previously, autogen.sh automatically called configure as
well. This behaviour was dropped in favor of two separate calls
because autogen should be an additional step taken by only by
developers using git sources. Configure is a step taken by
everyone compiling the sources, be it from git or a tarball.)
+ Some versions of gettextize don't deal well with re-running themselves.
You will see this as an error like:
configure.ac:1141: error: `intl/Makefile' is already registered with
AC_CONFIG_FILES. autoconf/status.m4:844: AC_CONFIG_FILES is expanded
from... configure.ac:1141: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
autoheader: /usr/bin/autom4te failed with exit status: 1
**Error**: autoheader failed.
If you see this error, it most likely means that you've made some
local changes to configure.ac or one or more Makefile.am. You can
reset changes on a file-by-file basis with git checkout, e.g.
git checkout configure.ac Makefile.am
When making changes to GnuCash and trying to commit to the repository:
+ Ask first. If your changes are major, or could possibly break existing
code, you should always ask. If your change is minor and you have
been working on gnucash for a while it is probably not necessary
to ask. But when in doubt, ask. Even if your change is correct,
somebody may know a better way to do things.
Since you want other people to review your code before it goes in,
you can submit your changes as a patch to gnucash-devel@gnucash.org.
See README for details.
If you are making changes to gnucash SVN, you should be subscribed
to gnucash-devel@gnucash.org and to gnucash-changes@gnucash.org.
(Subscription address: http://www.gnucash.org/en/lists.phtml)
gnucash-devel@gnucash.org is a good place to ask about intended
changes.
+ You must not break the build! Never check in changes that do not
compile, install or run. Just because your local tree compiles
doesn't mean you are done. The most common way to break the build
is to forget to add new files or directories to git. But it is easy
to fix this problem: Clone your local repo, but never make changes
in it. After you have committed a set of changes, cd to the clone,
run git pull, build and make distcheck. If that passes, it's safe
to push.
+ It's wise to do major work in a branch. That allows you to keep the rest of your repo up to date. It's also better to commit small changes often rather than to make a single large change. Run make check often so that you can quickly find errors.
+ When code is added from new developers, add them to AUTHORS and
to doc/sgml/C/xacc-about.sgml.
Dave Peticolas
June 21, 2002
Derek Atkins
November 21, 2002
Neil Williams
November 6th, 2005