summaryrefslogtreecommitdiff
path: root/databases/gdbm
AgeCommit message (Collapse)AuthorFilesLines
2022-02-15gdbm: update to 1.23.wiz3-22/+7
Version 1.23, 2022-02-04 * Bucket cache switched from balanced tree to hash table Change suggested by Terence Kelly. * Speed up flushing the changed buckets on disk * New option codes for gdbm_setopt ** GDBM_GETDBFORMAT Return the database format. ** GDBM_GETDIRDEPTH Return the directory depth, i.e. the number of initial (most significant) bits in hash value that are interpreted as index to the directory. ** GDBM_GETBUCKETSIZE Return maximum number of keys per bucket. ** GDBM_GETCACHEAUTO Return the status of the automatic cache adjustment. ** GDBM_SETCACHEAUTO Enable or disable automatic cache adjustment.
2021-11-01gdbm: update to 1.22.wiz6-131/+8
Version 1.22 * Fix file header validation * Fix key verification in sequential access * Fix testing with DejaGNU 1.6.3 * Fix stack overflow in print_usage * Fix a leak of avail entry on pushing a new avail block The leak would occur if the original avail table had odd number of entries. * New gdbmtool variables: errorexit, errormask, trace, timing "Errorexit" and "errormask" control which GDBM errors would cause the program termination and emitting a diagnostic message, correspondingly. Both variables are comma-delimited lists of error codes. The "trace" variable enables tracing of the gdbmtool commands. The "timing" variable, when set, instructs gdbmtool to print time spent in each command it runs. * New gdbmtool options: -t (--trace), and -T (--timing)
2021-10-26databases: Replace RMD160 checksums with BLAKE2s checksumsnia1-2/+2
All checksums have been double-checked against existing RMD160 and SHA512 hashes The following distfiles could not be fetched (some may be only fetched conditionally): ./databases/cstore/distinfo D6.data.ros.gz ./databases/cstore/distinfo cstore0.2.tar.gz ./databases/cstore/distinfo data4.tar.gz
2021-10-07databases: Remove SHA1 distfile hashesnia1-2/+1
2021-09-14Apply upstream patch 32517af7 to check for st_mtim in struct stat. Fixesschmonz5-1/+126
macOS build.
2021-09-12gdbm: update to 1.21.wiz2-7/+7
Version 1.21, 2021-09-02 * Crash tolerance By default it is possible for an abrupt crash (e.g., power failure, OS kernel panic, or application process crash) to corrupt the gdbm database file. A new Linux-only mechanism enables applications to recover the database state corresponding to the most recent successful gdbm_sync() call before the crash. See the chapter 17 "Crash Tolerance" in the GDBM manual. * New database file format: numsync The new "numsync" database format is designed to better support crash tolerance. To create a database in numsync format, the gdbm_open (or gdbm_fd_open) function must be given the GDBM_NEWDB|GDBM_NUMSYNC flags. The GDBM_NUMSYNC flag also takes effect when used together with GDBM_WRCREAT, provided that the new file is created. New function gdbm_convert() is provided for converting the databases from standard GDBM format to numsync and vice versa. The gdbmtool tool can also be used for converting databases between these two formats. * Changes in gdbmtool ** Fix string output in non-ASCII encodings Printable multi-byte sequences are correctly represented on output. This also fixes octal representation of unprintable characters. ** The filename variable This variable supplies the name of database file for use in "open" command, if the latter is called without arguments. If "open" is called with the file name argument, the "filename" variable is initialized to this value. ** The fd variable If set, its value must be an open file descriptor referring to a GDBM database file. The "open" command will use gdbm_fd_open function to use this file. Upon closing the database, this descriptor will be closed and the variable will be unset. The file descriptor to use can also be supplied using the -d (--db-descriptor) command line option. ** The format variable Defines the format in which new databases will be created. Allowed values are: "standard" (default) and "numsync". ** New commands: upgrade and downgrade The "upgrade" command converts current database to the numsync (extended) format. The "downgrade" command converts current database to the standard format. ** New command: snapshot The "snapshot" command is part of the new crash tolerance support. Given the names of two snapshot files, it analyzes them and selects the one to be used for database recovery. See the GDBM manual, section 17.5 "Manual crash recovery" for a detailed discussion of its use.
2021-06-28gdbm: update to 1.20.wiz2-7/+7
Version 1.20, 2021-06-17 * New bucket cache The bucket cache support has been rewritten from scratch. The new bucket cache code provides for significant speed up of search operations. * Change mmap prereading strategy Pre-reading of the memory mapper regions, introduced in version 1.19 can be advantageous only when doing intensive look-ups on a read-only database. It degrades performance otherwise, especially if doing multiple inserts. Therefore, this version introduces a new flag to gdbm_open: GDBM_PREREAD. When given, it enables pre-reading of memory mapped regions. See https://github.com/Perl/perl5/issues/18884 for details.
2021-01-04gdbm: update to 1.19.wiz3-8/+9
Version 1.19 - 2020-12-23 * Pre-read the memory mapped regions on systems that support it. This speeds up operations on big databases. * gdbmtool: tagged initialization of structured data Initializers for structured data can be given in tagged form, e.g.: store somekey { status=2, id={a,u,x}, name="foo" } * Bugfixes: ** Preserve locking type during database reorganization
2020-11-19gdbm: reflect shlib major bumpgutteridge1-2/+2
(This was missed during the last update to this package almost three months ago, so no point in doing a dependent PKGREVISION bump now.)
2020-08-24gdbm: update to 1.18.1.wiz3-8/+10
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-01-18all: migrate several HOMEPAGEs to httpsrillig1-2/+2
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.
2019-11-02databases: align variable assignmentsrillig1-3/+3
pkglint -Wall -F --only aligned -r No manual corrections.
2018-01-28Bump PKGREVISION for gdbm shlib major bumpwiz1-2/+2
2018-01-28gdbm: update to 1.14.1.wiz4-26/+8
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.
2017-09-09Fix compat #define to expand to something that actually exists. Shoulddholland3-2/+20
fix the build of clisp-gdbm and maybe others. PKGREVISION -> 1.
2017-03-20Version 1.13 - 2017-03-11adam7-15/+33
* 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.
2016-05-22Version 1.12, 2016-05-16wiz8-103/+7
* 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
2015-11-03Add SHA512 digests for distfiles for databases categoryagc1-1/+2
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.
2014-10-09Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles.wiz1-3/+1
2014-05-23Add patches needed for gdbm-1.11.wiz6-0/+90
2014-05-23Update gdbm packages to 1.11, after martin@ diagnosed the compilationwiz4-10/+25
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.
2013-11-23Use find-headers instead of find-files to detect builtin header files.obache1-3/+3
2013-04-08Remove "Trailing empty lines." and/or "Trailing white-space."rodent1-2/+1
2012-10-02Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.asau1-2/+1
2012-01-24Use the correct version number for BUILDLINK_ABI_DEPENDS.gdbmsbd1-2/+2
2012-01-24Add gettext-lib buildlink to gdbm's buildlink3.mksbd1-2/+4
Bump ABI_DEPENDS
2012-01-24Pullin gettext-lib buildlink3 so that nls files are built.sbd2-14/+9
Unconditionalise the nls files. Bump PKGREVISION
2012-01-24Fo gdbm 'NLS' seems to mean 'can find _nl_expand_alias', which has aabs2-8/+17
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-23Add missing LC_MESSAGES files.sbd2-2/+8
Bump PKGREVISION
2012-01-08Changes 1.10:adam2-6/+6
* 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
2011-12-03Add builtin.mk files for databases/gdbm and databases/gdbm_compatsbd1-0/+69
2011-10-17split up Makefile.obache2-9/+21
2011-10-17gdbm-1.9 is GPLv3.obache1-2/+2
2011-08-23Recursive bump from gdbm shlib bump.obache1-2/+2
2011-08-17Changes 1.9.1:adam4-89/+11
* 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.
2010-01-24Added LICENSE information.heinz1-1/+2
2009-09-02Always use --mode for libtool.joerg2-8/+42
2009-03-20Simply and speed up buildlink3.mk files and processing.joerg1-13/+6
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.
2007-08-26The package supports installation to DESTDIR (although it uses theheinz1-1/+3
variable INSTALL_ROOT).
2006-07-08Change the format of BUILDLINK_ORDER to contain depth information as well,jlam1-2/+2
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-08Track information in a new variable BUILDLINK_ORDER that informs usjlam1-1/+2
of the order in which buildlink3.mk files are (recursively) included by a package Makefile.
2006-04-12Aligned the last line of the buildlink3.mk files with the first line, sorillig1-2/+2
that they look nicer.
2006-04-06Over 1200 files touched but no revisions bumped :)reed1-3/+3
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-03-30* Honor PKGINFODIR.jlam2-3/+4
* List the info files directly in the PLIST.
2006-03-04Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where nojlam1-2/+2
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.
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-02-23Add RMD160 digests in addition to SHA1 ones.agc1-1/+2
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv2-2/+4
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-09-22Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.jlam1-5/+1
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-05-14Unused.wiz1-19/+0