BDB's relicense to AGPL sparked some discussion about potentially
blacklisting it in configure or making it opt-in.  Attached a patch that
blacklists it.  (We can convert it to opt-in after we test with it, or
if someone asks, etc.)

Thoughts?


[[[
* build/ac-macros/berkeley-db.m4
  (SVN_LIB_BERKELEY_DB_TRY): Block building with BDB 6, with a comment
    explaining why.
  (SVN_LIB_BERKELEY_DB): Document that only 4.x and 5.x are supported.
  (--with-berkeley-db): Ditto.  The help string does not evaluate the $,
    but that is a preexisting bug that should be fixed separately.

* build/generator/gen_win.py
  (GeneratorBase._find_bdb): Add a comment cautioning against enabling
    BDB 6.
]]]

Index: build/ac-macros/berkeley-db.m4
===================================================================
--- build/ac-macros/berkeley-db.m4      (revision 1499115)
+++ build/ac-macros/berkeley-db.m4      (working copy)
@@ -48,7 +48,7 @@ AC_DEFUN(SVN_LIB_BERKELEY_DB,
   AC_ARG_WITH(berkeley-db, [AS_HELP_STRING(
                                            
[[--with-berkeley-db[=HEADER:INCLUDES:LIB_SEARCH_DIRS:LIBS]]], [
                           The Subversion Berkeley DB based filesystem library 
-                          requires Berkeley DB $db_version or newer.  If you
+                          requires Berkeley DB $db_version or $db_alt_version. 
 If you
                           specify `--without-berkeley-db', that library will
                           not be built.  If you omit the argument of this 
option
                           completely, the configure script will use Berkeley DB
@@ -134,7 +134,7 @@ AC_DEFUN(SVN_LIB_BERKELEY_DB,
       AC_MSG_RESULT([no])
       svn_lib_berkeley_db=no
       if test "$bdb_status" = "required"; then
-        AC_MSG_ERROR([Berkeley DB $db_version or newer wasn't found.])
+        AC_MSG_ERROR([Berkeley DB $db_version or $db_alt_version wasn't 
found.])
       fi
     fi
   fi
@@ -230,6 +230,12 @@ int main ()
       || patch != DB_VERSION_PATCH)
     exit (1);
 
+  /* Block Berkeley DB 6, because (a) we haven't tested with it, (b) 6.0.20
+     and newer are under the AGPL, and we want use of AGPL dependencies to be
+     opt-in. */
+  if (major >= 6)
+    exit(1);
+
   /* Run-time check:  ensure the library claims to be the correct version. */
 
   if (major < $svn_check_berkeley_db_major)
Index: build/generator/gen_win.py
===================================================================
--- build/generator/gen_win.py  (revision 1499115)
+++ build/generator/gen_win.py  (working copy)
@@ -217,6 +217,7 @@ class GeneratorBase(gen_base.GeneratorBase):
 
   def _find_bdb(self):
     "Find the Berkeley DB library and version"
+    # Before adding "60" to this list, see build/ac-macros/berkeley-db.m4.
     for ver in ("53", "52", "51", "50", "48", "47", "46",
                 "45", "44", "43", "42", "41", "40"):
       lib = "libdb" + ver
Index: configure.ac
===================================================================
--- configure.ac        (revision 1499115)
+++ configure.ac        (working copy)
@@ -460,6 +460,7 @@ powerpc-apple-darwin*)
     SVN_FS_WANT_DB_PATCH=14
     ;;
 esac
+db_alt_version="5.x"
 # Look for libdb4.so first:
 SVN_LIB_BERKELEY_DB($SVN_FS_WANT_DB_MAJOR, $SVN_FS_WANT_DB_MINOR,
                     $SVN_FS_WANT_DB_PATCH, [db4 db])
@@ -1516,7 +1517,7 @@ if test "$svn_lib_berkeley_db" = "no" && test "$wi
   AC_MSG_WARN([we have configured without BDB filesystem support
 
 
-You don't seem to have Berkeley DB version $db_version or newer
+You don't seem to have Berkeley DB version $db_version or $db_alt_version
 installed and linked to APR-UTIL.  We have created a Makefile which will build
 Subversion without support for the Berkeley DB back-end.  You can find the
 latest version of Berkeley DB here:

Reply via email to