[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Block BDB 6

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Wed, 3 Jul 2013 15:55:57 +0300

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

This is an archived mail posted to the Subversion Dev mailing list.