rpms/fedora-ds-base/devel bug463991-bdb47.patch, NONE, 1.1 fedora-ds-base.spec, 1.20, 1.21 bug439829.patch, 1.1, NONE

Richard Allen Megginson rmeggins at fedoraproject.org
Mon Sep 29 20:57:55 UTC 2008


Author: rmeggins

Update of /cvs/extras/rpms/fedora-ds-base/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32431

Modified Files:
	fedora-ds-base.spec 
Added Files:
	bug463991-bdb47.patch 
Removed Files:
	bug439829.patch 
Log Message:
add patch to allow building on rawhide with bdb 4.7 - remove obsolete patch file

bug463991-bdb47.patch:

--- NEW FILE bug463991-bdb47.patch ---
Index: ldap/servers/slapd/back-ldbm/back-ldbm.h
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/back-ldbm.h,v
retrieving revision 1.15
diff -u -8 -r1.15 back-ldbm.h
--- ldap/servers/slapd/back-ldbm/back-ldbm.h	5 Aug 2008 21:03:42 -0000	1.15
+++ ldap/servers/slapd/back-ldbm/back-ldbm.h	29 Sep 2008 20:31:48 -0000
@@ -109,16 +109,25 @@
 #define ID2ENTRY "id2entry"	/* main db file name: ID2ENTRY+LDBM_SUFFIX */
 
 #define LDBM_SUFFIX_OLD	".db3"
 #define LDBM_SUFFIX	".db4"
 
 #define MEGABYTE (1024 * 1024)
 #define GIGABYTE (1024 * MEGABYTE)
 
+#define DB_USES_LOCKING(env) \
+    (DB_INIT_LOCK & ((env)->get_open_flags((env), NULL)))
+#define DB_USES_TRANSACTIONS(env) \
+    (DB_INIT_TXN & ((env)->get_open_flags((env), NULL)))
+#define DB_USES_MPOOL(env) \
+    (DB_INIT_MPOOL & ((env)->get_open_flags((env), NULL)))
+#define DB_USES_LOGGING(env) \
+    (DB_INIT_LOG & ((env)->get_open_flags((env), NULL)))
+
 
 /* include NSPR header files */
 #include "nspr.h"
 #include "plhash.h"
 
 #include "slap.h"
 #include "slapi-plugin.h"
 #include "slapi-private.h"
Index: ldap/servers/slapd/back-ldbm/dblayer.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/dblayer.c,v
retrieving revision 1.27
diff -u -8 -r1.27 dblayer.c
--- ldap/servers/slapd/back-ldbm/dblayer.c	3 Apr 2008 16:52:47 -0000	1.27
+++ ldap/servers/slapd/back-ldbm/dblayer.c	29 Sep 2008 20:31:48 -0000
@@ -3444,17 +3444,17 @@
 
     INCR_THREAD_COUNT(priv);
 
     interval = PR_MillisecondsToInterval(100);
     while (!priv->dblayer_stop_threads)
     {
         if (priv->dblayer_enable_transactions) 
         {
-            if (NULL != priv->dblayer_env->dblayer_DB_ENV->lk_handle) {
+            if (DB_USES_LOCKING(priv->dblayer_env->dblayer_DB_ENV)) {
                 int aborted;
                 if ((rval = LOCK_DETECT(priv->dblayer_env->dblayer_DB_ENV,
                             0,
                             DB_LOCK_YOUNGEST,
                             &aborted))
                     != 0) {
                     LDAPDebug(LDAP_DEBUG_ANY,
                       "Serious Error---Failed in deadlock detect (aborted at 0x%x), err=%d (%s)\n",
@@ -3614,17 +3614,17 @@
         checkpoint_interval = priv->dblayer_checkpoint_interval;
         PR_Unlock(li->li_config_mutex);
 
         /* Check to see if the checkpoint interval has elapsed */
         if (current_time() - time_of_last_checkpoint_completion <
                                                checkpoint_interval) 
             continue;
 
-        if (NULL == priv->dblayer_env->dblayer_DB_ENV->tx_handle)
+        if (!DB_USES_TRANSACTIONS(priv->dblayer_env->dblayer_DB_ENV))
             continue;
 
         /* now checkpoint */
         checkpoint_debug_message(debug_checkpointing,
                                  "Starting checkpoint\n", 0, 0, 0);
         rval = dblayer_txn_checkpoint(li, priv->dblayer_env, PR_TRUE, PR_TRUE);
 #if 1000*DB_VERSION_MAJOR + 100*DB_VERSION_MINOR < 4100
         if (DB_INCOMPLETE == rval) 
@@ -3772,17 +3772,17 @@
 
     interval = PR_MillisecondsToInterval(DBLAYER_SLEEP_INTERVAL);
     debug_checkpointing = priv->db_debug_checkpointing;
     while (!priv->dblayer_stop_threads)
     {
         DS_Sleep(interval);   /* 622855: wait for other threads fully started */
         if (priv->dblayer_enable_transactions) 
         {
-            if ( (NULL != priv->dblayer_env->dblayer_DB_ENV->mp_handle) &&
+            if ( DB_USES_MPOOL(priv->dblayer_env->dblayer_DB_ENV) &&
                  (0 != priv->dblayer_trickle_percentage) )
             {
                 int pages_written = 0;
                 if ((rval = MEMP_TRICKLE(
                                       priv->dblayer_env->dblayer_DB_ENV,
                                       priv->dblayer_trickle_percentage,
                                       &pages_written)) != 0)
                 {
Index: ldap/servers/slapd/back-ldbm/perfctrs.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/perfctrs.c,v
retrieving revision 1.9
diff -u -8 -r1.9 perfctrs.c
--- ldap/servers/slapd/back-ldbm/perfctrs.c	26 Sep 2007 17:32:41 -0000	1.9
+++ ldap/servers/slapd/back-ldbm/perfctrs.c	29 Sep 2008 20:31:49 -0000
@@ -291,41 +291,41 @@
 	if (NULL == db_env) {
 		return;
 	}
         perf = (performance_counters*)priv->memory;
 	if (NULL == perf) {
 		return;
 	}
 	/* Call libdb to get the various stats */
-	if (NULL != db_env->lg_handle)
+	if (DB_USES_LOGGING(db_env))
 	{
 		DB_LOG_STAT *logstat = NULL;
 		ret = LOG_STAT(db_env,&logstat,0,malloc);
 		if (0 == ret) {
 			perf->log_region_wait_rate = logstat->st_region_wait;
 			perf->log_write_rate = 1024*1024*logstat->st_w_mbytes + logstat->st_w_bytes;
 			perf->log_bytes_since_checkpoint = 1024*1024*logstat->st_wc_mbytes + logstat->st_wc_bytes;
 		}
 		free(logstat);
 	}
-	if (NULL != db_env->tx_handle)
+	if (DB_USES_TRANSACTIONS(db_env))
 	{
 		DB_TXN_STAT *txnstat = NULL;
 		ret = TXN_STAT(db_env, &txnstat, 0, malloc);
 		if (0 == ret) {
 			perf->active_txns = txnstat->st_nactive;
 			perf->commit_rate = txnstat->st_ncommits;
 			perf->abort_rate = txnstat->st_naborts;
 			perf->txn_region_wait_rate = txnstat->st_region_wait;
 		}
 		if (txnstat)
 			free(txnstat);
 	}
-	if (NULL != db_env->lk_handle)
+	if (DB_USES_LOCKING(db_env))
 	{
 		DB_LOCK_STAT *lockstat = NULL;
 		ret = LOCK_STAT(db_env,&lockstat,0,malloc);
 		if (0 == ret) {
 			perf->lock_region_wait_rate = lockstat->st_region_wait;	
 			perf->deadlock_rate = lockstat->st_ndeadlocks;
 			perf->configured_locks = lockstat->st_maxlocks;
 			perf->current_locks = lockstat->st_nlocks;
@@ -333,17 +333,17 @@
 			perf->lockers = lockstat->st_nlockers;
 			perf->lock_conflicts = GET_N_LOCK_WAITS(lockstat);
 			perf->lock_request_rate = lockstat->st_nrequests;			
 			perf->current_lock_objects = lockstat->st_nobjects;
 			perf->max_lock_objects = lockstat->st_maxnobjects;
 		}
 		free(lockstat);
 	}
-	if (NULL != db_env->mp_handle)
+	if (DB_USES_MPOOL(db_env))
 	{
 		DB_MPOOL_STAT	*mpstat = NULL;
 		ret = MEMP_STAT(db_env,&mpstat,NULL,0,malloc);
 		if (0 == ret) {
 #define ONEG  1073741824
 			perf->cache_size_bytes = mpstat->st_gbytes * ONEG + mpstat->st_bytes;
 			perf->page_access_rate = mpstat->st_cache_hit + mpstat->st_cache_miss;			
 			perf->cache_hit = mpstat->st_cache_hit;			


Index: fedora-ds-base.spec
===================================================================
RCS file: /cvs/extras/rpms/fedora-ds-base/devel/fedora-ds-base.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- fedora-ds-base.spec	25 Sep 2008 02:04:09 -0000	1.20
+++ fedora-ds-base.spec	29 Sep 2008 20:57:25 -0000	1.21
@@ -5,7 +5,7 @@
 Summary:          Fedora Directory Server (base)
 Name:             fedora-ds-base
 Version:          1.1.3
-Release:          2%{?dist}
+Release:          3%{?dist}
 License:          GPLv2 with exceptions
 URL:              http://directory.fedoraproject.org/
 Group:            System Environment/Daemons
@@ -57,6 +57,7 @@
 # fedora-ds-cvs.sh should be used to generate the source tarball from CVS
 Source1:          %{name}-cvs.sh
 Source2:          %{name}-devel.README
+Patch0:           bug463991-bdb47.patch
 
 %description
 Fedora Directory Server is an LDAPv3 compliant server.  The base package includes
@@ -72,6 +73,7 @@
 
 %prep
 %setup -q -n %{name}-%{version}
+%patch0
 cp %{SOURCE2} README.devel
 
 %build
@@ -156,6 +158,10 @@
 %{_libdir}/%{pkgname}/*.so
 
 %changelog
+* Mon Sep 29 2008 Rich Megginson <rmeggins at redhat.com> - 1.1.3-3
+- added patch bug463991-bdb47.patch
+- make ds work with bdb 4.7
+
 * Wed Sep 24 2008 Rich Megginson <rmeggins at redhat.com> - 1.1.3-2
 - rolled back bogus winsync memory leak fix
 


--- bug439829.patch DELETED ---




More information about the fedora-extras-commits mailing list