Hello community,

here is the log from the commit of package lmdb for openSUSE:Factory checked in 
at 2019-04-01 12:32:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lmdb (Old)
 and      /work/SRC/openSUSE:Factory/.lmdb.new.25356 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lmdb"

Mon Apr  1 12:32:32 2019 rev:15 rq:688581 version:0.9.23

Changes:
--------
--- /work/SRC/openSUSE:Factory/lmdb/lmdb.changes        2018-10-12 
13:07:41.167557088 +0200
+++ /work/SRC/openSUSE:Factory/.lmdb.new.25356/lmdb.changes     2019-04-01 
12:32:36.233786395 +0200
@@ -1,0 +2,15 @@
+Mon Mar 25 21:10:07 UTC 2019 - Stefan BrĂ¼ns <stefan.bru...@rwth-aachen.de>
+
+- LMDB 0.9.23 Release (2018/12/19)
+  * ITS#8756 Fix loose pages in dirty list
+  * ITS#8831 Fix mdb_load flag init
+  * ITS#8844 Fix mdb_env_close in forked process
+  * Documentation
+    + ITS#8857 mdb_cursor_del doesn't invalidate cursor
+    + ITS#8908 GET_MULTIPLE etc don't change passed in key
+- Drop upstream 0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch
+- Cleanup:
+  * Use %license, drop %defattr
+  * Use https for Url tag
+
+-------------------------------------------------------------------

Old:
----
  0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch
  LMDB_0.9.22.tar.gz

New:
----
  LMDB_0.9.23.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lmdb.spec ++++++
--- /var/tmp/diff_new_pack.6KMDc1/_old  2019-04-01 12:32:36.701786515 +0200
+++ /var/tmp/diff_new_pack.6KMDc1/_new  2019-04-01 12:32:36.705786516 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package lmdb
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,10 +20,10 @@
 Summary:        Lightning Memory-Mapped Database Manager
 License:        OLDAP-2.8
 Group:          Productivity/Databases/Tools
-%define lname liblmdb-0_9_22
-Version:        0.9.22
+%define lname liblmdb-0_9_23
+Version:        0.9.23
 Release:        0
-Url:            http://symas.com/mdb/
+Url:            https://symas.com/mdb/
 
 #Git-Clone:    git://git.openldap.org/openldap mdb.master
 Source:         https://github.com/LMDB/lmdb/archive/LMDB_%version.tar.gz
@@ -35,8 +35,6 @@
 Patch2:         liblmdb-implicit-decl.patch
 # PATCH-FIX-OPENSUSE - Build and link to shared library
 Patch3:         Makefile-build-use-shared-lib.patch
-# PATCH-FIX-UPSTREAM - Fix crash due to failed assertion, freed pages ended up 
on the dirty page list twice
-Patch4:         0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if 0%{?rhel_version} == 700
@@ -89,7 +87,6 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1
 
 %build
 cd libraries/liblmdb
@@ -109,19 +106,16 @@
 %postun -n %lname -p /sbin/ldconfig
 
 %files
-%defattr(-,root,root)
 %doc libraries/liblmdb/CHANGES
 %doc libraries/liblmdb/COPYRIGHT
-%doc libraries/liblmdb/LICENSE
+%license libraries/liblmdb/LICENSE
 %{_bindir}/*
 %doc %{_mandir}/man1/*.1.gz
 
 %files -n %lname
-%defattr(-,root,root)
 %_libdir/liblmdb-%version.so
 
 %files devel
-%defattr(-,root,root)
 %_includedir/*
 %_libdir/liblmdb.so
 

++++++ LMDB_0.9.22.tar.gz -> LMDB_0.9.23.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lmdb-LMDB_0.9.22/libraries/liblmdb/CHANGES 
new/lmdb-LMDB_0.9.23/libraries/liblmdb/CHANGES
--- old/lmdb-LMDB_0.9.22/libraries/liblmdb/CHANGES      2018-03-22 
16:23:05.000000000 +0100
+++ new/lmdb-LMDB_0.9.23/libraries/liblmdb/CHANGES      2018-12-19 
16:51:03.000000000 +0100
@@ -1,6 +1,14 @@
 LMDB 0.9 Change Log
 
-LMDB 0.9.22 Release (2018-03-22)
+LMDB 0.9.23 Release (2018/12/19)
+       ITS#8756 Fix loose pages in dirty list
+       ITS#8831 Fix mdb_load flag init
+       ITS#8844 Fix mdb_env_close in forked process
+       Documentation
+               ITS#8857 mdb_cursor_del doesn't invalidate cursor
+               ITS#8908 GET_MULTIPLE etc don't change passed in key
+
+LMDB 0.9.22 Release (2018/03/22)
        Fix MDB_DUPSORT alignment bug (ITS#8819)
        Fix regression with new db from 0.9.19 (ITS#8760)
        Fix liblmdb to build on Solaris (ITS#8612)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lmdb-LMDB_0.9.22/libraries/liblmdb/lmdb.h 
new/lmdb-LMDB_0.9.23/libraries/liblmdb/lmdb.h
--- old/lmdb-LMDB_0.9.22/libraries/liblmdb/lmdb.h       2018-03-22 
16:23:05.000000000 +0100
+++ new/lmdb-LMDB_0.9.23/libraries/liblmdb/lmdb.h       2018-12-19 
16:51:03.000000000 +0100
@@ -200,7 +200,7 @@
 /** Library minor version */
 #define MDB_VERSION_MINOR      9
 /** Library patch version */
-#define MDB_VERSION_PATCH      22
+#define MDB_VERSION_PATCH      23
 
 /** Combine args a,b,c into a single integer for easy version comparisons */
 #define MDB_VERINT(a,b,c)      (((a) << 24) | ((b) << 16) | (c))
@@ -210,7 +210,7 @@
        MDB_VERINT(MDB_VERSION_MAJOR,MDB_VERSION_MINOR,MDB_VERSION_PATCH)
 
 /** The release date of this library version */
-#define MDB_VERSION_DATE       "March 21, 2018"
+#define MDB_VERSION_DATE       "December 19, 2018"
 
 /** A stringifier for the version info */
 #define MDB_VERSTR(a,b,c,d)    "LMDB " #a "." #b "." #c ": (" d ")"
@@ -370,7 +370,7 @@
        MDB_GET_BOTH,                   /**< Position at key/data pair. Only 
for #MDB_DUPSORT */
        MDB_GET_BOTH_RANGE,             /**< position at key, nearest data. 
Only for #MDB_DUPSORT */
        MDB_GET_CURRENT,                /**< Return key/data at current cursor 
position */
-       MDB_GET_MULTIPLE,               /**< Return key and up to a page of 
duplicate data items
+       MDB_GET_MULTIPLE,               /**< Return up to a page of duplicate 
data items
                                                                from current 
cursor position. Move cursor to prepare
                                                                for 
#MDB_NEXT_MULTIPLE. Only for #MDB_DUPFIXED */
        MDB_LAST,                               /**< Position at last key/data 
item */
@@ -379,7 +379,7 @@
        MDB_NEXT,                               /**< Position at next data item 
*/
        MDB_NEXT_DUP,                   /**< Position at next data item of 
current key.
                                                                Only for 
#MDB_DUPSORT */
-       MDB_NEXT_MULTIPLE,              /**< Return key and up to a page of 
duplicate data items
+       MDB_NEXT_MULTIPLE,              /**< Return up to a page of duplicate 
data items
                                                                from next 
cursor position. Move cursor to prepare
                                                                for 
#MDB_NEXT_MULTIPLE. Only for #MDB_DUPFIXED */
        MDB_NEXT_NODUP,                 /**< Position at first data item of 
next key */
@@ -390,7 +390,7 @@
        MDB_SET,                                /**< Position at specified key 
*/
        MDB_SET_KEY,                    /**< Position at specified key, return 
key + data */
        MDB_SET_RANGE,                  /**< Position at first key greater than 
or equal to specified key. */
-       MDB_PREV_MULTIPLE               /**< Position at previous page and 
return key and up to
+       MDB_PREV_MULTIPLE               /**< Position at previous page and 
return up to
                                                                a page of 
duplicate data items. Only for #MDB_DUPFIXED */
 } MDB_cursor_op;
 
@@ -1510,6 +1510,10 @@
        /** @brief Delete current key/data pair
         *
         * This function deletes the key/data pair to which the cursor refers.
+        * This does not invalidate the cursor, so operations such as MDB_NEXT
+        * can still be used on it.
+        * Both MDB_NEXT and MDB_GET_CURRENT will return the same record after
+        * this operation.
         * @param[in] cursor A cursor handle returned by #mdb_cursor_open()
         * @param[in] flags Options for this operation. This parameter
         * must be set to 0 or one of the values described here.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lmdb-LMDB_0.9.22/libraries/liblmdb/mdb.c 
new/lmdb-LMDB_0.9.23/libraries/liblmdb/mdb.c
--- old/lmdb-LMDB_0.9.22/libraries/liblmdb/mdb.c        2018-03-22 
16:23:05.000000000 +0100
+++ new/lmdb-LMDB_0.9.23/libraries/liblmdb/mdb.c        2018-12-19 
16:51:03.000000000 +0100
@@ -3094,10 +3094,41 @@
                 * we may be unable to return them to me_pghead.
                 */
                MDB_page *mp = txn->mt_loose_pgs;
+               MDB_ID2 *dl = txn->mt_u.dirty_list;
+               unsigned x;
                if ((rc = mdb_midl_need(&txn->mt_free_pgs, 
txn->mt_loose_count)) != 0)
                        return rc;
-               for (; mp; mp = NEXT_LOOSE_PAGE(mp))
+               for (; mp; mp = NEXT_LOOSE_PAGE(mp)) {
                        mdb_midl_xappend(txn->mt_free_pgs, mp->mp_pgno);
+                       /* must also remove from dirty list */
+                       if (txn->mt_flags & MDB_TXN_WRITEMAP) {
+                               for (x=1; x<=dl[0].mid; x++)
+                                       if (dl[x].mid == mp->mp_pgno)
+                                               break;
+                               mdb_tassert(txn, x <= dl[0].mid);
+                       } else {
+                               x = mdb_mid2l_search(dl, mp->mp_pgno);
+                               mdb_tassert(txn, dl[x].mid == mp->mp_pgno);
+                       }
+                       dl[x].mptr = NULL;
+                       mdb_dpage_free(env, mp);
+               }
+               {
+                       /* squash freed slots out of the dirty list */
+                       unsigned y;
+                       for (y=1; dl[y].mptr && y <= dl[0].mid; y++);
+                       if (y <= dl[0].mid) {
+                               for(x=y, y++;;) {
+                                       while (!dl[y].mptr && y <= dl[0].mid) 
y++;
+                                       if (y > dl[0].mid) break;
+                                       dl[x++] = dl[y++];
+                               }
+                               dl[0].mid = x-1;
+                       } else {
+                               /* all slots freed */
+                               dl[0].mid = 0;
+                       }
+               }
                txn->mt_loose_pgs = NULL;
                txn->mt_loose_count = 0;
        }
@@ -5063,7 +5094,7 @@
        if (env->me_fd != INVALID_HANDLE_VALUE)
                (void) close(env->me_fd);
        if (env->me_txns) {
-               MDB_PID_T pid = env->me_pid;
+               MDB_PID_T pid = getpid();
                /* Clearing readers is done in this function because
                 * me_txkey with its destructor must be disabled first.
                 *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lmdb-LMDB_0.9.22/libraries/liblmdb/mdb_load.c 
new/lmdb-LMDB_0.9.23/libraries/liblmdb/mdb_load.c
--- old/lmdb-LMDB_0.9.22/libraries/liblmdb/mdb_load.c   2018-03-22 
16:23:05.000000000 +0100
+++ new/lmdb-LMDB_0.9.23/libraries/liblmdb/mdb_load.c   2018-12-19 
16:51:03.000000000 +0100
@@ -68,6 +68,7 @@
 {
        char *ptr;
 
+       flags = 0;
        while (fgets(dbuf.mv_data, dbuf.mv_size, stdin) != NULL) {
                lineno++;
                if (!strncmp(dbuf.mv_data, "VERSION=", STRLENOF("VERSION="))) {
@@ -374,7 +375,6 @@
        while(!Eof) {
                MDB_val key, data;
                int batch = 0;
-               flags = 0;
 
                if (!dohdr) {
                        dohdr = 1;

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.6KMDc1/_old  2019-04-01 12:32:36.805786542 +0200
+++ /var/tmp/diff_new_pack.6KMDc1/_new  2019-04-01 12:32:36.805786542 +0200
@@ -1 +1 @@
-liblmdb-0_9_22
+liblmdb-0_9_23


Reply via email to