This commit was manufactured by cvs2svn to create branch 'gramps20'.

svn: r4365
This commit is contained in:
Don Allingham 2005-04-16 06:57:48 +00:00
parent 350ed9e36d
commit dd99647128
316 changed files with 0 additions and 169967 deletions

View File

@ -1,13 +0,0 @@
# The "checkoutlist" file is used to support additional version controlled
# administrative files in $CVSROOT/CVSROOT, such as template files.
#
# The first entry on a line is a filename which will be checked out from
# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
# The remainder of the line is an error message to use if the file cannot
# be checked out.
#
# File format:
#
# [<whitespace>]<filename><whitespace><error message><end-of-line>
#
# comment lines begin with '#'

View File

@ -1,15 +0,0 @@
# The "commitinfo" file is used to control pre-commit checks.
# The filter on the right is invoked with the repository and a list
# of files to check. A non-zero exit of the filter program will
# cause the commit to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@ -1,11 +0,0 @@
# Set this to "no" if pserver shouldn't check system users/passwords
#SystemAuth=no
# Set `PreservePermissions' to `yes' to save file status information
# in the repository.
#PreservePermissions=no
# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
# level of the new working directory when using the `cvs checkout'
# command.
#TopLevelAdmin=no

View File

@ -1,23 +0,0 @@
# This file affects handling of files based on their names.
#
# The -t/-f options allow one to treat directories of files
# as a single file, or to transform a file in other ways on
# its way in and out of CVS.
#
# The -m option specifies whether CVS attempts to merge files.
#
# The -k option specifies keyword expansion (e.g. -kb for binary).
#
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
#
# wildcard [option value][option value]...
#
# where option is one of
# -f from cvs filter value: path to filter
# -t to cvs filter value: path to filter
# -m update methodology value: MERGE or COPY
# -k expansion mode value: b, o, kkv, &c
#
# and value is a single-quote delimited value.
# For example:
#*.gif -k 'b'

View File

@ -1,21 +0,0 @@
# The "editinfo" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@ -1,26 +0,0 @@
# The "loginfo" file controls where "cvs commit" log information
# is sent. The first entry on a line is a regular expression which must match
# the directory that the change is being made to, relative to the
# $CVSROOT. If a match is found, then the remainder of the line is a filter
# program that should expect log information on its standard input.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name ALL appears as a regular expression it is always used
# in addition to the first matching regex or DEFAULT.
#
# You may specify a format string as part of the
# filter. The string is composed of a `%' followed
# by a single format character, or followed by a set of format
# characters surrounded by `{' and `}' as separators. The format
# characters are:
#
# s = file name
# V = old version number (pre-checkin)
# v = new version number (post-checkin)
#
# For example:
#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
# or
#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog

View File

@ -1,26 +0,0 @@
# Three different line formats are valid:
# key -a aliases...
# key [options] directory
# key [options] directory files...
#
# Where "options" are composed of:
# -i prog Run "prog" on "cvs commit" from top-level of module.
# -o prog Run "prog" on "cvs checkout" of module.
# -e prog Run "prog" on "cvs export" of module.
# -t prog Run "prog" on "cvs rtag" of module.
# -u prog Run "prog" on "cvs update" of module.
# -d dir Place module in directory "dir" instead of module name.
# -l Top-level directory only -- do not recurse.
#
# NOTE: If you change any of the "Run" options above, you'll have to
# release and re-checkout any working directories of these modules.
#
# And "directory" is a path to a directory relative to $CVSROOT.
#
# The "-a" option specifies an alias. An alias is interpreted as if
# everything on the right of the "-a" had been typed on the command line.
#
# You can encode a module within a module by using the special '&'
# character to interpose another module into the current module. This
# can be useful for creating a module that consists of many directories
# spread out over the entire source repository.

View File

@ -1,12 +0,0 @@
# The "notify" file controls where notifications from watches set by
# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
# a regular expression which is tested against the directory that the
# change is being made to, relative to the $CVSROOT. If it matches,
# then the remainder of the line is a filter program that should contain
# one occurrence of %s for the user to notify, and information on its
# standard input.
#
# "ALL" or "DEFAULT" can be used in place of the regular expression.
#
# For example:
#ALL mail %s -s "CVS notification"

View File

@ -1,13 +0,0 @@
# The "rcsinfo" file is used to control templates with which the editor
# is invoked on commit and import.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being made to, relative to the
# $CVSROOT. For the first match that is found, then the remainder of the
# line is the name of the file that contains the template.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@ -1,20 +0,0 @@
# The "taginfo" file is used to control pre-tag checks.
# The filter on the right is invoked with the following arguments:
#
# $1 -- tagname
# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
# $3 -- repository
# $4-> file revision [file revision ...]
#
# A non-zero exit of the filter program will cause the tag to be aborted.
#
# The first entry on a line is a regular expression which is tested
# against the directory that the change is being committed to, relative
# to the $CVSROOT. For the first match that is found, then the remainder
# of the line is the name of the filter to run.
#
# If the repository name does not match any of the regular expressions in this
# file, the "DEFAULT" line is used, if it is specified.
#
# If the name "ALL" appears as a regular expression it is always used
# in addition to the first matching regex or "DEFAULT".

View File

@ -1,21 +0,0 @@
# The "verifymsg" file is used to allow verification of logging
# information. It works best when a template (as specified in the
# rcsinfo file) is provided for the logging procedure. Given a
# template with locations for, a bug-id number, a list of people who
# reviewed the code before it can be checked in, and an external
# process to catalog the differences that were code reviewed, the
# following test can be applied to the code:
#
# Making sure that the entered bug-id number is correct.
# Validating that the code that was reviewed is indeed the code being
# checked in (using the bug-id number or a seperate review
# number to identify this particular code set.).
#
# If any of the above test failed, then the commit would be aborted.
#
# Actions such as mailing a copy of the report to each reviewer are
# better handled by an entry in the loginfo file.
#
# One thing that should be noted is the the ALL keyword is not
# supported. There can be only one entry that matches a given
# repository.

View File

@ -1,5 +0,0 @@
Makefile
config.cache
config.log
config.status
gramps.sh

View File

@ -1,5 +0,0 @@
Donald N. Allingham ** Concept and main design
David Hampton ** Autocomp.py and Report.py
Donald A. Peterson ** Makefiles, LaTeXDoc.py

View File

@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@ -1 +0,0 @@

View File

@ -1,79 +0,0 @@
For rebuilding from source, here are some guidelines to follow. For
developers who may be adding functionality to the program, be sure to read
the last section of this documen: "FINAL WORDS".
SUPER-SHORT VERSION:
You should be able to just run "./configure && make". But if you make any
significant changes or experience any problems, you may wish to run
"./autogen.sh && make" to regenerate everything.
This will call aclocal if necessary, then automake, which creates
Makefile.in from Makefile.am rules. Then it calls autoconf, which will
generate configure from configure.in and the Makefile.{am,in} sources.
Finally, autogen calls configure to generate the final files necessary for
building gramps.
SHORT VERSION:
Execute:
aclocal
automake --add-missing --gnu && autoconf && make
HTML documentation is built from SGML sources via jw. It is known to work
with docbook-utils-0.6.9. There is a problem with 0.6.10, which seems to
have some messed up dsl files. If you have difficulty building the HTML
documentation with your version of jw, then remove "doc" from the SUBDIRS
list in the top-level Makefile and send a report of where the failure was to
the gramps-devel list. This distribution is tested with the style sheets
and PNG support from the gnome-doc-tools-2-1 package.
MORE INFO: Version and package info is now set in configure.in through a
call to the AM_INIT_AUTOMAKE macro. The results are stored in variables
PACKAGE and VERSION, which then get substituted wherever necessary.
(gramps.sh, gramps.spec, src/const.py, asst. Makefiles, etc.) We also
manually set the RELEASE variable for setting things like "pre" or minor
bugfix issues. * Note: Using @VERSION@ in the manuals has the advantage that
the current manual always states that it describes current version of
gramps. The disadvantage is that this becomes misleading if the manual
isn't regularly updated. Keep in mind this is GRAMPS version and not
*manual* version. Another problem is that the standard GNOME SGML
documentation make rules (sgmldocs.make) have their own rule, but automake
generates its own rule and this introduces a conflict.
"make (un)install" now runs scrollkeeper-update to ensure
documentation database is up to date. Scrollkeeper v. > 0.1.4 should in
principle work, v. > 0.2 should see no problems.
VERBOSE, UGLY DETAILS FOR DEVELOPERS:
Using automake/autoconf adds many, MANY build targets to the makefiles.
Basically, we only care about the main and "install" targets. However,
there are some others that bear further notice:
* make dist -- will create a lovely gramps-{VERSION}.tar.gz archive with
everything needed to distribute, including the HTML documentation just in
case Joe User doen't know about or have a compatable jw/db2html. After
running "make dist" you can create the rpms using
"rpm -ta gramps-{VERSION}.tar.gz". How nice is that?
* make clean -- only gets rid of byte-compiled stuff like .so files.
* make distclean -- improves on clean by eliminating configuration (*.in,
config.*, Makefiles, and converted documentation.) stuff. This is generally
what you (as a developer) will want for testing "fresh" compiles.
* make trans -- We add this one on our own for building the template.po file.
Another caveat of the automake mantra is that new/overriding make
targets/rules/defines should generally go in the Makefile.am files rather
than Makefile.in.
* Note: Another beauty of the automake mechanism (and having automake macros
in the configure script) is that once the scripts have been made, a change
to any .am file will trigger "make" to regenerate the Makefile.in/configure
scripts as appropriate. It is _very_ convenient.
FINAL WORDS: automake "thinks" of a distribution in terms of "SOURCES", such
as raw C code, "COMPILED OBJECTS" like executables and libraries, and
"DATA", such as images, scripts, and documentation. Thus, for gramps we
concentrate on DATA-type objects. We must tell automake what objects are
important. We do this by adding to the EXTRA_DIST variable in the various
Makefile.am files before running automake.

View File

@ -1,79 +0,0 @@
For rebuilding from source, here are some guidelines to follow. For
developers who may be adding functionality to the program, be sure to read
the last section of this documen: "FINAL WORDS".
SUPER-SHORT VERSION:
You should be able to just run "./configure && make". But if you make any
significant changes or experience any problems, you may wish to run
"./autogen.sh && make" to regenerate everything.
This will call aclocal if necessary, then automake, which creates
Makefile.in from Makefile.am rules. Then it calls autoconf, which will
generate configure from configure.in and the Makefile.{am,in} sources.
Finally, autogen calls configure to generate the final files necessary for
building gramps.
SHORT VERSION:
Execute:
aclocal
automake --add-missing --gnu && autoconf && make
HTML documentation is built from SGML sources via jw. It is known to work
with docbook-utils-0.6.9. There is a problem with 0.6.10, which seems to
have some messed up dsl files. If you have difficulty building the HTML
documentation with your version of jw, then remove "doc" from the SUBDIRS
list in the top-level Makefile and send a report of where the failure was to
the gramps-devel list. This distribution is tested with the style sheets
and PNG support from the gnome-doc-tools-2-1 package.
MORE INFO: Version and package info is now set in configure.in through a
call to the AM_INIT_AUTOMAKE macro. The results are stored in variables
PACKAGE and VERSION, which then get substituted wherever necessary.
(gramps.sh, gramps.spec, src/const.py, asst. Makefiles, etc.) We also
manually set the RELEASE variable for setting things like "pre" or minor
bugfix issues. * Note: Using @VERSION@ in the manuals has the advantage that
the current manual always states that it describes current version of
gramps. The disadvantage is that this becomes misleading if the manual
isn't regularly updated. Keep in mind this is GRAMPS version and not
*manual* version. Another problem is that the standard GNOME SGML
documentation make rules (sgmldocs.make) have their own rule, but automake
generates its own rule and this introduces a conflict.
"make (un)install" now runs scrollkeeper-update to ensure
documentation database is up to date. Scrollkeeper v. > 0.1.4 should in
principle work, v. > 0.2 should see no problems.
VERBOSE, UGLY DETAILS FOR DEVELOPERS:
Using automake/autoconf adds many, MANY build targets to the makefiles.
Basically, we only care about the main and "install" targets. However,
there are some others that bear further notice:
* make dist -- will create a lovely gramps-{VERSION}.tar.gz archive with
everything needed to distribute, including the HTML documentation just in
case Joe User doen't know about or have a compatable jw/db2html. After
running "make dist" you can create the rpms using
"rpm -ta gramps-{VERSION}.tar.gz". How nice is that?
* make clean -- only gets rid of byte-compiled stuff like .so files.
* make distclean -- improves on clean by eliminating configuration (*.in,
config.*, Makefiles, and converted documentation.) stuff. This is generally
what you (as a developer) will want for testing "fresh" compiles.
* make trans -- We add this one on our own for building the template.po file.
Another caveat of the automake mantra is that new/overriding make
targets/rules/defines should generally go in the Makefile.am files rather
than Makefile.in.
* Note: Another beauty of the automake mechanism (and having automake macros
in the configure script) is that once the scripts have been made, a change
to any .am file will trigger "make" to regenerate the Makefile.in/configure
scripts as appropriate. It is _very_ convenient.
FINAL WORDS: automake "thinks" of a distribution in terms of "SOURCES", such
as raw C code, "COMPILED OBJECTS" like executables and libraries, and
"DATA", such as images, scripts, and documentation. Thus, for gramps we
concentrate on DATA-type objects. We must tell automake what objects are
important. We do this by adding to the EXTRA_DIST variable in the various
Makefile.am files before running automake.

View File

@ -1,30 +0,0 @@
# copyright (C) 2000 Sun Microsystems, Inc.
SUBDIRS = src doc omf-install
EXTRA_DIST = autogen.sh gramps.spec.in
bin_SCRIPTS = gramps
grampsdocdir = $(datadir)/doc/gramps-$(VERSION)
scrollkeeper_localstate_dir = $(localstatedir)/lib/scrollkeeper
gramps: gramps.sh
cp gramps.sh gramps
dist-hook: gramps.spec
cp gramps.spec $(distdir)
# Build/rebuild the catalog
install-data-hook:
rm -rf $(DESTDIR)$(scrollkeeper_localstate_dir)
$(mkinstalldirs) $(DESTDIR)$(scrollkeeper_localstate_dir)
$(mkinstalldirs) $(DESTDIR)$(localstatedir)/log
scrollkeeper-rebuilddb -p $(DESTDIR)$(scrollkeeper_localstate_dir)
# Remove generated files
uninstall-local:
-rm -rf $(DESTDIR)$(gramps_localstate_dir)
-rm -f $(DESTDIR)$(localstatedir)/log/gramps.log
-rm -f $(DESTDIR)$(localstatedir)/log/gramps.log.1

View File

@ -1,494 +0,0 @@
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# copyright (C) 2000 Sun Microsystems, Inc.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BINSH = @BINSH@
CC = @CC@
DEPDIR = @DEPDIR@
DISABLE_SCROLLKEEPER = @DISABLE_SCROLLKEEPER@
GNOMEHELP = @GNOMEHELP@
HAVE_GNOME_CONFIG = @HAVE_GNOME_CONFIG@
HAVE_JW = @HAVE_JW@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
JW = @JW@
LANGUAGES = @LANGUAGES@
LIBS = @LIBS@
MOFILES = @MOFILES@
MSGFMT = @MSGFMT@
P15_INCLUDES = @P15_INCLUDES@
P20_INCLUDES = @P20_INCLUDES@
P21_INCLUDES = @P21_INCLUDES@
P22_INCLUDES = @P22_INCLUDES@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PYTHON = @PYTHON@
PYTHON15 = @PYTHON15@
PYTHON20 = @PYTHON20@
PYTHON21 = @PYTHON21@
PYTHON22 = @PYTHON22@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RELEASE = @RELEASE@
SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@
SCROLLKEEPER_REQUIRED = @SCROLLKEEPER_REQUIRED@
STRIP = @STRIP@
VERSION = @VERSION@
VERSIONSTRING = @VERSIONSTRING@
ZIP = @ZIP@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
SUBDIRS = src doc omf-install
EXTRA_DIST = autogen.sh gramps.spec.in
bin_SCRIPTS = gramps
grampsdocdir = $(datadir)/doc/gramps-$(VERSION)
scrollkeeper_localstate_dir = $(localstatedir)/lib/scrollkeeper
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES = gramps.spec gramps.sh
SCRIPTS = $(bin_SCRIPTS)
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
Makefile.in NEWS TODO aclocal.m4 configure configure.in \
gramps.sh.in gramps.spec.in install-sh missing mkinstalldirs \
py-compile
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
gramps.spec: $(top_builddir)/config.status gramps.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $@
gramps.sh: $(top_builddir)/config.status gramps.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $@
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
if test -f $$d$$p; then \
f="`echo $$f|sed '$(transform)'`"; \
echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
$(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \
done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
f="`echo $$f|sed '$(transform)'`"; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/. $(distdir)/src
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="${top_distdir}" distdir="$(distdir)" \
dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
find $$dc_install_base -type f -print ; \
exit 1; } >&2 ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distcleancheck: distclean
if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(SCRIPTS)
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(bindir)
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-exec-am: install-binSCRIPTS
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-binSCRIPTS uninstall-info-am uninstall-local
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive dist dist-all dist-gzip distcheck \
distclean distclean-generic distclean-recursive distclean-tags \
distcleancheck distdir dvi dvi-am dvi-recursive info info-am \
info-recursive install install-am install-binSCRIPTS \
install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive tags tags-recursive uninstall \
uninstall-am uninstall-binSCRIPTS uninstall-info-am \
uninstall-info-recursive uninstall-local uninstall-recursive
gramps: gramps.sh
cp gramps.sh gramps
dist-hook: gramps.spec
cp gramps.spec $(distdir)
# Build/rebuild the catalog
install-data-hook:
rm -rf $(DESTDIR)$(scrollkeeper_localstate_dir)
$(mkinstalldirs) $(DESTDIR)$(scrollkeeper_localstate_dir)
$(mkinstalldirs) $(DESTDIR)$(localstatedir)/log
scrollkeeper-rebuilddb -p $(DESTDIR)$(scrollkeeper_localstate_dir)
# Remove generated files
uninstall-local:
-rm -rf $(DESTDIR)$(gramps_localstate_dir)
-rm -f $(DESTDIR)$(localstatedir)/log/gramps.log
-rm -f $(DESTDIR)$(localstatedir)/log/gramps.log.1
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,378 +0,0 @@
Version 0.8.0
* Addiition of ZODB support. Support is still preliminary, and not
as feature full as the XML support. Requires python 2.1 or higher,
so not a good solution for RedHat users, unless the which to compile
the python and python-gnome libraries. (RH7.3 ships with python2.2,
but that version is tied to an early beta of the GNOME 2 libraries)
* New build structure from David Hampton.
* Significant improvement in speed with the GEDCOM export.
* Enhanced web page generation.
* Fixed Mandrake 8.2/imlib problem the could cause GRAMPS to fail to
run under Mandrake 8.2.
* Better importing of GEDCOM ids.
* Better handling of sources/source entry
* Better handling of exception conditions.
* Bug fixes.
Version 0.7.3
* New Russian (Alex Roitman) and Danish (Lars Lundin) translations.
GRAMPS now supports English, Italian, German, French, Spanish,
Brazilian-Portuguese, Swedish, Danish, and Russian.
* Custom filter editor allows you to create your personal complex
filters that can be applied to reports to select the people that
you want. Tools->Utilites->Custom Filter Editor to access the
filter builder. (Thanks to Jeff Ollie for some major contributions
here).
* New report - Complete Individual Report. Allows you to produce a
more complete form of the Individual Summary. You can use filters
to select all ancestors, all decendants, or any custom filter you
want to create more of a 'book' form of a report.
* On-the-fly document generation instead of pre-built HTML files
(Thanks to Don Peterson)
* Web page generation now generates a two column list, along with
labels.
* GEDCOM impovements, including the ability to use GRAMPS as a GEDCOM
viewer (accepts a GEDCOM file as an argument).
Version 0.7.2
* New Brazilian-Portuguese translation (Marcos Bedinelli)
* Python Imaging Library no longer required for several report
formats.
* Better sizing of images in reports (Bruce DeGrasse)
* An image subdirectory name can now be specified in the WebPage
generation. This allows you to specify the subdirectory (or
absence of a subdirectory) where images are placed when generating
a web site.
* Merging allows you to choose the GRAMPS ID of the merged person.
* Better handling of auto completion of names, places, and other
items.
* Ability to rerun Startup dialog when necessary
* More information in the Startup dialog
* Fewer intermediate files when handling images for reports
* Reports are now plugins, stored in the DocGen library
* Filter out control characters on GEDCOM import
* New document format generators for SVG and PostScript.
* Improved document format generators for LaTeX (Donald Peterson),
KWord (Bruce DeGrasse), and AbiWord.
* Names now have a type (e.g. "Married Name", "Birth Name")
associated with them.
* Eliminated the intermediate dialog box on importing - GRAMPS
now always appends to the current database.
* If an imported GEDCOM contains REFN tags, they are correlated
to the GRAMPS ID if possible.
Version 0.7.1
* A database must now be open at all times. Prevents the problem of
not having a place to put files.
* Several drop down menus for names have been replaced with
autocompletion text boxes.
* Autosave - allows the database to be saved to a backup file
periodically.
* New Descendant Graph dialog.
* Reorganization of reports.
* New preferences dialog.
* Configurable guessing of last names for new children.
* Slightly improved incomplete date handling.
* More sort columns and improved sorting in the lists.
* New tooltips (Don Peterson)
* Improved navigation in the Pedigree View (Shane Hathaway)
* Italian translation (Marco Molteni)
Version 0.7.0
* LD_PRELOAD set to handle Mandrake 8.1 shared library problems.
* Drag and drop copying of events, address, attributes, and URLs.
* Improved GEDCOM. GRAMPS now understands many more of the "quirks"
of the GEDCOM produced by other programs. In addition, GRAMPS can
now tailor its GEDCOM output several other programs. An XML data
file is used to describe to GRAMPS the types of quirks each
format uses.
* Support for French Republican, Hebrew, and Julian calendars.
* LDS ordinance support.
* Cleaned up report dialog code.
* Bug fixes in GEDCOM reading and relationship calculator.
* Toolbar may display Icons and Text, Text only, or Icons only. This
helps in some of the translations, where the long text forced the
toolbar to be unusually large.
* Dragging and dropping media objects can optionally display property
dialogs.
* All toolbar icons have tooltips.
* Keyboard shortcuts for bookmark saving.
* Find dialog supports autocompletion, and has the more standard shortcut
of C-F.
* Change in XML database format to provides better support for dates.
* Added entries to the Help menu to jump to the GRAMPS home page and the
GRAMPS mailing list page.
Version 0.6.2
* Fixed SuSE 7.3/lib-imlib problem.
* Improved GEDCOM import/export. Gramps now passes the GEDCHK program
and can now properly handle the quirks in names, notes, and parent/child
relationships from PAF, Legacy, FTW, Brother's Keeper, and Family Origins.
* After an Add Spouse, make the new spouse display in the Family View
interface.
Version 0.6.1
* Fixed Family View/Pedigree View button swap
* Updated Spanish translation
Version 0.6.0
* Support for QUAY, NCHI, and CAUS on GEDCOM import. GEDCOM
import is significantly faster.
* Support for multiple sources per item.
* Support for revision control. RCS based revision control is
available.
* Confidence level moved to SourceReference instead of object.
* All fields of birth and death events are editable. Clicking the
Edit button brings up the event editor. Birth and death fields
on the Edit Person dialog are now read only.
* Support for unknown gender.
* Central image/media repository added. All images in a gallery
are references to these media objects. Media objects can have
global properties (in the repository) or local properties (in
each gallery).
* Media types are beyond images are now supported (PDF, MP3,
word processor documents, etc.)
* Drag and drop of images from one gallery to another. Drag and
drop from file managers into the gallery. Drag and drop from a
web page to a gallery.
* Drag and drop reordering of children in children lists.
* Drag and drop reordering of images in a gallery.
* Autocompletion support on most entry boxes with drop down menus.
* Plugins can be reloaded without re-starting gramps.
* Two people can be selected and directly merged from the main
person list.
* Two places can be selected and directly merged from the main
place list.
* The "Find and Merge" functionality has been improved to make it
easier to find matches.
* Web page generation is significantly faster.
* Many plugins enhanced. Descendant browser can jump to an Edit Person
display, Event Comparison can now save and load complex filters,
etc.
* User had significant more control over the format of the internal
GRAMPS' ids. You can now set a prefix for each type (such as "I-"
for individuals) or specify more powerful formatting using C-like
format statements (such as "I-%04d").
* Adoption relationships are visible on the pedigree view (seen as
a dotted line).
* Reordering GRAMPS' ids attempts to preserve the integer originally
assigned to the object.
* The person view can be sorted by GRAMPS id.
* KWord format generated is now compatible with KWord 1.1. Images may
now be included in KWord documents (requires Python Imaging Library).
Tables are not working yet. I can figure out how to format a KWord
table.
Version 0.5.1
* Bug fixes
* Allow gramps' ids to be edited
* Added Jesper Zedlitz's PAF for Palm export
* Progress report on GEDCOM import
* Add a new person from the parent selection dialog
* Improved configure script for FreeBSD
* Documenation improvements
* Slight performance improvements reading large databases
Version 0.5.0
* New pedegree form which can display 3, 4, or 5 generations
depending on the screen size. Supports better navigation.
* Added a Find function to quickly find people.
* Implemented Place objects, allowing additional information
to be stored about a place.
* New icons for Person View and Family View.
* Online documentation.
* Pressing enter on qualifier field for a filter will apply
the filter.
* New verification tool added to look for odd things in the
database.
* Improvements in GEDCOM import, including handling some
Family Tree Maker pecularities.
* Spanish translation is now available. This brings the languages
to English, Spanish, Swedish, German, and French.
Version 0.4.1
* Tool/Report menus added to top level menu bar
* Extract Titles and Nicknames plugin improved to provide more
information
* Several bug fixes, including the problem of swapping father/
mother relationships in families
* Significant improvements in speed for updating displays after
adding, editing, or deleting people, and for applying filters.
* Added Bruce DeGrasse's Detailed Ancestral Report. This will
eventually replace the current Ancestral Report.
Version 0.4.0
* Redesigned Family page. More complex family relationships can be
handled.
* ISO date format supported
* Places are stored in a pulldown menu
* gramps ID can be displayed in many lists
* Multiple selection in Add Children box
* Internal gramps ID now a string instead of an integer
* Double clicking on a name in the Pedegree view brings up the edit
box for that person
* Support for same sex parent families has been added
* Complete rework of Edit Person dialog
* Added privacy flag and confidence level to events, attributes, etc.
* Automatically detect gzip'ed XML vs. XML
* Added option to write either gzip'ed XML or straight XML
* Warn on closing the edit person and marriage/relationshp window
when modifications have been made.
* French translation
* New plugin from Jesper Zedlitz that implements a graphical
representation of the people in the database, allowing you to
reposition people according to your own desires.
* XML is indented properly
* XML DTD available
Version 0.3.2
* Fixed Style Editor on WebPage.py, to allow styles to be edited.
* WebPage generator now lists more information, including sources.
* May have ironed out the PyXML/Python/SAX issues once and for all,
cleaning up the python 1.5/2.X problems.
* Added the ability to set default directories for reports and
databases.
* Fixed major bug that added a marriage and divorce to every record
that was viewed in the family viewer.
* Fixed bug that was dropping images
* Many, many other bug fixes.
* Improved many of the translations.
Version 0.3.1
* Improved Web Site generation (changed from Individual Web Pages)
* Faster load times for XML database
* Fixed unicode problems with Python 2.0
* Improved GEDCOM exporter
* Use the GRAMPSDIR environment variable in the shell script to determine
the root path instead of dynamically doing it by attempting to look
at __file__ in const.py
* Added better GEDCOM importing for files generated by Brother's
Keeper and Reunion.
Version 0.3.0
* Support for RTF (export to MSWord) and limited support for KWord
and LaTeX added.
* User defined styles for reports. Allows the selection of fonts,
sizes, colors, alignment, and many other features in output
reports. Styles can be saved for future use.
* Improved report formats
* Initial German translation. Please note that the German translation
is new, and it will take a while before it is fully in sync with the
program. It will probably take a release or two before it is as
stable as the Swedish translation (it can take a while to provide the
translations, and the code is changing, so it takes a while to flush
things out).
* Output format preference and page size preference can be set in the
preferences menu.
* Names can now have sources and notes.
* Lots of bug fixes
* Fixes to GEDCOM importer
Version 0.2.0
* New GEDCOM importer. This new importer understands the GEDCOM
file structure, and intelligently parses the file. More
information is extracted from the GEDCOM file. Guessing the
context of information is no longer done, so the data should go
into the right place. The display dialog now displays useful and
interesting information as the file is loaded. The importer
has been checked with file generated Personal Ancestral File,
Brother's Keeper, DISGEN, the GEDCOM Torture test, and even the
sometimes strange output of Family Tree Maker.
* Better support for sources. Source button on the main page, and
sources are entered from the main screen, instead of being about
five layers deep.
* Events, sources, attributes, and addresses can now have both
sources and notes.
* Limited configurability in status bar display. Instead of just a
name, you can have a name, the internal ID and a name, or a user
selectable attribute and a name.
* A user selectable attribute can be displayed on the Edit Person
display along with the gramps internal ID. The attribute is
specified in the preferences settings, and the value is taken
from the person's attribute list.
* Images now load faster. Thumbnail images are created and maintained
by gramps, eliminating the need to rescale images everytime a
gallery is displayed.
* Paper size preference can now be specified in the preferences
dialog. Once this is set, gramps will make this the default for
report generators. Eventually, you will be able to do the same
for output format preference. This button is current disabled.
* Generating slightly better XML. Maintaining compatibility with
the older files.
Version 0.1.5
* Plenty of bug fixes in the report generators and merging due to the
previous addition of date ranges.
* Added PDF file type generation for reports. Depends on the reportlab
package (available at www.reportlab.com). If the package is not
installed, gramps will run, but without PDF generation ability.
* Will use the Python Imaging Library if present to handle images. If
not, it will revert to the old method of using Imagick (convert).
* The user can select an attribute (from the attribute list) to display
on the Edit Person window.
* The internal gramps ID is now displayed on the Edit Person window.
* Marriage types can now be recorded.
* Addresses now use a single date instead of multiple dates, since
dates can now deal with ranges.
* Due to a bug in Python 2.0/GTK interaction, list colors are disabled
for Python 2.0 and above.
* configure script now properly deals with Python include paths,
eliminating the need to hand edit the src/Makefile to get gramps to
run under Python 2.X.
* Photos are now displayed properly again in the Edit Person gallery.
* Family notes are now implemented.
Version 0.1.4
* Implemented date ranges. Valid forms are "from <date> to <date>" and
"between <date> and <date>".
* Better support for partial dates. A question mark can optionally be
used for a placeholder for a year if the year is unknown. Illegal
date formats issue a warning upon an attempt to save the date.
* Start of internationalization (i18n) support. Had to include a single
C file to allow libglade to understand translations. This means that
binary releases are no longer going to be platform independant.
* Start of a generic output formatter for report generation. Currently
supports HTML, OpenOffice (625+), and AbiWord (0.7.13+). Allows
control of paragraph and font styles.
* Added into CVS on sourceforge
* Fixed quite a few bugs
Version 0.1.3
* Allow the user to specifiy their preferred numerical date input format,
either DD/MM/YY or MM/DD/YY on the preferences dialog box.
* Handles file problems a bit more gracefully.
* Use ISO-8859-1 character set instead of ASCII to support languages other
than English. Eventually this should go to unicode, but python 1.5.2
does not have good unicode support. Python 2.X/Gnome 2.X will be the
migration for this feature.
* Handle ANSEL encoding for import and exporting GEDCOM files.
* Fixed a bug in the selection of parents, which did not accept new parents
if previous parents did not exist.
Version 0.1.2
* Allow the user the option to display alternate names in the person
list. Alternate names in the list have an '*' appended to the end
of the name.
* Merge function now gives the user the option of saving the name of
the merged individual as an alternate name if the names are not
the same.
* Added the "Alternate Birth" and "Alternate Death" to the event list,
to allow other birthdates to be recorded. Gramps makes a distinction
between the birthdate/deathdate and the alternates.
* GEDCOM import and export adapted to load/save alternate birth and
death dates. The first "BIRT" and "DEAT" tags are the ones used
for the primary dates, the others are loaded as alternates.
* Added the ability to store web page addresses for each person. From
the edit person page, the "Go" button brings up a web browser to
display the page.
* Fixed a bug in the relationship calculator that caused a traceback
when the person selected was a direct ancestor of the active person.
* Added the suffix field to the alternate name entry on the Edit Person
form.

View File

@ -1,65 +0,0 @@
Please read the COPYING file first.
If building from source, also read the HACKING file (at least through the
"SUPER-SHORT VERSION") before going further.
Requirements
--------------------------------
Python 1.5.2 or greater
Gnome 1.2 or greater
PyGnome 1.0.53 or greater
If you are using python 1.5.2, you may also need PyXML 0.6.2 or
greater. Many distributions already provide this, but if your
installation does not have it, you can get it from
http://sourceforge.net/project/showfiles.php?group_id=6473
Documentation
---------------------------------
Gramps documentation is supplied in the form of SGML files, which will be
installed in the GNOME help path(*). Recent versions of Nautilus and Galeon
can generate HTML on-the-fly documents from these. For more information on
building HTML files (including info about packages that do and do not work
with the documentation) see the INSTALL file. To generate HTML
documentation the following packages *MUST* installed:
* db2html >= 0.6.9 (jw >= 1.1) to convert the SGML -> HTML
* gnome-doc-tools-2-1 for the GNOME documentation style sheets
The former is part of the docbook-utils package, the latter can be found
from the developer section at gnome.org. (note that docbook-utils 0.6.10 is
buggy)
One also needs png support for sgml, which should be a part of the
gnome-doc-tools package. The /etc/sgml/catalog file should
contain an entry pointing to PNG support. If configured properly, your
db2html should automatically look up and use the /etc/sgml/catalog file.
Of course, current HTML documentation can also be found on the gramps website,
http://gramps.sourceforge.net/help.html
(*) More precisely, they are installed in ${prefix}/share/gnome/help, where
${prefix} is given by the --prefix= option to configure. If this is
different from where your standard GNOME installation looks for help files
and documentation, then set your GNOMEDIR environment variable to the
${prefix} path before starting gramps. For example, if you are installing
gramps in /usr/local/, then type the following:
in tcsh: setenv GNOMEDIR /usr/local/
in bash: GNOMEDIR=/usr/local/ ; export GNOMEDIR
Building on non-Linux systems: i18n support and GNU make
--------------------------------------------------------
Linux has libintl (GNU gettext) built-in the C library. Other systems
are likely to have libintl as a separate or optional library. Also,
other systems may have a different make utility.
On those systems, like FreeBSD, you must tell configure where to find
the libintl library and the libintl.h include file:
CPPFLAGS="-I/usr/local/include -L/usr/local/lib" ./configure --prefix=/usr/local
Once you have done this, if make fails, use gmake (the name FreeBSD
gives to GNU make) instead.
--------------------------------
Donald Allingham
dallingham@users.sourceforge.net

View File

@ -1,39 +0,0 @@
GRAMPS programming task list. These are tasks that would be nice if
someone would take over.
Note that most of the development effort is targeted at GNOME 2.
* Drag and drop should display the icon we are dragging instead of just
the default icon. Nautilus does this very effectively, and GTK has
support for this.
* Provide an "import" of a gramps package. Not too difficult to do this,
since there is already a ReadTarFile class which will unpackage the
file. Needs have an interface built around it.
* Finish the generic load of revision control interfaces to allow a
revision control plugin system. Most of the work is already done.
* Extend the gramps package exporting to export to a ISO-9660 CD-ROM
image. Thumbnails would need to be exported for this as well, since
the CD-ROM would be read-only after burning.
* Disable the save buttons if gramps database is marked read-only. Disable
the adding of media objects as well, since this will cause gramps to
try to create a thumbnail in a readonly database.
* OpenOffice zip file is not handled very gracefully. Uses the "system"
call to generate the zip file using the hard coded path of /usr/bin/zip.
Python 2.0 provides a zip interface, so this may need to hold off until
the move is made to Python 2.0.
* Startup tips.
* Captialize/Decapitalize names
* FIND by ID
* Better copy/paste handling
* Re-instate alternate names in the name list. This was dropped due to the
need to provide indexing tables to support ZODB.
* Provide an interface to GtkSpell, so that an integrated spelling checking
would be provided.
* Look at providing a backend interface to gnome-db, allowing real database
backends to be pluged into GRAMPS. Maybe replace the ZODB interface.
* Integrate gnome-print into GRAMPS. Currently an interface does not exist
to gnome-print in the gnome-python interface. This would allow print preview
and direct document printing.
* More report formats
* Look at integrating the layout engine from GraphViz, so that more complicated
layout schemes could be used.

939
gramps/aclocal.m4 vendored
View File

@ -1,939 +0,0 @@
# aclocal.m4 generated automatically by aclocal 1.6.2 -*- Autoconf -*-
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# Do all the work for Automake. -*- Autoconf -*-
# This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 8
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
AC_PREREQ([2.52])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
AM_PROG_INSTALL_SH
AM_PROG_INSTALL_STRIP
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_][CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_][CC],
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_][CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_][CXX],
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
])
])
# Copyright 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.6.2])])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
#
# Check to make sure that the build environment is sane.
#
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftest.file
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT(yes)])
# -*- Autoconf -*-
# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it supports --run.
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
AC_MSG_WARN([`missing' script is too old or missing])
fi
])
# AM_AUX_DIR_EXPAND
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is `.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
# Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])
AC_DEFUN([AM_AUX_DIR_EXPAND], [
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
])
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# AM_PROG_INSTALL_STRIP
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in `make install-strip', and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# serial 4 -*- Autoconf -*-
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX", "GCJ", or "OBJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
for depmode in $am_compiler_list; do
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
echo '#include "conftest.h"' > conftest.c
echo 'int i;' > conftest.h
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
case $depmode in
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
none) break ;;
esac
# We check with `-c' and `-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle `-M -o', and we need to detect this.
if depmode=$depmode \
source=conftest.c object=conftest.o \
depfile=conftest.Po tmpdepfile=conftest.TPo \
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
grep conftest.h conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_$1_dependencies_compiler_type=none
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
])
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
AC_DEFUN([AM_SET_DEPDIR],
[rm -f .deps 2>/dev/null
mkdir .deps 2>/dev/null
if test -d .deps; then
DEPDIR=.deps
else
# MS-DOS does not allow filenames that begin with a dot.
DEPDIR=_deps
fi
rmdir .deps 2>/dev/null
AC_SUBST([DEPDIR])
])
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE(dependency-tracking,
[ --disable-dependency-tracking Speeds up one-time builds
--enable-dependency-tracking Do not reject slow dependency extractors])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#serial 2
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named `Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
test -z "$DEPDIR" && continue
# When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n -e '/^U = / s///p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
for file in `sed -n -e '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
doit:
@echo done
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# We grep out `Entering directory' and `Leaving directory'
# messages which can occur if `w' ends up in MAKEFLAGS.
# In particular we don't look at `^make:' because GNU make might
# be invoked under some other name (usually "gmake"), in which
# case it prints its new name instead of `make'.
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
am__include=include
am__quote=
_am_result=GNU
fi
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
am__include=.include
am__quote="\""
_am_result=BSD
fi
fi
AC_SUBST(am__include)
AC_SUBST(am__quote)
AC_MSG_RESULT($_am_result)
rm -f confinc confmf
])
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 5
AC_PREREQ(2.52)
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE])
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional \"$1\" was never defined.
Usually this means the macro was only invoked conditionally.])
fi])])
# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# AM_PATH_PYTHON([MINIMUM-VERSION])
# Adds support for distributing Python modules and packages. To
# install modules, copy them to $(pythondir), using the python_PYTHON
# automake variable. To install a package with the same name as the
# automake package, install to $(pkgpythondir), or use the
# pkgpython_PYTHON automake variable.
# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
# locations to install python extension modules (shared libraries).
# Another macro is required to find the appropriate flags to compile
# extension modules.
# If your package is configured with a different prefix to python,
# users will have to add the install directory to the PYTHONPATH
# environment variable, or create a .pth file (see the python
# documentation for details).
# If the MINIUMUM-VERSION argument is passed, AM_PATH_PYTHON will
# cause an error if the version of python installed on the system
# doesn't meet the requirement. MINIMUM-VERSION should consist of
# numbers and dots only.
AC_DEFUN([AM_PATH_PYTHON],
[
dnl Find a Python interpreter. Python versions prior to 1.5 are not
dnl supported because the default installation locations changed from
dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
dnl in 1.5.
m4_define([_AM_PYTHON_INTERPRETER_LIST],
[python python2 python2.2 python2.1 python2.0 python1.6 python1.5])
m4_if([$1],[],[
dnl No version check is needed.
# Find any Python interpreter.
AC_PATH_PROG([PYTHON], _AM_PYTHON_INTERPRETER_LIST)],[
dnl A version check is needed.
if test -n "$PYTHON"; then
# If the user set $PYTHON, use it and don't search something else.
AC_MSG_CHECKING([whether $PYTHON version >= $1])
AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
[AC_MSG_RESULT(yes)],
[AC_MSG_ERROR(too old)])
else
# Otherwise, try each interpreter until we find one that satisfies
# VERSION.
AC_CACHE_CHECK([for a Python interpreter with version >= $1],
[am_cv_pathless_PYTHON],[
for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST : ; do
if test "$am_cv_pathless_PYTHON" = : ; then
AC_MSG_ERROR([no suitable Python interpreter found])
fi
AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
done])
# Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
fi
])
dnl Query Python for its version number. Getting [:3] seems to be
dnl the best way to do this; it's what "site.py" does in the standard
dnl library.
AC_CACHE_CHECK([for $am_cv_pathless_PYTHON version], [am_cv_python_version],
[am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`])
AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
dnl Use the values of $prefix and $exec_prefix for the corresponding
dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
dnl distinct variables so they can be overridden if need be. However,
dnl general consensus is that you shouldn't need this ability.
AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
dnl At times (like when building shared libraries) you may want
dnl to know which OS platform Python thinks this is.
AC_CACHE_CHECK([for $am_cv_pathless_PYTHON platform],
[am_cv_python_platform],
[am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`])
AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
dnl Set up 4 directories:
dnl pythondir -- where to install python scripts. This is the
dnl site-packages directory, not the python standard library
dnl directory like in previous automake betas. This behaviour
dnl is more consistent with lispdir.m4 for example.
dnl
dnl Also, if the package prefix isn't the same as python's prefix,
dnl then the old $(pythondir) was pretty useless.
AC_SUBST([pythondir],
[$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages])
dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
dnl more consistent with the rest of automake.
dnl Maybe this should be put in python.am?
AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
dnl pyexecdir -- directory for installing python extension modules
dnl (shared libraries) Was PYTHON_SITE_EXEC in previous betas.
AC_SUBST([pyexecdir],
[${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages])
dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
dnl Maybe this should be put in python.am?
AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
])
# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
# ---------------------------------------------------------------------------
# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
# Run ACTION-IF-FALSE otherwise.
# This test uses sys.hexversion instead of the string equivalant (first
# word of sys.version), in order to cope with versions such as 2.2c1.
# hexversion has been introduced in Python 1.5.2; it's probably not
# worth to support older versions (1.5.1 was released on October 31, 1998).
AC_DEFUN([AM_PYTHON_CHECK_VERSION],
[prog="import sys, string
# split strings by '.' and convert to numeric. Append some zeros
# because we need at least 4 digits for the hex conversion.
minver = map(int, string.split('$2', '.')) + [[0, 0, 0]]
minverhex = 0
for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]]
sys.exit(sys.hexversion < minverhex)"
AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# AM_RUN_LOG(COMMAND)
# -------------------
# Run COMMAND, save the exit status in ac_status, and log it.
# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
AC_DEFUN([AM_RUN_LOG],
[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
(exit $ac_status); }])

View File

@ -1,96 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
# shamelessly borrowed and hacked from the Galeon source distribution
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="gramps"
(test -f $srcdir/configure.in \
&& test -f $srcdir/src/gramps_main.py) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
DIE=0
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`autoconf' installed to compile $PKG_NAME."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}
(automake --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`automake' installed to compile $PKG_NAME."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.6.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
NO_AUTOMAKE=yes
}
# if no automake, don't bother testing for aclocal
test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: Missing \`aclocal'. The version of \`automake'"
echo "installed doesn't appear recent enough."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.6.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
if test "$DIE" -eq 1; then
exit 1
fi
if test -z "$*"; then
echo "**Warning**: I am going to run \`configure' with no arguments."
echo "If you wish to pass any to it, please specify them on the"
echo \`$0\'" command line."
echo
fi
case $CC in
xlc )
am_opt=--include-deps;;
esac
dr=$srcdir
echo processing $dr
( cd $dr
aclocalinclude="$ACLOCAL_FLAGS"
echo "Running aclocal $aclocalinclude ..."
aclocal $aclocalinclude || {
echo
echo "**Error**: aclocal failed. This may mean that you have not"
echo "installed all of the packages you need, or you may need to"
echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\""
echo "for the prefix where you installed the packages whose"
echo "macros were not found"
exit 1
}
echo "Running automake --gnu $am_opt ..."
automake --add-missing --gnu $am_opt ||
{ echo "**Error**: automake failed."; exit 1; }
echo "Running autoconf ..."
autoconf || { echo "**Error**: autoconf failed."; exit 1; }
) || exit 1
echo "Setting py-compile script executable ..."
chmod 755 py-compile
if test x$NOCONFIGURE = x; then
echo Running $srcdir/configure $conf_flags "$@" ...
$srcdir/configure $conf_flags "$@" \
&& echo Now type \`make\' to compile $PKG_NAME || exit 1
else
echo Skipping configure process.
fi

5114
gramps/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,348 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
dnl May need to run automake && aclocal first
AC_INIT(src/gramps.py)
AM_INIT_AUTOMAKE(gramps, 0.8.1)
RELEASE=pl1
VERSIONSTRING=$VERSION
if test x"$RELEASE" != "x"
then
VERSIONSTRING="$VERSION-$RELEASE"
fi
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(RELEASE)
AC_SUBST(VERSIONSTRING)
AC_PATH_PROG(MSGFMT, msgfmt)
AC_SUBST(MSGFMT)
LANGUAGES="sv de fr es it pt_BR ru da_DK cs pl"
AC_SUBST(LANGUAGES)
DISTLANGS=
POFILES=
MOFILES=
for lang in $LANGUAGES; do
POFILES="$POFILES $lang.po"
MOFILES="$MOFILES $lang.mo"
done
AC_SUBST(POFILES)
AC_SUBST(MOFILES)
dnl Checks for programs.
dnl We first only check for python >= 1.5
AM_PATH_PYTHON(1.5)
dnl override automatic python detection with our own place
pythondir=\${prefix}/share
pyexecdir=\${prefix}/share
pkgpythondir=\${prefix}/share/\${PACKAGE}
pkgpyexecdir=\${prefix}/share/\${PACKAGE}
AC_PATH_PROG(BINSH, sh)
changequote(<<, >>)dnl
PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
changequote([, ])dnl
if test "$PYTHON_VERSION" != "1.5"
then
AC_PATH_PROG(PYTHON15, python1.5)
else
PYTHON15=$PYTHON
fi
if test "$PYTHON_VERSION" != "2.0"
then
AC_PATH_PROG(PYTHON20, python2.0)
else
PYTHON20=$PYTHON
fi
if test "$PYTHON_VERSION" != "2.1"
then
AC_PATH_PROG(PYTHON21, python2.1)
else
PYTHON21=$PYTHON
fi
if test "$PYTHON_VERSION" != "2.2"
then
AC_PATH_PROG(PYTHON22, python2.2)
else
PYTHON22=$PYTHON
fi
AC_PATH_PROG(ZIP, zip)
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_CC
AC_CHECK_HEADER(libintl.h)
AC_CHECK_LIB(c,textdomain,LIBS="",
[ AC_CHECK_LIB(intl,textdomain,
LIBS="-lintl",
AC_MSG_ERROR("Could not find internationalization libraries"))
])
dnl Check for programs
AC_CHECK_PROG(HAVE_GNOME_CONFIG, gnome-config, "YES", "NO")
GNOMEHELP=`gnome-config --prefix`
dnl Check if python bindings for gtk are installed
AC_MSG_CHECKING(Python bindings for sax/xml)
changequote(,)
cat > conftest.py <<EOF
try:
from xml.sax import make_parser, handler
f = open("conftest.out", "w")
f.write("YES")
f.close()
except ImportError:
try:
from _xmlplus.sax import make_parser, handler
f = open("conftest.out", "w")
f.write("YES")
f.close()
except ImportError:
f = open("conftest.out", "w")
f.write("NO")
f.close()
EOF
changequote([, ])
$PYTHON conftest.py
has_sax=`cat conftest.out`
rm -f conftest.out conftest.py
if test "YES" != $has_sax
then
AC_MSG_ERROR([
**** The python interpreter can't find the SAX/XML bindings.])
fi
AC_MSG_RESULT(ok)
AC_MSG_CHECKING(Python bindings for gtk+)
changequote(,)
cat > conftest.py <<EOF
try:
import gtk
f = open("conftest.out", "w")
f.write("YES")
f.close()
except ImportError:
f = open("conftest.out", "w")
f.write("NO")
f.close()
EOF
changequote([, ])
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test "YES" != $has_pygtk
then
AC_MSG_ERROR([
**** The python interpreter can't find the python bindings for gtk.])
fi
AC_MSG_RESULT(ok)
AC_MSG_CHECKING(Python bindings for GNOME)
changequote(,)
cat > conftest.py <<EOF
try:
import gnome, gnome.ui
f = open("conftest.out", "w")
f.write("YES")
f.close()
except ImportError:
f = open("conftest.out", "w")
f.write("NO")
f.close()
EOF
changequote([, ])
$PYTHON conftest.py
has_pygnome=`cat conftest.out`
rm -f conftest.out conftest.py
if test "YES" != $has_pygnome
then
AC_MSG_ERROR([
**** The python interpreter can't find the python bindings for GNOME.])
fi
AC_MSG_RESULT(ok)
AC_MSG_CHECKING(Python/libglade bindings)
changequote(,)
cat > conftest.py <<EOF
try:
import libglade
f = open("conftest.out", "w")
f.write("YES")
f.close()
except ImportError:
f = open("conftest.out", "w")
f.write("NO")
f.close()
EOF
changequote([, ])
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test "YES" != $has_pygtk
then
AC_MSG_ERROR([
**** The python interpreter can't find the python bindings for libglade.])
fi
AC_MSG_RESULT(ok)
AC_MSG_CHECKING(Python/GNOME bindings for libglade)
changequote(,)
cat > conftest.py <<EOF
try:
import _gladegnome
f = open("conftest.out", "w")
f.write("YES")
f.close()
except ImportError:
f = open("conftest.out", "w")
f.write("NO")
f.close()
EOF
changequote([, ])
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test "YES" != $has_pygtk
then
AC_MSG_ERROR([
**** The python interpreter can't find the GNOME bindings for libglade.])
fi
AC_MSG_RESULT(ok)
dnl Checks for libraries.
dnl Checks for header files.
AC_MSG_CHECKING(for headers required to compile python extensions)
if test "$PYTHON15" != ""; then
py_prefix=`$PYTHON15 -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON15 -c "import sys; print sys.exec_prefix"`
P15_INCLUDES="-I${py_prefix}/include/python1.5"
if test -f "${py_exec_prefix}/include/python1.5/Python.h"
then
INTLLIBS="intl15.so "
fi
fi
if test "$PYTHON20" != ""; then
py_prefix=`$PYTHON20 -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON20 -c "import sys; print sys.exec_prefix"`
P20_INCLUDES="-I${py_prefix}/include/python2.0"
if test -f "${py_exec_prefix}/include/python2.0/Python.h"
then
INTLLIBS="${INTLLIBS}intl20.so "
fi
fi
if test "$PYTHON21" != ""; then
py_prefix=`$PYTHON21 -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON21 -c "import sys; print sys.exec_prefix"`
P21_INCLUDES="-I${py_prefix}/include/python2.1"
if test "$py_prefix" != "$py_exec_prefix"; then
P21_INCLUDES="$P21_INCLUDES -I${py_exec_prefix}/include/python2.1"
fi
if test -f "${py_exec_prefix}/include/python2.1/Python.h"
then
INTLLIBS="${INTLLIBS}intl21.so "
fi
fi
if test "$PYTHON22" != ""; then
py_prefix=`$PYTHON22 -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON22 -c "import sys; print sys.exec_prefix"`
P22_INCLUDES="-I${py_prefix}/include/python2.2"
if test "$py_prefix" != "$py_exec_prefix"; then
P22_INCLUDES="$P22_INCLUDES -I${py_exec_prefix}/include/python2.2"
fi
if test -f "${py_exec_prefix}/include/python2.2/Python.h"
then
INTLLIBS="${INTLLIBS}intl22.so "
fi
fi
AC_MSG_RESULT(ok)
dnl ======================================================
dnl == Modern documentation tools (scrollkeeper) checks
dnl == We may need a more recent version (GNOME2 will use
dnl == scrollkeeper > 0.3) but basic scrollkeeper instructions
dnl == use 0.1.4 example so we'll just check for that
dnl ======================================================
SCROLLKEEPER_REQUIRED=0.1.4
AC_SUBST(SCROLLKEEPER_REQUIRED)
dnl First see that *some* version of scrollkeeper is installed
AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config, no)
if test x$SCROLLKEEPER_CONFIG = xno; then
AC_MSG_ERROR(Couldn't find scrollkeeper-config. Please install the scrollkeeper package.)
DISABLE_SCROLLKEEPER=1
AC_SUBST(DISABLE_SCROLLKEEPER)
fi
dnl ======================================================
dnl == GNOME modified DTD's need jw, not db2html
dnl ======================================================
AC_PATH_PROG(JW, jw, no)
if test x$JW = xno; then
HAVE_JW="no"
else
HAVE_JW="yes"
fi
AC_SUBST(HAVE_JW)
dnl ======================================================
dnl == end of modern doc tests
dnl ======================================================
AC_SUBST(BINSH)
AC_SUBST(PYTHON)
AC_SUBST(PYTHON_VERSION)
AC_SUBST(GNOMEHELP)
AC_SUBST(LIBS)
AC_SUBST(P15_INCLUDES)
AC_SUBST(P20_INCLUDES)
AC_SUBST(P21_INCLUDES)
AC_SUBST(P22_INCLUDES)
AC_SUBST(INTLLIBS)
AC_OUTPUT([
Makefile
src/Makefile
src/const.py
src/docgen/Makefile
src/filters/Makefile
src/plugins/Makefile
src/data/Makefile
src/data/templates/Makefile
src/po/Makefile
doc/Makefile
doc/gramps-manual/Makefile
doc/gramps-manual/C/Makefile
doc/extending-gramps/Makefile
doc/extending-gramps/C/Makefile
omf-install/Makefile
gramps.spec
gramps.sh])

View File

@ -1,11 +0,0 @@
# Process this file with automake to produce Makefile.in
SUBDIRS = gramps-manual extending-gramps
man_IN_FILES = gramps.1.in
man_MANS = ${man_IN_FILES:.1.in=.1}
EXTRA_DIST = $(man_MANS) $(man_IN_FILES) sgmldocs.make
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=doc/$@ $(SHELL) ./config.status

View File

@ -1,412 +0,0 @@
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# Process this file with automake to produce Makefile.in
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BINSH = @BINSH@
CC = @CC@
DEPDIR = @DEPDIR@
DISABLE_SCROLLKEEPER = @DISABLE_SCROLLKEEPER@
GNOMEHELP = @GNOMEHELP@
HAVE_GNOME_CONFIG = @HAVE_GNOME_CONFIG@
HAVE_JW = @HAVE_JW@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
JW = @JW@
LANGUAGES = @LANGUAGES@
LIBS = @LIBS@
MOFILES = @MOFILES@
MSGFMT = @MSGFMT@
P15_INCLUDES = @P15_INCLUDES@
P20_INCLUDES = @P20_INCLUDES@
P21_INCLUDES = @P21_INCLUDES@
P22_INCLUDES = @P22_INCLUDES@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PYTHON = @PYTHON@
PYTHON15 = @PYTHON15@
PYTHON20 = @PYTHON20@
PYTHON21 = @PYTHON21@
PYTHON22 = @PYTHON22@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RELEASE = @RELEASE@
SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@
SCROLLKEEPER_REQUIRED = @SCROLLKEEPER_REQUIRED@
STRIP = @STRIP@
VERSION = @VERSION@
VERSIONSTRING = @VERSIONSTRING@
ZIP = @ZIP@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
SUBDIRS = gramps-manual extending-gramps
man_IN_FILES = gramps.1.in
man_MANS = ${man_IN_FILES:.1.in=.1}
EXTRA_DIST = $(man_MANS) $(man_IN_FILES) sgmldocs.make
subdir = doc
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
NROFF = nroff
MANS = $(man_MANS)
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = Makefile.am Makefile.in
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
man1dir = $(mandir)/man1
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(MANS)
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(man1dir)
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am: install-man
install-exec-am:
install-info: install-info-recursive
install-man: install-man1
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-man
uninstall-info: uninstall-info-recursive
uninstall-man: uninstall-man1
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive distclean distclean-generic \
distclean-recursive distclean-tags distdir dvi dvi-am \
dvi-recursive info info-am info-recursive install install-am \
install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-man1 install-recursive install-strip installcheck \
installcheck-am installdirs installdirs-am \
installdirs-recursive maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive tags tags-recursive uninstall \
uninstall-am uninstall-info-am uninstall-info-recursive \
uninstall-man uninstall-man1 uninstall-recursive
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=doc/$@ $(SHELL) ./config.status
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,10 +0,0 @@
SGML_FILES =
figs =
docname = extending-gramps
lang = C
omffile = extending-gramps-C.omf
sgml_ents =
include ${top_srcdir}/doc/sgmldocs.make
dist-hook: app-dist-hook

View File

@ -1,243 +0,0 @@
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BINSH = @BINSH@
CC = @CC@
DEPDIR = @DEPDIR@
DISABLE_SCROLLKEEPER = @DISABLE_SCROLLKEEPER@
GNOMEHELP = @GNOMEHELP@
HAVE_GNOME_CONFIG = @HAVE_GNOME_CONFIG@
HAVE_JW = @HAVE_JW@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
JW = @JW@
LANGUAGES = @LANGUAGES@
LIBS = @LIBS@
MOFILES = @MOFILES@
MSGFMT = @MSGFMT@
P15_INCLUDES = @P15_INCLUDES@
P20_INCLUDES = @P20_INCLUDES@
P21_INCLUDES = @P21_INCLUDES@
P22_INCLUDES = @P22_INCLUDES@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PYTHON = @PYTHON@
PYTHON15 = @PYTHON15@
PYTHON20 = @PYTHON20@
PYTHON21 = @PYTHON21@
PYTHON22 = @PYTHON22@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RELEASE = @RELEASE@
SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@
SCROLLKEEPER_REQUIRED = @SCROLLKEEPER_REQUIRED@
STRIP = @STRIP@
VERSION = @VERSION@
VERSIONSTRING = @VERSIONSTRING@
ZIP = @ZIP@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
SGML_FILES =
figs =
docname = extending-gramps
lang = C
omffile = extending-gramps-C.omf
sgml_ents =
subdir = doc/extending-gramps/C
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/extending-gramps/C/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="${top_distdir}" distdir="$(distdir)" \
dist-hook
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic uninstall uninstall-am uninstall-info-am
include ${top_srcdir}/doc/sgmldocs.make
dist-hook: app-dist-hook
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,17 +0,0 @@
<?xml version="1.0" standalone="no"?>
<omf>
<resource>
<creator>
Donald N. Allingham (dallingham@users.sourceforge.net)
</creator>
<title>
Writing GRAMPS Extensions
</title>
<date>2002-03-29</date>
<subject category="GNOME|Applications"/>
<format mime="text/sgml"/>
<identifier url="extending-gramps.sgml"/>
<language code="C"/>
<relation seriesid="6d396638-bc35-11d6-8a4f-87450c73d5e0"/>
</resource>
</omf>

View File

@ -1,774 +0,0 @@
<!DOCTYPE article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
<!ENTITY version "0.5.0"> <!-- replace with application version -->
]>
<!-- =============Document Header ============================= -->
<article id="index"> <!-- please do not change the id -->
<artheader>
<title>Writing Extentions for gramps</title>
<copyright>
<year>2001</year>
<holder>Donald N. Allingham</holder>
</copyright>
<!-- translators: uncomment this:
<copyright>
<year>2001</year>
<holder>ME-THE-TRANSLATOR (Latin translation)</holder>
</copyright>
-->
<!-- do not put authorname in the header except in copyright - use
section "authors" below -->
<!-- Use this legal notice for online documents which depend on -->
<!-- core GNOME packages. -->
<legalnotice id="legalnotice">
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the <ulink type="help"
url="gnome-help:fdl"><citetitle>GNU Free Documentation
License</citetitle></ulink>, Version 1.1 or any later version
published by the Free Software Foundation with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy
of the license can be found <ulink type="help"
url="gnome-help:fdl">here</ulink>.
</para>
<para>
Many of the names used by companies to distinguish their products
and services are claimed as trademarks. Where those names appear
in any GNOME documentation, and those trademarks are made aware to
the members of the GNOME Documentation Project, the names have
been printed in caps or initial caps.
</para>
</legalnotice>
<!-- Use this legal notice for documents which are placed on -->
<!-- the web, shipped in any way other than online documents -->
<!-- (eg. PS, PDF, or RTF), or which do not depend on the -->
<!-- core GNOME distribution. -->
<!-- -->
<!-- If you use this version, you must place the following -->
<!-- line in the document declaration at the top of your -->
<!-- document: -->
<!-- <!ENTITY FDL SYSTEM "fdl.sgml"> -->
<!-- and the following line at the bottom of your document -->
<!-- after the last </sect1>. -->
<!-- &FDL; -->
<!--
<legalnotice id="legalnotice">
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the <link linkend="fdl"><citetitle>GNU
Free Documentation License</citetitle></link>, Version 1.1 or any
later version published by the Free Software Foundation with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license can be found in <xref linkend="fdl">.
</para>
<para>
Many of the names used by companies to distinguish their products
and services are claimed as trademarks. Where those names appear
in any GNOME documentation, and those trademarks are made aware to
the members of the GNOME Documentation Project, the names have
been printed in caps or initial caps.
</para>
</legalnotice>
-->
<!-- This is the manual version, not application version. -->
<releaseinfo>
This is version 1.0 of the Writing Extentions for gramps manual.
</releaseinfo>
</artheader>
<!-- ============= Introduction ============================== -->
<sect1 id="intro">
<title>Introduction</title>
<para>
<application>gramps</application> was intended from the start to
allow the user to extend it through a plugin system. Five types of
plugins are supported - filters, reports, tools, import filters,
and export filters. In a way, an export filter can be viewed as a
special type of report, and an import filter can be viewed as a
special type of tool.
</para>
<para>
All plugins are written in the <application>python</application>
language.
</para>
<sect2 id="intro-filter">
<title>Filters</title>
<para>
A filter is a plugin that be used to temporarily display or hide
individuals in the <interface>People View</interface>. The
filter is the simplest form of plugin, which only needs to
determine if a person meets or fails to meet its criteria. It
operates on a single person at a time.
</para>
<para>
Filters should never alter a database.
</para>
</sect2>
<sect2 id="intro-report">
<title>Reports</title>
<para>
A report is a plugin that generates output. The output may be in
either a interactive, graphical form, or as an output
file. Report plugins are passed a reference to the internal
database and a reference to the active person, which allows the
plugn to operate on a single person, the entire database, or
anything in between.
</para>
<para>
Plugins that conform to the reportplugin interface appear in the
<menuchoice>
<guimenu>Reports</guimenu>
</menuchoice>
menu and in the <interface>Report Selection</interface> dialog
box.
</para>
<para>
A report should never alter the database.
</para>
</sect2>
<sect2 id="intro-tool">
<title>Tools</title>
<para>
A tool is a plugin that alters the database. It may perform
something as small changing the case of some text to something
as complex as merging redundant individuals. Tools plugins are
passed a reference to the internal database, the active person,
and a callback function. The callback function is used to notify
the main program if it needs to update the display with any
modified information.
</para>
<para>
Plugins that conform to the tool plugin interface appear in the
<menuchoice>
<guimenu>Tools</guimenu>
</menuchoice>
menu and in the <interface>Tool Selection</interface> dialog
box.
</para>
<para>
A tool is allowed (and usually expected) to alter the database.
</para>
</sect2>
<sect2 id="intro-import">
<title>Import Filters</title>
<para>
An import filter is a plugin that adds information from another
source to the database. It is similar to a tool, but is called
differently to allow gramps to distinguish it from a tool.
</para>
<para>
Plugins that conform to the import filter calling syntax appear
in the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Import</guisubmenu>
</menuchoice>
menu.
</para>
<para>
An import filter is allowed to modify the database.
</para>
</sect2>
<sect2 id="intro-export">
<title>Export Filters</title>
<para>
An export filter is a plugin that translates the gramps database
into the format expected by another program. Since it generates
an output file, it is similar to a report generator. However,
its calling syntax is different, so that gramps knows how to
distiguish it from a report generator.
</para>
<para>
Plugins that conform to the export filter calling syntax appear
in the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Export</guisubmenu>
</menuchoice>
menu.
</para>
<para>
An export filter should not alter the database.
</para>
</sect2>
</sect1>
<!-- ============= Writing Filters ============================= -->
<sect1 id="writingfilters">
<title>Writing Filters</title>
<para>
Users can create their own filters and add them to
<application>gramps</application>. By adding the filter to the
user's private filter directory (<filename
class="directory">~/.gramps/filters</filename>), the filter will
be automatically recognized the next time that the program is
started.
</para>
<sect2 id="createfilter">
<title>Creating a filter</title>
<para>
Each filter is a class derived from the
<function>Filter.Filter</function> class. The
<function>__init__</function> task may be overridden, but if so,
should call the <function>__init__</function> function on the
<function>Filter.Filter</function> class. The parent class
provides the variable <function>self.text</function>, which
contains the text string passed as the qualifier. This string
provides additional information provided by the user. For
example, if the filter is used to match names, the qualifier
would be used to provide the name that is being compared
against.
</para>
<para>
All filter classes must define a <function>match</function>
function. The function takes one argument (other than
<function>self</function>), which is an object of type
<function>Person</function> to compare against. The function
should return a 1 if the person matches the filter, or a zero if
the person does not.
</para>
<para>
Each filter must be registered, so that
<application>gramps</application> knows about it. This is
accomplished by calling the
<function>Filter.register_filter</function> function. This
function takes three arguments - the filter class, a
description, and flag that indicates if the qualifier string is
needed. The description string appears in the pull down
interface within <application>gramps</application>, and helps
the user choose the appropriate filter. The qualifier flag tells
<application>gramps</application> whether or not the filter
needs a qualifier string. If this flag is 0,
<application>gramps</application> will disable the entry of a
qualifier string.
</para>
<figure id="filtersrc">
<title>Sample filter implementation</title>
<programlisting>
import Filter
import string
# class definition
class SubString(Filter.Filter):
def match(self,person):
name = person.getPrimaryName().getName()
return string.find(name,self.text) >= 0
Filter.register_filter(SubString,
description="Names that contain a substring",
qualifier=1)
</programlisting>
</figure>
</sect2>
</sect1>
<!-- ============= Writing Reports ============================= -->
<sect1 id="writingreports">
<title>Writing Reports</title>
<para>
Users can create their own report generators and add them to
<application>gramps</application>. By adding the report generator
to the user's private plugin directory (<filename
class="directory">~/.gramps/plugins</filename>), the report
generator will be automatically recognized the next time that the
program is started.
</para>
<sect2 id="createreport">
<title>Creating a report generator</title>
<para>
Fewer restrictions are made on report generators than on
filters. The report generator is passed the current
<application>gramps</application> database and the active
person. The generator needs to take special care to make sure
that it does not alter the database in anyway.
</para>
<para>
A report generator is a function that takes two arguments
&mdash; a database (of type <function>RelDataBase</function>)
and the currently selected person (of type
<function>Person</function>). When called, this task should
generate the desired report.
</para>
<para>
This function's implementation can be as simple as generating
output without the user's intervention, or it could display a
graphical interface to allow the user to select options and
customize a report.
</para>
<para>
As with filters, the report generator must be registered before
<application>gramps</application> will understand it. The report
generator is registered using the
<function>Plugins.register_report</function>. This function
takes five arguments.
</para>
<itemizedlist>
<listitem>
<para>
<guilabel>The report generation task</guilabel> This task
that generates the report.
</para>
</listitem>
<listitem>
<para>
<guilabel>The report category</guilabel> The category in
which the report is grouped in the
<menuchoice><guimenu>Reports</guimenu></menuchoice> menu and
in the <interface>Report Selection</interface> dialog.
</para>
</listitem>
<listitem>
<para>
<guilabel>The report name</guilabel>
The name of the report.
</para>
</listitem>
<listitem>
<para>
<guilabel>A text description of the report</guilabel> The
description appears in the report selection tool to provide
the user with a description of what the tools does.
</para>
</listitem>
<listitem>
<para>
<guilabel>A graphic logo in XPM format</guilabel> This may
be either a path to a filename, or a list of strings
containting the XPM data. If a filename is specified, care
must be taken to make sure the file location is relocatable
and can be determined at runtime.
</para>
</listitem>
</itemizedlist>
<para>
While only the task and report name are required, it is
recommended to provide all five parameters.
</para>
<figure id="reportsrc">
<title>Sample report implementation</title>
<programlisting>
import Plugins
def report(database,person):
... actual code ...
Plugins.register_report(
task=report,
category="Category",
name="Report Name",
description="A text descripition of the report generator",
xpm="%s/myfile.xpm" % os.path.dirname(__file__)
)
</programlisting>
</figure>
</sect2>
<sect2 id="alittlehelp">
<title>A little help - Format Interfaces</title>
<para>
<application>gramps</application> provides some help with
writing reports. Several generic python classes exist that aid
in the writing of report generators. These classes provide an
abstract interface for a type of document, such as a drawing,
word processor document, or a spreadsheet. From these core
classes, <application>gramps</application> derives interfaces to
various document formats. This means that by coding to the
generic word processing class (<function>TextDoc</function>), a
report generator can instant access to multiple file formats
(such as HTML, OpenOffice, and AbiWord).
</para>
<para>
This scheme of deriving a output format from a generic base
class also makes it easier to add new formats. Creating a new
derivied class targeting a different format (such as
<application>KWord</application> or
<application>LaTeX</application>) makes it easy for existing
report generators to use the new formats.
</para>
</sect2>
</sect1>
<!-- ============= Writing Tools ============================= -->
<sect1 id="writingtools">
<title>Writing Tools</title>
<para>
Users can create their own tools and add them to
<application>gramps</application>. By adding the tool to the
user's private plugin directory (<filename
class="directory">~/.gramps/plugins</filename>), the tool will be
automatically recognized the next time that
<application>gramps</application> is started.
</para>
<para>
Unlike a report generator, a tool is allowed to modify the
database. The tool is passed the current
<application>gramps</application> database, the active person,
and a callback function. The callback function should be called
with a non-zero argument upon completion of the tool if the
database has been altered.
</para>
<para>
As with filters and report generators, tools must be registered
before <application>gramps</application> will understand it. The
tool is registered using the
<function>Plugins.register_tool</function>. This function takes
four arguments.
</para>
<itemizedlist>
<listitem>
<para>
<guilabel>The tool task</guilabel> This task
that executes the tool.
</para>
</listitem>
<listitem>
<para>
<guilabel>The tool category</guilabel> The category in which
the tool is grouped in the
<menuchoice><guimenu>Tools</guimenu></menuchoice> menu and in
the <interface>Tool Selection</interface> dialog.
</para>
</listitem>
<listitem>
<para>
<guilabel>The tool name</guilabel>
The name of the tool.
</para>
</listitem>
<listitem>
<para>
<guilabel>A text description of the tool</guilabel> The
description appears in the Tool Selection dialog to provide
the user with a description of what the tool does.
</para>
</listitem>
</itemizedlist>
<para>
While only the task and report name are required, it is
recommended to provide all five parameters.
</para>
<figure id="toolsrc">
<title>Sample tool implementation</title>
<programlisting>
import Plugins
def tool(database,person,callback):
... actual code ...
callback(1)
Plugins.register_tool(
task=tool,
category="Category",
name="Tool Name",
description="A text descripition of the tool"
)
</programlisting>
</figure>
</sect1>
<!-- ============= Import Filters ============================= -->
<sect1 id="writingimportfilters">
<title>Writing Import Filters</title>
<para>
Import filters are similar to tools, since they are allowed to
modify the databases. An import filter is a task that accepts
three arguments &mdash; a database, the filename of the file that
is to be imported, and a callback function.
</para>
<para>
The database may or may not have data already in it. The import
filter cannot assume that data neither already exists nor that the
database is empty.
</para>
<para>
The callback function is different from the callback function used
for tools. The import filter's callback function is used to
indicate progress and update the status bar during the import
process. The function takes a value between 0.0 and 1.0, where 0.0
represents the start of the import and 1.0 represents the
completion of the import.
</para>
<para>
As with the other plugin types, an import filter must be
registered with <application>gramps</application>. This is
accomplished by calling the
<function>Plugins.register_import</function> task. The
<function>Plugins.register_import</function> accepts two arguments
&mdash; the function the performs the import and a string
providing a brief description. This description is used as the
menu entry under the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Import</guisubmenu>
</menuchoice>
menu.
</para>
<figure id="importexample">
<title>Sample Import Implementation</title>
<programlisting>
import Plugins
def gedcom_import(database,filename,callback):
... actual code ...
Plugins.register_import(gedcom_import,"GEDCOM import")
</programlisting>
</figure>
</sect1>
<!-- ============= Export Filters ============================= -->
<sect1 id="writingexportfilters">
<title>Writing Export Filters</title>
<para>
Export filters are similar to report generators. They are not
allowed to modify the database. An export filter accepts three
arguments &mdash; a database, the filename of the file that is to
be written, and a callback function.
</para>
<para>
The callback function is indentical from the callback function
used for import filters. The export filter's callback function is
used to indicate progress and update the status bar during the
export process. The function takes a value between 0.0 and 1.0,
where 0.0 represents the start of the export and 1.0 represents
the completion of the export.
</para>
<para>
As with the other plugin types, an export filter must be
registered with <application>gramps</application>. This is
accomplished by calling the
<function>Plugins.register_export</function> task. The
<function>Plugins.register_export</function> accepts two arguments
&mdash; the function the performs the import and a string
providing a brief description. This description is used as the
menu entry under the
<menuchoice>
<guimenu>File</guimenu>
<guisubmenu>Export</guisubmenu>
</menuchoice>
menu.
</para>
<figure id="exportexample">
<title>Sample Export Implementation</title>
<programlisting>
import Plugins
def gedcom_export(database,filename,callback):
... actual code ...
Plugins.register_export(gedcom_export,"GEDCOM export")
</programlisting>
</figure>
</sect1>
<sect1 id="commontasks">
<title>Common tasks</title>
<para>
While this manual does not document the
<application>gramps</application> database interface, this section
shows a few common tasks.
</para>
<sect2 id="gettingnames">
<title>Printing names of people</title>
<para>
This example shows how to display the name of people in the
database. It assumes that the database is called
<function>db</function>. To get a list of people, it calls the
<function>getPersonMap</function> method, which returns a map of
<application>gramps</application> ID to
<function>Person</function> objects. Calling the
<function>valus</function> method of the returned map returns a
list of people. For each person, the primary name is extracted,
and then the <function>Name</function> object's
<function>getName</function> method is called to build a
presentable name from the individual name components.
</para>
<figure id="displaynames">
<title>Displaying names</title>
<programlisting>
for person in db.getPersonMap().values():
name = person.getPrimaryName()
print name.getName()
</programlisting>
</figure>
</sect2>
<sect2 id="listingevents">
<title>Displaying the events of person</title>
<para>
This example shows how to display the public events associated
with a person. It assumes that the person is called
<function>person</function>.
</para>
<figure id="eventexample">
<title>Displaying Event Information</title>
<programlisting>
for event in person.getEventList():
if event.getPrivacy() == 0:
print "Event:",event.getName()
print "Date:",event.getDate()
print "Place:",event.getPlaceName()
</programlisting>
</figure>
</sect2>
<sect2 id="printfamily">
<title>Print the members of each family</title>
<para>
This example shows how to display the parents and children of
each family in the database. It assumes that the database is called
<function>db</function>.
</para>
<figure id="familyexample">
<title>Displaying Family Information</title>
<programlisting>
for family in db.getFamilyMap().values:
print "-------------------"
print "Family ID:",family.getId()
father = family.getFather()
if father != None:
print "Father:",father.getPrimaryName().getName()
mother = family.getMother()
if mother != None:
print "Mother:",mother.getPrimaryName().getName()
for child in family.getChildList():
print "Child:",child.getPrimaryName().getName()
</programlisting>
</figure>
</sect2>
<sect2 id="personsfamily">
<title>Display the marriages/relationships of a person</title>
<para>
This example shows how to display the families and relationships
in which the person is considered a spouse or parent. It assumes
that the person is called <function>person</function>.
</para>
<para>
Relationships between people can be complex. Because someone is
male, does not necessarily mean that the person will be
considered the "Father" of a relationship. In relationships of
type "Partners", the "father" and "mother" of the relationship
should be of the same gender. So to determine the spouse of a
person, it is usually best to compare the person against what is
returned by <function>getFather</function> and
<function>getMother</function> to find the one that is not
equal. It should also be noted that the
<function>getFather</function> and
<function>getMother</function> methods will return None if noone
has been associated with that role in the family.
</para>
<figure id="relexample">
<title>Displaying Relationship Information</title>
<programlisting>
for family in person.getFamilyList():
print "-------------------"
print "Family ID:",family.getId()
print "Relationship Type:",family.getRelationship()
father = family.getFather()
if father != None and father != person:
print "Spouse:",father.getPrimaryName().getName()
mother = family.getMother()
if mother != None and mother != person:
print "Spouse:",mother.getPrimaryName().getName()
</programlisting>
</figure>
</sect2>
</sect1>
<!-- ============= Authors ================================ -->
<sect1 id="authors">
<title>Authors</title>
<para>
<application>gramps</application> was written by Don Allingham
(<email>dallingham@users.sourceforge.net</email>). To find more
information about <application>gramps</application>, please visit
the <ulink url="http://gramps.sourceforge.net" type="http">gramps
web page</ulink>.
</para>
<para>
This manual was written by Don Allingham
(<email>dallingham@users.sourceforge.net</email>).
</para>
<!-- For translations: uncomment this:
<para>
Latin translation was done by ME
(<email>MYNAME@MYADDRESS</email>). Please send all comments and
suggestions regarding this translation to SOMEWHERE.
</para>
-->
</sect1>
<!-- ============= Application License ============================= -->
<sect1 id="license">
<title>License</title>
<para>
This program is free software; you can redistribute it and/or
modify it under the terms of the <ulink type="help"
url="gnome-help:gpl"> <citetitle>GNU General Public
License</citetitle></ulink> as published by the Free Software
Foundation; either version 2 of the License, or (at your option)
any later version.
</para>
<para>
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<citetitle>GNU General Public License</citetitle> for more
details.
</para>
<para>
A copy of the <citetitle>GNU General Public License</citetitle> is
included as an appendix to the <citetitle>GNOME Users
Guide</citetitle>. You may also obtain a copy of the
<citetitle>GNU General Public License</citetitle> from the Free
Software Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing to
<address>
Free Software Foundation, Inc. <street>59 Temple Place</street> -
Suite 330 <city>Boston</city>, <state>MA</state>
<postcode>02111-1307</postcode> <country>USA</country>
</address>
</para>
</sect1>
</article>

View File

@ -1,4 +0,0 @@
# Process this file with automake to produce Makefile.in
SUBDIRS = C

View File

@ -1,355 +0,0 @@
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# Process this file with automake to produce Makefile.in
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BINSH = @BINSH@
CC = @CC@
DEPDIR = @DEPDIR@
DISABLE_SCROLLKEEPER = @DISABLE_SCROLLKEEPER@
GNOMEHELP = @GNOMEHELP@
HAVE_GNOME_CONFIG = @HAVE_GNOME_CONFIG@
HAVE_JW = @HAVE_JW@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
JW = @JW@
LANGUAGES = @LANGUAGES@
LIBS = @LIBS@
MOFILES = @MOFILES@
MSGFMT = @MSGFMT@
P15_INCLUDES = @P15_INCLUDES@
P20_INCLUDES = @P20_INCLUDES@
P21_INCLUDES = @P21_INCLUDES@
P22_INCLUDES = @P22_INCLUDES@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PYTHON = @PYTHON@
PYTHON15 = @PYTHON15@
PYTHON20 = @PYTHON20@
PYTHON21 = @PYTHON21@
PYTHON22 = @PYTHON22@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RELEASE = @RELEASE@
SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@
SCROLLKEEPER_REQUIRED = @SCROLLKEEPER_REQUIRED@
STRIP = @STRIP@
VERSION = @VERSION@
VERSIONSTRING = @VERSIONSTRING@
ZIP = @ZIP@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
SUBDIRS = C
subdir = doc/extending-gramps
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = Makefile.am Makefile.in
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/extending-gramps/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive distclean distclean-generic \
distclean-recursive distclean-tags distdir dvi dvi-am \
dvi-recursive info info-am info-recursive install install-am \
install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive tags tags-recursive uninstall \
uninstall-am uninstall-info-am uninstall-info-recursive \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,53 +0,0 @@
SGML_FILES = gramps-manual.sgml
figs = \
figures/addmedia.png \
figures/druidpg1.png \
figures/editbookmarks.png \
figures/ep-address.png \
figures/ep-altname.png \
figures/ep-attributes.png \
figures/ep-event.png \
figures/ep-gallery.png \
figures/ep-general.png \
figures/ep-internet.png \
figures/ep-lds.png \
figures/ep-notes.png \
figures/familyview.png \
figures/filter.png \
figures/globalmedia.png \
figures/gotobookmark.png \
figures/localmedia.png \
figures/mainwin.png \
figures/mediaview.png \
figures/opendb.png \
figures/pedegreesel.png \
figures/pedegreeview.png \
figures/peoplelist.png \
figures/placelist.png \
figures/prefs-bars.png \
figures/prefs-colors.png \
figures/prefs-dates.png \
figures/prefs-disp.png \
figures/prefs-find.png \
figures/prefs-gen.png \
figures/prefs-guess.png \
figures/prefs-ids.png \
figures/prefs-main.png \
figures/prefs-media.png \
figures/prefs-report.png \
figures/prefs-research.png \
figures/prefs-revision.png \
figures/reportsel.png \
figures/revcontrol.png \
figures/savecomment.png \
figures/sourcelist.png \
figures/sourcerefsel.png \
figures/toolsel.png
docname = gramps-manual
lang = C
omffile = gramps-manual-C.omf
sgml_ents =
include $(top_srcdir)/doc/sgmldocs.make
dist-hook: app-dist-hook

View File

@ -1,464 +0,0 @@
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# To use this template:
# 1) Define: figs, docname, lang, omffile, sgml_ents although figs,
# omffile, and sgml_ents may be empty in your Makefile.am which
# will "include" this one
# 2) Figures must go under figures/ and be in PNG format
# 3) You should only have one document per directory
#
# Note that this makefile forces the directory name under
# $prefix/share/gnome/help/ to be the same as the SGML filename
# of the document. This is required by GNOME. eg:
# $prefix/share/gnome/help/fish_applet/C/fish_applet.sgml
# ^^^^^^^^^^^ ^^^^^^^^^^^
# Definitions:
# figs A list of screenshots which will be included in EXTRA_DIST
# Note that these should reside in figures/ and should be .png
# files, or you will have to make modifications below.
# docname This is the name of the SGML file: <docname>.sgml
# lang This is the document locale
# omffile This is the name of the OMF file. Convention is to name
# it <docname>-<locale>.omf.
# sgml_ents This is a list of SGML entities which must be installed
# with the main SGML file and included in EXTRA_DIST.
# eg:
# figs = \
# figures/fig1.png \
# figures/fig2.png
# docname = scrollkeeper-manual
# lang = C
# omffile=scrollkeeper-manual-C.omf
# sgml_ents = fdl.sgml
# include $(top_srcdir)/help/sgmldocs.make
# dist-hook: app-dist-hook
#
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BINSH = @BINSH@
CC = @CC@
DEPDIR = @DEPDIR@
DISABLE_SCROLLKEEPER = @DISABLE_SCROLLKEEPER@
GNOMEHELP = @GNOMEHELP@
HAVE_GNOME_CONFIG = @HAVE_GNOME_CONFIG@
HAVE_JW = @HAVE_JW@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
JW = @JW@
LANGUAGES = @LANGUAGES@
LIBS = @LIBS@
MOFILES = @MOFILES@
MSGFMT = @MSGFMT@
P15_INCLUDES = @P15_INCLUDES@
P20_INCLUDES = @P20_INCLUDES@
P21_INCLUDES = @P21_INCLUDES@
P22_INCLUDES = @P22_INCLUDES@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PYTHON = @PYTHON@
PYTHON15 = @PYTHON15@
PYTHON20 = @PYTHON20@
PYTHON21 = @PYTHON21@
PYTHON22 = @PYTHON22@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RELEASE = @RELEASE@
SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@
SCROLLKEEPER_REQUIRED = @SCROLLKEEPER_REQUIRED@
STRIP = @STRIP@
VERSION = @VERSION@
VERSIONSTRING = @VERSIONSTRING@
ZIP = @ZIP@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
SGML_FILES = gramps-manual.sgml
figs = \
figures/addmedia.png \
figures/druidpg1.png \
figures/editbookmarks.png \
figures/ep-address.png \
figures/ep-altname.png \
figures/ep-attributes.png \
figures/ep-event.png \
figures/ep-gallery.png \
figures/ep-general.png \
figures/ep-internet.png \
figures/ep-lds.png \
figures/ep-notes.png \
figures/familyview.png \
figures/filter.png \
figures/globalmedia.png \
figures/gotobookmark.png \
figures/localmedia.png \
figures/mainwin.png \
figures/mediaview.png \
figures/opendb.png \
figures/pedegreesel.png \
figures/pedegreeview.png \
figures/peoplelist.png \
figures/placelist.png \
figures/prefs-bars.png \
figures/prefs-colors.png \
figures/prefs-dates.png \
figures/prefs-disp.png \
figures/prefs-find.png \
figures/prefs-gen.png \
figures/prefs-guess.png \
figures/prefs-ids.png \
figures/prefs-main.png \
figures/prefs-media.png \
figures/prefs-report.png \
figures/prefs-research.png \
figures/prefs-revision.png \
figures/reportsel.png \
figures/revcontrol.png \
figures/savecomment.png \
figures/sourcelist.png \
figures/sourcerefsel.png \
figures/toolsel.png
docname = gramps-manual
lang = C
omffile = gramps-manual-C.omf
sgml_ents =
docdir = $(datadir)/gnome/help/$(docname)/$(lang)
doc_DATA = index.html
sgml_files = $(sgml_ents) $(docname).sgml
omf_dir = $(top_srcdir)/omf-install
EXTRA_DIST = $(sgml_files) $(doc_DATA) $(omffile) $(figs)
CLEANFILES = omf_timestamp
# when doing a distclean, we also want to clear out html files:
CONFIG_CLEAN_FILES = index.html $(docname)/*.html $(docname)/stylesheet-images/*.gif
subdir = doc/gramps-manual/C
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
DIST_SOURCES =
DATA = $(doc_DATA)
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/doc/sgmldocs.make $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/gramps-manual/C/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
docDATA_INSTALL = $(INSTALL_DATA)
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(docdir)
@list='$(doc_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
$(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
done
uninstall-docDATA:
@$(NORMAL_UNINSTALL)
@list='$(doc_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
rm -f $(DESTDIR)$(docdir)/$$f; \
done
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
$(mkinstalldirs) $(distdir)/figures
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="${top_distdir}" distdir="$(distdir)" \
dist-hook
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(docdir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-docDATA
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-docDATA uninstall-info-am uninstall-local
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-docDATA \
install-exec install-exec-am install-info install-info-am \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic uninstall uninstall-am \
uninstall-docDATA uninstall-info-am uninstall-local
all: index.html omf
omf: omf_timestamp
omf_timestamp: $(omffile)
-for file in $(omffile); do \
scrollkeeper-preinstall $(docdir)/$(docname).sgml $$file $(omf_dir)/$$file; \
done
touch omf_timestamp
index.html: $(docname)/index.html
-cp $(docname)/index.html .
# The weird srcdir trick is because the db2html from the Cygnus RPMs
# cannot handle relative filenames.
# The t1 test is for certain versions of jw that create cryptic
# html pages, o fwhich the index is called "t1". Also, the jw
# script from docbook-utils 0.6.9 does not copy the template
# stylesheet-images directory like the db2html script does, so
# we give it a little help (at least for now)
$(docname)/index.html: $(docname).sgml
-srcdir=`cd $(srcdir) && pwd`; \
if test "$(HAVE_JW)" = 'yes' ; then \
if test -f /usr/share/sgml/docbook/dsssl-stylesheets/images/next.gif ; then \
mkdir -p $$srcdir/$(docname)/stylesheet-images ; \
cp /usr/share/sgml/docbook/dsssl-stylesheets/images/*.gif $$srcdir/$(docname)/stylesheet-images/ ; \
fi; \
jw -c /etc/sgml/catalog $$srcdir/$(docname).sgml -o $$srcdir/$(docname); \
else \
db2html $$srcdir/$(docname).sgml; \
fi
if test -f $(docname)/t1.html; then \
cd $(srcdir)/$(docname) && cp t1.html index.html; \
cd $(srcdir); \
fi
$(docname).sgml: $(sgml_ents)
-ourdir=`cd . && pwd`; \
cd $(srcdir); \
cp $(sgml_ents) $$ourdir
app-dist-hook: index.html
-$(mkinstalldirs) $(distdir)/$(docname)/stylesheet-images
-$(mkinstalldirs) $(distdir)/figures
-cp $(srcdir)/$(docname)/*.html $(distdir)/$(docname)
-for file in $(srcdir)/$(docname)/*.css; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
cp $$file $(distdir)/$(docname)/$$basefile ; \
done
-for file in $(srcdir)/$(docname)/stylesheet-images/*.gif; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
cp $$file $(distdir)/$(docname)/stylesheet-images/$$basefile ; \
done
-if [ -e topic.dat ]; then \
cp $(srcdir)/topic.dat $(distdir); \
fi
install-data-am: index.html omf
-$(mkinstalldirs) $(DESTDIR)$(docdir)/stylesheet-images
-$(mkinstalldirs) $(DESTDIR)$(docdir)/figures
-cp $(srcdir)/$(sgml_files) $(DESTDIR)$(docdir)
-for file in $(srcdir)/$(docname)/*.html $(srcdir)/$(docname)/*.css; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$$basefile; \
done
-for file in $(srcdir)/figures/*.png; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/figures/$$basefile; \
done
-for file in $(srcdir)/$(docname)/stylesheet-images/*.gif; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/stylesheet-images/$$basefile; \
done
-if [ -e $(srcdir)/topic.dat ]; then \
$(INSTALL_DATA) $(srcdir)/topic.dat $(DESTDIR)$(docdir); \
fi
$(docname).ps: $(srcdir)/$(docname).sgml
-srcdir=`cd $(srcdir) && pwd`; \
db2ps $$srcdir/$(docname).sgml
$(docname).rtf: $(srcdir)/$(docname).sgml
-srcdir=`cd $(srcdir) && pwd`; \
db2ps $$srcdir/$(docname).sgml
uninstall-local:
-for file in $(srcdir)/$(docname)/stylesheet-images/*.gif; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
rm -f $(docdir)/stylesheet-images/$$basefile; \
done
-for file in $(srcdir)/figures/*.png; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
rm -f $(docdir)/figures/$$basefile; \
done
-for file in $(srcdir)/$(docname)/*.html $(srcdir)/$(docname)/*.css; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
rm -f $(DESTDIR)$(docdir)/$$basefile; \
done
-for file in $(sgml_files); do \
rm -f $(DESTDIR)$(docdir)/$$file; \
done
-rmdir $(DESTDIR)$(docdir)/stylesheet-images
-rmdir $(DESTDIR)$(docdir)/figures
-rmdir $(DESTDIR)$(docdir)
dist-hook: app-dist-hook
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,17 +0,0 @@
<?xml version="1.0" standalone="no"?>
<omf>
<resource>
<creator>
Donald N. Allingham (dallingham@users.sourceforge.net)
</creator>
<title>
GRAMPS User Manual
</title>
<date>2002-07-23</date>
<subject category="GNOME|Applications"/>
<format mime="text/sgml"/>
<identifier url="gramps-manual.sgml"/>
<language code="C"/>
<relation seriesid="e2f714ac-bc34-11d6-8bae-8d06b0acc69c"/>
</resource>
</omf>

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +0,0 @@
# Process this file with automake to produce Makefile.in
SUBDIRS = C

View File

@ -1,355 +0,0 @@
# Makefile.in generated by automake 1.6.2 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# Process this file with automake to produce Makefile.in
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
BINSH = @BINSH@
CC = @CC@
DEPDIR = @DEPDIR@
DISABLE_SCROLLKEEPER = @DISABLE_SCROLLKEEPER@
GNOMEHELP = @GNOMEHELP@
HAVE_GNOME_CONFIG = @HAVE_GNOME_CONFIG@
HAVE_JW = @HAVE_JW@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
JW = @JW@
LANGUAGES = @LANGUAGES@
LIBS = @LIBS@
MOFILES = @MOFILES@
MSGFMT = @MSGFMT@
P15_INCLUDES = @P15_INCLUDES@
P20_INCLUDES = @P20_INCLUDES@
P21_INCLUDES = @P21_INCLUDES@
P22_INCLUDES = @P22_INCLUDES@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
PYTHON = @PYTHON@
PYTHON15 = @PYTHON15@
PYTHON20 = @PYTHON20@
PYTHON21 = @PYTHON21@
PYTHON22 = @PYTHON22@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RELEASE = @RELEASE@
SCROLLKEEPER_CONFIG = @SCROLLKEEPER_CONFIG@
SCROLLKEEPER_REQUIRED = @SCROLLKEEPER_REQUIRED@
STRIP = @STRIP@
VERSION = @VERSION@
VERSIONSTRING = @VERSIONSTRING@
ZIP = @ZIP@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
SUBDIRS = C
subdir = doc/gramps-manual
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = Makefile.am Makefile.in
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/gramps-manual/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive distclean distclean-generic \
distclean-recursive distclean-tags distdir dvi dvi-am \
dvi-recursive info info-am info-recursive install install-am \
install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive tags tags-recursive uninstall \
uninstall-am uninstall-info-am uninstall-info-recursive \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,49 +0,0 @@
.TH gramps 1 "0.8.1" "man page by Brandon L. Griffith" ""
.SH "NAME"
.LP
gramps \- Genealogical Research and Analysis Management Programming System
.SH "SYNTAX"
.LP
gramps [\fIDatabase\fP]
.br
Currently \fBgramps\fR does not require any command line arguments.
However, if provided, it is the path to either a gramps database or a GEDCOM
file to be imported.
.SH "DESCRIPTION"
.LP
Gramps is an open source genealogy program. It is written in Python, using the GTK/GNOME interface.
.br
Gramps should seem familiar to anyone who has used other geneology programs before such as \fIFamily Tree Maker for Windows(TM)\fR or the GNU Geneweb.
.br
It supports importing of the ever popular GEDCOM format which is used world wide by almost all other geneology software.
.SH "Concepts"
Supports a python\-based plugin system, allowing import and export writers, report generators, tools, and display filters to be added without modification of the main program.
.LP
Data is stored in an gzip'ed XML format
.LP
Instead of generating direct printer output, report generators target other systems, such as \fIOpen Office\fR, \fIAbiWord\fR, HTML or LaTeX to allow the user to modify the format to suit his or her needs.
.SH "FILES"
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH "Authors"
Donald Allingham \fI<donaldallingham@home.com>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
This manpage was written by:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
Any ammendants or errors should be reported to him.
.br
It was originally written for inclusion in the Debian GNU/Linux system.
.SH "DOCUMENTATION"
See also the file \fBgramps.sgml\fR
.br
On a Debian system this can be found in \fI/usr/doc/gramps\fR
.br
Or in the doc directory of the official source distribution.

View File

@ -1,49 +0,0 @@
.TH gramps 1 "@VERSION@" "man page by Brandon L. Griffith" ""
.SH "NAME"
.LP
gramps \- Genealogical Research and Analysis Management Programming System
.SH "SYNTAX"
.LP
gramps [\fIDatabase\fP]
.br
Currently \fBgramps\fR does not require any command line arguments.
However, if provided, it is the path to either a gramps database or a GEDCOM
file to be imported.
.SH "DESCRIPTION"
.LP
Gramps is an open source genealogy program. It is written in Python, using the GTK/GNOME interface.
.br
Gramps should seem familiar to anyone who has used other geneology programs before such as \fIFamily Tree Maker for Windows(TM)\fR or the GNU Geneweb.
.br
It supports importing of the ever popular GEDCOM format which is used world wide by almost all other geneology software.
.SH "Concepts"
Supports a python\-based plugin system, allowing import and export writers, report generators, tools, and display filters to be added without modification of the main program.
.LP
Data is stored in an gzip'ed XML format
.LP
Instead of generating direct printer output, report generators target other systems, such as \fIOpen Office\fR, \fIAbiWord\fR, HTML or LaTeX to allow the user to modify the format to suit his or her needs.
.SH "FILES"
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH "Authors"
Donald Allingham \fI<donaldallingham@home.com>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
This manpage was written by:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
Any ammendants or errors should be reported to him.
.br
It was originally written for inclusion in the Debian GNU/Linux system.
.SH "DOCUMENTATION"
See also the file \fBgramps.sgml\fR
.br
On a Debian system this can be found in \fI/usr/doc/gramps\fR
.br
Or in the doc directory of the official source distribution.

View File

@ -1,320 +0,0 @@
<!--?xml version="1.0" encoding="UTF-8"?-->
<!-- A Document Type Definition for genealogy data (as produced by Gramps)
Copyright (c) 2001 Graham J. Williams
Time-stamp: <2002/01/22 15:41:37 Graham.Williams@csiro.au>
Freely Redistributable under the terms of the GNU General Public License.
Based on GEDCOM and conforming to the Gramps XML encoding.
Still under development and Gramps XML not complete.
Information on Gramps is available from http://
-->
<!--
DATABASE
Defines an XML document which is a <database> consisting of a
header Information about the "owner" of the database
people
families
sources
places
objects
bookmarks
-->
<!ELEMENT database (header, people?, families?, sources?, places?, objects?,
bookmarks?)>
<!-- ************************************************************
HEADER
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
-->
<!ELEMENT header (created, researcher?)>
<!ELEMENT created EMPTY>
<!ATTLIST created
date CDATA #REQUIRED
version CDATA #REQUIRED
people CDATA #REQUIRED
families CDATA #REQUIRED>
<!ELEMENT researcher (resname, resaddr?, rescity?, resstate?,
rescountry?, respostal?, resphone?, resemail?)>
<!ELEMENT resname (#PCDATA)>
<!ELEMENT resaddr (#PCDATA)>
<!ELEMENT rescity (#PCDATA)>
<!ELEMENT resstate (#PCDATA)>
<!ELEMENT rescountry (#PCDATA)>
<!ELEMENT respostal (#PCDATA)>
<!ELEMENT resphone (#PCDATA)>
<!ELEMENT resemail (#PCDATA)>
<!-- ************************************************************
PEOPLE
The UID is a place holder for PAF UID's that are imported. PAF
generates a unique ID for each person which is useful for
merges. It is not used by Gramps otherwise.
-->
<!ELEMENT people (person)*>
<!ATTLIST people default CDATA #IMPLIED>
<!--
PERSON
gender Either M or F.
name
aka Also known as. Alternative names from marriage,
adoption, legal name change, etc
nick The nick name - a name the person is sometimes known by.
-->
<!ELEMENT person (gender, name?, aka*, nick?, pos?, uid?, event*,
objref*, url*, childof*, address*, parentin*,
sourceref?, attribute*, note?)>
<!ATTLIST person id ID #REQUIRED>
<!--
GENDER has values of M or F.
-->
<!ELEMENT gender (#PCDATA)>
<!--
NAME and AKA
first Given names
last Surname
suffix
title E.g., Sargent Major
-->
<!ELEMENT name (first?, last?,suffix?,title?)>
<!ATTLIST name conf CDATA #IMPLIED
priv CDATA #IMPLIED>
<!ELEMENT aka (first?, last?,suffix?,note?)>
<!ATTLIST aka conf CDATA #IMPLIED
priv CDATA #IMPLIED>
<!ELEMENT first (#PCDATA)>
<!ELEMENT last (#PCDATA)>
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT uid (#PCDATA)>
<!ELEMENT pos EMPTY>
<!ATTLIST pos x CDATA #REQUIRED
y CDATA #REQUIRED>
<!ELEMENT childof EMPTY>
<!ATTLIST childof
ref IDREF #REQUIRED
mrel (Birth|Adopted|Stepchild|Other|Unknown) #IMPLIED
frel (Birth|Adopted|Stepchild|Other|Unknown) #IMPLIED>
<!ELEMENT parentin EMPTY>
<!ATTLIST parentin
ref IDREF #REQUIRED>
<!ELEMENT address (dateval?,street?,city?,state?,country?,postal?,
note?,sourceref?)>
<!ATTLIST address conf CDATA #IMPLIED
priv CDATA #IMPLIED>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!-- ************************************************************
FAMILY
An element to record information about a family.
-->
<!ELEMENT families (family)*>
<!ELEMENT family (father?,mother?,event*,objref*,child*,attribute*,note?)>
<!ATTLIST family
id ID #REQUIRED
type (Married|Unmarried|Partners|Other|Unkown) #IMPLIED>
<!ELEMENT father EMPTY>
<!ATTLIST father ref IDREF #REQUIRED>
<!ELEMENT mother EMPTY>
<!ATTLIST mother ref IDREF #REQUIRED>
<!ELEMENT child EMPTY>
<!ATTLIST child ref IDREF #REQUIRED>
<!-- ************************************************************
SOURCES
-->
<!ELEMENT sources (source)*>
<!ELEMENT source (sauthor?,spubinfo?,scallno?)>
<!ATTLIST source id ID #REQUIRED>
<!ELEMENT sauthor (#PCDATA)>
<!ELEMENT spubinfo (#PCDATA)>
<!ELEMENT scallno (#PCDATA)>
<!-- ************************************************************
PLACES
-->
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (coord?,location*,objref*,url*,note?)>
<!ATTLIST placeobj id ID #REQUIRED title CDATA #IMPLIED>
<!ELEMENT coord EMPTY>
<!ATTLIST coord long CDATA #REQUIRED lat CDATA #REQUIRED>
<!ELEMENT location EMPTY>
<!ATTLIST location
city CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
parish CDATA #IMPLIED
>
<!ELEMENT objects (object)*>
<!ELEMENT object (attribute)*>
<!ATTLIST object
id ID #REQUIRED
src CDATA #IMPLIED
mime CDATA #IMPLIED
description CDATA #IMPLIED>
<!-- ************************************************************
BOOKMARKS
-->
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
<!ATTLIST bookmark ref IDREF #REQUIRED>
<!-- ************************************************************
SHARED ELEMENTS
-->
<!ELEMENT attribute (note?,sourceref?)>
<!ATTLIST attribute conf CDATA #IMPLIED
priv CDATA #IMPLIED
type CDATA #IMPLIED
value CDATA #IMPLIED
>
<!--ELEMENT attr_type (#PCDATA)>
<!ELEMENT attr_value (#PCDATA)-->
<!--
EVENT
We can enumerate all possibilities for an event and then this will
not conform to Gramps as Gramps allows any type of events (i.e., a
user can define their own type of event) . By allowing anything
(CDATA) we no longer have automatic checking and in emacs no more
automatic selection of event types.
So decide to use the enumerated list for now unless there is a storm
of protest.
Alternative Birth Another possible birth date
Degree Awarding of a degree
Education Some step in the education process
Graduation Graduation (often same as degree)
-->
<!ELEMENT event (dateval?,place?,description?,sourceref?,note?)>
<!ATTLIST event type
(Annulment|Birth|Death|Christening|Baptism|Engagement|Marriage|
Occupation|Education|Degree|Immi|Burial|Cremation)
#REQUIRED>
<!ELEMENT dateval EMPTY>
<!ATTLIST dateval
val CDATA #REQUIRED
type CDATA #IMPLIED>
<!--ELEMENT date (#PCDATA) replaced by dateval-->
<!ELEMENT description (#PCDATA)>
<!ELEMENT note (#PCDATA)>
<!ELEMENT url EMPTY>
<!ATTLIST url href CDATA #REQUIRED
conf CDATA #IMPLIED
priv (0|1) #IMPLIED
description CDATA #IMPLIED>
<!ELEMENT place EMPTY>
<!ATTLIST place ref IDREF #REQUIRED>
<!ELEMENT sourceref (spage?,scomments?,stext?,sdate?)>
<!ATTLIST sourceref ref IDREF #REQUIRED>
<!ELEMENT spage (#PCDATA)>
<!ELEMENT scomments (#PCDATA)>
<!ELEMENT sdate (#PCDATA)>
<!ELEMENT stext (#PCDATA)>
<!ELEMENT objref (attribute)*>
<!ATTLIST objref
ref IDREF #REQUIRED
>
<!ELEMENT img EMPTY>
<!ATTLIST img
src CDATA #REQUIRED
description CDATA #IMPLIED
display CDATA #IMPLIED>

View File

@ -1,793 +0,0 @@
<!DOCTYPE article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
<!ENTITY version "0.2.0"> <!-- replace with application version -->
]>
<!--
This is a GNOME documentation template, designed by the GNOME
Documentation Project Team. Please use it for writing GNOME
documentation, making obvious changes. In particular, all the words
written in UPPERCASE (with the exception of GNOME) should be
replaced. As for "legalnotice", please leave the reference
unchanged.
Remember that this is a guide, rather than a perfect model to follow
slavishly. Make your manual logical and readable. And don't forget
to remove these comments in your final documentation! ;-)
-->
<!--
(Do not remove this comment block.)
Maintained by the GNOME Documentation Project
http://developer.gnome.org/projects/gdp
Template version: 1.0.3
Template last modified: Nov 16, 2000
-->
<!-- =============Document Header ============================= -->
<article id="index"> <!-- please do not change the id -->
<artheader>
<title>gramps User Manual</title>
<copyright>
<year>2001</year>
<holder>Donald N. Allingham</holder>
</copyright>
<!-- translators: uncomment this:
<copyright>
<year>2001</year>
<holder>ME-THE-TRANSLATOR (Latin translation)</holder>
</copyright>
-->
<!-- do not put authorname in the header except in copyright - use
section "authors" below -->
<!-- Use this legal notice for online documents which depend on -->
<!-- core GNOME packages. -->
<legalnotice id="legalnotice">
<para>
Permission is granted to copy, distribute and/or modify this document
under the terms of the <ulink type="help"
url="gnome-help:fdl"><citetitle>GNU Free Documentation
License</citetitle></ulink>, Version 1.1 or any later version
published by the Free Software Foundation with no Invariant Sections,
no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
can be found <ulink type="help" url="gnome-help:fdl">here</ulink>.
</para>
<para>
Many of the names used by companies to distinguish their products and
services are claimed as trademarks. Where those names appear in any
GNOME documentation, and those trademarks are made aware to the members
of the GNOME Documentation Project, the names have been printed in caps
or initial caps.
</para>
</legalnotice>
<!-- Use this legal notice for documents which are placed on -->
<!-- the web, shipped in any way other than online documents -->
<!-- (eg. PS, PDF, or RTF), or which do not depend on the -->
<!-- core GNOME distribution. -->
<!-- -->
<!-- If you use this version, you must place the following -->
<!-- line in the document declaration at the top of your -->
<!-- document: -->
<!-- <!ENTITY FDL SYSTEM "fdl.sgml"> -->
<!-- and the following line at the bottom of your document -->
<!-- after the last </sect1>. -->
<!-- &FDL; -->
<!--
<legalnotice id="legalnotice">
<para>
Permission is granted to copy, distribute and/or modify this document
under the terms of the <link linkend="fdl"><citetitle>GNU
Free Documentation License</citetitle></link>, Version 1.1 or any later
version published by the Free Software Foundation with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the
license can be found in <xref linkend="fdl">.
</para>
<para>
Many of the names used by companies to distinguish their products and
services are claimed as trademarks. Where those names appear in any
GNOME documentation, and those trademarks are made aware to the members
of the GNOME Documentation Project, the names have been printed in caps
or initial caps.
</para>
</legalnotice>
-->
<!-- This is the manual version, not application version. -->
<releaseinfo>
This is version 1.0 of the gramps manual.
</releaseinfo>
</artheader>
<!-- ============= Document Body ============================= -->
<!-- ============= Introduction ============================== -->
<sect1 id="intro">
<title>Introduction</title>
<para>
gramps is an acronym for the Genealogical Research and Analysis
Management Programming System. It was conceived under the concept
that most genealogy programs were designed to provide the
researcher the capability to input information related to a
particular family tree. Most of these programs have allowed for
the arranging and storing of information consistent with the
GEDCOM standards. They usually provide a means for displaying
descendant or ancestral relationships by means of graphical
displays, charts, or reports. These may be augmented with
pictures or other media to enhance the data. Most provide for
inputting data on unconnected individuals/families that may or may
not have a relationship to the primary surname being researched.
Various other enhancements may also be provided in the
genealogical program that allows for different degrees of
importing and exporting data from other programs and printing of
the data contained in the various reports. gramps, on the other
hand, attempts to provide all of the common capabilities of these
programs, but, more importantly, to provide a capability not
common to these programs. This is the ability to input any bits
and pieces of information directly into gramps and
rearrange/manipulate any/all data events in the entire data base
(in any order or sequence) to assist the user in doing research,
analysis and correlation with the potential of filling
relationship gaps. In short, a tool that provides a way to input
all your research into one place and do your analysis and
correlation using the speed, power, and accuracy of your computer
instead of pencils and unmanageable reams of paper.
</para>
<para>
To run <application>gramps</application>, select
<menuchoice>
<guisubmenu>Programs</guisubmenu>
<guisubmenu>Applications</guisubmenu>
<guimenuitem>gramps</guimenuitem>
</menuchoice>
from the <guimenu>Main Menu</guimenu>, or type
<command>gramps</command> on the command line.
</para>
<para>
<application>gramps</application> is included in the
<filename>gramps</filename> package, which is part of the
GNOME desktop environment. This document describes version
&version; of <application>gramps</application>.
</para>
</sect1>
<!-- ================ Usage ================================ -->
<!-- This section should describe basic usage of the application. -->
<sect1 id="usage">
<title>Using gramps</title>
<para>
<application>gramps</application> is a genealogy program.
This section describes basic usage of
<application>gramps</application>.
</para>
</sect1>
<sect1 id="firsttime">
<title>Running gramps for the first time.</title>
<para>
This section should discuss the start up druid.
</para>
</sect1>
<sect1 id="mainwindow">
<title>Main Window</title>
<para>
Starting <application>gramps</application> opens the
<interface>Main window</interface>, shown in <xref
linkend="mainwindow-fig">. The window is at first empty.
<!-- ==== Figure ==== -->
<figure id="mainwindow-fig">
<title>gramps Main Window</title>
<screenshot>
<screeninfo>gramps Main Window</screeninfo>
<graphic fileref="mainwin" format="PNG" srccredit="Don Allingham">
</graphic>
</screenshot>
</figure>
<!-- ==== End of Figure ==== -->
</para>
</sect1>
<!-- ========= Basic Usage =========================== -->
<sect1 id="personlist">
<title>Person List</title>
<para>
The Person List window is the initial view seen on the main
window. It displays the name, gender, birth date, and death
date of all individuals in the database. At any time, you can
return to the this view either by pressing the People button at
the top of the screen, or by choosing the
<menuchoice>
<guisubmenu>View</guisubmenu>
<guimenuitem>Person List</guimenuitem>
</menuchoice>
entry from the menus.
</para>
<sect2>
<title>Selecting and Editing Individuals</title>
<para>
The Person List view lists the individuals in the database. A
individual can be selected as the active person by clicking on
an entry in the list. Once a person has been selected as the active
person, the person's name appears in the status bar in the lower
left hand corner of the window.
</para>
<para>
Once the active person has been selected, pressing the Edit
Person button will display the Edit Person dialog allowing you
to edit the individual's personal information. If the Edit
Person button is pressed without an active person being set, a
blank Edit Person dialog is presented, allowing you to enter a
new person. Double-clicking on a entry will set the active
person and bring up the individual in the Edit Person dialog.
</para>
<para>
Pressing the Add Person button will display a blank Edit Person
dialog, allowing you to add a new person to the database.
</para>
<para>
If the Delete Person button is pressed, the active person and
all of the personal information related to the active person are
removed from the database.
</para>
</sect2>
<sect2>
<title>Applying Filters</title>
<para>
<application>gramps</application> allows you to apply filters to
the Person List. When a filter is applied, the Person List will
only display the entries matching the filter. All of the entries
remain in the database, but are temporarily hidden.
</para>
<para>
There are three parts to a filter. The first part is the
selection of the filter to be applied. A filter is selected from
the option menu directly above the Person List. The second part
is an option qualifier. This qualifier provides more specific
information for the filter. Many filters do not require the
qualifier, and it will be grayed out if not needed. The third
part of the filter is the invert selection. When this option is
selected, <application>gramps</application> will display the
entries that do not match the filter.
</para>
<para>
A filter is not applied until the Apply button is pressed. The
filter will remain in effect until the next time the Apply
button is pressed.
</para>
</sect2>
<sect2>
<title>Sorting</title>
<para>
Four columns are shown in the Person List display. The entries in
the list can be sorted by three of the field: Name, Birth Date, or
Death Date. Clicking on the column label will cause the list to
be resorted by that column. Arrows on the label indicate whether
the list is sort by ascending or descending order.
</para>
<para>
If the list is already sorted by a particular column, clicking on
the same column label will switch sorting order. For example, if
the list is currently sorted in ascending order by Name, clicking
on the Name column header will resort the list in descending order.
</para>
</sect2>
</sect1>
<sect1 id="familyview">
<title>Family View</title>
<para>
The Family View window displays the spouses, parents, and children
of the active person. At any time, you can return to the this view
either by pressing the Family button at the top of the screen, or
by choosing the
<menuchoice>
<guisubmenu>View</guisubmenu>
<guimenuitem>Family View</guimenuitem>
</menuchoice>
entry from the menus.
</para>
<para>
This section should describe the family view.
</para>
</sect1>
<sect1 id="pedegreeview">
<title>Pedegree View</title>
<para>
The Pedegree View window displays the active person, the active
person's parents, and the active parent's grandparents in a somewhat
graphical manner. At any time, you can return to the this view
either by pressing the Pedegree button at the top of the screen, or
by choosing the
<menuchoice>
<guisubmenu>View</guisubmenu>
<guimenuitem>Pedgree</guimenuitem>
</menuchoice>
entry from the menus.
</para>
<para>
This section should describe the pedegree view.
</para>
</sect1>
<sect1 id="sourcelist">
<title>Source List</title>
<para>
The Source List window displays the different sources which have been
entered into the database. At any time, you can return to the this view
either by pressing the Sources button at the top of the screen, or
by choosing the
<menuchoice>
<guisubmenu>View</guisubmenu>
<guimenuitem>Sources</guimenuitem>
</menuchoice>
entry from the menus.
</para>
<para>
This section should describe the source list.
</para>
</sect1>
<!-- ============= Customization ============================= -->
<sect1 id="prefs">
<title>Customization</title>
<para>
To change the application settings, select
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Preferences...</guimenuitem>
</menuchoice>. This opens the
<interface>Preferences</interface> dialog, shown in <xref
linkend="preferences-fig">.
</para>
<figure id="preferences-fig">
<title>Preferences Dialog</title>
<screenshot>
<screeninfo>Preferences Dialog</screeninfo>
<graphic fileref="preferences" format="png" srccredit="Don Allingham">
</graphic>
</screenshot>
</figure>
<para>
</para>
</sect1>
<!-- ============= Generating Reports ============================= -->
<sect1 id="genreports">
<title>Generating Reports</title>
<para>
<application>gramps</application> can produce a wide variety of
reports. New report generators can be written by the user without
modifying the main program. For this reason, there may be more
reports available than are documented by this manual
</para>
<para>
Unlike many genealogy programs, <application>gramps</application>
does not directly print reports. Instead,
<application>gramps</application> produces reports in formats that
are understood by other programs. These formats include OpenOffice,
AbiWord, PDF, and HTML, among others. This allows the generated
reports to be modified after they are generated, stored for use
later, or emailed to another person.
</para>
<sect2 id="htmltemplates">
<title>Using HTML templates</title>
<para>
Many programs exist to convert GEDCOM files into HTML files that
can be viewed in a web browser. Most of these programs generate
HTML files according to their own predefined style. Since most
people have a style that they prefer, they are left with the option
of modifying hundreds of files by hand.
</para>
<para>
To solve this problem, <application>gramps</application> allows the
user to specify a template to be used for generating HTML files. At
the time the report is generated, if HTML is selected as the target
format, the user can select an HTML template to be used. Since the
template is chosen at report generation time, a different template
may be chosen each time, allowing the user to change the appearence
of the generated files at any time. Nearly any existing HTML file
can be used as an HTML template for
<application>gramps</application>.
</para>
<para>
When a file has been established as the HTML template file,
<application>gramps</application> uses the template for each file
that it generates. <application>gramps</application> starts each
file by copying data from the template until it reaches an HTML
comment uses as a marker. At that point,
<application>gramps</application> inserts its data into the output
file. <application>gramps</application> the continues reading the
until it reaches a second comment that tells it to resume copying
from the template.
</para>
<para>
<application>gramps</application> uses the string <function>&lt;!--
START --&gt;</function> to indicate where it should start inserting
its information, and the string <function>&lt;!-- STOP
--&gt;</function> to indicate where it should resume copying data
from the template. The effect is that
<application>gramps</application> will create a new document,
replacing everything between the <function>&lt;!-- START
--&gt;</function> and <function>&lt;!-- STOP --&gt;</function> comments
with the report information.
</para>
<para>
The comment markers should be at the beginning of a line in the HTML
template file. Adding the comments to an existing HTML document will
not affect the original HTML document in any way.
</para>
<para>
If no HTML template is specified, or if the specified template
cannot be read, <application>gramps</application> will use a
default, predefined template.
</para>
<para>
<figure id="templateexample">
<title>Sample HTML Template Example</title>
<programlisting>
&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;
This is my Title
&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY BGCOLOR="#FFFFFF"&gt;
&lt;P&gt;
This is a simple template. This text will appear in the html output.
&lt;/P&gt;
&lt;!-- START --&gt;
&lt;P&gt;
This is where gramps will place its report information. Any
information between the two comments, including this paragraph,
will not appear in the gramps generated output.
&lt;/P&gt;
&lt;!-- STOP --&gt;
&lt;P&gt;
This text, since it appears after the stop comment, will also
appear in every gramps generated file.
&lt;/P&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;
</programlisting>
</figure>
</para>
</sect2>
</sect1>
<!-- ============= Writing Filters ============================= -->
<sect1 id="writingfilters">
<title>Writing Filters</title>
<para>
Users can create their own filters and add them to
<application>gramps</application>. By adding the filter to the
user's private filter directory
(<filename class="directory">~/.gramps/filters</filename>),
the filter will be automatically
recognized the next time that the program is started.
</para>
<sect2 id="createfilter">
<title>Creating a filter</title>
<para>
Filters are written in the <application>python</application>
language. Each filter is initialized with the qualifier string.
The qualifier string passes an additional text string to the
filter. This string can be used to further qualify the filter.
For example, if the filter is used to match names, the qualifier
would be used to provide the name that is being compared against.
</para>
<para>
Each filter is a python class, and should be in its own separate
module (file). The module should consist of the filter class
definition, and three functions &mdash;
<function>create</function>, <function>need_qualifier</function>,
and <function>get_name</function>.
</para>
<para>
The <function>create</function> function takes a string as its
only argument, returns a instance of the filter class. The string
argument is the qualifier string used to provide more specific
information.
</para>
<para>
The <function>need_qualifier</function> function takes no
arguments, and returns either a 0 or 1 to indicate if a qualifier
string is needed by the filter. Regardless of what
<function>need_qualifier</function> indicates, a text string is
always passed to the filter and the <function>create</function>
function. The value returned by
<function>need_qualifier</function> indicates to the program
whether or not the qualifier field in the display should be
enabled or disabled.
</para>
<para>
The <function>get_name</function> function is used to provide a
description for the filter. This description is entered into
filter selection menus. If the filter is intended to be used by
others, it should be prepared for internationalization. This is
accomplished by importing the <function>intl</function> module,
add defining <function>_</function> to be
<function>intl.gettext</function>. The string returned by
<function>get_name</function> should be passed through the
<function>_</function> function to allow for conversion to the
target langauge.
</para>
<para>
All filters must be derived from the
<function>Filter.Filter</function> class. The
<function>__init__</function> task may be overridden, but if so,
should call the <function>__init__</function> function on the
<function>Filter.Filter</function> class. The parent class
provides the variable <function>self.text</function>, which
contains the text string passed as the qualifier.
</para>
<para>
All filter classes must define a <function>match</function>
function. The function takes one argument (other than
<function>self</function>), which is an object of type
<function>Person</function> to compare against. The function
should return a 1 if the person matches the filter, or a zero if
the person does not.
</para>
<figure id="filtersrc">
<title>Sample filter implementation</title>
<programlisting>
import Filter
import string
import intl
_ = intl.gettext
# class definition
class SubString(Filter.Filter):
def match(self,person):
name = person.getPrimaryName().getName()
return string.find(name,self.text) >= 0
# module functions
def get_name(s):
return _("Names that contain a substring")
def create(text):
return SubString(text)
def need_qualifier():
return 1
</programlisting>
</figure>
</sect2>
</sect1>
<!-- ============= Writing Reports ============================= -->
<sect1 id="writingreports">
<title>Writing Reports</title>
<para>
Users can create their own report generators and add them to
<application>gramps</application>. By adding the report generator
to the user's private filter directory (<filename
class="directory">~/.gramps/plugins</filename>), the report
generator filter will be automatically recognized the next time
that the program is started.
</para>
<sect2 id="createreport">
<title>Creating a report generator</title>
<para>
Like filters, report generators are written in the
<application>python</application> language. Fewer restrictions
are made on report generators than on filters. The report
generator is passed the current <application>gramps</application>
database and the active person. The generator needs to take
special care to make sure that it does not alter the database in
anyway.
</para>
<para>
The function <function>get_name</function> is used to provide the
name of the the report generator. As with a filter definition,
this string should support internationalization via the
<function>intl</function> module. The returned string consists of
two parts, separated by a forward slash. The first part of the
string is the category of the report generator.
<application>gramps</application> uses this part to group similar
reports together in the interface. The second part of the string
is the actual name of the reprot generator, and will be displayed
in the report menu.
</para>
<para>
A report generator module must supply the
<function>report</function> function, and can optionally define
the <function>get_description</function> and
<function>get_xpm_data</function> functions. The
<function>report</function> takes two arguments &mdash; a database
(of type <function>RelDataBase</function>) and the currently
selected person (of type <function>Person</function>). The
<function>report</function> is reponsible for generating the
actual report.
</para>
<para>
If the <function>get_description</function> is defined, it is used
to provide a more detailed description of the report. The
description is used to provide the user with more information in
the report selection window. The function takes no arguments, and
should return a text string.
</para>
<para>
If the <function>get_xpm_data</function> is defined, it is used to
provide an graphic logo for the report in the report selection
window. The function takes no arguments, and should return a list
of strings containing the XPM file data. The XPM image should be
48x48 pixels in size.
</para>
<figure id="reportsrc">
<title>Sample report implementation</title>
<programlisting>
import intl
_ = intl.gettext
def report(database,person):
... actual code ...
def get_description():
return "A detailed text description of what the report generator does"
def get_name():
return _("Category/report name")
def get_xpm_image():
return [
"... XPM image data"
]
</programlisting>
</figure>
</sect2>
<sect2 id="alittlehelp">
<title>A little help - Format Interfaces</title>
<para>
<application>gramps</application> provides some help with writing
reports. Several generic python classes exist that aid in the
writing of report generators. These classes provide an abstract
interface for a type of document, such as a drawing, word
processor document, or a spreadsheet. From these core classes,
<application>gramps</application> derives interfaces to various
document formats. This means that by coding to the generic word
processing class (<function>TextDoc</function>), a report
generator can instant access to multiple file formats (such as
HTML, OpenOffice, and AbiWord).
</para>
<para>
This scheme of deriving a output format from a generic base class
also makes it easier to add new formats. Creating a new
derivied class targeting a different format (such as
<application>KWord</application> or
<application>LaTeX</application>) makes it easy for existing
report generators to use the new formats.
</para>
</sect2>
</sect1>
<!-- ============= Writing Tools ============================= -->
<sect1 id="writingtools">
<title>Writing Tools</title>
<para>
</para>
</sect1>
<!-- ============= Various Sections ============================= -->
<!-- Here you should add, if necessary, several more sect1's,
describing other windows (besides the main one), file formats,
preferences dialogs, etc. as appropriate. Try not to make any of
these sections too long. -->
<!-- ============= Bugs ================================== -->
<!-- This section should describe known bugs and limitations of
the program if there are any - please be frank and list all
problems you know of. -->
<sect1 id="bugs">
<title>Known Bugs and Limitations</title>
<para>
This application has no known bugs.
</para>
</sect1>
<!-- ============= Authors ================================ -->
<sect1 id="authors">
<title>Authors</title>
<para>
<application>gramps</application> was written by Donald N. Allingham
(<email>donaldallingham@home.com</email>). To find more information about
<application>gramps</application>, please visit the <ulink
url="http://gramps.sourceforge.net" type="http">gramps Web
page</ulink>.
</para>
<para>
This manual was written by Donald N. Allingham
(<email>donaldallingham@home.com</email>) and Lawrence L. Allingham
(<email>llkla@erinet.com</email>).
</para>
<!-- For translations: uncomment this:
<para>
Latin translation was done by ME
(<email>MYNAME@MYADDRESS</email>). Please send all comments and
suggestions regarding this translation to SOMEWHERE.
</para>
-->
</sect1>
<!-- ============= Application License ============================= -->
<sect1 id="license">
<title>License</title>
<para>
This program is free software; you can redistribute it and/or
modify it under the terms of the <ulink type="help" url="gnome-help:gpl">
<citetitle>GNU General Public License</citetitle></ulink> as
published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version.
</para>
<para>
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<citetitle>GNU General Public License</citetitle> for more details.
</para>
<para>
A copy of the <citetitle>GNU General Public License</citetitle> is
included as an appendix to the <citetitle>GNOME Users
Guide</citetitle>. You may also obtain a copy of the
<citetitle>GNU General Public License</citetitle> from the Free
Software Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing to
<address>
Free Software Foundation, Inc.
<street>59 Temple Place</street> - Suite 330
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
<country>USA</country>
</address>
</para>
</sect1>
</article>

View File

@ -1,155 +0,0 @@
# To use this template:
# 1) Define: figs, docname, lang, omffile, sgml_ents although figs,
# omffile, and sgml_ents may be empty in your Makefile.am which
# will "include" this one
# 2) Figures must go under figures/ and be in PNG format
# 3) You should only have one document per directory
#
# Note that this makefile forces the directory name under
# $prefix/share/gnome/help/ to be the same as the SGML filename
# of the document. This is required by GNOME. eg:
# $prefix/share/gnome/help/fish_applet/C/fish_applet.sgml
# ^^^^^^^^^^^ ^^^^^^^^^^^
# Definitions:
# figs A list of screenshots which will be included in EXTRA_DIST
# Note that these should reside in figures/ and should be .png
# files, or you will have to make modifications below.
# docname This is the name of the SGML file: <docname>.sgml
# lang This is the document locale
# omffile This is the name of the OMF file. Convention is to name
# it <docname>-<locale>.omf.
# sgml_ents This is a list of SGML entities which must be installed
# with the main SGML file and included in EXTRA_DIST.
# eg:
# figs = \
# figures/fig1.png \
# figures/fig2.png
# docname = scrollkeeper-manual
# lang = C
# omffile=scrollkeeper-manual-C.omf
# sgml_ents = fdl.sgml
# include $(top_srcdir)/help/sgmldocs.make
# dist-hook: app-dist-hook
#
docdir = $(datadir)/gnome/help/$(docname)/$(lang)
doc_DATA = index.html
sgml_files = $(sgml_ents) $(docname).sgml
omf_dir=$(top_srcdir)/omf-install
EXTRA_DIST = $(sgml_files) $(doc_DATA) $(omffile) $(figs)
CLEANFILES = omf_timestamp
# when doing a distclean, we also want to clear out html files:
CONFIG_CLEAN_FILES = index.html $(docname)/*.html $(docname)/stylesheet-images/*.gif
all: index.html omf
omf: omf_timestamp
omf_timestamp: $(omffile)
-for file in $(omffile); do \
scrollkeeper-preinstall $(docdir)/$(docname).sgml $$file $(omf_dir)/$$file; \
done
touch omf_timestamp
index.html: $(docname)/index.html
-cp $(docname)/index.html .
# The weird srcdir trick is because the db2html from the Cygnus RPMs
# cannot handle relative filenames.
# The t1 test is for certain versions of jw that create cryptic
# html pages, o fwhich the index is called "t1". Also, the jw
# script from docbook-utils 0.6.9 does not copy the template
# stylesheet-images directory like the db2html script does, so
# we give it a little help (at least for now)
$(docname)/index.html: $(docname).sgml
-srcdir=`cd $(srcdir) && pwd`; \
if test "$(HAVE_JW)" = 'yes' ; then \
if test -f /usr/share/sgml/docbook/dsssl-stylesheets/images/next.gif ; then \
mkdir -p $$srcdir/$(docname)/stylesheet-images ; \
cp /usr/share/sgml/docbook/dsssl-stylesheets/images/*.gif $$srcdir/$(docname)/stylesheet-images/ ; \
fi; \
jw -c /etc/sgml/catalog $$srcdir/$(docname).sgml -o $$srcdir/$(docname); \
else \
db2html $$srcdir/$(docname).sgml; \
fi
if test -f $(docname)/t1.html; then \
cd $(srcdir)/$(docname) && cp t1.html index.html; \
cd $(srcdir); \
fi
$(docname).sgml: $(sgml_ents)
-ourdir=`cd . && pwd`; \
cd $(srcdir); \
cp $(sgml_ents) $$ourdir
app-dist-hook: index.html
-$(mkinstalldirs) $(distdir)/$(docname)/stylesheet-images
-$(mkinstalldirs) $(distdir)/figures
-cp $(srcdir)/$(docname)/*.html $(distdir)/$(docname)
-for file in $(srcdir)/$(docname)/*.css; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
cp $$file $(distdir)/$(docname)/$$basefile ; \
done
-for file in $(srcdir)/$(docname)/stylesheet-images/*.gif; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
cp $$file $(distdir)/$(docname)/stylesheet-images/$$basefile ; \
done
-if [ -e topic.dat ]; then \
cp $(srcdir)/topic.dat $(distdir); \
fi
install-data-am: index.html omf
-$(mkinstalldirs) $(DESTDIR)$(docdir)/stylesheet-images
-$(mkinstalldirs) $(DESTDIR)$(docdir)/figures
-cp $(srcdir)/$(sgml_files) $(DESTDIR)$(docdir)
-for file in $(srcdir)/$(docname)/*.html $(srcdir)/$(docname)/*.css; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$$basefile; \
done
-for file in $(srcdir)/figures/*.png; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/figures/$$basefile; \
done
-for file in $(srcdir)/$(docname)/stylesheet-images/*.gif; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/stylesheet-images/$$basefile; \
done
-if [ -e $(srcdir)/topic.dat ]; then \
$(INSTALL_DATA) $(srcdir)/topic.dat $(DESTDIR)$(docdir); \
fi
$(docname).ps: $(srcdir)/$(docname).sgml
-srcdir=`cd $(srcdir) && pwd`; \
db2ps $$srcdir/$(docname).sgml
$(docname).rtf: $(srcdir)/$(docname).sgml
-srcdir=`cd $(srcdir) && pwd`; \
db2ps $$srcdir/$(docname).sgml
uninstall-local:
-for file in $(srcdir)/$(docname)/stylesheet-images/*.gif; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
rm -f $(docdir)/stylesheet-images/$$basefile; \
done
-for file in $(srcdir)/figures/*.png; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
rm -f $(docdir)/figures/$$basefile; \
done
-for file in $(srcdir)/$(docname)/*.html $(srcdir)/$(docname)/*.css; do \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
rm -f $(DESTDIR)$(docdir)/$$basefile; \
done
-for file in $(sgml_files); do \
rm -f $(DESTDIR)$(docdir)/$$file; \
done
-rmdir $(DESTDIR)$(docdir)/stylesheet-images
-rmdir $(DESTDIR)$(docdir)/figures
-rmdir $(DESTDIR)$(docdir)

View File

@ -1,672 +0,0 @@
0 HEAD
1 SOUR FTW
2 VERS 8.0
2 NAME Family Tree Maker for Windows
2 CORP Genealogy.com
3 ADDR 39500 Stevenson Pl. #204
4 CONT Fremont, CA 95439
3 PHON (510) 794-6850
1 DEST FTW
1 DATE 3 JUN 2001
1 CHAR ANSEL
1 FILE C:\My Documents\Family Tree\Sample.GED
1 GEDC
2 VERS 5.5
2 FORM LINEAGE-LINKED
1 _SCHEMA
2 INDI
3 _FA1
4 LABL Marriage fact
3 _FA2
4 LABL Fact 2
3 _FA3
4 LABL Fact 3
3 _FA4
4 LABL Fact 4
3 _FA5
4 LABL Fact 5
3 _FA6
4 LABL Fact 6
3 _FA7
4 LABL Fact 7
3 _FA8
4 LABL Fact 8
3 _FA9
4 LABL Fact 9
3 _FA10
4 LABL Fact 10
3 _FA11
4 LABL Fact 11
3 _FA12
4 LABL Fact 12
3 _FA13
4 LABL Fact 13
3 _MREL
4 LABL Relationship to Mother
3 _FREL
4 LABL Relationship to Father
2 FAM
3 _FA1
4 LABL Marriage fact
3 _FA2
4 LABL Fact 2
3 _MSTAT
4 LABL Marriage Beginning Status
3 _MEND
4 LABL Marriage Ending Status
0 @I01@ INDI
1 NAME Edwin Michael /Smith/
2 SOUR @S1600@
1 SEX M
1 TITL Grand Poobah
1 BIRT
2 DATE 24 MAY 1961
2 PLAC San Jose, Santa Clara Co., CA
1 OCCU
2 PLAC Software Engineer
1 EDUC
2 DATE BET. 1979 - 1984
2 PLAC UC Berkeley
1 _DEG
2 DATE 1984
2 PLAC B.S.E.E.
1 FAMS @F01@
1 FAMC @F02@
0 @I02@ INDI
1 NAME Alice Paula /Perkins/
2 SOUR @S1600@
3 PAGE 1933 BIRTH: NV, Washoe Co., Sparks, Birth Certificate, Nevada State Department of Health, Vital Records, Sparks, NV, certificate #599632
3 DATA
4 TEXT Alice Paula Perkins born 22 Nov 1933, Sparks, Washoe Co, Nevada daughter of Paul Perkins and Stella Mason.
2 SOUR @S1601@
1 SEX F
1 BIRT
2 DATE 22 NOV 1933
2 PLAC Sparks, Washoe Co., NV
1 REFN 3
1 FAMS @F02@
0 @I03@ INDI
1 NAME Martin /Smith/
1 SEX M
1 BIRT
2 DATE BET. 1794 - 1796
2 PLAC Tommarp, Kristianstad Lan, Sweden
1 DEAT
2 PLAC Sweden
1 REFN 366
1 FAMS @F03@
1 FAMC @F04@
0 @I04@ INDI
1 NAME Elna /Jefferson/
1 SEX F
1 BIRT
2 DATE 14 SEP 1800
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 DEAT
2 PLAC Sweden
1 CHR
2 DATE 16 SEP 1800
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 REFN 367
1 FAMS @F03@
0 @I05@ INDI
1 NAME Martin /Smith/
1 SEX M
1 BIRT
2 DATE 19 NOV 1830
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 DEAT
2 DATE BET. 1899 - 1905
2 PLAC Sweden
1 BAPM
2 DATE 23 NOV 1830
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 REFN 371
1 FAMS @F05@
1 FAMC @F03@
1 NOTE @NI05@
0 @NI05@ NOTE
1 CONC
1 CONT BIOGRAPHY
1 CONT Martin was listed as being a Husman, (owning a house as opposed to a
1 CONT farm) in the house records of Gladsax.
0 @I06@ INDI
1 NAME Kerstina /Hansdotter/
1 SEX F
1 BIRT
2 DATE 29 NOV 1832
2 PLAC Smestorp, Kristianstad Lan, Sweden
1 DEAT
2 DATE BEF. 1908
2 PLAC Sweden
1 REFN 374
1 FAMS @F05@
0 @I07@ INDI
1 NAME Gustaf /Smith/, Sr.
1 SEX M
1 BIRT
2 DATE 28 NOV 1862
2 PLAC Grostorp, Kristianstad Lan, Sweden
1 DEAT
2 DATE BEF. 23 JUL 1930
2 PLAC Sparks, Washoe Co., NV
1 IMMI
2 DATE 21 MAY 1908
2 PLAC Copenhagen, Denmark
1 CHR
2 DATE 7 DEC 1862
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 REFN 377
1 FAMS @F06@
1 FAMC @F05@
0 @I08@ INDI
1 NAME Anna /Hansdotter/
1 SEX F
1 BIRT
2 DATE 2 OCT 1864
2 PLAC Loderup, Malmous Lan, Sweden
1 DEAT
2 DATE 29 SEP 1945
2 PLAC Sparks, Washoe Co., NV
1 FAMS @F06@
0 @I09@ INDI
1 NAME Kirsti Marie /Smith/
1 SEX F
1 BIRT
2 DATE 15 DEC 1886
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 18 JUL 1966
2 PLAC San Francisco, San Francisco Co., CA
1 FAMS @F07@
1 FAMC @F06@
0 @I10@ INDI
1 NAME Astrid Shermanna Augusta /Smith/
1 SEX F
1 BIRT
2 DATE 31 JAN 1889
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 21 DEC 1963
2 PLAC San Francisco, San Francisco Co., CA
1 FAMS @F08@
1 FAMC @F06@
0 @I11@ INDI
1 NAME Hjalmar /Smith/
1 SEX M
1 BIRT
2 DATE 31 JAN 1893
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 25 SEP 1894
2 PLAC Ronne, Bornholm, Denmark
1 FAMC @F06@
0 @I12@ INDI
1 NAME Hjalmar /Smith/
2 SOUR @S1600@
1 SEX M
1 BIRT
2 DATE 7 APR 1895
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 26 JUN 1975
2 PLAC Reno, Washoe Co., NV
1 BAPM
2 DATE 3 JUN 1895
2 PLAC Ronne Bornholm, Denmark
1 IMMI
2 DATE 14 NOV 1912
2 PLAC Copenhagen, Denmark
1 REFN 364
1 FAMS @F09@
1 FAMC @F06@
1 NOTE @NI12@
0 @NI12@ NOTE
1 CONC
1 CONT BIOGRAPHY
1 CONT Hjalmar sailed from Copenhagen, Denmark on the OSCAR II, 14 November
1 CONT 1912 arriving in New York 27 November 1912. He was seventeen years
1 CONT old. On the ship passenger list his trade was listed as a Blacksmith.
1 CONT He came to Reno, Nevada and lived with his sister Marie for a time
1 CONT before settling in Sparks. He worked for Southern Pacific Railroad as
1 CONT a car inspector for a time, then went to work for Standard Oil
1 CONT Company. He enlisted in the army at Sparks 7 December 1917 and served
1 CONT as a Corporal in the Medical Corp until his discharge 12 August 1919
1 CONT at the Presidio in San Francisco, California. Both he and Marjorie are
1 CONT buried in the Masonic Memorial Gardens Mausoleum in Reno, he the 30th
1 CONT June 1975, and she the 25th of June 1980.
0 @I13@ INDI
1 NAME Gus /Smith/
1 SEX M
1 BIRT
2 DATE 11 SEP 1897
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 21 OCT 1963
2 PLAC San Francisco, San Francisco Co., CA
1 FAMS @F10@
1 FAMC @F06@
0 @I14@ INDI
1 NAME Carl Emil /Smith/
1 SEX M
1 BIRT
2 DATE 20 DEC 1899
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 28 JAN 1959
2 PLAC Reno, Washoe Co., NV
1 FAMC @F06@
0 @I15@ INDI
1 NAME Hans Peter /Smith/
1 SEX M
1 BIRT
2 DATE 17 APR 1904
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 29 JAN 1977
2 PLAC San Francisco, San Francisco Co., CA
1 FAMS @F11@
1 FAMS @F15@
1 FAMC @F06@
0 @I16@ INDI
1 NAME Edwin /Willard/
1 SEX M
1 BIRT
2 DATE ABT. 1886
1 FAMS @F07@
0 @I17@ INDI
1 NAME Herman Julius /Nielsen/
1 SEX M
1 BIRT
2 DATE 31 AUG 1889
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 1945
1 FAMS @F08@
0 @I18@ INDI
1 NAME John Hjalmar /Smith/
2 SOUR @S1601@
1 SEX M
1 BIRT
2 DATE 30 JAN 1932
2 PLAC San Francisco, San Francisco Co, CA
1 FAMS @F02@
1 FAMC @F09@
0 @I19@ INDI
1 NAME Marjorie Lee /Smith/
2 SOUR @S1600@
1 SEX F
1 BIRT
2 DATE 4 NOV 1934
2 PLAC Reno, Washoe Co. NV
1 FAMC @F09@
0 @I20@ INDI
1 NAME Evelyn /Michaels/
1 SEX F
1 BIRT
2 DATE ABT. 1897
1 FAMS @F10@
0 @I21@ INDI
1 NAME Jennifer /Anderson/
1 SEX F
1 BIRT
2 DATE 5 NOV 1907
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 29 MAY 1985
2 PLAC San Francisco, San Francisco Co., , CA
1 FAMS @F15@
0 @I22@ INDI
1 NAME Lillie Harriet /Jones/
1 SEX F
1 BIRT
2 DATE 2 MAY 1910
2 PLAC Ronne, Bornholm, Denmark
1 DEAT
2 DATE 26 JUN 1990
1 FAMS @F11@
0 @I23@ INDI
1 NAME Magnes /Smith/
1 SEX M
1 BIRT
2 DATE 6 OCT 1858
2 PLAC Simrishamn, Kristianstad Lan, Sweden
1 DEAT
2 DATE 20 FEB 1910
2 PLAC Ronne, Bornholm, Denmark
1 FAMS @F12@
1 FAMC @F05@
0 @I24@ INDI
1 NAME Emil /Smith/
1 SEX M
1 BIRT
2 DATE 27 SEP 1860
2 PLAC Simrishamn, Kristianstad Lan, Sweden
1 FAMC @F05@
0 @I25@ INDI
1 NAME Anna /Streiffert/
1 SEX F
1 BIRT
2 DATE 23 SEP 1860
2 PLAC Hoya/Jona/Hoia, Sweden
1 DEAT
2 DATE 2 FEB 1927
2 PLAC Ronne, Bornholm, Denmark
1 FAMS @F12@
0 @I26@ INDI
1 NAME Hanna /Smith/
1 SEX F
1 BIRT
2 DATE 29 JAN 1821
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 FAMC @F03@
0 @I27@ INDI
1 NAME Ingar /Smith/
1 SEX F
1 BIRT
2 DATE AFT. 1823
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 FAMC @F03@
0 @I28@ INDI
1 NAME Ingeman /Smith/
1 SEX M
1 BIRT
2 DATE 29 JAN 1826
2 PLAC Gladsax, Kristianstad Lan, Sweden
1 FAMC @F03@
0 @I29@ INDI
1 NAME Marjorie Alice /Smith/
2 SOUR @S1600@
1 SEX F
1 BIRT
2 DATE 5 FEB 1960
2 PLAC San Jose, Santa Clara Co., CA
1 FAMC @F02@
0 @I30@ INDI
1 NAME Lloyd /Smith/
1 SEX M
1 BIRT
2 DATE 13 MAR 1935
2 PLAC San Francisco, San Francisco Co., CA
1 FAMS @F13@
1 FAMC @F11@
0 @I31@ INDI
1 NAME Janis Elaine /Green/
1 SEX F
1 BIRT
2 DATE 2 DEC 1935
1 FAMS @F13@
0 @I32@ INDI
1 NAME Eric Lloyd /Smith/
1 SEX M
1 BIRT
2 DATE 28 AUG 1963
2 PLAC San Francisco, San Francisco Co., CA
1 FAMS @F14@
1 FAMC @F13@
0 @I33@ INDI
1 NAME Keith Lloyd /Smith/
1 SEX M
1 BIRT
2 DATE 11 AUG 1966
2 PLAC San Francisco, San Francisco Co., CA
1 FAMC @F13@
0 @I34@ INDI
1 NAME Craig Peter /Smith/
1 SEX M
1 BIRT
2 DATE AFT. 1966
2 PLAC San Francisco, San Francisco Co., CA
1 FAMC @F13@
0 @I35@ INDI
1 NAME Lars Peter /Smith/
1 SEX M
1 BIRT
2 DATE 16 SEP 1991
2 PLAC Santa Rosa, Sonoma Co., CA
1 FAMC @F14@
0 @I36@ INDI
1 NAME Darcy /Horne/
1 SEX F
1 BIRT
2 DATE 2 JUL 1966
2 PLAC Sacramento, Sacramento Co., CA
1 FAMS @F14@
0 @I37@ INDI
1 NAME Ingeman /Smith/
1 SEX M
1 BIRT
2 DATE ABT. 1770
2 PLAC Sweden
1 FAMS @F04@
0 @I38@ INDI
1 NAME Marta /Ericsdotter/
1 SEX F
1 BIRT
2 DATE ABT. 1775
2 PLAC Sweden
1 FAMS @F04@
0 @I39@ INDI
1 NAME Marjorie /Ohman/
2 SOUR @S1602@
2 SOUR @S1600@
1 SEX F
1 BIRT
2 DATE 3 JUN 1903
2 PLAC Denver, Denver Co., CO
1 DEAT
2 DATE 22 JUN 1980
2 PLAC Reno, Washoe Co., NV
1 REFN 365
1 FAMS @F09@
0 @I40@ INDI
1 NAME Janice Ann /Adams/
1 SEX F
1 BIRT
2 DATE 26 AUG 1965
2 PLAC Fremont, Alameda Co., CA
1 OCCU
2 PLAC Retail Manager
1 _DEG
2 DATE 1988
2 PLAC Business Management
1 FAMS @F01@
0 @I41@ INDI
1 NAME Amber Marie /Smith/
1 SEX F
1 BIRT
2 DATE 12 APR 1998
2 PLAC Hayward, Alameda Co., CA
1 CHR
2 DATE 26 APR 1998
2 PLAC Community Presbyterian Church, Danville, CA
1 FAMC @F01@
0 @I42@ INDI
1 NAME Mason Michael /Smith/
1 SEX M
1 BIRT
2 DATE 26 JUN 1996
2 PLAC Hayward, Alameda Co., CA
1 CHR
2 DATE 10 JUL 1996
2 PLAC Community Presbyterian Church, Danville, CA
1 FAMC @F01@
0 @F01@ FAM
1 HUSB @I01@
1 WIFE @I40@
1 CHIL @I42@
2 _FREL Adopted
2 _MREL Adopted
1 CHIL @I41@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE 27 MAY 1995
2 PLAC San Ramon, Conta Costa Co., CA
1 ENGA
2 DATE 5 OCT 1994
2 PLAC San Francisco, CA
0 @F02@ FAM
1 HUSB @I18@
1 WIFE @I02@
1 CHIL @I29@
2 _FREL Adopted
2 _MREL Adopted
1 CHIL @I01@
2 _FREL Adopted
2 _MREL Adopted
1 MARR
2 DATE 4 JUN 1954
2 PLAC Sparks, Washoe Co., NV
2 SOUR Hannah was the widow of James Matthewson.
0 @F03@ FAM
1 HUSB @I03@
1 WIFE @I04@
1 CHIL @I26@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I27@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I28@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I05@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE ABT. 1816
2 PLAC Gladsax, Kristianstad Lan, Sweden
0 @F04@ FAM
1 HUSB @I37@
1 WIFE @I38@
1 CHIL @I03@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE ABT. 1790
2 PLAC Sweden
0 @F05@ FAM
1 HUSB @I05@
1 WIFE @I06@
1 CHIL @I23@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I24@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I07@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE ABT. 1856
0 @F06@ FAM
1 HUSB @I07@
1 WIFE @I08@
1 CHIL @I09@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I10@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I11@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I12@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I13@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I14@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I15@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE 27 NOV 1885
2 PLAC Ronne, Bornholm, Denmark
0 @F07@ FAM
1 HUSB @I16@
1 WIFE @I09@
1 MARR
2 DATE ABT. 1910
0 @F08@ FAM
1 HUSB @I17@
1 WIFE @I10@
1 MARR
2 DATE 30 NOV 1912
2 PLAC Ronne, Bornholm, Denmark
0 @F09@ FAM
1 HUSB @I12@
1 WIFE @I39@
1 CHIL @I18@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I19@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE 31 OCT 1927
2 PLAC Reno, Washoe Co., NV
0 @F10@ FAM
1 HUSB @I13@
1 WIFE @I20@
1 MARR
2 DATE ABT. 1920
0 @F11@ FAM
1 HUSB @I15@
1 WIFE @I22@
1 CHIL @I30@
2 _FREL Adopted
2 _MREL Adopted
0 @F12@ FAM
1 HUSB @I23@
1 WIFE @I25@
1 MARR
2 DATE 24 AUG 1884
2 PLAC Ronne, Bornholm, Denmark
0 @F13@ FAM
1 HUSB @I30@
1 WIFE @I31@
1 CHIL @I32@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I33@
2 _FREL Natural
2 _MREL Natural
1 CHIL @I34@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE 10 AUG 1958
2 PLAC San Francisco, San Francisco Co., CA
0 @F14@ FAM
1 HUSB @I32@
1 WIFE @I36@
1 CHIL @I35@
2 _FREL Natural
2 _MREL Natural
1 MARR
2 DATE 12 JUL 1986
2 PLAC Woodland, Yolo Co., CA
0 @F15@ FAM
1 HUSB @I15@
1 WIFE @I21@
0 @S1600@ SOUR
1 TITL Birth Certificate
1 REPO
2 CALN
3 MEDI Book
0 @S1601@ SOUR
1 TITL Birth Records
1 REPO
2 CALN
3 MEDI Book
0 @S1602@ SOUR
1 TITL Birth, Death and Marriage Records
1 REPO
2 CALN
3 MEDI Book
0 TRLR

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

View File

@ -1,48 +0,0 @@
#! /bin/sh
# @configure_input@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000 Donald N. Allingham
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
prefix=@prefix@
export GRAMPSDIR=@datadir@/@PACKAGE@
export PYTHONPATH=$GRAMPSDIR
export GRAMPSI18N=@prefix@/share/locale
preload=""
#
# Mandrake has a tendency to build dynamic libraries without the proper
# dependencies in them. This causes havoc with the python gtk libraries.
# Preload the know problem libraries so that gramps does not fail under
# Mandrake
#
for l in /usr/X11R6/lib/libX11.so /usr/lib/libgdk-1.2.so.0 /usr/lib/libgdk_imlib.so.1
do
if [ -f $l ]; then
preload="$preload $l"
fi
done
if [ "$preload" != "" ]; then
export LD_PRELOAD="$preload"
fi
@PYTHON@ $GRAMPSDIR/gramps.py $*

View File

@ -1,102 +0,0 @@
%define ver 0.8.1
%define rel pl1
%define prefix /usr
Summary: Genealogical Research and Analysis Management Programming System.
Name: gramps
Version: %ver
Release: %rel
Copyright: GPL
Group: Applications/Genealogy
Source: http://download.sourceforge.net/gramps/gramps-%{ver}.tar.gz
BuildRoot: /var/tmp/%{name}-%{version}-root
URL: http://gramps.sourceforge.net
Requires: python >= 1.5.2
Requires: pygnome >= 1.0.53
Requires: _gladegnomemodule.so
Requires: pyexpat.so
BuildRequires: scrollkeeper >= 0.1.4
BuildRequires: automake >= 1.6
BuildRequires: autoconf >= 2.52
%description
gramps (Genealogical Research and Analysis Management Programming
System) is a GNOME based genealogy program supporting a Python
based plugin system.
%prep
%setup
%build
if [ ! -f configure ]; then
CFLAGS="$MYCFLAGS" ./autogen.sh $MYARCH_FLAGS --prefix=%prefix
else
CFLAGS="$MYCFLAGS" ./configure $MYARCH_FLAGS --prefix=%prefix
fi
make
%install
rm -rf $RPM_BUILD_ROOT
make GNOME_DATADIR=$RPM_BUILD_ROOT%{prefix}/share prefix=$RPM_BUILD_ROOT%{prefix} install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc README COPYING TODO INSTALL
%{prefix}/bin/gramps
%{_datadir}/gnome/help/gramps-manual/C/*
%{_datadir}/gnome/help/extending-gramps/C/*
%{_datadir}/gnome/apps/Applications/gramps.desktop
%{_datadir}/pixmaps/gramps.png
%{_datadir}/locale/*/LC_MESSAGES/gramps.mo
%dir %{_datadir}/gramps
%dir %{_datadir}/gramps/plugins
%dir %{_datadir}/gramps/docgen
%dir %{_datadir}/gramps/filters
%dir %{_datadir}/gramps/data
%dir %{_datadir}/gramps/data/templates
%{_datadir}/gramps/*.xpm
%{_datadir}/gramps/*.jpg
%{_datadir}/gramps/*.png
%{_datadir}/gramps/*.py
%{_datadir}/gramps/*.pyo
%{_datadir}/gramps/*.glade
%{_datadir}/gramps/*.so
%{_datadir}/gramps/docgen/*.py
%{_datadir}/gramps/docgen/*.pyo
%{_datadir}/gramps/filters/*.py
%{_datadir}/gramps/filters/*.pyo
%{_datadir}/gramps/plugins/*.py
%{_datadir}/gramps/plugins/*.pyo
%{_datadir}/gramps/plugins/*.glade
%{_datadir}/gramps/data/gedcom.xml
%{_datadir}/gramps/data/templates/*.tpkg
%{_datadir}/gramps/data/templates/*.xml
%{prefix}/man/man1/gramps.1*
%{_datadir}/omf/gramps
%post
if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update; fi
%postun
if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update; fi
%changelog
* Fri Jun 14 2002 Donald Peterson <dpeterso@engr.ors.edu>
- add scrollkeeper dependencies and some file cleanup

View File

@ -1,102 +0,0 @@
%define ver @VERSION@
%define rel @RELEASE@
%define prefix /usr
Summary: Genealogical Research and Analysis Management Programming System.
Name: gramps
Version: %ver
Release: %rel
Copyright: GPL
Group: Applications/Genealogy
Source: http://download.sourceforge.net/gramps/gramps-%{ver}.tar.gz
BuildRoot: /var/tmp/%{name}-%{version}-root
URL: http://gramps.sourceforge.net
Requires: python >= 1.5.2
Requires: pygnome >= 1.0.53
Requires: _gladegnomemodule.so
Requires: pyexpat.so
BuildRequires: scrollkeeper >= 0.1.4
BuildRequires: automake >= 1.6
BuildRequires: autoconf >= 2.52
%description
gramps (Genealogical Research and Analysis Management Programming
System) is a GNOME based genealogy program supporting a Python
based plugin system.
%prep
%setup
%build
if [ ! -f configure ]; then
CFLAGS="$MYCFLAGS" ./autogen.sh $MYARCH_FLAGS --prefix=%prefix
else
CFLAGS="$MYCFLAGS" ./configure $MYARCH_FLAGS --prefix=%prefix
fi
make
%install
rm -rf $RPM_BUILD_ROOT
make GNOME_DATADIR=$RPM_BUILD_ROOT%{prefix}/share prefix=$RPM_BUILD_ROOT%{prefix} install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc README COPYING TODO INSTALL
%{prefix}/bin/gramps
%{_datadir}/gnome/help/gramps-manual/C/*
%{_datadir}/gnome/help/extending-gramps/C/*
%{_datadir}/gnome/apps/Applications/gramps.desktop
%{_datadir}/pixmaps/gramps.png
%{_datadir}/locale/*/LC_MESSAGES/gramps.mo
%dir %{_datadir}/gramps
%dir %{_datadir}/gramps/plugins
%dir %{_datadir}/gramps/docgen
%dir %{_datadir}/gramps/filters
%dir %{_datadir}/gramps/data
%dir %{_datadir}/gramps/data/templates
%{_datadir}/gramps/*.xpm
%{_datadir}/gramps/*.jpg
%{_datadir}/gramps/*.png
%{_datadir}/gramps/*.py
%{_datadir}/gramps/*.pyo
%{_datadir}/gramps/*.glade
%{_datadir}/gramps/*.so
%{_datadir}/gramps/docgen/*.py
%{_datadir}/gramps/docgen/*.pyo
%{_datadir}/gramps/filters/*.py
%{_datadir}/gramps/filters/*.pyo
%{_datadir}/gramps/plugins/*.py
%{_datadir}/gramps/plugins/*.pyo
%{_datadir}/gramps/plugins/*.glade
%{_datadir}/gramps/data/gedcom.xml
%{_datadir}/gramps/data/templates/*.tpkg
%{_datadir}/gramps/data/templates/*.xml
%{prefix}/man/man1/gramps.1*
%{_datadir}/omf/gramps
%post
if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update; fi
%postun
if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update; fi
%changelog
* Fri Jun 14 2002 Donald Peterson <dpeterso@engr.ors.edu>
- add scrollkeeper dependencies and some file cleanup

View File

@ -1,250 +0,0 @@
#! /bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0

Some files were not shown because too many files have changed in this diff Show More