mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-25 10:20:18 -06:00
33d989eb1e
workaround. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7661 57a11ea4-9604-0410-9ed3-97b8803252fd
97 lines
4.1 KiB
Plaintext
97 lines
4.1 KiB
Plaintext
This file contains guidelines for using Gnucash from CVS.
|
|
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 CVS, you need to run the autogen.sh
|
|
command to generate and execute a configure script. When building
|
|
from CVS you should ALWAYS pass your configure options directly to
|
|
autogen.sh. For example:
|
|
|
|
./autogen.sh --enable-ofx --enable-opt-style-install --prefix=/opt/gnucash
|
|
|
|
Autogen will automatically generate the configure script and then
|
|
run it WITH SPECIAL ARGUMENTS to make sure certain files get built.
|
|
If you run "configure" without these special arguments, it is very likely
|
|
that GnuCash will fail to build.
|
|
|
|
If in doubt, you can run autogen.sh, run ./configure --help,
|
|
then re-run autogen.sh with your options.
|
|
|
|
+ Some versions of gettextize don't deal well with re-running themselves.
|
|
You will see this as an error like:
|
|
|
|
configure.in:1141: error: `intl/Makefile' is already registered with
|
|
AC_CONFIG_FILES. autoconf/status.m4:844: AC_CONFIG_FILES is expanded
|
|
from... configure.in: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, you may need to run "cvs update -C" to pull down
|
|
the repository versions of configure.in and/or Makefile.am in various places.
|
|
NOTE WELL: using "-C" will over-write any local changes you may have.
|
|
|
|
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.
|
|
|
|
If you want other people to review your code before it goes in,
|
|
you can submit your changes as a patch to gnucash-patches@gnucash.org.
|
|
See README.patches for details.
|
|
|
|
If you are making changes to gnucash CVS, you should be subscribed
|
|
to gnucash-devel@gnucash.org and to gnucash-patches@gnucash.org.
|
|
(Subscription address: http://www.gnucash.org/en/lists.phtml)
|
|
gnucash-devel@gnucash.org is a good place to ask about intended
|
|
changes.
|
|
|
|
+ There must be a ChangeLog entry for every commit. If you discover that
|
|
you only committed half the files you meant to and need to fix that
|
|
up you do not need a new ChangeLog entry. But in general, ChangeLog
|
|
entries are mandatory. Changes with out ChangeLog entries will be
|
|
reverted.
|
|
|
|
+ When you commit, use your ChangeLog entry as the log message.
|
|
|
|
+ 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 CVS. But it is easy
|
|
to fix this problem:
|
|
|
|
+ Keep two directories, one where you make changes and another
|
|
'pristine' tree that you keep up to date. As soon as you check
|
|
in changes to your working tree, update the pristine tree then
|
|
recompile, install and run the pristine version. If you forgot
|
|
to add some new files, it will quickly show up.
|
|
|
|
+ Try not to break 'make dist' tarballs. These are generally broken
|
|
by not updating Makefile.am files when files are added or removed
|
|
to the repository.
|
|
|
|
+ If you are going to be changing many files in an experimental fashion,
|
|
it is probably a good idea to create a separate branch for your
|
|
changes. Please see the CVS info documentation to see how to create
|
|
a branch. Also, please inform the gnucash-devel-list about what you
|
|
are going to do.
|
|
|
|
+ The ChangeLog entries should preferably match in date format with
|
|
the existing entries. You can set how emacs does this by using
|
|
customize mode:
|
|
|
|
- M-x customize
|
|
|
|
+ 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
|