Update of /cvsroot/fink/dists/10.4/unstable/crypto/finkinfo In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv30560
Modified Files: db44-aes.info db47-aes.info Added Files: db44-aes.patch Log Message: db* won't build if user has a /usr/local/include/db.h as it hides the needed /usr/include/db/h. Add a descriptive warning and make the build fail immediately in this case. Also add latest upstream patches to db44. Index: db47-aes.info =================================================================== RCS file: /cvsroot/fink/dists/10.4/unstable/crypto/finkinfo/db47-aes.info,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- db47-aes.info 6 Apr 2009 18:38:15 -0000 1.4 +++ db47-aes.info 8 May 2009 16:50:40 -0000 1.5 @@ -41,6 +41,16 @@ GCC: 4.0 CompileScript: << #! /bin/sh -ex +set +x +if [ -e /usr/local/include/db.h ]; then + echo "-----WARNING-----WARNING-----WARNING-----" + echo "You seem to have a Berkeley DB installation in /usr/local." + echo "This is known to cause %N to fail to build." + echo "Please rename /usr/local/include/db.h temporarily and try again." + echo "-----WARNING-----WARNING-----WARNING-----" + exit 1 +fi +set -x VERSIONS="-avoid-version -XCClinker -current_version -XCClinker %v -XCClinker -compatibility_version -XCClinker 4.7 -no-undefined" LIBDB="libdb-4.7.la" LIBDBCXX="libdb_cxx-4.7.la" Index: db44-aes.info =================================================================== RCS file: /cvsroot/fink/dists/10.4/unstable/crypto/finkinfo/db44-aes.info,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- db44-aes.info 22 Feb 2009 21:54:19 -0000 1.7 +++ db44-aes.info 8 May 2009 16:50:40 -0000 1.8 @@ -1,6 +1,6 @@ Package: db44-aes Version: 4.4.20 -Revision: 1004 +Revision: 1005 CustomMirror: << nam-US: http://download-east.oracle.com/berkeley-db/ nam-US: http://download-west.oracle.com/berkeley-db/ @@ -26,16 +26,28 @@ db47-aes, db47, db47-aes-64bit, db47-64bit << Depends: db44-shlibs (= %v-%r) | db44-aes-shlibs (=%v-%r) +BuildDepends: fink (>= 0.26.2) BuildDependsOnly: true NoSetLDFlags: true NoSetCPPFlags: true SetCFlags: -Os SetCXXFlags: -Os -#Patch: %n.patch +PatchFile: %{ni}.patch +PatchFile-MD5: c1d1b6777485d661bac5cf76bf8b9d4a ConfigureParams: --enable-compat185 --enable-cxx --enable-dump185 --includedir=%p/include/db4 GCC: 4.0 CompileScript: << #! /bin/sh -ex +set +x +if [ -e /usr/local/include/db.h ]; then + echo "-----WARNING-----WARNING-----WARNING-----" + echo "You seem to have a Berkeley DB installation in /usr/local." + echo "This is known to cause %N to fail to build." + echo "Please rename /usr/local/include/db.h temporarily and try again." + echo "-----WARNING-----WARNING-----WARNING-----" + exit 1 +fi +set -x VERSIONS="-avoid-version -XCClinker -current_version -XCClinker %v -XCClinker -compatibility_version -XCClinker 4.4 -no-undefined" LIBDB="libdb-4.4.la" LIBDBCXX="libdb_cxx-4.4.la" --- NEW FILE: db44-aes.patch --- diff -ru db-4.4.20.orig/db/db_cam.c db-4.4.20/db/db_cam.c --- db-4.4.20.orig/db/db_cam.c 2006-01-10 11:19:21.000000000 -0500 +++ db-4.4.20/db/db_cam.c 2009-05-08 11:16:24.000000000 -0400 @@ -579,11 +579,12 @@ flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) { if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0) return (ret); - if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0) + if (F_ISSET(dbc_arg, DBC_TRANSIENT)) + opd = cp->opd; + else if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0) return (ret); - switch (ret = - opd->c_am_get(opd, key, data, flags, NULL)) { + switch (ret = opd->c_am_get(opd, key, data, flags, NULL)) { case 0: goto done; case DB_NOTFOUND: @@ -596,12 +597,18 @@ if ((ret = __db_c_close(opd)) != 0) goto err; opd = NULL; + if (F_ISSET(dbc_arg, DBC_TRANSIENT)) + cp->opd = NULL; break; } goto err; default: goto err; } + } else if (cp->opd != NULL && F_ISSET(dbc_arg, DBC_TRANSIENT)) { + if ((ret = __db_c_close(cp->opd)) != 0) + goto err; + cp->opd = NULL; } /* diff -ru db-4.4.20.orig/mp/mp_fget.c db-4.4.20/mp/mp_fget.c --- db-4.4.20.orig/mp/mp_fget.c 2005-10-12 13:53:36.000000000 -0400 +++ db-4.4.20/mp/mp_fget.c 2009-05-08 11:16:29.000000000 -0400 @@ -587,8 +587,11 @@ */ if (state != SECOND_MISS && bhp->ref == 1) { bhp->priority = UINT32_MAX; - SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh); - SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq); + if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) != + SH_TAILQ_LAST(&hp->hash_bucket, hq, __bh)) { + SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh); + SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq); + } hp->hash_priority = SH_TAILQ_FIRSTP(&hp->hash_bucket, __bh)->priority; } diff -ru db-4.4.20.orig/qam/qam_files.c db-4.4.20/qam/qam_files.c --- db-4.4.20.orig/qam/qam_files.c 2005-10-20 14:57:12.000000000 -0400 +++ db-4.4.20/qam/qam_files.c 2009-05-08 11:16:13.000000000 -0400 @@ -411,6 +411,12 @@ DB_APP_DATA, buf, 0, NULL, &real_name)) != 0) goto err; #endif + + mpf = array->mpfarray[offset].mpf; + /* This extent my already be marked for delete and closed. */ + if (mpf == NULL) + goto err; + /* * The log must be flushed before the file is deleted. We depend on * the log record of the last delete to recreate the file if we crash. @@ -418,7 +424,6 @@ if (LOGGING_ON(dbenv) && (ret = __log_flush(dbenv, NULL)) != 0) goto err; - mpf = array->mpfarray[offset].mpf; (void)__memp_set_flags(mpf, DB_MPOOL_UNLINK, 1); /* Someone could be real slow, let them close it down. */ if (array->mpfarray[offset].pinref != 0) diff -ru db-4.4.20.orig/txn/txn.c db-4.4.20/txn/txn.c --- db-4.4.20.orig/txn/txn.c 2005-11-01 09:50:03.000000000 -0500 +++ db-4.4.20/txn/txn.c 2009-05-08 11:16:20.000000000 -0400 @@ -1049,12 +1049,14 @@ return (ret); memcpy(txn->name, name, len); + TXN_SYSTEM_LOCK(dbenv); if (td->name != INVALID_ROFF) { __db_shalloc_free( &mgr->reginfo, R_ADDR(&mgr->reginfo, td->name)); td->name = INVALID_ROFF; } if ((ret = __db_shalloc(&mgr->reginfo, len, 0, &p)) != 0) { + TXN_SYSTEM_UNLOCK(dbenv); __db_err(dbenv, "Unable to allocate memory for transaction name"); @@ -1063,6 +1065,7 @@ return (ret); } + TXN_SYSTEM_UNLOCK(dbenv); td->name = R_OFFSET(&mgr->reginfo, p); memcpy(p, name, len); ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.cvs