move gramps23 into trunk

svn: r8580
This commit is contained in:
Brian Matherly 2007-06-18 04:30:38 +00:00
commit 551dfaa38d
2058 changed files with 84225 additions and 268120 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.

File diff suppressed because it is too large Load Diff

View File

View File

@ -1,9 +1,3 @@
Version 2.2.8 -- the "You sons of a silly person" release
* Bug fixes
Version 2.2.7 -- the "Well, I didn't vote for you." release
* Many, many bug fixes
Version 2.2.6 -- the "Summarize Proust Competition" release
* Fix report option saving

View File

@ -5,12 +5,34 @@
will not be around forever. We need to adapt to the new GTK method.
* Add support for formatted notes. We have a start by ripping off code
from GPL code from grecipe-manager.
from GPL code from grecipe-manager. - DONE
* Allow for multiple notes. A tabbed interface would be really useful,
since there are no titles for notes. Not all objects would
necessarily need multiple notes. Determine which ones should and
shouldn't.
shouldn't. - DONE
* before release on multiple notes:
--> in note view: only show orphaned notes (notes are NOT in remove
orphaned notes tool which is what we want )
--> in note: also public/private on GUI
--> on upgrade, the notetype should correspond to the object the note is made
from, so notetype SOURCE, SOURCEREF, ... (DONE for GRDB)
--> in sourceref:
* remove text tab.
* On import of GEDCOM text tag, or upgrade of < 2.2 database,
create a note with type TRANSCRIPT
* On export, do not write the text tag in sourceref, write a note instead
--> A GrampsWidget for use in report dialogs to select which notetypes to include
in a report
--> Support for multiple notes in all reports.
--> Empty text field on Saving Note should throw an error that Note is empty ! (?)
--> Undo in Note. Serious editing needs an undo function. Furthermore, the function
the Clear icon is unclear: tooltip? Other icon?
* Split views
* Export to spreadsheet, print, CSV of views - DONE
* Date calculator. See
http://sourceforge.net/mailarchive/forum.php?thread_id=3252078&forum_id=1993

View File

View File

@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
dnl May need to run automake && aclocal first
AC_PREREQ(2.57)
AC_INIT(gramps, 2.2.9, [gramps-bugs@lists.sourceforge.net])
AC_INIT(gramps, 2.3.0, [gramps-bugs@lists.sourceforge.net])
AC_CONFIG_SRCDIR(configure.in)
AM_INIT_AUTOMAKE(1.6.3)
@ -44,12 +44,6 @@ AM_CONDITIONAL(ENABLE_SK, test "x$packager_mode" = "xfalse" -a "x$enable_scrollk
AC_SUBST(RELEASE)
AC_SUBST(VERSIONSTRING)
dnl These are needed for the full paths for the manual output
HELPPATH=$(pwd)/help/output
FONTPATH=/usr/share/fonts/truetype/freefont
AC_SUBST(HELPPATH)
AC_SUBST(FONTPATH)
dnl Add the languages which your application supports here.
ALL_LINGUAS="hu zh_CN cs da de es fr it nb nl no pl pt_BR ro ru sv eo fi lt sk tr"
GETTEXT_PACKAGE=gramps
@ -200,8 +194,6 @@ AC_CONFIG_FILES([
po/Makefile.in
m4/Makefile
help/Makefile
help/output/Makefile
help/output/grampsfop.xconf
Makefile
gramps.spec
gramps.sh
@ -228,8 +220,13 @@ src/Filters/Rules/Source/Makefile
src/Filters/Rules/Place/Makefile
src/Filters/Rules/MediaObject/Makefile
src/Filters/Rules/Repository/Makefile
src/Filters/Rules/Note/Makefile
src/Filters/SideBar/Makefile
src/DataViews/Makefile
src/BasicUtils/Makefile
src/Simple/Makefile
src/GrampsDbUtils/Makefile
src/GrampsLocale/Makefile
src/PluginUtils/Makefile
src/ReportBase/Makefile
src/plugins/Makefile
@ -237,6 +234,11 @@ src/DateHandler/Makefile
src/data/Makefile
src/glade/Makefile
src/images/Makefile
src/images/scalable/Makefile
src/images/16x16/Makefile
src/images/22x22/Makefile
src/images/48x48/Makefile
src/data/templates/Makefile
data/Makefile
data/man/Makefile
data/man/fr/Makefile

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -237,6 +237,18 @@
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/interface/releditbtn</key>
<applyto>/apps/gramps/interface/releditbtn</applyto>
<owner>gramps</owner>
<type>bool</type>
<default>0</default>
<locale name="C">
<short>Display edit buttons in Relationship View</short>
<long>This key enables display of edit buttons in Relationship View</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/interface/height</key>
<applyto>/apps/gramps/interface/height</applyto>
@ -285,6 +297,30 @@
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/interface/note-height</key>
<applyto>/apps/gramps/interface/note-height</applyto>
<owner>gramps</owner>
<type>int</type>
<default>500</default>
<locale name="C">
<short>Height of the note editor interface.</short>
<long>Specifies the height of the note editor interface.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/interface/note-width</key>
<applyto>/apps/gramps/interface/note-width</applyto>
<owner>gramps</owner>
<type>int</type>
<default>700</default>
<locale name="C">
<short>Width of the note editor interface.</short>
<long>Specifies the width of the note editor interface.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/interface/person-height</key>
<applyto>/apps/gramps/interface/person-height</applyto>
@ -562,6 +598,18 @@
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/behavior/database-path</key>
<applyto>/apps/gramps/behavior/database-path</applyto>
<owner>gramps</owner>
<type>string</type>
<default>~/.gramps/grampsdb</default>
<locale name="C">
<short>Additional path where the databases may reside</short>
<long>Additional path where the databases may reside</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/preferences/fprefix</key>
<applyto>/apps/gramps/preferences/fprefix</applyto>
@ -601,6 +649,19 @@
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/preferences/nprefix</key>
<applyto>/apps/gramps/preferences/nprefix</applyto>
<owner>gramps</owner>
<type>string</type>
<default>N%04d</default>
<locale name="C">
<short>Default note GRAMPS ID pattern</short>
<long>The new GRAMPS IDs for the notes are generated according
to this format string.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/preferences/iprefix</key>
<applyto>/apps/gramps/preferences/iprefix</applyto>
@ -1153,5 +1214,18 @@
</locale>
</schema>
<schema>
<key>/schemas/apps/gramps/behavior/owner-warn</key>
<applyto>/apps/gramps/behavior/owner-warn</applyto>
<owner>gramps</owner>
<type>bool</type>
<default>0</default>
<locale name="C">
<short>Hide warning on missing database owner.</short>
<long>If set to 1, the warning about missing database owner will not
be displayed when GEDCOM export is done.</long>
</locale>
</schema>
</schemalist>
</gconfschemafile>

View File

@ -24,15 +24,15 @@
-->
<!--
This is the Document Type Definition file for v1.1.4
This is the Document Type Definition file for v1.2.0
of the GRAMPS XML genealogy data format.
Please use the following formal public identifier to identify it:
"-//GRAMPS//DTD GRAMPS XML V1.1.4//EN"
"-//GRAMPS//DTD GRAMPS XML V1.2.0//EN"
For example:
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.1.4//EN"
"http://gramps-project.org/xml/1.1.4/grampsxml.dtd"
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.2.0//EN"
"http://gramps-project.org/xml/1.2.0/grampsxml.dtd"
[...]>
-->
@ -47,13 +47,15 @@ DATABASE
sources
places
objects
repositories
repositories
notes
bookmarks
-->
<!ELEMENT database (header, name-formats?, events?, people?, families?,
sources?, places?, objects?, repositories?, bookmark?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.1.4/">
sources?, places?, objects?, repositories?, notes?,
bookmark?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.2.0/">
<!-- ************************************************************
HEADER
@ -93,8 +95,8 @@ PEOPLE
>
<!ELEMENT person (gender, name*, nick?, eventref*, lds_ord*,
objref*, address*, attribute*, url*,
childof*, parentin*, personref*, note?, sourceref*)>
objref*, address*, attribute*, url*, childof*,
parentin*, personref*, noteref*, sourceref*)>
<!ATTLIST person
id CDATA #REQUIRED
handle ID #REQUIRED
@ -108,8 +110,8 @@ GENDER has values of M, F, or U.
-->
<!ELEMENT gender (#PCDATA)>
<!ELEMENT name (first?,call?,last?,suffix?,patronymic?,title?,
(daterange|dateval|datestr)?,note?,sourceref*)>
<!ELEMENT name (first?,call?last?,suffix?,patronymic?,title?,
(daterange|dateval|datestr)?,noteref*,sourceref*)>
<!ATTLIST name
alt (0|1) #IMPLIED
type CDATA #IMPLIED
@ -138,7 +140,7 @@ GENDER has values of M, F, or U.
<!ELEMENT parentin EMPTY>
<!ATTLIST parentin hlink IDREF #REQUIRED>
<!ELEMENT personref (sourceref*,note?)>
<!ELEMENT personref (sourceref*,noteref*)>
<!ATTLIST personref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
@ -146,7 +148,7 @@ GENDER has values of M, F, or U.
>
<!ELEMENT address ((daterange|dateval|datestr)?,street?,city?,county?,state?,
country?,postal?,phone?,note?,sourceref*)>
country?,postal?,phone?,noteref*,sourceref*)>
<!ATTLIST address priv (0|1) #IMPLIED>
<!ELEMENT street (#PCDATA)>
@ -166,7 +168,7 @@ FAMILY
<!ELEMENT families (family)*>
<!ELEMENT family (rel?,father?,mother?,eventref*,lds_ord*,
objref*,childref*,attribute*,note?,sourceref*)>
objref*,childref*,attribute*,noteref*,sourceref*)>
<!ATTLIST family
id CDATA #REQUIRED
handle ID #REQUIRED
@ -181,7 +183,7 @@ FAMILY
<!ELEMENT mother EMPTY>
<!ATTLIST mother hlink IDREF #REQUIRED>
<!ELEMENT childref (sourceref*,note?)>
<!ELEMENT childref (sourceref*,noteref*)>
<!ATTLIST childref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
@ -200,7 +202,7 @@ EVENT
<!ELEMENT events (event)*>
<!ELEMENT event (type?,(daterange|dateval|datestr)?,place?,cause?,
description?,attribute*,note?,sourceref*,objref*)>
description?,attribute*,noteref*,sourceref*,objref*)>
<!ATTLIST event
id CDATA #REQUIRED
handle ID #REQUIRED
@ -215,7 +217,7 @@ SOURCES
<!ELEMENT sources (source)*>
<!ELEMENT source (stitle?,sauthor?,spubinfo?,sabbrev?,
note?,objref*,data_item*,reporef*)>
noteref*,objref*,data_item*,reporef*)>
<!ATTLIST source
id CDATA #REQUIRED
handle ID #REQUIRED
@ -234,7 +236,7 @@ PLACES
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (ptitle?,coord?,location*,objref*,url*,note?,sourceref*)>
<!ELEMENT placeobj (ptitle?,coord?,location*,objref*,url*,noteref*,sourceref*)>
<!ATTLIST placeobj
id CDATA #REQUIRED
handle ID #REQUIRED
@ -269,7 +271,7 @@ OBJECTS
<!ELEMENT objects (object)*>
<!ELEMENT object (file,attribute*,note?,(daterange|dateval|datestr)?,
<!ELEMENT object (file,attribute*,noteref*,(daterange|dateval|datestr)?,
sourceref*)>
<!ATTLIST object
id CDATA #REQUIRED
@ -292,7 +294,7 @@ REPOSITORIES
<!ELEMENT repositories (repository)*>
<!ELEMENT repository (rname,type,address*,url*,note?)>
<!ELEMENT repository (rname,type,address*,url*,noteref*)>
<!ATTLIST repository
id CDATA #REQUIRED
handle ID #REQUIRED
@ -303,6 +305,23 @@ REPOSITORIES
<!ELEMENT rname (#PCDATA)>
<!-- ************************************************************
NOTES
-->
<!ELEMENT notes (note)*>
<!ELEMENT note (#PCDATA)>
<!ATTLIST note
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
format (0|1) #IMPLIED
type CDATA #REQUIRED
>
<!-- ************************************************************
BOOKMARKS
@ -350,49 +369,43 @@ SHARED ELEMENTS
<!ELEMENT datestr EMPTY>
<!ATTLIST datestr val CDATA #REQUIRED>
<!ELEMENT note (#PCDATA)>
<!ATTLIST note format (0|1) #IMPLIED>
<!ELEMENT sourceref (spage?,scomments?,stext?,(daterange|dateval|datestr)?)>
<!ELEMENT sourceref (spage?,noteref*,stext?,(daterange|dateval|datestr)?)>
<!ATTLIST sourceref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
conf CDATA #IMPLIED
>
<!ELEMENT eventref (attribute*,note?)>
<!ELEMENT eventref (attribute*,noteref*)>
<!ATTLIST eventref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
role CDATA #IMPLIED
>
<!ELEMENT reporef (note?)>
<!ELEMENT reporef (noteref*)>
<!ATTLIST reporef
hlink IDREF #REQUIRED
callno CDATA #IMPLIED
medium CDATA #IMPLIED
>
<!ELEMENT marker EMPTY>
<!ATTLIST marker
type CDATA #REQUIRED
<!ELEMENT noteref EMPTY>
<!ATTLIST noteref
hlink IDREF #REQUIRED
>
<!ELEMENT spage (#PCDATA)>
<!ELEMENT scomments (#PCDATA)>
<!ELEMENT sdate (#PCDATA)>
<!ELEMENT stext (#PCDATA)>
<!ELEMENT attribute (sourceref*,note?)>
<!ELEMENT attribute (sourceref*,noteref*)>
<!ATTLIST attribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT place EMPTY>
<!ATTLIST place hlink IDREF #REQUIRED>
@ -407,7 +420,7 @@ SHARED ELEMENTS
description CDATA #IMPLIED
>
<!ELEMENT objref (attribute*,sourceref*,note?)>
<!ELEMENT objref (attribute*,sourceref*,noteref*)>
<!ATTLIST objref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
@ -420,7 +433,7 @@ SHARED ELEMENTS
>
<!ELEMENT lds_ord ((daterange|dateval|datestr)?,temple?,place?,status?,
sealed_to?,note?,sourceref*)>
sealed_to?,noteref*,sourceref*)>
<!ATTLIST lds_ord
priv (0|1) #IMPLIED
type CDATA #REQUIRED

View File

@ -31,7 +31,7 @@
<grammar
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
ns="http://gramps-project.org/xml/1.1.4/"
ns="http://gramps-project.org/xml/1.2.0/"
xmlns="http://relaxng.org/ns/structure/1.0">
<start><element name="database">
@ -98,6 +98,12 @@
</element></zeroOrMore>
</element></optional>
<optional><element name="notes">
<zeroOrMore><element name="note">
<ref name="note-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="bookmarks">
<zeroOrMore><element name="bookmark">
<ref name="bookmark-content"/>
@ -170,9 +176,9 @@
</attribute></optional>
<attribute name="rel"><text/></attribute>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
@ -218,9 +224,9 @@
<optional><element name="patronymic"><text/></element></optional>
<optional><element name="title"><text/></element></optional>
<optional><ref name="date-content"/></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
@ -238,9 +244,9 @@
<optional><element name="country"><text/></element></optional>
<optional><element name="postal"><text/></element></optional>
<optional><element name="phone"><text/></element></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
@ -311,9 +317,9 @@
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
@ -331,9 +337,9 @@
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
@ -348,9 +354,9 @@
<optional><element name="sauthor"><text/></element></optional>
<optional><element name="spubinfo"><text/></element></optional>
<optional><element name="sabbrev"><text/></element></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
@ -386,9 +392,9 @@
<zeroOrMore><element name="url">
<ref name="url-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
@ -405,9 +411,9 @@
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
@ -424,9 +430,9 @@
<zeroOrMore><element name="url">
<ref name="url-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</define>
<define name="bookmark-content">
@ -453,10 +459,12 @@
</define>
<define name="note-content">
<ref name="primary-object"/>
<optional><attribute name="format"><choice>
<value>0</value>
<value>1</value>
</choice></attribute></optional>
<attribute name="type"><text/></attribute>
<text/>
</define>
@ -467,7 +475,9 @@
</attribute></optional>
<optional><attribute name="conf"><text/></attribute></optional>
<optional><element name="spage"><text/></element></optional>
<optional><element name="scomments"><text/></element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><element name="stext"><text/></element></optional>
<optional><ref name="date-content"/></optional>
</define>
@ -481,18 +491,22 @@
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</define>
<define name="reporef-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="callno"><text/></attribute></optional>
<optional><attribute name="medium"><text/></attribute></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</define>
<define name="noteref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
<define name="priv-content">
@ -511,9 +525,9 @@
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</define>
<define name="url-content">
@ -536,9 +550,9 @@
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</define>
<define name="lds-content">
@ -559,9 +573,9 @@
<optional><element name="sealed_to">
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 110 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

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 +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

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