[SM-Commit] GIT changes to master grimoire by Arjan Bouter (69d7e0633ce3b7558c09a9dc689ec6a0d4de8d91)

Arjan Bouter scm at sourcemage.org
Fri Mar 2 15:46:11 EST 2012


GIT changes to master grimoire by Arjan Bouter <abouter at sourcemage.org>:

 collab/openldap/BUILD            |   26 ++++++++++++++++--
 collab/openldap/CONFIGURE        |   55 +++++++++++++++++++++++++++++++--------
 collab/openldap/DEPENDS          |   45 +++++++++++++++++++++++++------
 collab/openldap/HISTORY          |   14 +++++++++
 database/mariadb/HISTORY         |    3 ++
 database/mariadb/PRE_SUB_DEPENDS |    1 
 database/mariadb/SUB_DEPENDS     |    6 ++++
 database/mysql/HISTORY           |    3 ++
 database/mysql/PRE_SUB_DEPENDS   |    1 
 database/mysql/SUB_DEPENDS       |    6 ++++
 10 files changed, 138 insertions(+), 22 deletions(-)

New commits:
commit f94f820d6792ffd0a38a00fbdb586d1f6904ed5f
Author: Arjan Bouter <abouter at sourcemage.org>
Commit: Arjan Bouter <abouter at sourcemage.org>

    mariadb: added NDB for ndbcluster sub dependencies

commit 4b282b956835eae293c756daa70a2e0f08f4b88e
Author: Arjan Bouter <abouter at sourcemage.org>
Commit: Arjan Bouter <abouter at sourcemage.org>

    mysql: added NDB for ndbcluster sub dependencies

commit 5a4c671a76d4ef78ac8aa416966c630b55943af9
Author: Arjan Bouter <abouter at sourcemage.org>
Commit: Arjan Bouter <abouter at sourcemage.org>

    openldap: removed sluprd and ldbm as they are removed by upstream.
    added comments to various backends and added some missing ones
    added overlay support, made cleartext and crypt passwords optional.
    
    Note: I'm not done with this spell yet, but it seems to work.

diff --git a/collab/openldap/BUILD b/collab/openldap/BUILD
index c34f4ae..101e5cd 100755
--- a/collab/openldap/BUILD
+++ b/collab/openldap/BUILD
@@ -2,13 +2,33 @@
 # See http://www.openldap.org/lists/openldap-bugs/200804/msg00074.html
 CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS" &&
 
-if [[ "$SLAPD_LDBM" == "db" ]]; then
+if is_depends_enabled $SPELL db; then
   LDFLAGS="-ldb $LDFLAGS"
 fi &&
 
+# only add slapd options when actually building it
+if echo $OPENLDAP_SLAPD | grep -q enable; then
+
+  if [[ "${SLAPD_OVERLAYS}" == 'none' ]]; then
+    message 'skipping overlays'
+  elif [[ "${SLAPD_OVERLAYS}" == 'all' ]]; then
+    message 'adding all overlays' &&
+    OVERLAYS='--enable-overlays=mod'
+  else
+    for OVERLAY in ${SLAPD_OVERLAYS}; do
+      OVERLAYS="${OVERLAYS} --enable-${OVERLAY}=mod"
+    done
+  fi
+
+  SLAPD_OPTS="$OPENLDAP_SLAPD $SLAPD_ACL $SLAPD_ACI $SLAPD_DNSSRV 
+              $SLAPD_MONITOR $SLAPD_CRYPT $SLAPD_CLEAR $SLAPD_REV 
+              $SLAPD_SOCK $SLAPD_META $SLAPD_RELAY $OVERLAYS"
+else
+    SLAPD_OPTS="$OPENLDAP_SLAPD"
+fi &&
+
 OPTS="$OPTS
-  $OPENLDAP_SLAPD $SLAPD_ACI $SLAPD_DNSSRV $SLAPD_MONITOR
-  $OPENLDAP_SLURPD
+  $SLAPD_OPTS
   --enable-shared --enable-static
   --enable-dynamic
   --enable-local" &&
diff --git a/collab/openldap/CONFIGURE b/collab/openldap/CONFIGURE
index 69e5b19..8ba29f9 100755
--- a/collab/openldap/CONFIGURE
+++ b/collab/openldap/CONFIGURE
@@ -1,22 +1,57 @@
-config_query_option OPENLDAP_SLAPD 'Build SLAPD, the standalone LDAP daemon?' y \
-  '--enable-slapd --enable-modules --enable-cleartext --enable-crypt --enable-rlookups' \
-  '--disable-slapd' &&
+source $GRIMOIRE/config_query_multi.function &&
 
-config_query_option OPENLDAP_SLURPD 'Build SLURPD, the replication daemon?' y \
-  '--enable-slurpd' '--disable-slurpd' &&
+config_query_option OPENLDAP_SLAPD 'Build SLAPD, the standalone LDAP daemon?' y \
+  '--enable-slapd --enable-modules' '--disable-slapd' &&
 
 if echo $OPENLDAP_SLAPD | grep -q enable; then
-  config_query_list SLAPD_LDBM 'Select LDBM backend (Berkeley DB recommended)' \
-                    db none &&
-  config_query_option SLAPD_DNSSRV 'Enable DNS "SRV" record backend?' y \
+  config_query_option SLAPD_DNSSRV 'Enable DNS backend? (LDAP server locator)' n \
                       '--enable-dnssrv=mod' '--disable-dnssrv' &&
-  config_query_option SLAPD_MONITOR 'Enable monitor backend?' y \
+  config_query_option SLAPD_META 'Enable metadirectory backend?' n \
+                      '--enable-meta=mod' '--disable-meta' &&
+  config_query_option SLAPD_MONITOR 'Enable LDAP server monitor backend?' y \
                       '--enable-monitor=mod' '--disable-monitor' &&
-  config_query_option SLAPD_ACI 'Enable per-object access control' n \
+  config_query_option SLAPD_SOCK 'Enable sock backend?' n \
+                      '--enable-sock=mod' '--disable-sock' &&
+  config_query_option SLAPD_RELAY 'Enable relay backend?' n \
+                      '--enable-relay=mod' '--disable-relay' &&
+  config_query_option SLAPD_ACL 'Enable EXPERIMENTAL loadable ACL?' n \
+                      '--enable-dynacl' '--disable-dynacl' &&
+  if echo $SLAPD_ACL|grep -q enable; then
+    config_query_option SLAPD_ACI 'Enable per-object access control' n \
                       '--enable-aci' '--disable-aci'
+  fi &&
+  config_query_option SLAPD_CLEAR 'Enable cleartext passwords?' y \
+                      '--enable-cleartext' '--disable-cleartext' &&
+  config_query_option SLAPD_CRYPT 'Enable crypt passwords?' n \
+                      '--enable-crypt' '--disable-crypt' &&
+  config_query_option SLAPD_REV 'Enable reverse lookup of client hostnames?' n \
+                      '--enable-rlookups' '--disable-rlookups'
 fi &&
 
 config_query OPENLDAP_NTLM "Enable NTLM API support (needed for Evolution Exchange plugin)?" n &&
 
+config_query_multi SLAPD_OVERLAYS \
+                   "which overlays do you want supported?" \
+                   none all \
+                   accesslog auditlog collect constraint dds deref dyngroup \
+                   dynlist memberof ppolicy proxycache refint retcode rwm \
+                   seqmod sssvlv syncprov translucent unique valsort
+
+if list_find "$SLAPD_OVERLAYS" "all"; then
+  SLAPD_OVERLAYS="all"
+elif list_find "$SLAPD_OVERLAYS" "none"; then
+  SLAPD_OVERLAYS="none"
+fi &&
+
+if echo $OPENLDAP_SLURPD |grep -q enable ; then
+  if list_find "$SLAPD_OVERLAYS" "syncprov"; then
+    message 'slurpd has been replaced by the syncprov overlay'
+  else
+    message 'slurpd has been replaced by the syncprov overlay, adding it' &&
+    SLAPD_OVERLAYS="${SLAPD_OVERLAYS} syncprov"
+  fi &&
+  persistent_remove OPENLDAP_SLURPD
+fi &&
+
 message "${MESSAGE_COLOR}If you care about security, check out http://timof.qipc.org/ldap/libldap.html .$DEFAULT_COLOR" &&
 message "${MESSAGE_COLOR}The patch is not in the spell anymore because of version mismatch...$DEFAULT_COLOR."
diff --git a/collab/openldap/DEPENDS b/collab/openldap/DEPENDS
index d5bafb0..e3b7aa3 100755
--- a/collab/openldap/DEPENDS
+++ b/collab/openldap/DEPENDS
@@ -12,30 +12,57 @@ optional_depends  openssl                \
                   '--without-tls'        \
                   'for SSL/TLS support'  &&
 
-optional_depends  cyrus-sasl  '--with-cyrus-sasl'  '--without-cyrus-sasl'            \
+optional_depends  cyrus-sasl  '--with-cyrus-sasl'  '--without-cyrus-sasl' \
   'for SASL authentication, if SLAPD is a backend authenticator for SASL, say "no"'  &&
 
 if echo $OPENLDAP_SLAPD | grep -q enable; then
-  case "$SLAPD_LDBM" in
-  db)
-    depends  db    '--enable-ldbm=mod --enable-ldbm-api=berkeley'
-    ;;
-  esac
+  optional_depends  db  '--enable-bdb=mod --enable-hdb=mod'  \
+                        '--disable-bdb --disable-hdb'  \
+                        'for Berkeley DB backend (recommended)'  &&
 
   optional_depends  ODBC-MGR            \
                     '--enable-sql=mod'  \
                     '--disable-sql'     \
-                    'for SQL backend'   &&
+                    'for SQL backend (experimental)'   &&
+  if [[ $(get_spell_provider $SPELL ODBC-MGR) ]]; then
+    if is_depends_enabled $SPELL unixodbc; then
+      depends unixodbc --with-odbc=unixodbc
+    elif is_depends_enabled $SPELL libiodbc; then
+      depends libiodbc --with-odbc=iodbc
+    else
+      message "${PROBLEM_COLOR}unknown ODBC provider selected, please update spell${DEFAULT_COLOR}"
+    fi
+  fi  &&
+
+  optional_depends  MYSQL '--enable-mdb=mod' '--disable-mdb' \
+                    'for MYSQL backend' &&
+
+  if [[ $(get_spell_provider $SPELL MYSQL) ]]; then
+    config_query_option SLAPD_NDB 'Enable MYSQL NDB cluster support?' n \
+                        '--enable-ndb=mod' '--disable-ndb'
+    if echo $SLAPD_NDB |grep -q enable ; then
+      if is_depends_enabled $SPELL mariadb; then
+        depends -sub NDB mariadb
+      elif is_depends_enabled $SPELL mysql; then
+        depends -sub NDB mysql
+      fi
+    fi
+  fi
 
   optional_depends  perl                 \
                     '--enable-perl=mod'  \
                     '--disable-perl'     \
-                    'for perl backend'   &&
+                    'for perl backend (write your own storage backend)'  &&
+
+  optional_depends  bash                  \
+                    '--enable-shell=mod'  \
+                    '--disable-shell'     \
+                    'for shell backend (write your own storage backend)'  &&
 
   optional_depends  shadow                 \
                     '--enable-passwd=mod'  \
                     '--disable-passwd'     \
-                    'for passwd backend'   &&
+                    'for passwd backend (demo code, do not use)'  &&
 
   optional_depends  tcp_wrappers                \
                     '--enable-wrappers'         \
diff --git a/collab/openldap/HISTORY b/collab/openldap/HISTORY
index 0b25eda..3df7cd5 100644
--- a/collab/openldap/HISTORY
+++ b/collab/openldap/HISTORY
@@ -1,3 +1,17 @@
+2012-03-01 Arjan Bouter <abouter at sourcemage.org>
+	* DEPENDS: ldbm support was removed upstream,
+	  allow shell backend, added comments on several backends,
+	  added mysql backends.
+	* CONFIGURE: removed obsolete ldbm and slurpd queries,
+	  (auto enables syncprov overlay if slurpd was used)
+	  added comments on backends.
+	  don't enable dns backend by default.
+	  added options for sock, relay and meta backends.
+	  made reverse lookups, crypt and clear passwords optional.
+	  added optional overlays.
+	* BUILD: fix check for enabled db, don't add slapd options when not
+	  building slapd. added overlays, removed slurpd
+
 2012-03-01 Ladislav Hagara <hgr at vabo.cz>
 	* DETAILS: 2.4.30
 
diff --git a/database/mariadb/HISTORY b/database/mariadb/HISTORY
index b44a011..267d9e9 100644
--- a/database/mariadb/HISTORY
+++ b/database/mariadb/HISTORY
@@ -1,3 +1,6 @@
+2012-03-02 Arjan Bouter <abouter at sourcemage.org>
+	* PRE_SUB_DEPENDS, SUB_DEPENDS: added NDB for ndbcluster
+
 2012-02-13 Vlad Glagolev <stealth at sourcemage.org>
 	* DETAILS: updated spell to 5.2.10
 
diff --git a/database/mariadb/PRE_SUB_DEPENDS b/database/mariadb/PRE_SUB_DEPENDS
index cc7ba91..ede9a09 100755
--- a/database/mariadb/PRE_SUB_DEPENDS
+++ b/database/mariadb/PRE_SUB_DEPENDS
@@ -1,5 +1,6 @@
 case $THIS_SUB_DEPENDS in
    embedded|EMBEDDED) if list_find "$MADB_OPTS" "--with-embedded-server"; then return 0; fi;;
    innodb|INNODB) if [[ $MADB_ENGINES == *innodb_plugin* || "$MADB_ENGINES" == "all" ]]; then return 0; fi;;
+   NDB) if [[ $MADB_ENGINES == *ndbcluster* || "$MADB_ENGINES" == "all" ]]; then return 0; fi;;
 esac
 return 1
diff --git a/database/mariadb/SUB_DEPENDS b/database/mariadb/SUB_DEPENDS
index df9d64b..fb44ab1 100755
--- a/database/mariadb/SUB_DEPENDS
+++ b/database/mariadb/SUB_DEPENDS
@@ -7,5 +7,11 @@ case $THIS_SUB_DEPENDS in
                     else
                         MADB_ENGINES="innodb_plugin $MADB_ENGINES"
                     fi  ;;
+   NDB)   echo "ndbcluster storage engine support requested, forcing it."  &&
+                    if [ "$MADB_ENGINES" == "none" ]; then
+                        MADB_ENGINES="ndbcluster"
+                    else
+                        MADB_ENGINES="ndbcluster $MADB_ENGINES"
+                    fi  ;;
    *)               echo "unknown sub-depends!"; return 1         ;;
 esac
diff --git a/database/mysql/HISTORY b/database/mysql/HISTORY
index b36154d..a9e56e0 100644
--- a/database/mysql/HISTORY
+++ b/database/mysql/HISTORY
@@ -1,3 +1,6 @@
+2012-03-02 Arjan Bouter <abouter at sourcemage.org>
+	* SUB_DEPENDS, PRE_SUB_DEPENDS: added NDB for ndbcluster
+
 2012-02-10 George Sherwood <gsherwood at sourcemage.org>
 	* DETAILS: Updated stable to 5.1.61
 
diff --git a/database/mysql/PRE_SUB_DEPENDS b/database/mysql/PRE_SUB_DEPENDS
index b79f83d..7a5489a 100755
--- a/database/mysql/PRE_SUB_DEPENDS
+++ b/database/mysql/PRE_SUB_DEPENDS
@@ -1,5 +1,6 @@
 case $THIS_SUB_DEPENDS in
    embedded|EMBEDDED) if [ $MSQL_EMBED == "--with-embedded-server" ]; then return 0; fi;;
    innodb|INNODB) if [[ $MSQL_ENGINES == *InnoDB* || "$MSQL_ENGINES" == "all" ]]; then return 0; fi;;
+   NDB) if [[ $MSQL_ENGINES == *ndbcluster* || "$MSQL_ENGINES" == "all" ]]; then return 0; fi;;
 esac
 return 1
diff --git a/database/mysql/SUB_DEPENDS b/database/mysql/SUB_DEPENDS
index b31384a..1721e71 100755
--- a/database/mysql/SUB_DEPENDS
+++ b/database/mysql/SUB_DEPENDS
@@ -7,5 +7,11 @@ case $THIS_SUB_DEPENDS in
                     else
                         MSQL_ENGINES="$MSQL_ENGINES InnoDB"
                     fi  ;;
+   NDB)   echo "ndbcluster storage engine support requested, forcing it."  &&
+                    if [ "$MSQL_ENGINES" == "none" ]; then
+                        MSQL_ENGINES="ndbcluster"
+                    else
+                        MSQL_ENGINES="$MSQL_ENGINES ndbcluster"
+                    fi  ;;
    *)               echo "unknown sub-depends!"; return 1         ;;
 esac


More information about the SM-Commit mailing list