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

From Gramps
Jump to: navigation, search
m (Required Changes)
m (CallMeDave moved page Python 2.6 to GRAMPS work required for Python 2.6: Move to a better named page: "Work required to have GRAMPS work in python 2.6")
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Developers/General]]
+
Work required to have GRAMPS work in python 2.6  
Work to do to have GRAMPS work in python 2.6  
+
 
 +
{{man note|NOTE:|this work is finished, and present in version 3.0.4, as well as in the branch22 of the subversion repository}}
  
 
== Required Changes ==
 
== Required Changes ==
  
 
* Change md5 module by hashlib.  
 
* Change md5 module by hashlib.  
** where is this used? Keys? Website? Do the keys remain the same after changing to hashlib?
+
** '''fixed in branch30 and trunk'''
  
 
* Replace sets module with built-in set types
 
* Replace sets module with built-in set types
** where is this used: for importing GRAMPS XML files with _ReadXML.py in GrampsDbUtils
+
** 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 ==  
 
== Database Change ==  
Line 20: Line 21:
 
Points:
 
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 ?
 
* 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).
+
** 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:  
 
* The log system must be changed:  
** 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])
+
** 4.6: db.DB_LOG_AUTOREMOVE  ==> 4.7: db.DB_LOG_AUTO_REMOVE.'''fixed in branch30 and trunk and branch22''', see {{bug|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 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]
+
** method DB->set_flags must be researched. Change to log_set_config() method where needed. '''fixed in branch30 and trunk and branch22''', see {{bug|2483}}
  
 
+
[[Category:GEPS|P]]
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??
+
[[Category:Developers/General]]

Latest revision as of 04:34, 19 March 2022

Work required to have GRAMPS work in python 2.6

Gramps-notes.png
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