Difference between revisions of "GRAMPS work required for Python 2.6"

From Gramps
Jump to: navigation, search
(Database Change)
(Database Change)
Line 21: Line 21:
  
 
* The log system must be changed:  
 
* The log system must be changed:  
** 4.6: db.DB_LOG_AUTOREMOVE  ==> 4.7: db.DB_LOG_AUTO_REMOVE (there is a customized dbdir.py on [http://timaba.de/packages/archlinux/i686/dbdir.py])
+
** 4.6: db.DB_LOG_AUTOREMOVE  ==> 4.7: db.DB_LOG_AUTO_REMOVE. '''FIXED in branch/trunk''', see [http://www.gramps-project.org/bugs/view.php?id=2483 2483] (there is also a customized dbdir.py on [http://timaba.de/packages/archlinux/i686/dbdir.py])
 
*** 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).
 
*** 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 set_flags must be researched. Change to log_set_config() method where needed.
+
** method DB->set_flags must be researched. Change to log_set_config() method where needed. '''SHOULD BE FIXED in branch/trunk''', see [http://www.gramps-project.org/bugs/view.php?id=2483 2483]
  
  
 
From the above it looks like we will need two parellel implementations, so in config a flag will need to be raised: 4.6- database engine or 4.6+ database engine. For the first, the code is as today, for the second, use the new methods. Is this the best way to handle this??
 
From the above it looks like we will need two parellel implementations, so in config a flag will need to be raised: 4.6- database engine or 4.6+ database engine. For the first, the code is as today, for the second, use the new methods. Is this the best way to handle this??

Revision as of 08:33, 13 November 2008

Work to do to have GRAMPS work in python 2.6

Required Changes

  • Change md5 module by hashlib.
    • where is this used? Keys? Website? Do the keys remain the same after changing to hashlib?


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 branch/trunk, 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. SHOULD BE FIXED in branch/trunk, see 2483


From the above it looks like we will need two parellel implementations, so in config a flag will need to be raised: 4.6- database engine or 4.6+ database engine. For the first, the code is as today, for the second, use the new methods. Is this the best way to handle this??