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:
Received on 2013-07-03 14:56:38 CEST