GRAMPS work required for Python 2.6

From Gramps
Revision as of 02:31, 1 September 2012 by Daleathan (talk | contribs)
Jump to: navigation, search

Work required to have GRAMPS work in python 2.6

NOTE: this work is finished, and present in version 3.0.4, as well as in the branch22 of the subversion repository

Required Changes

  • Change md5 module by hashlib.
    • fixed in branch30 and trunk
  • Replace sets module with built-in set types
    • where is this used: for importing GRAMPS XML files with _ReadXML.py in GrampsDbUtils removed used of sets in branch30 and trunk, fixed in branch22

Database Change

Python 2.6 will normally ship with bsddb 4.7.x , which has some important changes from 4.6.x.

Details:

Points:

  • Is upgrade of the old database possible?? So can a database created with 4.6 be opened with 4.7? We can expect the reverse not to be possible? If so, do we need a new database version just for this, so we can stop users opening the db made with 4.7 again with 4.6 ?
    • A database created with bsddb 4.6 can be opened with 4.7 if minor changes are made to dbdir.py (as below for DB_LOG_AUTOREMOVE).
  • The log system must be changed:
    • 4.6: db.DB_LOG_AUTOREMOVE ==> 4.7: db.DB_LOG_AUTO_REMOVE.fixed in branch30 and trunk and branch22, see 2483 (there is also a customized dbdir.py on [3])
      • This change to dbdir.py allows gramps to start up and load a db. A log subsystem error is raised if Rebuild Reference Maps is run (Repair Database in the Family Tree editor runs without apparent error).
    • method DB->set_flags must be researched. Change to log_set_config() method where needed. fixed in branch30 and trunk and branch22, see 2483