(retry) patch for compatibility with new BerkeleyDB version

Heath Kehoe heath.kehoe at intermec.com
Fri Jun 9 16:18:40 UTC 2000


I sent this patch to inn-patches last night, and it still
hasn't reflected back to me.  My apologies if y'all have
already seen it.

This is a patch to ovdb.c for a small API tweak required
by the newest BerkeleyDB release (3.1.14).  There's also
some documentation updates.

This should go into both the BETA and CURRENT trees.

Thanks,
-h

diff -rc ../inn-BETA-20000608/doc/man/ovdb.5 ./doc/man/ovdb.5
*** ../inn-BETA-20000608/doc/man/ovdb.5	Thu Jun  8 04:04:50 2000
--- ./doc/man/ovdb.5	Fri Jun  9 00:12:16 2000
***************
*** 1,5 ****
  .\" Automatically generated by Pod::Man version 1.02
! .\" Wed Jun  7 13:59:57 2000
  .\"
  .\" Standard preamble:
  .\" ======================================================================
--- 1,5 ----
  .\" Automatically generated by Pod::Man version 1.02
! .\" Fri Jun  9 00:11:13 2000
  .\"
  .\" Standard preamble:
  .\" ======================================================================
***************
*** 138,144 ****
  .\" ======================================================================
  .\"
  .IX Title "ovdb 5"
! .TH ovdb 5 "INN 2.3" "2000-06-07" "InterNetNews Documentation"
  .UC
  .SH "NAME"
  ovdb \- Overview storage method for \s-1INN\s0
--- 138,144 ----
  .\" ======================================================================
  .\"
  .IX Title "ovdb 5"
! .TH ovdb 5 "INN 2.3" "2000-06-09" "InterNetNews Documentation"
  .UC
  .SH "NAME"
  ovdb \- Overview storage method for \s-1INN\s0
***************
*** 147,153 ****
  Ovdb is a storage method that uses the BerkeleyDB library to store overview
  data.  It requires version 2.6.x or later of the BerkeleyDB library; it is
  known to work well with version 2.7.7.  There is also a 3.0.55, but it is
! not very stable (though ovdb will compile correctly with it).
  Ovdb makes use of the full transaction/logging/locking functionality of the
  BerkeleyDB environment.  BerkeleyDB may be downloaded from
  http://www.sleepycat.com .
--- 147,156 ----
  Ovdb is a storage method that uses the BerkeleyDB library to store overview
  data.  It requires version 2.6.x or later of the BerkeleyDB library; it is
  known to work well with version 2.7.7.  There is also a 3.0.55, but it is
! not very stable (though ovdb will compile correctly with it).  Check the
! web page http://www.avalon.net/~hakehoe/inn/ for the latest on BerkeleyDB
! compatibility.
! .PP
  Ovdb makes use of the full transaction/logging/locking functionality of the
  BerkeleyDB environment.  BerkeleyDB may be downloaded from
  http://www.sleepycat.com .
diff -rc ../inn-BETA-20000608/doc/man/ovdb_upgrade.8 ./doc/man/ovdb_upgrade.8
*** ../inn-BETA-20000608/doc/man/ovdb_upgrade.8	Thu Jun  8 04:04:50 2000
--- ./doc/man/ovdb_upgrade.8	Fri Jun  9 00:12:34 2000
***************
*** 1,5 ****
! .\" Automatically generated by Pod::Man version 0.08
! .\" Wed Dec 29 14:28:05 1999
  .\"
  .\" Standard preamble:
  .\" ======================================================================
--- 1,5 ----
! .\" Automatically generated by Pod::Man version 1.02
! .\" Fri Jun  9 00:11:23 2000
  .\"
  .\" Standard preamble:
  .\" ======================================================================
***************
*** 138,144 ****
  .\" ======================================================================
  .\"
  .IX Title "ovdb_upgrade 8"
! .TH ovdb_upgrade 8 "INN 2.3" "1999-12-29" "InterNetNews Documentation"
  .UC
  .SH "NAME"
  ovdb_upgrade \- Perform any needed upgrades on the ovdb database
--- 138,144 ----
  .\" ======================================================================
  .\"
  .IX Title "ovdb_upgrade 8"
! .TH ovdb_upgrade 8 "INN 2.3" "2000-06-09" "InterNetNews Documentation"
  .UC
  .SH "NAME"
  ovdb_upgrade \- Perform any needed upgrades on the ovdb database
***************
*** 147,154 ****
  ovdb_upgrade
  .SH "DESCRIPTION"
  .IX Header "DESCRIPTION"
! The \fBovdb_upgrade\fR command may be used to upgrade the ovdb database when
! migrating to a newer version of the BerkeleyDB library (e.g., 2.x to 3.x).
  The upgrade is done in-place, and is not reversable.
  .PP
  Here is an example procedure to upgrade a database created with BerkeleyDB
--- 147,156 ----
  ovdb_upgrade
  .SH "DESCRIPTION"
  .IX Header "DESCRIPTION"
! The \fBovdb_upgrade\fR command is be used to upgrade the ovdb database when
! migrating to a newer version of the BerkeleyDB library (in which there is
! a change in BerkeleyDB's internal db format).
! .PP
  The upgrade is done in-place, and is not reversable.
  .PP
  Here is an example procedure to upgrade a database created with BerkeleyDB
***************
*** 163,169 ****
  .IX Item "3"
  If BerkeleyDB 3.x is installed into a different path than the 2.x version,
  run configure again, specifying the new path.  For example:
! \f(CW\*(C`./configure \-\-with\-berkeleydb=/usr/local/BerkeleyDB.3.0  [... other options]\*(C'\fR
  .Ip "4" 4
  .IX Item "4"
  Shut down \s-1INN\s0 (e.g., with \f(CW\*(C`rc.news stop\*(C'\fR)
--- 165,171 ----
  .IX Item "3"
  If BerkeleyDB 3.x is installed into a different path than the 2.x version,
  run configure again, specifying the new path.  For example:
! \&\f(CW\*(C`./configure \-\-with\-berkeleydb=/usr/local/BerkeleyDB.3.x  [... other options]\*(C'\fR
  .Ip "4" 4
  .IX Item "4"
  Shut down \s-1INN\s0 (e.g., with \f(CW\*(C`rc.news stop\*(C'\fR)
***************
*** 182,185 ****
  Written by Heath Kehoe <hakehoe at avalon.net> for InterNetNews.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \fIovdb\fR\|(5)
--- 184,187 ----
  Written by Heath Kehoe <hakehoe at avalon.net> for InterNetNews.
  .SH "SEE ALSO"
  .IX Header "SEE ALSO"
! \&\fIovdb\fR\|(5)
diff -rc ../inn-BETA-20000608/doc/pod/ovdb.pod ./doc/pod/ovdb.pod
*** ../inn-BETA-20000608/doc/pod/ovdb.pod	Thu Jun  8 04:04:53 2000
--- ./doc/pod/ovdb.pod	Thu Jun  8 23:35:10 2000
***************
*** 7,13 ****
  Ovdb is a storage method that uses the BerkeleyDB library to store overview
  data.  It requires version 2.6.x or later of the BerkeleyDB library; it is
  known to work well with version 2.7.7.  There is also a 3.0.55, but it is
! not very stable (though ovdb will compile correctly with it).
  Ovdb makes use of the full transaction/logging/locking functionality of the
  BerkeleyDB environment.  BerkeleyDB may be downloaded from
  http://www.sleepycat.com .
--- 7,16 ----
  Ovdb is a storage method that uses the BerkeleyDB library to store overview
  data.  It requires version 2.6.x or later of the BerkeleyDB library; it is
  known to work well with version 2.7.7.  There is also a 3.0.55, but it is
! not very stable (though ovdb will compile correctly with it).  Check the
! web page http://www.avalon.net/~hakehoe/inn/ for the latest on BerkeleyDB
! compatibility.
! 
  Ovdb makes use of the full transaction/logging/locking functionality of the
  BerkeleyDB environment.  BerkeleyDB may be downloaded from
  http://www.sleepycat.com .
diff -rc ../inn-BETA-20000608/doc/pod/ovdb_upgrade.pod ./doc/pod/ovdb_upgrade.pod
*** ../inn-BETA-20000608/doc/pod/ovdb_upgrade.pod	Thu Jun  8 04:04:53 2000
--- ./doc/pod/ovdb_upgrade.pod	Thu Jun  8 23:38:33 2000
***************
*** 9,15 ****
  =head1 DESCRIPTION
  
  The B<ovdb_upgrade> command is be used to upgrade the ovdb database when
! migrating to a newer version of the BerkeleyDB library (e.g., 2.x to 3.x).
  The upgrade is done in-place, and is not reversable.
  
  Here is an example procedure to upgrade a database created with BerkeleyDB
--- 9,17 ----
  =head1 DESCRIPTION
  
  The B<ovdb_upgrade> command is be used to upgrade the ovdb database when
! migrating to a newer version of the BerkeleyDB library (in which there is
! a change in BerkeleyDB's internal db format).
! 
  The upgrade is done in-place, and is not reversable.
  
  Here is an example procedure to upgrade a database created with BerkeleyDB
***************
*** 29,35 ****
  
  If BerkeleyDB 3.x is installed into a different path than the 2.x version,
  run configure again, specifying the new path.  For example:
! C<./configure --with-berkeleydb=/usr/local/BerkeleyDB.3.0  [... other options]>
  
  =item 4
  
--- 31,37 ----
  
  If BerkeleyDB 3.x is installed into a different path than the 2.x version,
  run configure again, specifying the new path.  For example:
! C<./configure --with-berkeleydb=/usr/local/BerkeleyDB.3.x  [... other options]>
  
  =item 4
  
diff -rc ../inn-BETA-20000608/storage/ovdb/ovdb.c ./storage/ovdb/ovdb.c
*** ../inn-BETA-20000608/storage/ovdb/ovdb.c	Thu Jun  8 04:05:52 2000
--- ./storage/ovdb/ovdb.c	Thu Jun  8 23:28:37 2000
***************
*** 2,7 ****
--- 2,8 ----
   * ovdb.c
   * Overview storage using BerkeleyDB 2.x/3.x
   *
+  * 2000-06-08 : Added BerkeleyDB 3.1.x compatibility
   * 2000-04-09 : Tweak some default parameters; store aliased group info
   * 2000-03-29 : Add DB_RMW flag to the 'get' of get-modify-put sequences
   * 2000-02-17 : Update expire behavior to be consistent with current
***************
*** 659,665 ****
--- 660,671 ----
      OVDBenv->set_errcall(OVDBenv, OVDBerror);
      OVDBenv->set_cachesize(OVDBenv, 0, ovdb_conf.cachesize, 1);
  
+ #if DB_VERSION_MINOR == 0
      if(ret = OVDBenv->open(OVDBenv, ovdb_conf.home, NULL, ai_flags, 0666)) {
+ #else
+     if(ret = OVDBenv->open(OVDBenv, ovdb_conf.home, ai_flags, 0666)) {
+ #endif
+ 
  	OVDBenv->close(OVDBenv, 0);
  	OVDBenv = NULL;
  	syslog(L_FATAL, "OVDB: OVDBenv->open: %s", db_strerror(ret));




More information about the inn-patches mailing list