2006-05-18 Alex Roitman <shura@gramps-project.org>

* INSTALL: Clarify; list build-dependencies.
	* src/GrampsDb/_ReadGrdb.py: Update progress.



svn: r6713
This commit is contained in:
Alex Roitman 2006-05-18 21:16:59 +00:00
parent 774c7e3229
commit a265eac5e4
3 changed files with 61 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2006-05-18 Alex Roitman <shura@gramps-project.org>
* INSTALL: Clarify; list build-dependencies.
* src/GrampsDb/_ReadGrdb.py: Update progress.
2006-05-18 Don Allingham <don@gramps-project.org> 2006-05-18 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_ReadGedcom.py: fix parsing level so that CHAR is not * src/GrampsDb/_ReadGedcom.py: fix parsing level so that CHAR is not
skipped skipped

43
INSTALL
View File

@ -12,6 +12,15 @@ run "./configure && make". However, if you're building from the SVN,
the configure is not present. You should auto-generate it by the configure is not present. You should auto-generate it by
running ./autogen.sh and then "make" and, finally, "make install". running ./autogen.sh and then "make" and, finally, "make install".
Running ./autogen.sh on this branch of gramps requires the following
packages to be installed:
* automake-1.9
* gnome-common
* intltool
* libglib2.0-dev (may be called differently on other distros) and
maybe something else. If autogen.sh fails, it should inform you what's
missing.
Regular vs local installation Regular vs local installation
----------------------------- -----------------------------
@ -35,6 +44,38 @@ YOU MUST INSTALL GCONF SCHEMAS AND MIME TYPES.
YOU HAVE BEEN WARNED! YOU HAVE BEEN WARNED!
Installing under non-default prefix
-----------------------------------
As hinted above, the gconf schemas and mime types for gramps
MUST be properly installed. The "proper install" means installing
them where gconfd and shared mime system, respectively, will
find them.
By default, gconfd will look in these places:
1. Whatever is returned by running:
$ gconftool-2 --get-default-source
2. The xml::$HOME/.gconf : this is a per-user setup, not system-wide
or xml:merged:$HOME/.gconf : this is a per-user setup, not system-wide
There is a number of ways to let gconfd know where else
to look, but this is outside the scope of installing gramps.
By default, the shared mime systems will look in these places:
1. /usr/share/mime
2. /usr/local/share/mime : this may be broken on some systems
3. $HOME/.local/share/mime : this is a per-user setup, not system-wide
Likewise, there's a number of ways to instruct the shared mime system
to look in other places, but this is the whole other story.
So if you install some place other than /usr/share, you will most
likely need to add this option to autogen.sh/configure scripts:
--with-mime-dir=/usr/share/mime
Using the --prefix=/usr/share and installing as a root will most
likely do everything correctly, so no extra care needs to be
taken. You should take extra care only if you are installing under
something like --prefix=/usr/local/my_gramps, /var/gramps123/blah, etc.
Packager's issues Packager's issues
------------------ ------------------
The above mentioned gconf schemas and mime types must be installed. The above mentioned gconf schemas and mime types must be installed.
@ -52,5 +93,5 @@ This argument should disable postinstall calls made during
make install, and print a nasty warning during configure. make install, and print a nasty warning during configure.
IT IS PACKAGER'S RESPONSIBILITY to follow the advice given IT IS PACKAGER'S RESPONSIBILITY to follow the advice given
by the configure output and to copy the appropriate code by the configure output and to copy the appropriate code
from the src/data/Makefile.am into the pos-tinstall (and post-uninstall) from the src/data/Makefile.am into the post-install (and post-uninstall)
of the particular packaging system. of the particular packaging system.

View File

@ -39,7 +39,8 @@ import sets
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
from _GrampsBSDDB import GrampsBSDDB from _GrampsBSDDB import GrampsBSDDB
from QuestionDialog import ErrorDialog from QuestionDialog import ErrorDialog
import Errors from Errors import HandleError
from BasicUtils import UpdateCallback
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
@ -138,6 +139,10 @@ def importData(database, filename, callback=None,cl=0,use_trans=True):
}, },
} }
uc = UpdateCallback(callback)
uc.set_total(len(tables.keys()))
the_len = 0
# Check for duplicate handles. # Check for duplicate handles.
for key in tables: for key in tables:
@ -145,7 +150,8 @@ def importData(database, filename, callback=None,cl=0,use_trans=True):
table = table_dict['table'] table = table_dict['table']
other_table = table_dict['other_table'] other_table = table_dict['other_table']
msg = '%s handles in two databases overlap.' % key msg = '%s handles in two databases overlap.' % key
check_common_handles(table,other_table,msg) the_len += check_common_handles(table,other_table,msg)
uc.update()
# Proceed with preparing for import # Proceed with preparing for import
if use_trans: if use_trans:
@ -158,6 +164,8 @@ def importData(database, filename, callback=None,cl=0,use_trans=True):
# copy all data from new_database to database, # copy all data from new_database to database,
# rename gramps IDs of first-class objects when conflicts are found # rename gramps IDs of first-class objects when conflicts are found
uc.set_total(the_len)
for key in tables: for key in tables:
table_dict = tables[key] table_dict = tables[key]
id_table = table_dict['id_table'] id_table = table_dict['id_table']
@ -166,7 +174,7 @@ def importData(database, filename, callback=None,cl=0,use_trans=True):
other_table = table_dict['other_table'] other_table = table_dict['other_table']
other_get_from_handle = table_dict['other_get_from_handle'] other_get_from_handle = table_dict['other_get_from_handle']
import_table(id_table,add_obj,find_next_gramps_id, import_table(id_table,add_obj,find_next_gramps_id,
other_table,other_get_from_handle,trans) other_table,other_get_from_handle,trans,uc)
# close the other database and clean things up # close the other database and clean things up
other_database.close() other_database.close()
@ -182,10 +190,11 @@ def check_common_handles(table,other_table,msg):
handles = sets.Set(table.keys()) handles = sets.Set(table.keys())
other_handles = sets.Set(other_table.keys()) other_handles = sets.Set(other_table.keys())
if handles.intersection(other_handles): if handles.intersection(other_handles):
raise Errors.HandleError(msg) raise HandleError(msg)
return len(other_handles)
def import_table(id_table,add_obj,find_next_gramps_id, def import_table(id_table,add_obj,find_next_gramps_id,
other_table,other_get_from_handle,trans): other_table,other_get_from_handle,trans,uc):
for handle in other_table.keys(): for handle in other_table.keys():
obj = other_get_from_handle(handle) obj = other_get_from_handle(handle)
@ -196,3 +205,4 @@ def import_table(id_table,add_obj,find_next_gramps_id,
gramps_id = find_next_gramps_id() gramps_id = find_next_gramps_id()
obj.gramps_id = gramps_id obj.gramps_id = gramps_id
add_obj(obj,trans) add_obj(obj,trans)
uc.update()