rpms/openoffice.org/devel openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch, NONE, 1.1 openoffice.org.spec, 1.192, 1.193

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon May 23 19:27:47 UTC 2005


Author: dcbw

Update of /cvs/dist/rpms/openoffice.org/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv13564

Modified Files:
	openoffice.org.spec 
Added Files:
	openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch 
Log Message:
- add openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch to fix grievous
    misuse of C casting in berkeleydb's JNI glue


openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch:
 db-4.2.52.patch | 3536 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 3535 insertions(+), 1 deletion(-)

--- NEW FILE openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch ---
--- SRC680_m104/berkeleydb/db-4.2.52.patch.jni-casting-misuse	2005-05-23 14:12:18.000000000 -0400
+++ SRC680_m104/berkeleydb/db-4.2.52.patch	2005-05-23 14:56:09.000000000 -0400
@@ -317,8 +317,3541 @@
 ! SLOFILES= $(SLO)$/hsearch.obj
 ! 
 ! .INCLUDE :  target.mk
-*** misc/db-4.2.52.NC/libdb_java/makefile.mk	2005-04-07 17:09:42.000000000 +0200
---- misc/build/db-4.2.52.NC/libdb_java/makefile.mk	2005-04-07 17:09:09.000000000 +0200
+*** misc/db-4.2.52.NC/libdb_java/db_java_wrap.c	2003-12-03 16:10:36.000000000 -0500
+--- misc/build/db-4.2.52.NC/libdb_java/db_java_wrap.c	2005-05-23 14:54:42.000000000 -0400
+***************
+*** 371,377 ****
+  	memset(lsn_copy, 0, sizeof(DB_LSN));
+  	*lsn_copy = *lsn;
+  	/* Magic to convert a pointer to a long - must match SWIG */
+! 	*(DB_LSN **)&jptr = lsn_copy;
+  	return (*jenv)->NewObject(jenv, dblsn_class, dblsn_construct,
+  	    jptr, JNI_TRUE);
+  }
+--- 371,378 ----
+  	memset(lsn_copy, 0, sizeof(DB_LSN));
+  	*lsn_copy = *lsn;
+  	/* Magic to convert a pointer to a long - must match SWIG */
+! 	jptr = (intptr_t) lsn_copy;
+! /*	*(DB_LSN **)&jptr = lsn_copy; */
+  	return (*jenv)->NewObject(jenv, dblsn_class, dblsn_construct,
+  	    jptr, JNI_TRUE);
+  }
+***************
+*** 632,638 ****
+  	int completed;
+  
+  	COMPQUIET(jcls, NULL);
+! 	dbenv = *(DB_ENV **)&jdbenvp;
+  	jdbenv = (jobject)DB_ENV_INTERNAL(dbenv);
+  
+  	if (dbenv == NULL) {
+--- 633,640 ----
+  	int completed;
+  
+  	COMPQUIET(jcls, NULL);
+! 	dbenv = (DB_ENV *)((intptr_t)jdbenvp);
+! /*	dbenv = *(DB_ENV **)&jdbenvp; */
+  	jdbenv = (jobject)DB_ENV_INTERNAL(dbenv);
+  
+  	if (dbenv == NULL) {
+***************
+*** 701,707 ****
+  				    "DbLockRequest lock field is NULL", NULL, jdbenv);
+  				goto out2;
+  			}
+! 			lockp = *(DB_LOCK **)&jlockp;
+  			prereq->lock = *lockp;
+  			break;
+  		case DB_LOCK_PUT_ALL:
+--- 703,710 ----
+  				    "DbLockRequest lock field is NULL", NULL, jdbenv);
+  				goto out2;
+  			}
+! 			lockp = (DB_LOCK *)((intptr_t)jlockp);
+! /*			lockp = *(DB_LOCK **)&jlockp; */
+  			prereq->lock = *lockp;
+  			break;
+  		case DB_LOCK_PUT_ALL:
+***************
+*** 745,751 ****
+  			    lockreq_lock_fid);
+  			jlockp = (*jenv)->GetLongField(jenv, jlock,
+  			    lock_cptr_fid);
+! 			lockp = *(DB_LOCK **)&jlockp;
+  			__os_free(NULL, lockp);
+  			(*jenv)->SetLongField(jenv, jlock, lock_cptr_fid,
+  			    (jlong)0);
+--- 748,755 ----
+  			    lockreq_lock_fid);
+  			jlockp = (*jenv)->GetLongField(jenv, jlock,
+  			    lock_cptr_fid);
+! 			lockp = (DB_LOCK *)((intptr_t)jlockp);
+! /*			lockp = *(DB_LOCK **)&jlockp; */
+  			__os_free(NULL, lockp);
+  			(*jenv)->SetLongField(jenv, jlock, lock_cptr_fid,
+  			    (jlong)0);
+***************
+*** 763,769 ****
+  			}
+  
+  			*lockp = lockreq[i].lock;
+! 			*(DB_LOCK **)&jlockp = lockp;
+  
+  			jlockreq = (*jenv)->GetObjectArrayElement(jenv,
+  			    list, i + offset);
+--- 767,774 ----
+  			}
+  
+  			*lockp = lockreq[i].lock;
+! 			jlockp = (intptr_t)lockp;
+! /*			*(DB_LOCK **)&jlockp = lockp; */
+  
+  			jlockreq = (*jenv)->GetObjectArrayElement(jenv,
+  			    list, i + offset);
+***************
+*** 1194,1200 ****
+  
+  JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbEnvRef0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
+! 	DB_ENV *self = *(DB_ENV **)&jarg1;
+  	COMPQUIET(jcls, NULL);
+  
+  	DB_ENV_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
+--- 1199,1206 ----
+  
+  JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbEnvRef0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
+! 	DB_ENV *self = (DB_ENV *)((intptr_t)jarg1);
+! /*	DB_ENV *self = *(DB_ENV **)&jarg1; */
+  	COMPQUIET(jcls, NULL);
+  
+  	DB_ENV_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
+***************
+*** 1204,1210 ****
+  
+  JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbRef0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
+! 	DB *self = *(DB **)&jarg1;
+  	COMPQUIET(jcls, NULL);
+  
+  	DB_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
+--- 1210,1217 ----
+  
+  JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_initDbRef0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
+! 	DB *self = (DB *)((intptr_t)jarg1);
+! /*	DB *self = *(DB **)&jarg1; */
+  	COMPQUIET(jcls, NULL);
+  
+  	DB_INTERNAL(self) = (void *)(*jenv)->NewGlobalRef(jenv, jarg2);
+***************
+*** 1221,1227 ****
+  
+  JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbRef0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1) {
+! 	DB *self = *(DB **)&jarg1;
+  	COMPQUIET(jcls, NULL);
+  	COMPQUIET(jenv, NULL);
+  
+--- 1228,1235 ----
+  
+  JNIEXPORT jobject JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbRef0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1) {
+! 	DB *self = (DB *)((intptr_t)jarg1);
+! /*	DB *self = *(DB **)&jarg1; */
+  	COMPQUIET(jcls, NULL);
+  	COMPQUIET(jenv, NULL);
+  
+***************
+*** 1230,1242 ****
+  
+  JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbEnv0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1) {
+! 	DB *self = *(DB **)&jarg1;
+  	jlong env_cptr;
+  
+  	COMPQUIET(jenv, NULL);
+  	COMPQUIET(jcls, NULL);
+  
+! 	*(DB_ENV **)&env_cptr = self->dbenv;
+  	return env_cptr;
+  }
+  
+--- 1238,1252 ----
+  
+  JNIEXPORT jlong JNICALL Java_com_sleepycat_db_db_1javaJNI_getDbEnv0(
+      JNIEnv *jenv, jclass jcls, jlong jarg1) {
+! 	DB *self = (DB *)((intptr_t)jarg1);
+! /*	DB *self = *(DB **)&jarg1; */
+  	jlong env_cptr;
+  
+  	COMPQUIET(jenv, NULL);
+  	COMPQUIET(jcls, NULL);
+  
+! 	env_cptr = (jlong)((intptr_t)(self->dbenv));
+! /*	*(DB_ENV **)&env_cptr = self->dbenv; */
+  	return env_cptr;
+  }
+  
+***************
+*** 1997,2003 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(DB_ENV **)&jarg1; 
+      arg2 = (u_int32_t)jarg2; 
+      
+      errno = 0;
+--- 2007,2014 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (DB_ENV *)((intptr_t)jarg1);
[...3147 lines suppressed...]
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_lock_u **)&jarg1; 
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+--- 7273,7280 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_lock_u *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_lock_u **)&jarg1; */
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+***************
+*** 7098,7104 ****
+      if (!DB_RETOK_STD(errno))
+      __dbj_throw(jenv, errno, NULL, NULL, NULL);
+      
+!     *(struct __db_lsn **)&jresult = result; 
+      return jresult;
+  }
+  
+--- 7303,7310 ----
+      if (!DB_RETOK_STD(errno))
+      __dbj_throw(jenv, errno, NULL, NULL, NULL);
+      
+!     jresult = (jlong)((intptr_t)result);
+! /*    *(struct __db_lsn **)&jresult = result; */
+      return jresult;
+  }
+  
+***************
+*** 7108,7114 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_lsn **)&jarg1; 
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+--- 7314,7321 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_lsn *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_lsn **)&jarg1; */
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+***************
+*** 7127,7133 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_lsn **)&jarg1; 
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+--- 7334,7341 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_lsn *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_lsn **)&jarg1; */
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+***************
+*** 7148,7154 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_lsn **)&jarg1; 
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+--- 7356,7363 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_lsn *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_lsn **)&jarg1; */
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+***************
+*** 7169,7175 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_mpoolfile **)&jarg1; 
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+--- 7378,7385 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_mpoolfile *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_mpoolfile **)&jarg1; */
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+***************
+*** 7195,7201 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_mpoolfile **)&jarg1; 
+      arg2 = (DB_CACHE_PRIORITY)jarg2; 
+      
+      if (jarg1 == 0) {
+--- 7405,7412 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_mpoolfile *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_mpoolfile **)&jarg1; */
+      arg2 = (DB_CACHE_PRIORITY)jarg2; 
+      
+      if (jarg1 == 0) {
+***************
+*** 7219,7225 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_mpoolfile **)&jarg1; 
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+--- 7430,7437 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_mpoolfile *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_mpoolfile **)&jarg1; */
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+***************
+*** 7246,7252 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_mpoolfile **)&jarg1; 
+      arg2 = (u_int32_t)jarg2; 
+      
+      arg3 = (jarg3 == JNI_TRUE);
+--- 7458,7465 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_mpoolfile *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_mpoolfile **)&jarg1; */
+      arg2 = (u_int32_t)jarg2; 
+      
+      arg3 = (jarg3 == JNI_TRUE);
+***************
+*** 7273,7279 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_mpoolfile **)&jarg1; 
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+--- 7486,7493 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_mpoolfile *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_mpoolfile **)&jarg1; */
+      
+      if (jarg1 == 0) {
+          __dbj_throw(jenv, EINVAL, "call on closed handle", NULL, NULL);
+***************
+*** 7299,7305 ****
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = *(struct __db_mpoolfile **)&jarg1; 
+      arg2 = jarg2; 
+      
+      if (jarg1 == 0) {
+--- 7513,7520 ----
+      
+      (void)jenv;
+      (void)jcls;
+!     arg1 = (struct __db_mpoolfile *)((intptr_t)jarg1);
+! /*    arg1 = *(struct __db_mpoolfile **)&jarg1; */
+      arg2 = jarg2; 
+      
+      if (jarg1 == 0) {
+*** misc/db-4.2.52.NC/libdb_java/makefile.mk	2005-05-23 14:56:08.000000000 -0400
+--- misc/build/db-4.2.52.NC/libdb_java/makefile.mk	2005-05-23 14:12:27.000000000 -0400
 ***************
 *** 1 ****
 ! dummy


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -r1.192 -r1.193
--- openoffice.org.spec	23 May 2005 01:25:08 -0000	1.192
+++ openoffice.org.spec	23 May 2005 19:27:44 -0000	1.193
@@ -34,8 +34,6 @@
 Source5:	GSI_pa-IN.sdf
 Source6:	GSI_nn.sdf
 Source7:	GSI_nb.sdf
-Source8:	db-3.2.9.patch
-Source9:	db-3.2.9.tar.gz
 BuildRequires: 	perl, sed, zip, bzip2, unzip, tar, findutils
 BuildRequires: 	autoconf, make >= 3.79.1, ant, flex, bison, perl-Compress-Zlib
 BuildRequires: 	gcc >= %{gccver}, gcc-c++ >= %{gccver}, binutils
@@ -76,11 +74,9 @@
 Patch21: openoffice.org-1.9.89.oooXXXXX.upstreamhatesthefp.officecfg.patch
 Patch22: openoffice.org-1.9.89.rh152269.nfs.desktop.patch
 Patch23: openoffice.org-1.9.89.gccXXXXX.hsqldbproblems.hsqldb.patch
-Patch24: workspace.db4.patch
 Patch25: openoffice.org-1.9.91.oooXXXXX.fontfallbacks.officecfg.patch
 Patch26: openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch
 Patch27: openoffice.org-1.9.92.oooXXXXX.addindic.patch
-Patch28: workspace.db4-2.patch
 Patch29: openoffice.org-1.9.92.oooXXXXX.gtk-nwf-combo-box-button-fix.patch
 Patch30: openoffice.org-1.9.96.ooo35641.noxfonts.vcl.patch
 Patch31: openoffice.org-1.9.97.ooo48256.nolongname.sysui.patch
@@ -93,6 +89,7 @@
 Patch38: openoffice.org-1.9.103.oooXXXXX.installation.disable-epm.fix.patch
 Patch39: openoffice.org-1.9.104.oooXXXXX.indic-font-fallbacks.patch
 Patch40: openoffice.org-1.9.104-gcjawt.patch
+Patch41: openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch
 
 %define instdir %{_libdir}/openoffice.org%{version}
 
@@ -684,11 +681,9 @@
 %patch21 -p1 -b .oooXXXXX.upstreamhatesthefp.officecfg.patch
 %patch22 -p1 -b .rh152269.nfs.desktop.patch
 %patch23 -p1 -b .gccXXXXX.hsqldbproblems.hsqldb.patch
-#%patch24 -p1 -R -b .workspace.db4.patch
 %patch25 -p1 -b .oooXXXXX.fontfallbacks.officecfg.patch
 %patch26 -p1 -b .ooo46585.sunmiscisnotstandard.filter.patch
 %patch27 -p1 -b .oooXXXXX.addindic.patch
-#%patch28 -p1 -b .workspace.db4-2.patch
 %patch29 -p1 -b .oooXXXXX.gtk-nwf-combo-box-button-fix.patch
 %patch30 -p1 -b .ooo35641.noxfonts.vcl.patch
 %patch31 -p1 -b .ooo48256.nolongname.sysui.patch
@@ -701,6 +696,7 @@
 %patch38 -p1 -b .oooXXXXX.installation.disable-epm.fix.patch
 %patch39 -p1 -b .oooXXXXX.indic-font-fallbacks.patch
 %patch40 -p1 -b .gcjawt.patch
+%patch41 -p1 -b .berkeleydb-jni-casting-misuse.patch
 
 #start ludicrous workaround
 #while we include these libs we need this, if/when we move to system
@@ -764,8 +760,6 @@
 export GCJ_CFLAGS="-I`$JAVACOMPILER -print-search-dirs | grep install | awk ' { print $2 } '`""include"
 export GCJ_LDFLAGS="-L`$JAVACOMPILER -print-search-dirs | grep install | awk ' { print $2 } '`"
 %endif
-cp %{SOURCE8} berkeleydb
-cp %{SOURCE9} berkeleydb/download
 cd transex3/prj
 build --all -P$MAXBUILDS
 deliver
@@ -2503,6 +2497,8 @@
     db4 with gcc again
 - add openoffice.org-1.9.104-gcjawt.patch to deal with gcj AWT library change
     to libgcjawt.so
+- add openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch to fix grievous
+    misuse of C casting in berkeleydb's JNI glue
 
 * Thu May 19 2005 Dan Williams <dcbw at redhat.com> - 1:1.9.104-1
 - update to m104




More information about the fedora-cvs-commits mailing list