*** empty log message ***

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2135 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas
2000-03-30 08:37:37 +00:00
parent b95e3f59dc
commit 9261c867b5
14 changed files with 113 additions and 98 deletions

52
doc/INSTALL Normal file
View File

@@ -0,0 +1,52 @@
You'll use "make install" when you want to do a normal FSSTND /usr/ or
/usr/local style install where everything scatters across the
filesystem in foo/gnucash/* directories. You'll use "make
install-opt" when you want a /usr/local/opt/gnucash style install
where everything just installs into local bin, doc, share, etc dirs.
I couldn't think of a better way to handle this, or I would have used
it.
So the two most likely sets of build instructions would be as follows:
For a full system install (gnucash is installed as part of the
system):
./configure --prefix=/usr --sysconfdir=/etc
make motif
make install
For an /opt style install
./configure --prefix=/usr/local/opt/gnucash
make motif
make install-opt
----------------
depending on your make target, you'll produce:
gnucash.motif
gnucash.motif.static
gnucash.gnome
gnucash.gnome.static
gnucash.qt
Whichever one you produce last ends up the target of a local
gnucash.bin symlink, so that you can always run the local ./gnucash
script to see the last flavor that you built. The ./gnucash script
also handles making sure that you're using files from the source dir
rather than an install tree just like the old ./xacc script did.
Finally, I've re-worked things so that it's harder to accidentally
install a binary that's stale with respect to your install
destination, and I've eliminated the need for the wrapper script in
the install tree. Unfortunately this did require that "make install*"
re-build the binary during the install process because it can't know
where the one startup file that it has to know about internally is
going to be until you pick an install style.
All this may not be perfect, but I think it's better than what we had
before, and we can always improve it once we figure out something
better.
--
Rob Browning <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930

593
doc/README Normal file
View File

@@ -0,0 +1,593 @@
-*-text-*-
************ DEVELOPMENT RELEASE ******************
The version 1.3.x series of GnuCash are experimental development
releases. They may or may not work. Use at your own risk.
The last stable, production version was gnucash-1.2.5
The next stable, production version will be gnucash-1.4.x
##############################################
GnuCash
-------
GnuCash is a personal finance manager. A check-book like
register GUI allows you to enter and track bank accounts,
stocks, income and even currency trades. The interface is
designed to be simple and easy to use, but is backed with
double-entry accounting principles to ensure balanced books.
Features include:
- An easy-to-use interface. If you can use the
register in the back of your checkbook, you
can use GnuCash. Type directly into the register,
tab between fields, and use quick-fill to
automatically complete the transaction.
- Reconcile window with running reconciled
and cleared balances makes reconciliation easy.
- Stock/Mutual Fund Portfolios: Track stocks
individually (one per account) or in portfolio
of accounts (a group of accounts that can be
displayed together).
- Multiple Currencies & Currency Trading: Multiple
currencies are supported and can be bought and
sold (traded). Currency movements between accounts
are fully balanced when double-entry is enabled.
(Some aspects of multiple currency support are not
fully implemented.)
- Quicken File Import: Import Quicken QIF style files.
QIF files are automatically merged to eliminate
duplicate transactions.
- Reports: Display Balance Sheet, Profit&Loss, Portfolio
Valuation, or print them as HTML.
- Chart of Accounts: A master account can have a hierarchy
of detail accounts underneath it. This allows similar
account types (e.g. Cash, Bank, Stock) to be grouped
into one master account (e.g. Assets).
- Split Transactions: A single transaction can be split
into several pieces to record taxes, fees, and
other compound entries.
- Double Entry: When enabled, every transaction must
debit one account and credit another by an equal amount.
This ensures that the "books balance": that the
difference between income and outflow exactly equals
the sum of all assets, be they bank, cash, stock or other.
- Income/Expense Account Types (Categories):
These serve not only to categorize your cash flow,
but when used properly with the double-entry feature,
these can provide an accurate Profit&Loss statement.
- General Ledger: Multiple accounts can be displayed
in one register window at the same time. This can
ease the trouble of tracking down typing/entry errors.
It also provides a convenient way of viewing a
portfolio of many stocks, by showing all transactions
in that portfolio.
- Written in C with embedded scheme support via Guile.
- Perl support is optionally available for stand-alone scripting via SWIG.
- File access is locked in a network-safe fashion, preventing
accidental damage if several users attempt to access the
same file, even if the file is NFS-mounted.
- Provides a byte-stream format, which allows accounts and
account groups to be transmitted to other processes
via pipes or sockets.
- Get Stock & Mutual Fund quotes from various web sites,
update portfolio automatically (more funds being added
regularly).
- European date handling, French and German translations.
Home Page:
----------
http://gnucash.org/
Original X-Accountant home page:
http://www.cs.hmc.edu/~rclark/xacc
Precompiled binaries:
http://www.gnucash.org/pub/gnucash/redhat-6.x/1.2.5/
Development versions:
http://www.gnucash.org/source_code.php3
Running:
--------
Only the Motif version of GnuCash is currently stable. The Gnome
version is a development version, but will soon be stable enough for
regular use. Development of the Motif version has ceased. The qt/kde
version doesn't compile, most functions are missing. See below for
OS's other than GNU/Linux/*BSD support.
The following packages are required to be installed to run the gnucash
Motif binary:
guile -- Provides main extension language infrastructure.
This is used extensively in gnucash for initialization & startup.
Require version 1.3 or later. The guile-1.3-7 rpm works.
Motif or Lesstif --
Either a commercial Motif, or the free software clone Lesstif is
needed. If you use a commercial version of Motif (widely available
for roughly 50 USD), be sure to get a version compatible with your
glibc and libXt version. Lesstif mostly works, but there have been
problems. Here's our experience:
Lesstif 0.81 works
Lesstif 0.82 broken
Lesstif 0.83 works ... but get fast blinking cursor ...
Lesstif 0.86.0 is reported to work
Lesstif 0.86.5 crashes.
Lesstif 0.86.9 works ... but some menus come out 2 pixels high.(?)
Lesstif 0.87.0: broken (missing symbols for XmeDrawShadows, etc.)
Lesstif 0.88.1 works
Lesstif 0.89.0 works
XmHTML -- Provides HTML display capabilities.
Used for Help Dialogues and Reports.
Require version 1.1.4 or later
http://www.llp.fu-berlin.de/lsoft/F/5/XMHTML.html
http://www.xs4all.nl/~ripley/XmHTML/XmHTML.html
ftp://ftp.ultra.net/pub/eugene/RPMS/i386/XmHTML-1.1.5-1.i386.rpm
ftp://ftp.ultra.net/pub/eugene/SRPMS/XmHTML-1.1.5-1.src.rpm
Note: some precompiled versions of XmHTML have been compiled with
Motif. When used with most precompiled versions of Lesstif, you
will get a "undefined symbol XmeDrawShadows" error. There are
several solutions; the simplest is probably to download the
XmHTML source package and compile it yourself.
slib -- scheme libraries for guile. Need version slib2c4 or later.
libpng -- portable network graphics library. Any version.
libjpeg -- JPEG image handling library. Any version.
libz -- compression library. Any version.
xpm -- X Pixmap extension. Any version.
To be able to use certain features of GnuCash, such as reports and
network stock price downloads, you must have the following packages
below installed (in addition to those listed above).
RPM's for most of these can be found at http://rufus.w3.org/linux/
slib -- scheme libraries for guile. Need version slib2c4 or later.
perl -- Almost any version of perl5 should work. I run perl-5.004
eperl -- Almost any version of eperl should work. I run eperl-2.2.14
In addition, some perl modules need to be installed:
perl-LWP/libwww-perl-5.36
perl-HTML/HTML-0.6
perl-HTML/HTML-Parser-2.20
-- these perl modules are used to fetch stock & mutual fund quotes
off the net. You can pick up RPMS at
ftp://ftp.gnucash.org/pub/gnucash/binaries/RPMS
http://rufus.w3.org/linux/RPM/PByName.html
http://linas.org/linux/gnucash (last resort)
or sources at
http://www.cpan.org/CPAN.html
The following packages are required to be installed to run the GnuCash
Gnome binary:
gnome-libs -- version 1.0.40 or higher should work. These libraries
require numerous other supporting libraries, such as
gtk and glib.
guile -- same as Motif
slib -- same as Motif
Invocation:
-----------
You can start GnuCash at the command-line, with "gnucash" or "gnucash
<filename>", where <filename> is a GnuCash account file. Sample
accounts can be found in "data" subdirectory. *.dat files are GnuCash
accounts that can opened with the "Open File" menu entry. *.qif files
are Quicken Import Format files that can be opened with the "Import
QIF" menu entry.
GnuCash responds to the following environment variables:
GNC_RUN_AS_SHELL - if set, makes GnuCash pop up in a guile shell
with all the gnucash functions loaded. From there, you can get the
normal startup behavior like this:
GNC_RUN_AS_SHELL=t ./gnucash
guile> (primitive-load (getenv "GNC_BOOTSTRAP_SCM"))
guile> (gnc:load "startup.scm")
guile> (gnc:main)
This is the same thing that happens if you don't use this
environment variable. This can be helpful when trying to write and
test new .scm files.
GNC_BOOTSTRAP_SCM - the location of the initial bootstrapping scheme code.
GNC_SCM_LOAD_PATH - an override for the GnuCash scheme load path.
it should be a string representing a proper scheme list. Each
element can either be a string representing a directory, the symbol
'default which will expand to the default path, or 'current which
will expand to the current load-path at the instant it encounters
the symbol.
GNC_DEBUG - enable debugging output. This allows you to turn on
debugging earlier in the startup process than you can with --debug.
Internationalization:
---------------------
Message catalogues exist for French and German. These are enabled with
environment variables. For example,
Francais, en bash:
export LANG=fr_FR
export LC_ALL=fr_FR
export LINGUAS=fr_FR
Francais, en tcsh:
setenv LANG fr_FR
setenv LC_ALL fr_FR
setenv LINGUAS fr_FR
German version:
export LANG=de_DE
export LC_ALL=de_DE
export LINGUAS=de_DE
Other locales that should mostly work, but are still in development:
en_US
en_GB
fr_CH
de_CH
Other Tools
-----------
A tool to generate (ascii) reports from gnucash/xacc files can be found
at http://www.zeta.org.au/~grahamc/xacc_rpts.html.
A tool to cleanup & import Quicken files can be found at (insert the url
here).
Building & Installing:
----------------------
These steps does not apply to binary distributions; only to source
distributions.
Prior to building GnuCash, you will have to obtain and install the following
packages:
libtool -- Used to build our internal version of g-wrap which handles
our guile C wrappers. Available at ftp://ftp.gnu.org/gnu.
RPM's and debs are widely available with most distributions.
SWIG -- Used to autogenerate perl wrappers.
available at www.swig.org need 1.1p5 or later ...
Normally, to build and install GnuCash, all you have to do is:
# ./configure
# make
# make install
To build French or German language versions, or to enable European date
handling, you will need to examine & modify the language setup in the
/include/messages.h file.
You can build Motif, Gnome, and Qt versions. Currently, the Motif version
is the most stable, bug-free, correct, and feature rich. The gtk/gnome
version compiles and is being actively developed, is not yet at the stability
level of the Motif version. The Qt version may not compile.
Depending on your make target, you'll produce:
gnucash.motif
gnucash.motif.static
gnucash.gnome
gnucash.gnome.static
gnucash.qt
The 'static' version statically link in the libraries that GnuCash uses.
For example, gnucash.motif.static is handy when compiling against a
commercial version of Motif, and distributing this version to the
general public.
Whichever one you produce last ends up the target of a local
gnucash.bin symlink, so that you can always run the local ./gnucash
script to see the last flavor that you built. The ./gnucash script
also handles making sure that you're using files from the source dir
rather than an install tree just like the old ./xacc script did.
You'll use "make install" when you want to do a normal FSSTND /usr/ or
/usr/local style install where everything scatters across the
filesystem in foo/gnucash/* directories. You'll use "make
install-opt" when you want an /opt/gnucash style install where
everything installs into /opt/gnucash/bin, /opt/gnucash/doc, share, etc
dirs.
So the two most likely sets of build instructions would be as follows:
For a full system install (gnucash is installed as part of the
system):
./configure --prefix=/usr --sysconfdir=/etc
make motif
make install
For an /opt style install
./configure --prefix=/usr/local/opt/gnucash
make motif
make install-opt
Examples of other funny configure options:
configure --with-motif=/usr/local/opt/mootif \
--prefix=/usr/local/opt/gnucash \
--with-xmhtml-includes=/home/rlb/XmHTML-1.1.5/include\
--with-xmhtml-libraries=/home/rlb/XmHTML-1.1.5/src
Flag --with-gtk-config. The way gtk phiolosphy goes,
you should *only* specify the config program location and
rely on it to tell you the right CFLAGS and XLIBS values.
Runtime and install destinations are separate. The --prefix
you specify to configure determines where the resulting binary
will look for things at runtime. The prefix you give to make
install (i.e. make prefix=foo install) only determines where the
files are placed. If this location is different from the
configure --prefix value, then gnucash won't work until it's moved
to that location. This feature is mostly useful for package
builders, but it shouldn't hurt anyone else.
Only the location of startup.scm is hardcoded into the
binary, and even that can be overridden with --startup-file on the
command line. The other defaults are now in startup.scm.
path-defaults.h is now gone. The startup file setting is in
gnucash.h, generated from gnucash.h.in.
Supported OS's:
---------------
GnuCash version 1.2.x is known to work in the following configs:
GNU/Linux -- Intel
FreeBSD -- Intel
OpenBSD -- Intel
Xacc-1.0.18, the predecessor to GnuCash, is known to work on these additional
platforms:
Slackware 3.4 -- Intel w/ Mootif (OSF Motif 2.0.1)
SGI IRIX -- MIPS
IBM AIX 4.1.5 -- RS/6000 http://www-frec.bull.com/
Unixware 7 -- Intel
SCO OpenServer 5.0.4 -- Intel
Solaris -- Sparc
See ftp://ftp.gnucash.org/pub/xacc (high-bandwidth)
or http://linas.org/linux/gnucash (slow-www )
for precompiled binaries for these platforms
Additional Download Sites:
--------------------------
Precompiled binaries & pre-requisite packages can be found at
IBM AIX 4.1.5
-- SMIT-installable images
http://www.bull.de/pub/
see also http://www-frec.bull.com/
SCO OpenServer 5.0.4
http://www.sco.com/skunkware/osr5/x11/apps/xacc/VOLS.tar
Unixware 7
-- use pkgadd to install
http://www.sco.com/skunkware/uw7/x11/apps/xacc/xacc.pkg.gz
SGI Irix
-- in SGI install format
-- warning, this is a very down-level version
http://linas.org/linux/xacc/xacc-1.0b7-sgi-irix.inst.tar
Getting Source with CVS
-----------------------
A read-only version of the cvs tree is available on the net.
To access it, first, login, as so:
cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot login
The password is "guest"
To get a copy of the source in the experimental development tree
do a
cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -rHEAD gnucash
To get a copy of the source in the gnucash-1.2 stable production
tree do a
cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -rxacc-12-patch gnucash
Developing GnuCash
------------------
Before you start developing GnuCash, you should do the following:
1. Read the file src/coding-style.txt to learn about the coding-styles
used in the GnuCash source code.
2. Several of the directories under src contain files called design.txt
which explain many aspects of GnuCash's design. Read those.
3. Go to the gnucash website and skim the archives of the gnucash
development mailing list.
4. Join the GnuCash development mailing list. See the gnucash website
for details on how to do this.
Submitting a Patch
------------------
Once you have done some work that you would like to submit, you need
to send a patch. There is a perl script called make-gnucash-patch
provided with the distribution that you can use to create the
patch. Here is how to use that perl script.
First, set up your development directories as follows:
< GnuCash home development directory >
|
|---- < directory containing original GnuCash sources >
|
|---- < directory containing your modified GnuCash sources >
A concrete example of those directories might be:
/home/me/gnucash
|
|---- /home/me/gnucash/gnucash.pristine (original sources)
|
|---- /home/me/gnucash/gnucash.mywork (original sources + my edits)
Copy the make-gnucash-patch script to the home development directory
(/home/me/gnucash above). Now edit three variables at the top of that
file to reflect the names of your directories. Given the names above,
you would use
my $old = 'gnucash.pristine';
my $new = 'gnucash.mywork';
my $gnc_home = '/home/me/gnucash';
Right before you make your patch, make sure *both* your working and
your pristine directories are in sync with cvs. Run 'cvs -z3 update -dP'
in both directories to ensure that is the case. Updating from cvs in
your working directory may cause conficts in a file. You must resolve
those conficts before making a patch.
Now run the script. Note that this script requires the programs
'makepatch', 'gzip', 'diff', and 'uuencode' (and, of course, 'perl')
to run.
When you run the script, three files will be generated:
gnc.diff - This file is an ascii text file containing the differences
between the original sources and your edits. At the bottom
of this file is a list of the files which were added,
changed, or deleted.
Please examine this file (especially the list at the bottom)
to make sure that all of your changes (and no other changes)
are present in the file.
Do not submit this file!
gnucash.diff.gz - This is a gzipped version of the above file.
Do not submit this file!
gnucash.diff.gz.uue - This is a uuencoded (ascii-encoded) version
of the above file.
This is the file you submit.
Send gnucash.diff.gz.uue to gnucash-patches@gnucash.org
Thanks in advance for your contribution!
Main Developers:
----------------
Robin Clark <rclark@hmc.edu> wrote the original X-Accountant in Motif
as a school project, taking it to version 0.9 by October 1997.
Linas Vepstas <linas@linas.org> liked what he saw: the GUI was slick,
the code was documented and well structured, and it was all GPL'ed.
And so he re-wrote it: adding cell-widgets to XbaeMatrix, so that
the combobox and arrows would make an even slicker GUI, rewrote the
X-Accountant internals to add double-entry, an account hierarchy,
split out a transaction mini-engine, add support for stocks, and spiff
up the help menus. This was version 1.0 as of January 1998. Since
then, for version 1.1, the engine was expanded & refined, and the
register window code completely redesigned and made mostly
Motif-(and GUI-)independent. Did some prototype OFX work.
Jeremy Collins <jcollins@gnucash.org> publicized the GnoMoney project
widely and broadly, and then changed its name to GnuCash. Jeremy
created the gnucash.org web site, registered the domain, got the
initial GTK/gnome code working.
Rob Browning <rlb@cs.utexas.edu> abused everyone for not using perl,
and then added guile/scheme support. Rob maintains the build
infrastructure, is handling the whole guile/perl extension language
thing, and is dealing with configuration & configurability.
Dirk Schoenberger <schoenberger@signsoft.com> is working on the Qt/KDE port
Fixes & Patches:
----------------
Andrew Arensburger <arensb@cfar.umd.edu> for FreeBSD & other patches
Matt Armstrong <matt_armstrong@bigfoot.com> for misc fixes
Fred Baube <fred@moremagic.com> for attempted Java port/MoneyDance
Dennis Bj<42>rklund <dennisb@cs.chalmers.se> Swedish translation
Per Bojsen <bojsen@worldnet.att.net> several core dump fixes
Christopher B. Browne <cbbrowne@hex.net> for perl and lots of scheme
Graham Chapman <grahamc@zeta.org.au> for the xacc-rpts addon package
George Chen <georgec@sco.com> for MS-Money QIF's & fixes
Albert Chin-A-Young <china@thewrittenword.com> configure.in patch
Jeremey Collins <jcollins@gnucash.org> for GnoMoney & GTK port
Patrick Condron <pcondon@rackspace.com> for webserver and T1 connection.
Ciaran Deignan <Ciaran.Deignan@bull.net> for AIX binary version
Tyson Dowd <tyson@tyse.net> for config/make patches & debian maint
Koen D'Hondt <ripley@xs4all.nl> for Solaris patches to XmHTML
Bob Drzyzgula <bob@mostly.com> for budgeting design notes
Paul Fenwick <pjf@schools.net.au> ASX support
Jan-Uwe Finck <ju_finck@mail.netwave.de> for German message translation
Ron Forrester <rjf@aracnet.com> for gnome patches
Dave Freese <DFreese@osc.uscg.mil> for leap-year fix
Bill Gribble <grib@billgribble.com> qif importation code
Otto Hammersmith <otto@bug.redhat.com> for RedHat RPM version
Alexandru Harsanyi <haral@codec.ro> for core dumps, lockups, gtk work
Jon K}re Hellan <jk@isdn-a33.itea.ntnu.no> misc core dump fixes
Prakash Kailasa <PrakashK@bigfoot.com> for gnome build fixes
Ben Kelly <ben.kelly@ieee.org> for motif menu bug fix, core dump fixes
Tom Kludy <tkludy@csd.sgi.com> for SGI Irix port
Sven Kuenzler <sk@xgm.de> for SuSE README file
Bryan Larsen <blarsen@ada-works.com> guile budget report
Graham Leggett <minfrin@sharp.fm> for fixing a hang
Ted Lemon <mellon@andare.fugue.com> for NetBSD port
Yannick Le Ny <y-le-ny@ifrance.com> pour la traduction en francais
Grant Likely <glikely@nortelnetworks.com> gnome and engine patches
Heath Martin <martinh@pegasus.cc.ucf.edu> gnome patches, major register work
Matt Martin <mgmartin@abacusnet.net> guile error handling code
Robert Graham Merkel <rgmerk@mira.net> reporting, gnome, and config patches
Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> port to alpha-dec-osf4.0f
G. Allen Morris III <gam3@ann.softgams.com> for QIF core dump
Peter Norton <spacey@inch.com> for a valiant attempt at a GTK port
OmNiBuS <webmaster@obsidian.uia.net> web site graphics & content
Myroslav Opyr <mopyr@IPM.Lviv.UA> for misc patches
Dave Peticolas <peticola@morpheus.cs.ucdavis.edu> extensive intelligent patches
Laurent P{'e}lecq <laurent.pelecq@wanadoo.fr> i18n patches with gettext
Alain Peyrat <Alain.Peyrat@nmu.alcatel.fr> for configure.in patches
Peter Pointner <peter@wuzel.m.isar.de> QIF import fixes, Qt patches
Gavin Porter <maufk@csv.warwick.ac.uk> for euro style dates
Ron Record <rr@sco.com> for SCO Unixware & OpenServer binaries
Jan Schrage <jan.schrage@urz.uni-heidelberg.de> documentation patches
Christopher Seawood <cls@seawood.org> for XbaeMatrix core dump
Mike Simons <msimons@fsimons01.erols.com> misc configure.in patches
Richard Skelton <rich@brake.demon.co.uk> for Solaris cleanup
Henning Spruth <spruth@bigfoot.com> for German text & euro date rework
Robby Stephenson <parys@freewwweb.com> register patch
Herbert Thoma <tma@iis.fhg.de> gnome register patch
Diane Trout <detrout@earthlink.net> scheme qif import patch
Rob Walker <rob@valinux.com> guile and register patches
David Woodhouse <dwmw2@infradead.org> Great Britain translations
Ken Yamaguchi <gooch@ic.EECS.Berkeley.EDU> QIF import fixes; MYM import
... and I am sure that I have missed many others ...

650
doc/README.francais Normal file
View File

@@ -0,0 +1,650 @@
-*-text-*-
************ VERSION DE DEVELOPPEMENT ******************
Les s<>ries de version 1.3.x de GnuCash sont des versions exp<78>rimentales de
d<EFBFBD>veloppement. Elles peuvent ou non fonctionner. Utilisez les <20> votre propre
risque.
La derni<6E>re stable, version de production <20>tait gnucash-1.2.5
La derni<6E>re stable, version de production sera gnucash-1.4.x
##############################################
GnuCash
-------
GnuCash est un gestionnaire de finances personnelles.Une interface
graphique d'enregistrement ressemblant au talon de votre ch<63>quier
vous permet d'entrer et suivre vos comptes bancaires,actions,
revenus et m<>me les march<63>s des changes. L'interface est con<6F>u pour
<EFBFBD>tre simple et facile <20> utiliser, mais elle est adoss<73>e/renforc<72>e <20>
des pricipes de comptabilit<69> de double entr<74>e/double livret pour
s'assurer que les livres dont <20>quilibr<62>s.
Quelques une de ces caract<63>ristiques sont:
- Une interface facile <20> utiliser. Si vous savez utilisez
le talon de votre ch<63>quier, vous savez utiliser GnuCash.
Tapez directement dans le registre,
d<>placer vous entre les champs, et utilisez quick-fill
(saisie rapide) pour compl<70>ter automatiquement la transaction.
- La fen<65>tre de rapprochement avec soldes actuels rapproch<63>s et
point<6E>s rend le rapprochement facile.
- Potefeuille d'actions/fonds communs (SICAV et FCP en france):
Suivi d'actions individuellement (une par compte) ou dans un
portefeuille de colmptes (un groupe de comptes qui peuvent
<20>tre affich<63> ensemble).
- Monnaies/devises multiples et March<63> des changes:
De multiple monnaies sont support<72>es et peuvent <20>tre achet<65>es
et vendus(faire du commerce avec elles). Les mouvements mon<6F>taires
entre comptes sont totallement <20>quilibr<62>s quand la double-entr<74>e
est activ<69>e.
(Quelques aspects du support de multiples monnaies ne sont pas
totallement impl<70>ment<6E>s.)
- Importation de fichiers Quicken: Importation de fichiers au format
QIF de Quicken.
Les fichiers QIF sont automatiquement fusionn<6E>s pour <20>liminer
les transactions dupliqu<71>es.
- Rapports: Affiche la feuille du solde/bilan, pertes et profits,
<20>valuation du portefeuille, ou les imprimer en HTML.
- Tableau de comptes: Un compte maitre/principal peut avoir une arborescence
de comptes d<>taill<6C>s en desssous de lui. Cel<65> permet des
types de comptes similaires (par exemple Liquidit<69>s, Banque, Actions)
d'<27>tre group<75>s dans compte maitre (par exemple Avoirs).
- Transactions r<>parties: Une simple transaction peut <20>tre r<>partie
en plusieurs morceaux pour enregistrer les imp<6D>ts, paiements, et
autres entr<74>es compos<6F>es.
- Double Entr<74>e/Double livret: Quand elle est active, chaque transaction
doit d<>biter un compte et cr<63>diter un autre d'un montant <20>quivalent.
Cel<65> permet de s'assurer que les "livres sont <20>quilibr<62>s": c'est la
diff<66>rence entre les revenus et les sorties qui est exactement <20>gale
<20> la somme de tous les avoirs, qu'ils soit bancaire, liquidit<69>s, actions
ou autre.
- Types de comptes Revenus/D<>penses (Cat<61>gories):
Ils ne servent pas uniquement <20> cat<61>goriser votre flux
de liquidit<69>s/argent, mais quand ils sont utilis<69>s avec la fonction de
la double-entr<74>e, ceux-ci peuvent fournir un <20>tat exact des pertes et
profits.
- Registre g<>n<EFBFBD>ral/grand livre: De multiples comptes peuvent <20>tre affich<63>s
dans une fen<65>tre registre/d'enregistrement au m<>me moment. Cel<65> peut
faciliter l'ennui de la recherche/v<>rification des erreurs de
frappe/d'entr<74>e.
Il fournit aussi une mani<6E>re agr<67>able de visualiser un porte-feuille de
beaucoup d'actions, en montrant toutes les transactions dans ce
portefeuille.
- Ecrit en C avec un support <20>tendu de scheme via Guile.
- Le support de Perl est disponible en option pour les scripts fonctionnant
via SWIG.
- L'acc<63>s au fichier est verrouill<6C> par un drapeau de s<>curit<69> r<>seau,
pr<70>venant des dommages accidentels si plusieurs utlsateurs esaie d'acc<63>der
au m<>me fichier, m<>me si le fichier est mont<6E> par NFS.
- Fournit un format de flux de donn<6E>es(byte-stream format), qui permet aux
comptes et groupes de comptes d'<27>tre transmit par d'autres processus
via pipes ou sockets.
- R<>cup<75>re les cours des actions et fonds communs (FCP et SICAV) depuis
diff<66>rents sites web, met <20> jour automatiquement le porte-feuille
(plus de fonds doivent <20>tre ajouter r<>eguli<6C>rement).
- Chargement de la date au format europ<6F>en, traductions fran<61>aise et
allemande.
Home Page:
----------
http://gnucash.org/ (version anglaise)
http://www.multimania.com/yleny/gnucash (version fran<61>aise)
Home page initiale de X-Accountant:
http://www.cs.hmc.edu/~rclark/xacc
Binaires pr<70>compil<69>s / ex<65>cutables:
http://www.gnucash.org/pub/gnucash/redhat-6.x/
Versions de d<>veloppement:
http://www.gnucash.org/source_code.php3
Mise en route:
--------------
Seulement la version Motif de GnuCash est actuellement stable.
La version Gnome est une version de d<>veloppement, mais elle sera bientot
assez stable pour une utilisation r<>guli<6C>re.
Le d<>veloppement de la version Motif a cess<73>.
La version qt/kde ne se compile pas, la plupart des fonctions sont manquantes.
Voyez ci-dessous pour les OS autres que le support de GNU/Linux/*BSD.
Les packages suivants sont requis d'<27>tre install<6C> pour faire fonctionner
gnucash
Pour les binaires/ex<65>cutables Motif:
guile -- Fournit l'infrastructure du langage d'extension principal.
Il est utilis<69> intensivement par gnucash pur l'initialisation et
le d<>marrage.
Requiert la version 1.3 ou ult<6C>rieure/plus r<>cente.
Le rpm guile-1.3-7 fonctionne.
Motif ou Lesstif --
Soit l'un ou l'autre du Motif commercial, ou le clone en logiciel
libre Lesstif est demand<6E>. Si vous utilisez une version commerciale
de Motif (largement disponible pour au moins 50 USD), soyez s<>r de
r<>cup<75>rer une version compatible avec votre version de glibc et
libXt.
Lesstif pour la plupart fontionne, mais il y a eu des probl<62>mes.
Voici notre exp<78>rience:
Lesstif 0.81 fonctionne
Lesstif 0.82 cass<73> (broken)
Lesstif 0.83 fonctionne ... but get fast blinking cursor ...
Lesstif 0.86.0 est rapport<72> comme fonctionnant
Lesstif 0.86.5 se crashe/ se plante.
Lesstif 0.86.9 fonctionne ... mais quelques menus viennent avec
2 pixels trop haut.(?)
Lesstif 0.87.0: cass<73> (broken) (manque les symboles pour
XmeDrawShadows, etc.)
Lesstif 0.88.1 fonctionne
Lesstif 0.89.0 fonctionne
XmHTML -- Fournit les possibilit<69>s d'affichage en HTML. Utilis<69> pour les
fen<65>tres d'aide.
Requiert une version 1.1.4 ou ult<6C>rieure
http://www.llp.fu-berlin.de/lsoft/F/5/XMHTML.html
http://www.xs4all.nl/~ripley/XmHTML/XmHTML.html
ftp://ftp.ultra.net/pub/eugene/RPMS/i386/XmHTML-1.1.5-1.i386.rpm
ftp://ftp.ultra.net/pub/eugene/SRPMS/XmHTML-1.1.5-1.src.rpm
Note: quelques versions pr<70>compil<69>es de XmHTML ont <20>t<EFBFBD> compil<69>es
avec Motif. Quand elles sont utilis<69>es avec la plupart des versions
pr<70>compil<69>es de Lesstif, vous aurez une erreur "undefined symbol
XmeDrawShadows".
Il y a plusieurs solutions; la plus simple est probablement de
t<>l<EFBFBD>charger le package des sources de XmHTML et de le compiler
vous-m<>me.
slib -- librairies scheme pour guile. A besoin de slib2c4 ou ult<6C>rieure.
libpng -- librairie PNG(portable network graphics). N'importe quelle version.
libjpeg -- librairie de chargement d'image JPEG. N'importe quelle version.
libz -- librairie de compression. N'importe quelle version.
xpm -- extension Pixmap pour X. N'importe quelle version.
Pour avoir la possibilit<69> d'utiliser certaines fonctionnalit<69>es de GnuCash,
tel que les rapports et les t<>l<EFBFBD>chargements de cours d'actions par le r<>seau,
vous devez avoir les packages suivant ci-dessous install<6C>s (en plus de ceux
list<EFBFBD>s ci-dessus).
Les RPM pour la plupart de ceux-ci peuvent <20>tre trouv<75>s <20>
http://rufus.w3.org/linux/
slib -- librairies scheme pour guile. A besoin de slib2c4 ou ult<6C>rieure.
perl -- A peu pr<70>s n'importe quelle version de perl5 devrait fonctionner.
J'utilise perl-5.004
eperl -- A peu pr<70>s n'importe quelle version de eperl devrait fonctionner.
J'utilise eperl-2.2.14
En plus, quelques modules perl ont besoin d'<27>tre install<6C>s:
perl-LWP/libwww-perl-5.36
perl-HTML/HTML-0.6
perl-HTML/HTML-Parser-2.20
-- ces modules perl sont utilis<69>s pour r<>cup<75>rer les cours des
actions et fonds communs <20> partir d'internet. Vous pouvez r<>cup<75>rer
ces RPMS <20>
ftp://ftp.gnucash.org/pub/gnucash/binaries/RPMS
http://rufus.w3.org/linux/RPM/PByName.html
http://linas.org/linux/gnucash (en dernier ressort)
ou les sources <20>
http://www.cpan.org/CPAN.html
Les packages suivant sont requis d'<27>tre install<6C>s pour faire
fonctionnerto le binaire Gnome de GnuCash:
gnome-libs -- la version 1.0.40 ou ult<6C>rieure devrait fonctionner.
Ces librairies requi<75>rent le support de nombreuses
librairies, tel que gtk and glib.
guile -- m<>me chose que Motif
slib -- The following packages are required to be installed to run the GnuCash
Gnome binary:
gnome-libs -- version 1.0.40 or higher should work. These libraries
require numerous other supporting libraries, such as
gtk and glib.
guile -- same as Motif
slib -- same as Motif
Invocation:
-----------
Vous pouvez d<>marrer GnuCash en ligne de commande, avec "gnucash" ou "gnucash
<nom du fichier>", o<> <nom du fichier> est un fichier de compte de GnuCash.
Des exemples de comptes peuvent <20>tre trouv<75> dans le sous-r<>pertoire "data".
les fichiers *.dat sont les comptes de GnuCash qui peuvent <20>tre ouvert avec
l'entr<74>e du menu "Ouvrir fichier". Les fichiers *.qif sont des fichiers
au format d'importation Quicken qui peuvent <20>tre ouvert avec l'entr<74>e du menu
"Importer QIF".
GnuCash r<>pond aux variables d'environnement suivantes:
GNC_RUN_AS_SHELL - si activ<69>, permet <20> GnuCash de s'ouvrir dans un shell
guile avec toutes les fonctions de gnucash charg<72>es. Depuis l<>, vous pouvez
r<>cup<75>rer comportement du d<>marrage normal comme ceci:
GNC_RUN_AS_SHELL=t ./gnucash
guile> (primitive-load (getenv "GNC_BOOTSTRAP_SCM"))
guile> (gnc:load "startup.scm")
guile> (gnc:main)
c'est la m<>me chose qui se passe si vous n'utilisez pas cette variable
d'environnement. Cel<65> peut <20>tre utile quand vous essayez d'<27>crire et tester
de nouveaux fichiers .scm.
GNC_BOOTSTRAP_SCM - l'emplacement du code scheme initial de bootstrapping.
GNC_SCM_LOAD_PATH - une contrainte pour le chemin de chargement de scheme
pour GnuCash.Il devrait <20>tre une chaine repr<70>sentant une liste scheme
appopri<72>e. Chaque <20>l<EFBFBD>ment peut soit <20>tre une chaine repr<70>sentant un
r<>pertoire, soit le symbole par d<>faut qui s'<27>tendra au chemin par d<>faut,
ou l'actuel qui s'<27>tendra au chemin de chargement par d<>faut au moment o<>
il rencontre le symbole.
GNC_DEBUG - active la sortie de d<>bogage. Cel<65> vous permet d'activer
le d<>bogage pr<70>c<EFBFBD>dent dans le processus de d<>marrage que vous pouvez faire
avec --debug.
Internationalisation (i18n):
----------------------------
Des catalogues de messages existent pour le fran<61>ais et l'allemand. Ceux-ci
sont activ<69>s avec les variables d'environnement. Par example,
En fran<61>ais, avec bash:
export LANG=fr_FR
export LC_ALL=fr_FR
export LINGUAS=fr_FR
En fran<61>ais, avec tcsh:
setenv LANG fr_FR
setenv LC_ALL fr_FR
setenv LINGUAS fr_FR
Pour la version allemande:
export LANG=de_DE
export LC_ALL=de_DE
export LINGUAS=de_DE
Les autres locales qui devrait pour la plupart fonctionner, mais sont
toujours en d<>veloppement:
en_US
en_GB
fr_CH
de_CH
Autres outils
-------------
Un outil pour g<>n<EFBFBD>rer des rapports (ascii) depuis les fichiers gnucash/xacc
peut <20>tre trouv<75> <20> http://www.zeta.org.au/~grahamc/xacc_rpts.html.
Un outil pour nettoyer et importer les fichiers Quicken peut <20>tre trouv<75>
(ins<6E>rer l'url ici).
Compilation et installation:
----------------------------
Ces <20>tapes ne s'applique pas aux distributions de binaires; uniquement aux
distributions de sources.
Avant de compiler GnuCash, vous devrez obtenir et installer les packages
suivants:
libtool -- Utiliser pour compiler nos versions internes de g-wrap qui charge
nos encapsuleurs C avec guile. Disponible <20> ftp://ftp.gnu.org/gnu.
Les RPMs et debs sont largement disponible avec la plupart des
distributions.
SWIG -- Utilis<69> pour autog<6F>n<EFBFBD>rer les encapsuleurs perl.
disponible <20> www.swig.org et n<>cessite 1.1p5 ou ult<6C>rieure ...
Normallement, pour compiler et installer GnuCash, tout le monde doit faire
cel<EFBFBD>:
# ./configure
# make
# make install
Pour compiler les versions en langue fran<61>aise ou allemande, ou pour activer
le chargement des dates au format europ<6F>en, vous aurez besoin d'examiner et
modifier la configuration du langage dans le fichier /include/messages.h .
(ndt: obsol<6F>te, gnucash utilise gettext maintenant, alors il faut utiliser
les fichiers *.po , le traduire et le compiler par msgfmt.
exemple: msgfmt fr.po --output=./gnucash.mo en ligne de commande
dans /gnucash/po pour le fichier pour la france et copier gnucash.mo sur une
redhat 6.1 GPL dans /usr/share/locale/fr/LC_MESSAGES et vous aurez vos menus
et messages en fran<61>ais.)
Vous pouvez compiler les versions Motif, Gnome, et Qt. Actuellement, la
version Motif est la plus stable, sans bug, correcte, et riche en
fonctionnalit<EFBFBD>. La version gtk/gnome se compile et est activement d<>velopp<70>e,
elle n'a pas encore le niveau de stabilit<69> de de la version Motif
(ndt: actuellement ce n'est plus le cas, elle marche bien).
La version Qt ne se compile pas.
Suivant la cible que vous produirez, vous produirez:
gnucash.motif
gnucash.motif.static
gnucash.gnome
gnucash.gnome.static
gnucash.qt
La version 'static' statiquement li<6C>e aux librairies que GnuCash utilise.
Par exemple, gnucash.motif.static est commode quand vous le compiler avec
une version commerciale de Motif, pour la distribution de cette vers le
grand public.
N'importe lequel de celui que vous produisez derni<6E>rement se termine
par la cible d'un lien syst<73>me vers le fichier gnucash.bin, ainsi que
vous pouvez toujours lancer le script local ./gnucash pour voir le dernier
"parfum"(flavor) que vous avez compiler. Le script ./gnucash script
aussi charge de fa<66>on s<>r ce que vous utiliser comme fichiers depuis
le r<>pertoire source plut<75>t qu'une arborescence d'installation comme
le vieux script ./xacc fait.
Vous utiliserez "make install" quand vous voulez faire un normal FSSTND
/usr/ ou une instalation du style /usr/local o<> toute dispersion au travers
du syst<73>me de fichiers dans les r<>pertoires foo/gnucash/*. Vous utiliserez
"make install-opt" quand vous voulez une installation du style /opt/gnucash
o<EFBFBD> toute installation dans les r<>pertoires /opt/gnucash/bin, /opt/gnucash/doc,
share, etc.
Ainsi les deux ensembles les plus probables d'instructions de compilation
devraient <20>tre comme les suivants:
Pour une installation syst<73>me totale (gnucash est install<6C> comme partie du
syst<73>me):
./configure --prefix=/usr --sysconfdir=/etc
make motif
make install
Pour une installation du style /opt
./configure --prefix=/usr/local/opt/gnucash
make motif
make install-opt
Examples d'autres options astucieuses de configure:
configure --with-motif=/usr/local/opt/mootif \
--prefix=/usr/local/opt/gnucash \
--with-xmhtml-includes=/home/rlb/XmHTML-1.1.5/include\
--with-xmhtml-libraries=/home/rlb/XmHTML-1.1.5/src
Drapeau --with-gtk-config. Le chemin de la philosophie gtk vient,
vous devrez *uniquement* sp<73>cifier l'endroit du programme de configuration
et compter sur lui pour vous dire les bonnes valeurs de CFLAGS et XLIBS.
Les destinations des compilations et d'installation sont s<>par<61>es.
Le --prefixe vous sp<73>cifie de configurer pour d<>eterminer o<> le
l'ex<65>cutable r<>sultant regardera pour les choses au moment de la compilation.
Le pr<70>fixe vous permet de faire l'installation (par exemple make prefix=foo
install) uniquement pour d<>terminer o<> les fichiers sont plac<61>s. Si l'endroit
est diff<66>rent de la valeur configur<75>e par --prefix, alors gnucash ne
fonctionnera pas jusqu'<27> qu'il soit d<>plac<61> <20> cette endroit. Cette fonction
est principalement utile pour les constructeurs de packages, mais il ne
devrait heurter personne sinon.
Uniquement l'endroit de startup.scm est cod<6F> en dur dans l'ex<65>cutable,
et m<>me qu'il peut <20>tre annul<75> avec --startup-file en ligne de commande.
Les autres par d<>faut sont maintenant dans startup.scm.
path-defaults.h est maintenant fini(gone). Le param<61>trage du fichier de
d<EFBFBD>marrage est dans gnucash.h, g<>n<EFBFBD>r<EFBFBD> <20> partir de gnucash.h.in.
Os support<72>s :
---------------
La version 1.2.X de GnuCash est connu pour fonctionner dans les configs
suivantes:
GNU/Linux -- Intel
FreeBSD -- Intel
OpenBSD -- Intel
Xacc-1.0.18, le pr<70>d<EFBFBD>cesseur de GnuCash, est connu pour fonctionner sur ces
plateformes additionnelles:
Slackware 3.4 -- Intel w/ Mootif (OSF Motif 2.0.1)
SGI IRIX -- MIPS
IBM AIX 4.1.5 -- RS/6000 http://www-frec.bull.com/
Unixware 7 -- Intel
SCO OpenServer 5.0.4 -- Intel
Solaris -- Sparc
regardez <20> ftp://ftp.gnucash.org/pub/xacc (grande-bande passante)
ou http://linas.org/linux/gnucash (slow-www )
pour les binaires pr<70>compil<69>s pour ces plateformes
Sites additionnels de t<>l<EFBFBD>chargement:
-------------------------------------
Les binaires pr<70>compil<69>s et les packages pr<70>-requis peuvent <20>tre trouv<75> <20>
IBM AIX 4.1.5
-- SMIT-installable images
http://www.bull.de/pub/
see also http://www-frec.bull.com/
SCO OpenServer 5.0.4
http://www.sco.com/skunkware/osr5/x11/apps/xacc/VOLS.tar
Unixware 7
-- use pkgadd to install
http://www.sco.com/skunkware/uw7/x11/apps/xacc/xacc.pkg.gz
SGI Irix
-- in SGI install format
-- warning, this is a very down-level version
http://linas.org/linux/xacc/xacc-1.0b7-sgi-irix.inst.tar
R<EFBFBD>cup<EFBFBD>rer les sources avec CVS
-------------------------------
Une version en lecture-seule de l'arborescence de cvs tree est disponible
sur le net.
Pour y acc<63>der, premi<6D>rement, loggger vous, comme ainsi:
cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot login
Le mot de passe (password)est "guest"
Pour r<>cup<75>rer une copie des sources dans l'arborescence de d<>velopppement
exp<EFBFBD>rimental faites un
cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -rHEAD gnucash
Pour r<>cup<75>rer une copie des sources de l'arborescence de la version de
production stable gnucash-1.2, faites un
cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -rxacc-12-patch gnucash
D<EFBFBD>veloppement de GnuCash
------------------------
Avant de d<>marrer <20> d<>velopper sur GnuCash, vous devriez faire les choses
suivantes:
1. lisez le fichier src/coding-style.txt pour apprendre <20> propos des styles
de codage utilis<69>s dans le code source de GnuCash.
2. Plusieurs des r<>pertoires sous src contiennent des fichiers appel<65>s
design.txt qui expliquent beaucoup des aspects de la conception de GnuCash.
Lisez les.
3. Allez sur le site web de gnucash et survoler les archives de la liste de
courriers de d<>veloppement de gnucash(development mailing list).
4. Rejoignez la liste de courriers de d<>veloppement de gnucash(development
mailing list).
Regardez le site web de gnucash pour des d<>tails sur comment faire cel<65>.
Soumettre un patch
------------------
D<EFBFBD>s que vous avez fait un certain travail que vous aimeriez soumettre, vous
avez besoin d'envoyer un patch. Il y a un script perl appel<65> make-gnucash-patch
fourni avec la distribution que vous pouvez utiliser pour cr<63>er le patch.
Ici, se trouve comment utiliser ce script perl.
Premi<EFBFBD>rement, configurer vos r<>pertoires de d<>veloppement comme ce qui suit:
< R<>pertoire de d<>veloppement maison (home) de GnuCash >
|
|---- < r<>pertoire contenant les sources originales de GnuCash >
|
|---- < r<>pertoire contenant vos sources modifi<66>es de GnuCash >
Un exemple concret de ces r<>pertoires devrait <20>tre:
/home/me/gnucash
|
|---- /home/me/gnucash/gnucash.pristine (sources originales)
|
|---- /home/me/gnucash/gnucash.mywork (sources originales + mes modifs)
Copier le script make-gnucash-patch vers le r<>pertoire de d<>veloppement maison
(/home/me/gnucash au-dessus). Maintenant afficher les trois variables en haut
de ce fichier pour refl<66>ter les noms de vos r<>pertoires. Les noms donn<6E>s
ci-dessous, vous devriez les utiliser
my $old = 'gnucash.pristine';
my $new = 'gnucash.mywork';
my $gnc_home = '/home/me/gnucash';
Maintenant lancer le script. Notez que le script requiert les programmes
'makepatch', 'gzip', 'diff', et 'uuencode' (et, bien s<>r , 'perl')
pour fonctionner.
Quand vous lancez le script, trois fichiers seront g<>n<EFBFBD>r<EFBFBD>s:
gnc.diff - Ce fichier est un fichier texte ascii contenant les diff<66>rences
entre les sources originales et vos modifications. En bas de ce
fichier se trouve une liste de fichiers qui sont ajout<75>s,
chang<6E>s, ou supprim<69>s.
S'il vous plait examinez ce fichier (sp<73>ciallement la liste en bas)
pour <20>tre s<>r que tous vos changements (et pas d'autres changements)
sont pr<70>sent dans le fichier.
Ne pas soumettre ce fichier!
gnucash.diff.gz - C'est une version gzipp<70> du fichier au-dessus.
Ne pas soumettre ce fichier!
gnucash.diff.gz.uue - C'est une version uuencod<6F>e (ascii-encod<6F>)
du fichier au-dessus.
C'est le fichier <20> soumettre.
Envoyez gnucash.diff.gz.uue <20> gnucash-patches@gnucash.org
Merci par avance pour votre contribution!
D<EFBFBD>veloppeurs principaux:
------------------------
Robin Clark <rclark@hmc.edu> a <20>crit le X-Accountant original en Motif
comme projet scolaire, l'amena jusqu'<27> la version 0.9 en Octobre 1997.
Linas Vepstas <linas@linas.org> ce qu'il vu: l'interface graphique <20>tait
excellente,le code <20>tait document<6E> et bien structur<75>, et il <20>tait tout
sous GPL.Et ainsi il le r<>-<2D>crit: ajoutant les widgets de cellules avec
XbaeMatrix, ainsi que les boites de dialogues et fl<66>ches devraient faire
un m<>me astucieux GUI, r<>-<2D>crit le code interne de X-Accountant pour
ajouter la double-entr<74>e, une arborescence de compte, r<>parti un
mini-moteur de transactions, ajouta le support pour les actions, et
am<61>liora les menus d'aide.C'<27>tait la version 1.0 de Janvier 1998.
Depuis lors, pour la version 1.1, le moteur f<>t <20>tendu et red<65>fini,
et le code de la fen<65>tre du registre compl<70>tement recon<6F>u et rendu
le plus possible ind<6E>pendant de Motif-(et du GUI-).
Fit fonctionner un prototype pour OFX.
Jeremy Collins <jcollins@gnucash.org> fit la publicit<69> pour le projet
GnoMoney largement, et alors changea son nom en GnuCash. Jeremy
cr<63>a le site web gnucash.org , enregistra le domaine, fit fonctionner
le code initial en GTK/gnome.
Rob Browning <rlb@cs.utexas.edu> abusa tout le monde en n'utilisant pas le perl,
et alors ajouta le support guile/scheme. Rob maintient l'infrastructure de
compilation, est charg<72> de l'ensemble des choses concernant le langage
d'extension guile/perl, et il traite de la configuration et configurabilit<69>.
Dirk Schoenberger <schoenberger@signsoft.com> travaille sur le port en Qt/KDE
Yannick Le Ny <y-le-ny@ifrance.com> Localisation (traduction et adaptation)de
Gnucash depuis son pr<70>d<EFBFBD>cesseur X-accountant pour la France et les pays
francophones.
Travail effectu<74> :traduction du Readme, des menus et messages et de
l'aide en ligne de Gnucash en fran<61>ais.
Traduction de tout le site web de Gnucash en fran<61>ais sauf la liste de
courriers et maintient de ce site <20> jour.
Corrections et Patches:
-----------------------
Andrew Arensburger <arensb@cfar.umd.edu> for FreeBSD & other patches
Matt Armstrong <matt_armstrong@bigfoot.com> for misc fixes
Fred Baube <fred@moremagic.com> for attempted Java port/MoneyDance
Per Bojsen <bojsen@worldnet.att.net> several core dump fixes
Christopher B. Browne <cbbrowne@hex.net> for perl, scheme scripts
Graham Chapman <grahamc@zeta.org.au> for the xacc-rpts addon package
George Chen <georgec@sco.com> for MS-Money QIF's & fixes
Albert Chin-A-Young <china@thewrittenword.com> configure.in patch
Jeremey Collins <jcollins@gnucash.org> for GnoMoney & GTK port
Patrick Condron <pcondon@rackspace.com> for webserver and T1 connection.
Ciaran Deignan <Ciaran.Deignan@bull.net> for AIX binary version
Tyson Dowd <tyson@tyse.net> for config/make patches & debian maint.
Koen D'Hondt <ripley@xs4all.nl> for Solaris patches to XmHTML
Bob Drzyzgula <bob@mostly.com> for budgeting design notes
Jan-Uwe Finck <ju_finck@mail.netwave.de> for German message translation
Ron Forrester <rjf@aracnet.com> for gnome patches
Dave Freese <DFreese@osc.uscg.mil> for leap-year fix
Otto Hammersmith <otto@bug.redhat.com> for RedHat RPM version
Alexandru Harsanyi <haral@codec.ro> for core dumps, lockups, gtk work.
Jon K}re Hellan <jk@isdn-a33.itea.ntnu.no> misc core dump fixes
Prakash Kailasa <PrakashK@bigfoot.com> for gnome build fixes
Ben Kelly <ben.kelly@ieee.org> for motif menu bug fix, core dump fixes
Tom Kludy <tkludy@csd.sgi.com> for SGI Irix port
Sven Kuenzler <sk@xgm.de> for SuSE README file
Graham Leggett <minfrin@sharp.fm> for fixing a hang
Ted Lemon <mellon@andare.fugue.com> for NetBSD port
Yannick Le Ny <y-le-ny@ifrance.com> pour la traduction en francais
Grant Likely <glikely@nortelnetworks.com> gnome and engine patches
Heath Martin <martinh@pegasus.cc.ucf.edu> gnome and register patches
Matt Martin <mgmartin@abacusnet.net> guile error handling code
Robert Graham Merkel <rgmerk@mira.net> reporting, gnome, and config patches.
Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> port to alpha-dec-osf4.0f
G. Allen Morris III <gam3@ann.softgams.com> for QIF core dump
Peter Norton <spacey@inch.com> for a valiant attempt at a GTK port
OmNiBuS <webmaster@obsidian.uia.net> web site graphics & content
Myroslav Opyr <mopyr@IPM.Lviv.UA> for misc patches
Dave Peticolas <peticola@morpheus.cs.ucdavis.edu> extensive intelligent patches
Laurent P{'e}lecq <laurent.pelecq@wanadoo.fr> i18n patches with gettext
Alain Peyrat <Alain.Peyrat@nmu.alcatel.fr> for configure.in patches
Peter Pointner <peter@wuzel.m.isar.de> QIF import fixes, Qt patches
Gavin Porter <maufk@csv.warwick.ac.uk> for euro style dates
Ron Record <rr@sco.com> for SCO Unixware & OpenServer binaries
Jan Schrage <jan.schrage@urz.uni-heidelberg.de> documentation patches
Christopher Seawood <cls@seawood.org> for XbaeMatrix core dump
Mike Simons <msimons@fsimons01.erols.com> misc configure.in patches
Richard Skelton <rich@brake.demon.co.uk> for Solaris cleanup
Henning Spruth <spruth@bigfoot.com> for German text & euro date rework
Diane Trout <detrout@earthlink.net> scheme qif import patch
Rob Walker <rob@valinux.com> guile and register patches
Ken Yamaguchi <gooch@ic.EECS.Berkeley.EDU> QIF import fixes; MYM import
... et je suis s<>r que j'ai oubli<6C> beaucoup d'autres ...

638
doc/README.german Normal file
View File

@@ -0,0 +1,638 @@
************ Unstabile Version ******************
Alle Versionen der 1.3.x Serie von GnuCash sind experimentelle
Entwicklungsversionen. Sie koennen normal funktionieren, muessen aber
nicht. Benutzung auf eigene Gefahr !
Die letzte stabile Version war gnucash-1.2.5.
Die naechste stabile Version wird gnucash-1.4.x sein.
##############################################
GnuCash
-------
GnuCash ist ein Programm zur Verwaltung pers<72>nlicher Finanzen.
Eine Scheck-Buch aehnliche Oberflaeche erlaubt die Eingabe und
das Verfolgen von Bankkonten, Aktien und sogar Waehrungshandel.
Die Oberflaeche ist einfach und leicht zu bedienen, aber wird
von einem Doppel-Buchungs Prinzip unterstuetzt, um
ausgeglichene Konten zu ermoeglichen.
Funktionen von GnuCash sind :
- F<>r jedes Konto wird sowohl der aktuelle Stand als
auch der Stand nicht best<73>tigter Buchungen gehalten.
- Ein einfaches Benutzerinterface: wer einen Kontoauszug
versteht, kann GnuCash verwenden.
- QuickFill: wenn ein Beschreibungstext f<>r eine Buchung
mit einem vorangehenden Text identisch ist, kann er
mit <TAB> automatisch komplettiert werden (z.B. f<>r
regelm<6C><6D>ige Buchungen wie das Gehalt).
- Handhabung von Aktien- und Fondsportfolios: der
aktuelle Stand kann einzeln (eine Aktie = ein Konto)
oder als Portfolio (alle Aktien = ein Konto)
verwaltet werden.
- Verschiedene Waehrungen und Devisenhandel :
Mehrere Waehrungen werden unterstuetzt und koennen
ge- und verkauft werden. Waehrungsbewegungen auf
den Konten werden ausgeglichen.(Einige Teile von
Devisenhandel sind aber noch nicht vollstaendig
implementiert)
- Import von Dateien im Quicken Interchange Format
(QIF).
- Berichte : Anzeigen von Gewinn&Verlust oder Portfolios
, auch in HTML
- Hierarchie von Konten : Ein Haupt-Konto kann eine Hierarchie
von Unter-Konten haben. Das macht es moeglich, aehnliche
Konten (Bargeld,Spar-,Aktien-Konten)in einem Hauptkonto
zusammenzufassen.
- Split-Buchungen : Eine einzelne Buchung kann in mehrere Teile
zerlegt werden, wie z.B. Steuern, Gebuehren, usw.
- Doppelte Eintraege : Wenn aktiviert, muss jede Transaktion
ein Konto be- und ein anderes um den gleichen Betrag entlasten.
- Eingaben- / Ausgaben- Konten-Typen : Zusammen mit dem Doppel-
Eintrag genutzt , fuehren sie zu sauberen Gewinn- & Verlust-
Rechnungen, aber natuerlich dienen sie auch der einfachen
Kategorisierung ihrer Einnahmen und Ausgaben.
- Hauptbuch : Mehrere Konten koennen in einem Register darge-
stellt werden um Tipp- oder Eingabefehler zu finden.Genauso
koennen Portfolios aus mehreren Aktien betrachtet werden, indem
man alle Transaktionen in diesem Portfolio anzeigt.
- Geschrieben in "C" mit eingebetteter Unterstuetzung von Scheme
durch "guile".
- "Perl"-Unterstuetzung ist optinal moeglich fuer Skripting via SWIG.
- Der Datei-Zugriff ist Netzwerk-sicher, das Beschaedigen von Dateien
durch Zugriff mehrerer User auch ueber ein Netzwerk wird verhindert,
auch bei Zugriff ueber NFS.
- Bietet ein Byte-Stream-Format, das den Transport von Konten
und -gruppen an andere Prozesse via Sockets oder Pipes erlaubt.
- Erlaubt das Aktualisieren von Aktien- und Fonds-Kursen ueber das
Internet, auch automatisch.
- Europaesiches Datum moeglich (xx.xx.xx), deutsche und franzoesische
Versionen moeglich.
Home Page:
----------
http://gnucash.org
Original X-Accountant Homepage:
http://www.cs.hmc.edu/~rclark/xacc
Fertig ausfuehrbare Dateien:
http://www.gnucash.org/pub/gnucash/redhat-6.x/1.2.5/
Entwicklungs Versionen:
http://www.gnucash.org/source_code.php3
Ausf<EFBFBD>hren von GnuCash:
----------------------
Die Motif-Version von GnuCash ist die letzte stabile Version, wird zur Zeit
aber nicht mehr aktiv weitentwickelt.
Die Gnome Version dagegen schon ;-) Allerdings ist sie noch nicht so stabil, wie es
wuenschenswert waere.
Die qt-Version kann zur Zeit nicht uebersetzt werden, die meisten
Funktionen fehlen. Weiter unten sind Hinweise fuer andere Betriebssysteme
als Linux/*BSD .
Die folgenden Pakete muessen installiert sein, um die Motif-Version starten
zu koennen :
guile -- Ist die Haupterweiterungs- und Skriptsprache.
Wird extensiv bei Initialisierung und Start benutzt.
Version 1.3 oder hoeher wird benoetigt. Guile-1.3-7.rpm
funktioniert.
Motif oder Lesstif --
Entweder ein kommerzielles Motif oder die freie Software-Variante
Lesstif. Bei Benutzung der kommerziellen Variante achten sie darauf,
eine Version zu bekommen, die mit ihrer glibc und libXt-Version
kompatibel ist.
Lesstif arbeitet meist, aber eben nicht immer. Hier unsere Erfahrungen :
Lesstif 0.81 funktioniert
Lesstif 0.82 funktioniert nicht
Lesstif 0.83 funktioniert ... aber produziert einen schnell blinkenden
Cursor ...
Lesstif 0.86.0 soll angeblich funktionieren..
Lesstif 0.86.5 funktioniert nicht -> Crash.
Lesstif 0.86.9 funktioniert... aber einige Menues werden nur 2 Pixel hoch.
Lesstif 0.87.0: f. nicht. (missing symbols for XmeDrawShadows, etc.)
Lesstif 0.88.1 funktioniert
Lesstif 0.89.0 funktioniert
XmHTML -- Stellt HTML-Anzeigefaehigkeit bereit.
Wird fuer Hilfe-Funktionen und Berihte gebraucht.
Version 1.1.4 oder hoeher.
http://www.llp.fu-berlin.de/lsoft/F/5/XMHTML.html
http://www.xs4all.nl/~ripley/XmHTML/XmHTML.html
ftp://ftp.ultra.net/pub/eugene/RPMS/i386/XmHTML-1.1.5-1.i386.rpm
ftp://ftp.ultra.net/pub/eugene/SRPMS/XmHTML-1.1.5-1.src.rpm
Hinweis: Einige Versionen wurden mit Motif kompiliert. Wenn sie
mit Lesstif benutzt werden, kann es zu einem
"undefined symbol XmeDrawShadows" Fehler kommen. Es gibt mehrere
Loesungen, die einfachste ist, den XmHTML-Quellcode selber zu
kompilieren.
slib -- scheme Bibliotheken fuer guile. Version slib2c4 oder hoeher.
libpng -- portable network graphics Bibliothek. Alle Versionen.
libjpeg -- JPEG image handling Bibliothek. Alle Versionen.
libz -- Pack-Bibliothek. Alle Versionen.
xpm -- X Pixmap Erweiterung. Alle Versionen.
Um einige der Funktionen wie Berichte und Herunterladen von Aktienkursen
nutzen zu koennen, muessen die folgenden Pakete installiert sein :
(Natuerlich zusaetzlich zu den Paketen, die benoetigt werden ,um GnuCash
kompilieren/uebersetzen zu koennen)
Hinweise zu "Uebersetzen und Installieren" weiter unten !
RPM's sind teilweise hier erhaeltlich :
http://rufus.w3.org/linux/
slib -- scheme Bibliotheken fuer guile. Version slib2c4 oder hoeher .
perl -- Fast jede Version von perl5 sollte funktionieren. Ich habe perl-5.004
eperl -- Fast jede Version von eperl sollte funktionieren. Ich habe eperl-2.2.14
Zusaetzlich werden zum Installieren einige Perl-Module benoetigt :
perl-LWP/libwww-perl-5.36
perl-HTML/HTML-0.6
perl-HTML/HTML-Parser-2.20
-- Diese Perl Module werden benutzt um Aktien- und Fondskurse aus dem
Internet zu laden.
RPMS bei :
ftp://ftp.gnucash.org/pub/gnucash/binaries/RPMS
http://rufus.w3.org/linux/RPM/PByName.html
http://linas.org/linux/xacc (last resort)
oder Quelldateien bei :
http://www.cpan.org/CPAN.html
Folgende Pakete muessen installiert sein, um GnuCash Gnome Version
zu starten:
gnome-libs -- Version 1.0.40 oder hoeher. Diese Bibliotheken brauchen
viele andere Bibliotheken zur Unterstuetzung, z.B.:
gtk und glib.
guile -- wie bei Motif
slib -- wie bei Motif
Starten von GnuCash:
--------------------
GnuCash kann von der Kommandozeile aus gestartet werden, und zwar einfach
mit "gnucash" oder mit "gnucash <filename>", wobei filename der Name eines
gespeicherten Gnucash-Daten-Files sein muss.
*.dat-Dateien koennen mit "Datei oeffnen" eingelesen werden.
*.qif-Dateien muessen mit "QIF-Datei importieren" eingelesen werden.
GnuCash reagiert auf folgende Umgebungs-Variablen :
GNC_RUN_AS_SHELL - GnuCash startet in eine guile-shell, alle
gnuCash-Funktionen sind geladen. Von hier koennen sie normal
starten :
GNC_RUN_AS_SHELL=t ./gnucash
guile> (primitive-load (getenv "GNC_BOOTSTRAP_SCM"))
guile> (gnc:load "startup.scm")
guile> (gnc:main)
Das ist das selbe, als ob man keine Umgebungs-Variablen benutzt.
Nuetzlich, wenn man neue .scm-Dateien schreibt und testet.
GNC_BOOTSTRAP_SCM - Der Ort der beim Start benutzten Scheme Algorithmen.
GNC_SCM_LOAD_PATH - Enthaelt den Pfad zu Scheme und ueberstimmt den
Standard-Pfad. Sollte eine saubere Scheme Zeichenkette sein. Jedes Element
kann eine Zeichenkette sein, die ein Verzeichnis repraesentiert,
das Symbol 'standard , das zum vollen Pfad wird, oder 'current.
GNC_DEBUG - Debugging einschalten. Dadurch wird das Debugging eher gestartet,
als beim normalen Start-Prozess
Internationalization:
---------------------
Es gibt Ausgabe-Files fuer Franzoesisch und Deutsch.
Diese werden ueber Umgebungsvariablen aktiviert.
Z.B.:
Francais, en bash:
export LANG=fr_FR
export LC_ALL=fr_FR
export LINGUAS=fr_FR
Francais, en tcsh:
setenv LANG fr_FR
setenv LC_ALL fr_FR
setenv LINGUAS fr_FR
Deutsche Version:
export LANG=de_DE
export LC_ALL=de_DE
export LINGUAS=de_DE
Weitere Moeglichekiten, die eigentlich funktionieren,
obwohl noch dran gearbeitet wird :
en_US
en_GB
fr_CH
de_CH
Weitere Werkzeuge :
-------------------
Ein Tool, um Ascii-Berichte aus gnucash/xacc Dateien zu extrahieren
kann man hier herunterladen :
http://www.zeta.org.au/~grahamc/xacc_rpts.html.
Ein Tool um Quicken Dateien aufzuraeumen und zu importieren :
(noch nicht da..).
<EFBFBD>bersetzung und Installation
----------------------------
Diese Schritte sind nur f<>r die Sourcedistribution erforderlich, nicht
f<EFBFBD>r die Bin<69>rdistribution.
Nur beim Uebersetzen von GnuCash braucht man zusaetzlich die folgenden
Pakete:
libtool -- Um unsere interne Version von g-wrap zu uebersetzen, die
unsere guile-C 'wrappers' enthaelt.
Erhaeltlich bei ftp://ftp.gnu.org/gnu.
RPM's und deb's sind in ihrer Betriebssystem-Distribution.
SWIG -- Um perl 'wrapper' automatisch zu generieren.
Erhaeltlich bei : www.swig.org. Version 1.1p5 oder hoeher
Normalerweise wird GnuCash wie folgt <20>bersetzt und installiert:
# ./configure
# make
# make install
Um deutsche oder franzoesische Versionen zu uebersetzen, muss die
Umgebungsvariable entsprechend gesetzt sein.
Es koennen Motif, Gnome, oder Qt Versionen erzeugt werden. Zur Zeit ist die
Motif Version die stabilste, fehleraermste, korrekteste.
Die gtk/gnome-Version kann uebersetzt werden, und wird aktiv weiterentwickelt, sie
reicht aber noch nicht an die Stabilitaet der Motif-Version heran. Sie hat
aber bedeutend mehr Features.
Die Qt Version ist vermutlich nicht uebersetzbar.
Je nach make target, kommt danach folgendes heraus :
gnucash.motif
gnucash.motif.static
gnucash.gnome
gnucash.gnome.static
gnucash.qt
Die 'static' Version linkt die benoetigten Bibliotheken statisch.
gnucash.motif.static ist zum Beispiel praktisch, wenn man gegen
eine kommerzielle Version von Motif uebersetzt und diese Version
der Allgemeinheit zur Verfuegung stellt.
Welche Version erzeugt wird, haengt letzlich vom lokalen
gnucash.bin-Link ab, so dass man mit Hilfe des lokalen .gnucash -Skripts
immer pruefen kann, welche Version zuletzt erzeugt wurde.
Dieser Link stellt auch sicher, dass die Files aus dem Source-Verzeichnis
genutzt werdden.
The ./gnucash script
also handles making sure that you're using files from the source dir
rather than an install tree just like the old ./xacc script did.
"make install" fuehrt zu einer normalen FSSTND /usr/ oder /usr/local/
Installation bei der alles andere sich in /foo/gnucash/*-Verzeichnissen
verteilt. Alternativ koennen sie "make install-opt" nehmen, bei dem alles
in /opt/gnucash/bin, /opt/gnucash/doc ,usw. landet.
Die meistgebraeuchlichen Versionen waeren also :
Fuer eine normale System-Installation:
./configure --prefix=/usr --sysconfdir=/etc
make motif
make install
Fuer eine /opt Installation :
./configure --prefix=/usr/local/opt/gnucash
make motif
make install-opt
Beispiele einiger weiterer Konfigurations-Optionen:
configure --with-motif=/usr/local/opt/mootif \
--prefix=/usr/local/opt/gnucash \
--with-xmhtml-includes=/home/rlb/XmHTML-1.1.5/include\
--with-xmhtml-libraries=/home/rlb/XmHTML-1.1.5/src
Flag --with-gtk-config : Wegen der GTK-Philosophie am besten *nur*
den Ort des Config-Programms angeben, und es dem Programm ueberlassen,
die richtigen CFLAG und XLIBS-Werte auszugeben.
Runtime und Installations-Orte sind verschieden . Der --prefix
, den sie angeben legt fest, wo das lauffaehige Programm waehrend
der Laufzeit nach anderen Dingen sucht. Der prefix, den sie bei
make install angeben(z.B. make prefix=foo install) legt nur fest
wo die Dateien angelegt werden.Wenn das vom Konfigurations --prefix
abweicht, wird GnuCash nicht funktionieren, bis es zu diesem
Verzeichnis verschoben wurde. Dieses Features ist fuer Leute von
Bedeutung , die daraus gleich fertige RPM's oder .deb-Pakete daraus
bauen wollen.
Nur der Ort von startup.scm ist fest in der ausfuehrbaren Datei drin,
und sogar das kann mit --startup-file in der Kommandozeile uebergangen
werden.Die anderen Einstellungen sind jetzt in startup.scm, path-defaults.h
gibt es nicht mehr. Das startup-file-Setting ist in gnucash.h, generiert
von gnucash.h.in .
Quick translation table for financial terms:
English German
account Konto
reconcile an account Konto ausgleichen
stock Aktien
mutual funds Aktienfonds
assets Haben/Aktiva
debits Verbindlichkeiten/Soll/Passiva
double entry doppelte Buchf<68>hrung
general ledger Hauptbuch
Unterstuetzte Betriebssysteme :
-------------------------------
GnuCash Version 1.3.x arbeitet unter folgenden Systemen :
GNU/Linux -- Intel
FreeBSD -- Intel
OpenBSD -- Intel
Xacc-1.0.18, der Vorgaenger arbeitet mit diesen Systemen :
Slackware 3.4 -- Intel w/ Mootif (OSF Motif 2.0.1)
SGI IRIX -- MIPS
IBM AIX 4.1.5 -- RS/6000 http://www-frec.bull.com/
Unixware 7 -- Intel
SCO OpenServer 5.0.4 -- Intel
Solaris -- Sparc
Siehe ftp://ftp.gnucash.org/pub/xacc (high-bandwidth)
oder http://linas.org/linux/gnucash (slow-www )
fuer fertig kompilierte Versionen.
Weitere Download Sites:
-----------------------
Fertige Versionen und Packete unter :
IBM AIX 4.1.5
-- SMIT-installable images
http://www.bull.de/pub/
see also http://www-frec.bull.com/
SCO OpenServer 5.0.4
http://www.sco.com/skunkware/osr5/x11/apps/xacc/VOLS.tar
Unixware 7
-- nehmen sie pkgadd zum Installieren
http://www.sco.com/skunkware/uw7/x11/apps/xacc/xacc.pkg.gz
SGI Irix
-- im SGI install format
-- Warnung, dies ist eine down-level Version !
http://linas.org/linux/xacc/xacc-1.0b7-sgi-irix.inst.tar
Quellcode mit CVS:
------------------
Eine read-only (Nur-Lese) Version des CVS-Baums ist hier erhaeltlich :
Fuer den Zugriff erst wie folgt einloggen :
cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot login
Das Passwort ist "guest"
Um eine Kopie des Quellcodes aus dem gnucash-1.2 stable production
Baum zu bekommen (stabile Version):
cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -P -rxacc-12-patch gnucash
Um eine Kopie des Quellcodes aus dem experimentellen Entwickler-Baum
zu bekommen (unstabile Version):
cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -P -rHEAD gnucash
An GnuCash mitentwickeln :
--------------------------
Bevor Sie an GnuCash mitentickeln , sollten sie folgendes tun:
1. Lesen von : src/coding-style.txt ,um die Richtlinien kennzulernen.
2. Viele der Verzeichnisse unter 'src' enthalten desing.txt-Dateien,
die viele Aspekte des GnuCash-Designs erklaeren. Auch lesen.
3. Die Gnucash development mailing Liste ueberfliegen, das Archiv ist
auf der GnuCash-Website.
4. Abonnieren der GnuCash development mailing Liste. Details dazu auf
der Website.
Einen Patch einsenden
---------------------
Wenn sie etwas Arebit geleistet haben, wollen sie ihr Ergebnis
anderen zur Verfuegung stellen. Dazu senden sie einen Patch ein.
Es gibt ein Perl-Skript in Gnucash, das diesen Patch fuer sie
erzeugen kann.
'make-gnucash-patch' wird so benutzt:
Als erstes die Entwicklungsverzeichnisse wie folgt aufsetzen :
< GnuCash home development directory >
|
|---- < directory containing original GnuCash sources >
|
|---- < directory containing your modified GnuCash sources >
Ein konkrete Beispiel koennte wie folgt aussehen :
/home/me/gnucash
|
|---- /home/me/gnucash/gnucash.pristine (original sources)
|
|---- /home/me/gnucash/gnucash.mywork (original sources + my edits)
Kopieren des 'make-gnucash-patch'-Skripts in das Haupt-Entwicklungsverzeichnis.
Danach die folgenden Variablen veraendern, damit diese die Namen ihrer
Verzeichnisse enthalten :(am obigen Beispiel orientiert)
my $old = 'gnucash.pristine';
my $new = 'gnucash.mywork';
my $gnc_home = '/home/me/gnucash';
Jetzt das Skript in Gang setzen. Hinweis: Das Skript benoetigt die
Programme 'makepatch', 'gzip', 'diff', und 'uuencode'
(und natuerlich 'perl') um zu funktionieren.
Drei Dateien werden erzeugt, wenn man das Skript laufen laesst :
gnc.diff - Eine Ascii Text-DAtei, die die Unterschiede zwischen
den Original Sourcen und den von ihnen bearbeiteten enthaelt.
Am Schluss ist eine Liste, die die Files enthaelt, die
hinzugefuegt, veraendert oder geloescht wurden.
Bitte untersuchen sie dieses File !(insbesondere die Liste
am Schluss) um sicherzustellen, dass alle Aenderungen in der
Datei vorhanden sind.
Diese Datei nicht einschicken !
gnucash.diff.gz - Die gzipp'te Version der obigen Datei.
Nicht einschicken!
gnucash.diff.gz.uue - Die uuencoded (ascii-encoded) Version
der obigen Datei.
Dies ist die Datei, die eingeschickt werden muss.
gnucash.diff.gz.uue an gnucash-patches@gnucash.org per E-Mail schicken.
Wie sonst.. :-)
Vielen Dank schon mal im Vorraus !
Haupt-Entwickler:
-----------------
Robin Clark <rclark@hmc.edu> fuer das urspruengliche X-Accountant in
Motif , das als Schul-Pojekt begann, bis hin zur Version 0.9 im
Oktober 1997.
Linas Vepstas <linas@lins.org> gefiel , was er sah : Die grafische Ober-
flaeche (GUI) was schlank, der Quellcode war dokumentiert und gut
strukturiert, alles stand unter der GnuPublicLicense. Und so erweiterte er
alles und fuehrte es fort : hinzufuegen von Zellen zu XbaeMatrix, so dass die
Combobox und die Pfeile eine noch schlankere GUI daraus machten, schrieb die
X-Accountant-"Innereien" neu, so dass Doppel-Eintraege, eine Konten-Hierarchie,
eine Mini-Transaktions-Maschine und Unterstuetzung fuer Aktien hinzukam,
desweiteren brachte er die Help-Files auf Vordermann.
Soweit zur Version 1.0 im Januar 1998.
Seitdem wurden fuer die Version 1.1 die Maschine erweitert und verfeinert,
das Register-Fenster neu designed, und groesstenteils Motif- (und GUI-)
unabhanegig gemacht. Er hat auch OFX-Prototypen-Arbeit gemacht.
Jeremy Collins <jcollins@gnucash.org> hat das GnoMoney-Prjekt
weit und breit publiziert, und dann den Namen zu GnuCash geaendert.
Jeremy hat die gnucash.org-Webseite kreiert, die Domain registriert,
und den ersten GTK/Gnome-Code zum Laufen gebracht.
Rob Browning <rlb@cs.utexas.edu> hat jeden beschimpft, wenn er nicht
Perl benutzt hat, und dann doch guile/scheme -Unterstuetzung implementiert.
Rob wartet die Uebersetzungs-Bereiche, und keummert sich um die ganze
guile/perl -Erweiterungssprachen-Sache, zuletzt ist die Konfiguration
und Konfigurierbarkeit auch seine Sache.
Dirk Schoenberger <schoenberger@signsoft.com> arbeitet an der Qt/KDE Version
Fixes & Patches:
----------------
Andrew Arensburger <arensb@cfar.umd.edu> for FreeBSD & other patches
Matt Armstrong <matt_armstrong@bigfoot.com> for misc fixes
Fred Baube <fred@moremagic.com> for attempted Java port/MoneyDance
Per Bojsen <bojsen@worldnet.att.net> several core dump fixes
Christopher B. Browne <cbbrowne@hex.net> for perl, scheme scripts
Graham Chapman <grahamc@zeta.org.au> for the xacc-rpts addon package
George Chen <georgec@sco.com> for MS-Money QIF's & fixes
Albert Chin-A-Young <china@thewrittenword.com> configure.in patch
Jeremey Collins <jcollins@gnucash.org> for GnoMoney & GTK port
Patrick Condron <pcondon@rackspace.com> for webserver and T1 connection.
Ciaran Deignan <Ciaran.Deignan@bull.net> for AIX binary version
Tyson Dowd <tyson@tyse.net> for config/make patches & debian maint.
Koen D'Hondt <ripley@xs4all.nl> for Solaris patches to XmHTML
Bob Drzyzgula <bob@mostly.com> for budgeting design notes
Jan-Uwe Finck <Jan-Uwe.Finck@bigfoot.de> for German message translation
Ron Forrester <rjf@aracnet.com> for gnome patches
Dave Freese <DFreese@osc.uscg.mil> for leap-year fix
Otto Hammersmith <otto@bug.redhat.com> for RedHat RPM version
Alexandru Harsanyi <haral@codec.ro> for core dumps, lockups, gtk work.
Jon K}re Hellan <jk@isdn-a33.itea.ntnu.no> misc core dump fixes
Prakash Kailasa <PrakashK@bigfoot.com> for gnome build fixes
Ben Kelly <ben.kelly@ieee.org> for motif menu bug fix, core dump fixes
Tom Kludy <tkludy@csd.sgi.com> for SGI Irix port
Sven Kuenzler <sk@xgm.de> for SuSE README file
Graham Leggett <minfrin@sharp.fm> for fixing a hang
Ted Lemon <mellon@andare.fugue.com> for NetBSD port
Yannick Le Ny <y-le-ny@ifrance.com> pour la traduction en francais
Grant Likely <glikely@nortelnetworks.com> gnome and engine patches
Heath Martin <martinh@pegasus.cc.ucf.edu> gnome and register patches
Matt Martin <mgmartin@abacusnet.net> guile error handling code
Robert Graham Merkel <rgmerk@mira.net> reporting, gnome, and config patches.
Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> port to alpha-dec-osf4.0f
G. Allen Morris III <gam3@ann.softgams.com> for QIF core dump
Peter Norton <spacey@inch.com> for a valiant attempt at a GTK port
OmNiBuS <webmaster@obsidian.uia.net> web site graphics & content
Myroslav Opyr <mopyr@IPM.Lviv.UA> for misc patches
Dave Peticolas <peticola@morpheus.cs.ucdavis.edu> extensive intelligent patches
Laurent P{'e}lecq <laurent.pelecq@wanadoo.fr> i18n patches with gettext
Alain Peyrat <Alain.Peyrat@nmu.alcatel.fr> for configure.in patches
Peter Pointner <peter@wuzel.m.isar.de> QIF import fixes, Qt patches
Gavin Porter <maufk@csv.warwick.ac.uk> for euro style dates
Ron Record <rr@sco.com> for SCO Unixware & OpenServer binaries
Jan Schrage <jan.schrage@urz.uni-heidelberg.de> documentation patches
Christopher Seawood <cls@seawood.org> for XbaeMatrix core dump
Mike Simons <msimons@fsimons01.erols.com> misc configure.in patches
Richard Skelton <rich@brake.demon.co.uk> for Solaris cleanup
Henning Spruth <spruth@bigfoot.com> for German text & euro date rework
Diane Trout <detrout@earthlink.net> scheme qif import patch
Rob Walker <rob@valinux.com> guile and register patches
Ken Yamaguchi <gooch@ic.EECS.Berkeley.EDU> QIF import fixes; MYM import
... and I am sure that I have missed many others ...
Stand : 05.03.2000
P.S.: Dieses README ist eine Uebersetzung der englischen Version, und ist
damit eher selten auf aktuellem Stand, da diese den aktuellen Entwicklungen
angepasst wird.
Im Zweifel also bitte die englische Original-Version zu Rate ziehen.
Was Richtigkeit, Eleganz und Anwendbarkeit angeht, uebernehme ich keine Gewaehr.
Flames an /dev/null, 'Bug'-Reports, Vorschlaege und 'Patches' fuer dieses
README an Jan-Uwe.Finck@bigfoot.de und/oder an patch@gnucash.org.
Viel Spass !

67
doc/SuSE-6.3.txt Normal file
View File

@@ -0,0 +1,67 @@
How to install gnucash-1.3.0 on SuSE-6.3
========================================
(written 2000-01-07 by Peter Pointner <peter@wuzel.m.isar.de>)
(changed for gnucash-1.3.x 2000-03-01 by Herbert Thoma (tma@iis.fhg.de))
Notes:
- This is only one way to get GnuCash running on SuSE 6.3. I did test
that, but there might be errors anyway, and of course you do all at
your own risk. If you find errors, you might report them to the
gnucash mailing list (gnucash-devel@gnucash.org)
- This is definitely for SuSE 6.3 (Intel). Earlier SuSE distributions
lack some required packages. Later SuSE distributions didn't exist
at the time of writing.
NOTE: You can install new packages to older versions of SuSE from
CD or ftp.suse.de or ftp.suse.com
Let's go:
* Make sure you have a running system, including X. For my tests I
started with a default installation and removed some packages to
save diskspace.
* Install the following packages:
+ from series d
eperl guile nana swig xmhtml xmhtmld gettext
and optionally
autoconf automake libtool
(You must install libtool if you have autoconf/automake
installed!)
+ from series x
xdevel
+ from series xdev
lesstiff lesstifd
+ from series gnm
gnlibs gnlibsd
+ from series gra
imlib imlibdev
* Download slib from
ftp://ftp.gnu.org/pub/gnu/jacal/slib2c7.zip
and install it by unpacking it to /usr/share/guile (this will
create a sub-directory slib):
cd /usr/share/guile
su root -c "unzip -L /tmp/slib2c7"
* Download GnuCash from
http://www.gnucash.org/pub/gnucash/sources/unstable/1.3.x/1.3.0/gnucash-1.3.0.tar.gz
and unpack it
tar xzf gnucash-1.3.0.tar.gz
* Alternatively get GnuCash from cvs
cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot login (password guest)
cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout gnucash
* Configure, build and install gnucash. Installation must probably be
done as root, the files go to various places in /usr/local.
cd gnucash-1.3.0
./configure
make motif for motif version or
make gnome for gnome version (recommended) or
make qt for qt/KDE version (pre alpha, may even not compile)
su root -c "make install"
* You may need to run GnuCash once as root, because guile needs to set up
some things for slib.

12
doc/aix.txt Normal file
View File

@@ -0,0 +1,12 @@
pre-compiled SMIT-installable binaries for AIX 4.1.5 are available
from
http://www-frec.bull.com/
and
http://www.bull.de/pub/
courtesy of BULL and Ciaran Deignan <Ciaran.Deignan@bull.net>
January 1998

34
doc/gnome-hackers.txt Normal file
View File

@@ -0,0 +1,34 @@
-*-text-*-
This file is intended to contain information for those interested in
working on the GNOME bits of GnuCash.
Memory Management (care with reference counting):
-------------------------------------------------
I was unsure about when you're supposed to _unref widgets, etc., and
getting this right is critical to avoiding memory leaks on the one
hand and dangling pointers on the other. So I asked on the gtk list,
and here was the result:
On 16 Aug 1999, Rob Browning wrote:
>
> I've been poking around the gtk web site and in the docs for
> information on when you're supposed to call gtk_widget_unref. I want
> to make sure I'm handling this right so I don't introduce memory
> leaks, but so far I haven't found anything describing the rules.
> Actually I'd like to know what the guidelines are for all the *_unref
> functions...
>
Read gtk+/docs/refcounting.txt (or something like that).
Also I think some babble about object finalization at
http://pobox.com/~hp/gnome-app-devel.html (follow link to sample
chapters) might be helpful.
Basically you have to unref a widget you never use, but if you put it
in a container the container "assumes" the initial refcount of 1 and
the widget will be deleted along with the container.
Havoc

116
doc/guile-hackers.txt Normal file
View File

@@ -0,0 +1,116 @@
-*-text-*-
This file is intended to contain information for those interested in
working on the guile bits of GnuCash.
I've recently added some GUI functions callable from scheme. This is
generally pretty straightforward, and you can look in the code to see
how I did it, but there are a few bits you have to be careful about.
One of the main sources of useful information is "info guile-ref".
This contains the documentation for all the guile C-side functions
like gh_car(), gh_append(), etc. that manipulate opaque SCM objects
from the guile side.
Given that and a reasonable understanding of GTK/GNOME, you should be
able to follow what I've done.
Introduction To Scheme and guile(rgmerk)
--------------------------------
Please skip this if you already know what Scheme is and why it's
so cool . . .
Scheme is a dialect of LISP (List Programming), one of the earliest
programming languages. It makes so many things easy it's just not
funny. It can be a little confusing for people raised on C and Java,
but any time taken to learn it is made up for with easier-to-write,
easier-to-debug, more reusable, and more robust code.
Guile is an implementation of standard Scheme which is easily
embeddable in C, making multi-language development relatively
straightforward. You can easily access data and procedures from
either end. Guile supports a superset of R4RS (the Scheme standard).
For initial experimentation, you can use Guile as an interactive Scheme
shell to play around with the system.
SLIB is a a library for Scheme implementations (including guile)
that implements a large collection of useful data structures
and algorithms.
FIXME: Starting gnucash as a guile shell. ..
While the Guile documentation (in info format) explains
Guile specifics, it doesn't have much information about Scheme,
the language. The Internet Scheme Repository:
http://www.cs.indiana.edu/scheme-repository/home.html
has quite a useful collection of information, including
FAQs, online copies of the Scheme standard (which is actually
quite readable and useful), and pointers to web tutorials
and other resources.
g-wrap
------
g-wrap is the tool used to automate the wrapping of C functions
to make them callable from the guile code. Gnucash installs
its own local copy of g-wrap. Documentation in info format
is available in gnucash/lib/g-wrap/doc/g-wrap.info. Available
C functions are wrapped in gnucash/src/g-wrap/gnc.gwp. Pointers
are wrapped using some stuff in gnucash/lib/g-wrap/guile/pointer.scm
which is not documented but looks reasonably straightforward.
Garbage collection:
-------------------
One issue to keep in mind is that of garbage collection. You cannot
pass a scheme side item to the C side (through a SCM) and then store
that object off somewhere on the C side such that it lives longer than
all of it's guile side references. If you do, you're likely to get a
crash. The problem is that guile's garbage collector only knows to
save guile items that still have guile side pointers, or that are
found somewhere on the current C side stack. If you store a SCM item
off in a C data structure (say a callback pointer), and then return to
the guile side and drop the guile-side reference to the item, guile
may garbage collect it before it's used by the C side.
For example, this psudeo-code is a problem:
void gnc_some_function(SCM scm_thunk) {
gnc_set_push_button_callback(some_button, scm_thunk);
}
(define (unsafe-guile-function)
(let ((my-callback (lambda () (display "Hello\n"))))
(gnc:some-function my-callback)))
The problem here is that if you call unsafe-guile-function, it
registers the pointer to the anonymous lambda created in the let
construct with the button on the C-side and then returns. As soon as
it returns, guile has no more references to the anonymous lambda, and
it's not on the C stack, so guile thinks it's OK to garbage collect
the function even though the C side has a pointer to it and may still
use it.
The moral of this story is that if you need to have the C side ferret
away a scheme item for later, you must also keep at least one
reference to that item on the guile side until the C side is finished
with it. I believe that the guile people have recently come up with a
nice general solution to this problem, but until that's generally
available, there are a number of ways you can solve this.
If nothing else, you can just create a global hash on the guile side,
place the object in question in the hash table, and then have the
C-side delete that item from the hash when it's finished with it.
Guile Interrupts:
-----------------
Another issue that I'm not quite sure of myself yet is that of
interrupts. Guile has the ability to protect certain segments of code
with SCM_DEFER_INTS/SCM_ALLOW_INTS, but at the moment I'm not sure
when this is required. If anyone gets the chance to check this out
before I do, then please edit this file and put your findings here.

25
doc/solaris.txt Normal file
View File

@@ -0,0 +1,25 @@
Solaris hints:
-------------
If the Makefile won't work, try the following:
The Makefile won't work unless SHELL=/bin/bash for me (Solaris 2.5.1).
That is:
make motif SHELL=/bin/bash
Alan Orndorff writes:
in /src/motif/makefile
If you want to get further before we have a chance to fix this, you
could just change those $(wildcard foo) statements to $(shell find
"foo") statements
This will leave two unresolved dependancies.
/usr/local/lib/libiberty.a contains asprintf, so
vi /src/motif/Makefile and added -liberty to it
In gnucash.c changed setenv to putenv and changed
the parms from (variable, variable,1)
to (variable) on both lines