]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
Revert "db: Update to 5.1.19." plus more.
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Jan 2011 23:42:30 +0000 (00:42 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Jan 2011 23:42:30 +0000 (00:42 +0100)
This reverts commit d737c7b6fadd6a235cde8f8b359a6bb0ac113dd2.

Got back to the 4.7 line of berkeley db.
Added myself as the maintainer to take care of this package.

pkgs/core/db/db.nm
pkgs/core/db/patches/db-4.7.25-upstream_fixes-1.patch [new file with mode: 0644]

index d216ac2be10a5921c57bc1da1572e67fa007c482..09977d678d5a7c47687d714c0ba3880f64df811e 100644 (file)
 include $(PKGROOT)/Include
 
 PKG_NAME       = db
-PKG_VER_MAJ    = 5.1
-PKG_VER_MIN    = 19
+PKG_VER_MAJ    = 4.7
+PKG_VER_MIN    = 25
 PKG_VER        = $(PKG_VER_MAJ).$(PKG_VER_MIN)
 PKG_REL        = 0
+PKG_EPOCH      = 1
 
-PKG_MAINTAINER =
+# Never update this to major version 5.
+
+PKG_MAINTAINER = Michael Tremer <michael.tremer@ipfire.org>
 PKG_GROUP      = System/Libraries
 PKG_URL        = http://www.oracle.com/technology/products/berkeley-db/
 PKG_LICENSE    = Proprietary
diff --git a/pkgs/core/db/patches/db-4.7.25-upstream_fixes-1.patch b/pkgs/core/db/patches/db-4.7.25-upstream_fixes-1.patch
new file mode 100644 (file)
index 0000000..a8de431
--- /dev/null
@@ -0,0 +1,64 @@
+Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org>
+Date: 2008-09-28
+Initial Package Version: 4.7.25
+Upstream Status: From Upstream
+Origin: http://www.oracle.com/technology/products/berkeley-db/db/update/4.7.25/patch.4.7.25.1
+Description: Update to latest patch for 4.7.25 release (avoid improperly named
+             patches in LFS).
+
+diff -Naur db-4.7.25-orig/sequence/sequence.c db-4.7.25/sequence/sequence.c
+--- db-4.7.25-orig/sequence/sequence.c 2008-05-05 15:25:09.000000000 -0500
++++ db-4.7.25/sequence/sequence.c      2008-09-28 00:03:59.000000000 -0500
+@@ -187,7 +187,11 @@
+       if ((ret = __db_get_flags(dbp, &tflags)) != 0)
+               goto err;
+-      if (DB_IS_READONLY(dbp)) {
++      /*
++       * We can let replication clients open sequences, but must
++       * check later that they do not update them.
++       */
++      if (F_ISSET(dbp, DB_AM_RDONLY)) {
+               ret = __db_rdonly(dbp->env, "DB_SEQUENCE->open");
+               goto err;
+       }
+@@ -244,6 +248,11 @@
+               if ((ret != DB_NOTFOUND && ret != DB_KEYEMPTY) ||
+                   !LF_ISSET(DB_CREATE))
+                       goto err;
++              if (IS_REP_CLIENT(env) &&
++                  !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
++                      ret = __db_rdonly(env, "DB_SEQUENCE->open");
++                      goto err;
++              }
+               ret = 0;
+               rp = &seq->seq_record;
+@@ -296,7 +305,12 @@
+        */
+       rp = seq->seq_data.data;
+       if (rp->seq_version == DB_SEQUENCE_OLDVER) {
+-oldver:               rp->seq_version = DB_SEQUENCE_VERSION;
++oldver:               if (IS_REP_CLIENT(env) &&
++                  !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
++                      ret = __db_rdonly(env, "DB_SEQUENCE->open");
++                      goto err;
++              }
++              rp->seq_version = DB_SEQUENCE_VERSION;
+               if (!F_ISSET(env, ENV_LITTLEENDIAN)) {
+                       if (IS_DB_AUTO_COMMIT(dbp, txn)) {
+                               if ((ret =
+@@ -707,6 +721,13 @@
+       MUTEX_LOCK(env, seq->mtx_seq);
++      if (handle_check && IS_REP_CLIENT(env) &&
++          !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
++              ret = __db_rdonly(env, "DB_SEQUENCE->get");
++              goto err;
++      }
++
++
+       if (rp->seq_min + delta > rp->seq_max) {
+               __db_errx(env, "Sequence overflow");
+               ret = EINVAL;