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: