Commit graph

104 commits

Author SHA1 Message Date
wiz
fdd490ec03 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"
2020-08-24 07:59:02 +00:00
rillig
508923f461 all: migrate several HOMEPAGEs to https
pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
2020-01-18 23:30:13 +00:00
rillig
b4f1862849 databases: align variable assignments
pkglint -Wall -F --only aligned -r

No manual corrections.
2019-11-02 15:37:59 +00:00
wiz
bff4597ffc Bump PKGREVISION for gdbm shlib major bump 2018-01-28 20:10:34 +00:00
wiz
7fb1e5e341 gdbm: update to 1.14.1.
Version 1.14.1 - 2018-01-03

* Increment soname current version number.

Version 1.14 - 2018-01-01

* Make sure created databases are byte-for-byte reproducible

This fixes two longstanding bugs: (1) when allocating database file
header blocks, the unused memory is filled with zeroes; (2) when expanding
a mmapped memory area, the added extent is filled with zeroes.

* Fix build with --enable-gdbm-export

* Make gdbm_error global variable thread safe.

* Fix possible segmentation violation in gdbm_setopt

* Fix handling of group headers in --help output.
2018-01-28 19:40:22 +00:00
dholland
6e54abee57 Fix compat #define to expand to something that actually exists. Should
fix the build of clisp-gdbm and maybe others. PKGREVISION -> 1.
2017-09-09 17:13:50 +00:00
adam
e7b7d79725 Version 1.13 - 2017-03-11
* gdbm_fetch, gdbm_firstkey, and gdbm_nextkey behavior

If the requested key was not found, these functions return datum with
dptr pointing to NULL and set gdbm_errno to GDBM_ITEM_NOT_FOUND (in
prior releases, gdbm_errno was set to GDBM_NO_ERROR),

If an error occurred, dptr is set to NULL, and gdbm_errno to
the error code.

In any case gdbm_errno is guaranteed to have meaningful value upon
return.

* Error handling

In previous versions of GDBM, fatal errors (such as write error while
storing the key/data pair or bucket) caused immediate termination of
the program via call to exit(3).  This is no longer the case.

Starting from this version, if a fatal error occurrs while modifying
the database file, that database is marked as needing recovery and
gdbm_errno is set to GDBM_NEED_RECOVERY.  Calls to any GDBM functions,
except gdbm_recover, will then return immediately with the same error
code.

The function gdbm_recover examines the database file and fixes
eventual inconsistencies.  Upon successful return it clears the error
state and makes the database operational again.

For backward compatibility, the fatal_func argument to gdbm_open is
retained and its functionality is not changed.  If it is not NULL, the
new error handling procedures are disabled, the function it points to
will be called upon fatal errors.  When it returns, exit(1) will be
called.

* Per-database error codes

In addition to gdbm_error global variable, the most recent error state
is saved in the GDBM_FILE structure.  This facilitates error handling
when operating multiple GDBM databases simultaneously.
2017-03-20 06:02:26 +00:00
wiz
2074be7b45 Version 1.12, 2016-05-16
* New configuration variable COMPATINCLUDEDIR

When used with --enable-libgdbm-compat, this variable points to the
directory where the headers file dbm.h and ndbm.h will be installed.
Use this variable to avoid conflicts with already installed headers.
E.g.:

 ./configure --enable-libgdbm-compat COMPATINCLUDEDIR=/usr/include/gdbm
2016-05-22 17:24:32 +00:00
agc
d549bff9a5 Add SHA512 digests for distfiles for databases category
Problems found with existing distfiles:
	distfiles/D6.data.ros.gz
	distfiles/cstore0.2.tar.gz
	distfiles/data4.tar.gz
	distfiles/sphinx-2.2.7-release.tar.gz
No changes made to the cstore or mariadb55-client distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 01:56:09 +00:00
wiz
cda18437be Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles. 2014-10-09 14:05:50 +00:00
wiz
a47646f87e Add patches needed for gdbm-1.11. 2014-05-23 20:49:37 +00:00
wiz
520e662b72 Update gdbm packages to 1.11, after martin@ diagnosed the compilation
problem. Thanks, martin!

Changes:
Version 1.11, 2013-12-25

* Improved dump format.

A new dump format is implemented, which encodes all data in base64 and
stores not only key/data pairs, but also the original database file
metadata, such as file name, mode and ownership.  Files in this format
can be sent without additional encapsulation over transmission
channels that normally allow only ASCII data.  Dumps in this format
allow for restoring an exact copy of the database, including file
ownership and privileges.

* New function: gdbm_count

    int gdbm_count (GDBM_FILE *file, gdbm_count *count);

Counts records in `file' and stores the result in the memory location
pointed to by `count'.

* New utilities: gdbm_dump and gdbm_load.

Gdbm_dump creates a plain-text dump of the GDBM database.  This dump
can be used to create an exact copy of the database afterward.

The gdbm_load performs the reverse: given the dump file, it creates a
GDBM database.  Apart from native GDBM dump formats, it also understands
the format generated by Berkeley DB db_dump utility.  Thus, an easy
way to convert a Berkeley DB database to GDBM is:

   db_dump input.db | gdbm_load output.db

* gdbmtool

The gdbmtool utility allows you to examine, modify or create GDBM
databases.  It provides an easy-to-use interactive shell and can
be used for scripting.  One of the unique features of gdbmtool is that
it allows to define datum structures for key and content parts, similarly
to the C "struct" declarations, and to input and display such
structured data.
2014-05-23 20:49:15 +00:00
obache
c28b1c803f Use find-headers instead of find-files to detect builtin header files. 2013-11-23 10:51:09 +00:00
rodent
b65af7be2b Remove "Trailing empty lines." and/or "Trailing white-space." 2013-04-08 11:17:08 +00:00
asau
354ee694fd Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-02 21:25:15 +00:00
sbd
e6f5f2bee8 Use the correct version number for BUILDLINK_ABI_DEPENDS.gdbm 2012-01-24 09:10:06 +00:00
sbd
f6b01229af Add gettext-lib buildlink to gdbm's buildlink3.mk
Bump ABI_DEPENDS
2012-01-24 08:26:23 +00:00
sbd
563bcd187a Pullin gettext-lib buildlink3 so that nls files are built.
Unconditionalise the nls files.

Bump PKGREVISION
2012-01-24 02:44:30 +00:00
abs
a0dc26da16 Fo gdbm 'NLS' seems to mean 'can find _nl_expand_alias', which has a
certain Linux flavour to it.
Conditionalise the nls files in the PLIST to Linux for now
Bump PKGREVISION.
Fixes build on at least NetBSD
2012-01-24 00:28:17 +00:00
sbd
4b2f410a88 Add missing LC_MESSAGES files.
Bump PKGREVISION
2012-01-23 07:04:15 +00:00
adam
50ac2496cc Changes 1.10:
* Internationalization
  This version of GDBM is fully internationalized.  The following
  localizations are available: Finnish, German, Japanese, Polish and Ukrainian.
* Support for close-on-exec flag in gdbm_open (see GDBM_CLOEXEC in the docs).
* Improve testgdbm command system
  The testgdbm tool now supports multicharacter commands.
* Bugfixes
2012-01-08 09:22:52 +00:00
sbd
dece2900e9 Add builtin.mk files for databases/gdbm and databases/gdbm_compat 2011-12-03 08:44:21 +00:00
obache
cee4d23d7e split up Makefile. 2011-10-17 08:40:15 +00:00
obache
5387e78b38 gdbm-1.9 is GPLv3. 2011-10-17 08:10:53 +00:00
obache
c5d8a2a356 Recursive bump from gdbm shlib bump. 2011-08-23 13:06:45 +00:00
adam
e2ed74b1ce Changes 1.9.1:
* Bugfix: Improperly used preprocessor directive caused compilation failure
  when using gcc 4.4.4 or newer.

Changes 1.9:
* Use of mmap
* Changes in compatibility mode
* Locking is disabled.
* Do not link pag to dir.
* gdbm_setopt
* The testgdbm program is installed
* A testsuite is provided.
* Improved documentation.
2011-08-17 07:17:15 +00:00
heinz
d653ce6a74 Added LICENSE information. 2010-01-24 17:11:17 +00:00
joerg
398d027ee4 Always use --mode for libtool. 2009-09-02 15:27:48 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
heinz
0c0e8718fe The package supports installation to DESTDIR (although it uses the
variable INSTALL_ROOT).
2007-08-26 15:59:24 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
96fc47c14f Aligned the last line of the buildlink3.mk files with the first line, so
that they look nicer.
2006-04-12 10:26:59 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
jlam
792529759b * Honor PKGINFODIR.
* List the info files directly in the PLIST.
2006-03-30 03:44:41 +00:00
jlam
9c8b5ede43 Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where no
developer is officially maintaining the package.

The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list).  Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
2006-03-04 21:28:51 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
agc
671d62d2e2 Add RMD160 digests in addition to SHA1 ones. 2005-02-23 16:33:05 +00:00
tv
c487cb967a Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10
in the process.  (More information on tech-pkg.)

Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.

Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
2004-10-03 00:12:51 +00:00
jlam
1a280185e1 Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:

	lib/libfoo.a
	lib/libfoo.la
	lib/libfoo.so
	lib/libfoo.so.0
	lib/libfoo.so.0.1

one simply needs:

	lib/libfoo.la

and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.

Also make LIBTOOLIZE_PLIST default to "yes".
2004-09-22 08:09:14 +00:00
wiz
5d1f487a09 Unused. 2004-05-14 18:30:52 +00:00
minskim
20064edb9f Enable pkgviews installation. 2004-05-02 04:14:19 +00:00
jlam
9ff0e10340 Reorder location and setting of BUILDLINK_PACKAGES to match template
buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
2004-03-05 19:25:06 +00:00
jlam
ec993afa1a LIBTOOL_OVERRIDE and SHLIBTOOL_OVERRIDE are now lists of shell globs
relative to ${WRKSRC}.  Remove redundant LIBTOOL_OVERRIDE settings that
are automatically handled by the default setting in bsd.pkg.mk.
2004-02-14 17:21:32 +00:00
grant
52f1b46a37 remove unneeded CONFIG_{GUESS,SUB}_OVERRIDE, as bsd.pkg.mk does this
automatically now.
2004-02-14 00:54:44 +00:00
jlam
512eb8c316 bl3ify 2004-02-12 08:40:22 +00:00
seb
3a5c609829 Remove info files entries from PLIST files. 2004-01-20 18:45:24 +00:00
seb
8d15907ec2 USE_NEW_TEXINFO is unnecessary now. 2003-08-09 10:38:23 +00:00
grant
91f00f1cbc s/netbsd.org/NetBSD.org/ 2003-07-17 21:21:03 +00:00
seb
c9ed0ac02c Convert to USE_NEW_TEXINFO.
Note: distributed gdbm.info now has a *DIR-{SECTION,ENTRY} hence
post-extract target no more required.
2003-06-29 11:13:49 +00:00