Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases/gdbm gdbm: update to 1.18.1.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3a51adc14e99
branches:  trunk
changeset: 437440:3a51adc14e99
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Mon Aug 24 07:59:02 2020 +0000

description:
gdbm: update to 1.18.1.

Version 1.18.1 - 2018-10-27

* Fix debian bug 910911

This restores backward compatibility with databases created by version
1.8 (and some later versions, with mmapped I/O disabled).
See https://bugs.debian.org/910911 for a detailed description.


Version 1.18 - 2018-08-21

* Bugfixes:

** Fix directory entry validation
See https://puszcza.gnu.org.ua/bugs/?402

Directory validation function would falsely report corruption after
several directory reallocations.

** Fix improper use of GDBM_DEBUG macro
See https://puszcza.gnu.org.ua/bugs/?401

** Fix spurious error from gdbm_dump and gdbm_export

The functions incorrectly reported as error the GDBM_ITEM_NOT_FOUND
status, which is reported when upon normal termination of iteration
over the database keys.

** Make sure gdbm_sync always returns a meaningful value
See https://puszcza.gnu.org.ua/bugs/?400

Version 1.17 - 2018-07-30

* int gdbm_close and gdbm_sync

Both functions now return 0 on success. On error, they return -1
and set gdbm_errno and errno to the appropriate error codes.

* Fix bug in gdbm_dump function

The function did not clear the GDBM_ITEM_NOT_FOUND error marker, which
is set upon its normal termination.


Version 1.16 - 2018-06-27

* Maintain sorting order of the available block list after coalescing

This is a very long-standing bug, dated back to the time when optional
coalescing of available blocks with the newly released block was
introduced. Merging the released block with an adjacent block of
available space would clobber the sorting order of the available list.
The bug was discovered due to strict database consistency checks,
introduced in version 1.15.

The fix introduced in this version will silently restore the proper
sorting order of available block list before its use.

* Improve block merging algorithm

New implementation of block merging algorithm will correctly handle
both left and right-adjacent blocks.


Version 1.15 - 2018-06-15

* Extensive database consistency checking

GDBM tries to detect inconsistencies in input database files as
early as possible. When an inconcistency is detected, a helpful
diagnostics is returned and the database is marked as needing
recovery. From this moment on, any GDBM function trying to access
the database will immediately return error code (instead of
eventually segfaulting as previous versions did). In order to
reconstruct the database and return it to healthy state, the
gdbm_recover function should be used.

Special thanks to Lionel Debroux and Craig Young for investing
their time and efforts in testing and providing valuable feedback.

* Improved error checking

* Removed gdbm-1.8.3 compatibility layer

* Commands can be given to gdbmtool in the command line

The syntax is:

  gdbmtool DBNAME COMMAND [ARGS...]

Multiple commands are separated by semicolon (take care to escape it),
e.g.:

  gdbmtool t.db count\; avail

* Fixed data conversion bugs in storing structured keys or content

* New member in the gdbm_recovery structure: duplicate_keys.

Upon return from gdbm_recover, this member holds the number of keys
that has not been recovered, because the same key had already been stored
in the database. The actual number of stored keys is thus
recovered_keys - duplicate_keys.

* New error codes.

  GDBM_BAD_BUCKET      "Malformed bucket header"
  GDBM_BAD_HEADER      "Malformed database file header"
  GDBM_BAD_AVAIL       "Malformed avail_block"
  GDBM_BAD_HASH_TABLE  "Malformed hash table"
  GDBM_BAD_DIR_ENTRY   "Invalid directory entry"

diffstat:

 databases/gdbm/Makefile.common |   4 ++--
 databases/gdbm/PLIST           |   4 +++-
 databases/gdbm/distinfo        |  10 +++++-----
 3 files changed, 10 insertions(+), 8 deletions(-)

diffs (54 lines):

diff -r 24bf0a7eec4e -r 3a51adc14e99 databases/gdbm/Makefile.common
--- a/databases/gdbm/Makefile.common    Mon Aug 24 07:57:00 2020 +0000
+++ b/databases/gdbm/Makefile.common    Mon Aug 24 07:59:02 2020 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.7 2020/01/18 23:30:17 rillig Exp $
+# $NetBSD: Makefile.common,v 1.8 2020/08/24 07:59:02 wiz Exp $
 #
 # used by databases/gdbm/Makefile
 # used by databases/gdbm_compat/Makefile
 
-DISTNAME=      gdbm-1.14.1
+DISTNAME=      gdbm-1.18.1
 CATEGORIES=    databases
 MASTER_SITES=  ${MASTER_SITE_GNU:=gdbm/}
 
diff -r 24bf0a7eec4e -r 3a51adc14e99 databases/gdbm/PLIST
--- a/databases/gdbm/PLIST      Mon Aug 24 07:57:00 2020 +0000
+++ b/databases/gdbm/PLIST      Mon Aug 24 07:59:02 2020 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.13 2017/03/20 06:02:26 adam Exp $
+@comment $NetBSD: PLIST,v 1.14 2020/08/24 07:59:02 wiz Exp $
 bin/gdbm_dump
 bin/gdbm_load
 bin/gdbmtool
@@ -12,11 +12,13 @@
 share/locale/da/LC_MESSAGES/gdbm.mo
 share/locale/de/LC_MESSAGES/gdbm.mo
 share/locale/eo/LC_MESSAGES/gdbm.mo
+share/locale/es/LC_MESSAGES/gdbm.mo
 share/locale/fi/LC_MESSAGES/gdbm.mo
 share/locale/fr/LC_MESSAGES/gdbm.mo
 share/locale/ja/LC_MESSAGES/gdbm.mo
 share/locale/pl/LC_MESSAGES/gdbm.mo
 share/locale/pt_BR/LC_MESSAGES/gdbm.mo
 share/locale/sr/LC_MESSAGES/gdbm.mo
+share/locale/sv/LC_MESSAGES/gdbm.mo
 share/locale/uk/LC_MESSAGES/gdbm.mo
 share/locale/vi/LC_MESSAGES/gdbm.mo
diff -r 24bf0a7eec4e -r 3a51adc14e99 databases/gdbm/distinfo
--- a/databases/gdbm/distinfo   Mon Aug 24 07:57:00 2020 +0000
+++ b/databases/gdbm/distinfo   Mon Aug 24 07:59:02 2020 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.14 2018/01/28 19:40:22 wiz Exp $
+$NetBSD: distinfo,v 1.15 2020/08/24 07:59:02 wiz Exp $
 
-SHA1 (gdbm-1.14.1.tar.gz) = d8d02ecfc442792756515ee1aef25a2ecbc9284c
-RMD160 (gdbm-1.14.1.tar.gz) = c42b51b1cc9170ff6bae8bc0a0961a0e8c6d8d22
-SHA512 (gdbm-1.14.1.tar.gz) = a15d7acb0ebf459f4f7d262e5a05393a9a7c8e9ae906d12ccb3b38715de15a41c9254e7814555e2f9af306ef63b2dc68b5f9f6c7b75dd0db77e07a58831ff603
-Size (gdbm-1.14.1.tar.gz) = 894412 bytes
+SHA1 (gdbm-1.18.1.tar.gz) = 4a923ebfac06bb05c1c7699b206719e06a938f0d
+RMD160 (gdbm-1.18.1.tar.gz) = 041c0dd2ae49d724ba509ce70a4349d246a9767d
+SHA512 (gdbm-1.18.1.tar.gz) = adf9d6c5bc843ff0d7f88c2a1667d509973b2d63378d0001d7e74cc10aee6ea498a4513cc88ddf78c32ba4db5cb040b2794f4f1b3338c65d9894058850e2f5ef
+Size (gdbm-1.18.1.tar.gz) = 941863 bytes
 SHA1 (patch-src_Makefile.in) = 52b47f3dcd381143d1cdae40f1972bd989dcce1f



Home | Main Index | Thread Index | Old Index