aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-05-19 22:59:10 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-05-19 22:59:10 +0300
commit008b71a4d58ad33cf5a41e2aa55b9393e8420531 (patch)
tree2923a1840dcd1c2108bfe13b6817bfd8ddcc19d2
parent0f0c3dba3f676bf7a163586855f07ef427da3b4a (diff)
downloadgdbm-008b71a4d58ad33cf5a41e2aa55b9393e8420531.tar.gz
gdbm-008b71a4d58ad33cf5a41e2aa55b9393e8420531.tar.bz2
Remove gdbm-1.8.3 compatibility layer
* configure.ac: Remove gdbm-1.8.3 compatibility layer. Version 1.14.90 * Makefile.am (ACLOCAL_AMFLAGS): Remove deprecated variable. (MAYBE_EXPORT): Remove variable and conditional. * NEWS: Update. * NOTE-WARNING: Update. * README: Update. * doc/gdbm.texi: Update. * export/.gitignore: Remove. * export/Makefile.am: Remove. * export/export.c: Remove.
-rw-r--r--Makefile.am6
-rw-r--r--NEWS11
-rw-r--r--NOTE-WARNING35
-rw-r--r--README20
-rw-r--r--configure.ac39
-rw-r--r--doc/gdbm.texi27
-rw-r--r--export/.gitignore5
-rw-r--r--export/Makefile.am21
-rw-r--r--export/export.c103
9 files changed, 26 insertions, 241 deletions
diff --git a/Makefile.am b/Makefile.am
index 43a6c2f..6e00dec 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,22 +12,18 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GDBM. If not, see <http://www.gnu.org/licenses/>. */
-ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = build-aux/config.rpath NOTE-WARNING git2chg.awk
if COMPAT_OPT
MAYBE_COMPAT = compat
endif
-if ENABLE_EXPORT
- MAYBE_EXPORT = export
-endif
-SUBDIRS = po src doc $(MAYBE_COMPAT) $(MAYBE_EXPORT) tests
+SUBDIRS = po src doc $(MAYBE_COMPAT) tests
AM_DISTCHECK_CONFIGURE_FLAGS = --enable-libgdbm-compat
dist-hook:
rm -f $(distdir)/src/version.c; \
d=`date '+%d/%m/%Y'`; \
diff --git a/NEWS b/NEWS
index 9aceab0..e004eec 100644
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,21 @@
-GNU dbm NEWS -- history of user-visible changes. 2018-01-03
+GNU dbm NEWS -- history of user-visible changes. 2018-05-19
Copyright (C) 1990-2018 Free Software Foundation, Inc.
See the end of file for copying conditions.
Please send gdbm bug reports to <bug-gdbm@gnu.org>.
+Version 1.14.90
+
+* Implement database consistency checks
+
+* Improved error checking
+
+* Removed gdbm-1.8.3 compatibility layer
+
+
Version 1.14.1 - 2018-01-03
* Increment soname current version number.
Version 1.14 - 2018-01-01
diff --git a/NOTE-WARNING b/NOTE-WARNING
index 6b1c197..3f21c13 100644
--- a/NOTE-WARNING
+++ b/NOTE-WARNING
@@ -4,31 +4,20 @@
Gdbm files have never been `portable' between different operating systems,
system architectures, or potentially even different compilers. Differences
in byte order, the size of file offsets, and even structure packing make
gdbm files non-portable.
-Gdbm version 1.9 includes `large file' support, enabling it on operating
-systems where it is not the default. `Large file' support is essentially
-when a system uses 64bit file offsets. Gdbm has, of course, supported `large
-files' on systems where it was the default for a very long time.
-
-On some systems, such as Solaris, this functionality is not enabled by
-default. Gdbm will now enable it. THIS MEANS THAT GDBM 1.9 MAY NOT BE
-ABLE TO ACCESS DATABASES CREATED BY PREVIOUS VERIONS ON THE SAME SYSTEM.
-
-Running the `configure' script with the `--disable-largefile' flag should
-produce a backwards-compatible build on such a system. However, for maximum
-compatibility, and increased functionality, you may want to have your
-application produce a portable copy of your database with the 1.8.3 version
-of the library, and then load it back into version 1.9.
-
-Gdbm 1.9 contains a utility designed to help you produce such a portable
-copy: gdbmexport. To build it, configure the package with the
---enable-gdbm-export option. For the information on how to use this
-utility, refer to the documentation, chapter 17 "Export a database into
-a portable format." (run `info gdbm gdbmexport' to access it, once
-gdbm 1.9 has been installed, or `info -f doc/gdbm.info gdbmexport' to
-access the shipped info file).
-
+Therefore, if you intend to send your database to somebody over the wire,
+please dump it into a portable format using gdbm_dump and send the resulting
+file instead. The receiving party will be able to recreate the database from
+the dump using the gdbm_load command.
+
+Please refer to the documentation, chapters 22 and 23, for a detailed
+discussion of these two tools. Run `info gdbm gdbm_dump', if gdbm is
+already installed on your system, or `info -f doc/gdbm.info gdbm_dump'
+to read the docs from the source tree.
+
+The documentation is also available online at
+http://www.gnu.org.ua/software/gdbm/manual.
diff --git a/README b/README
index 84b1deb..4481b51 100644
--- a/README
+++ b/README
@@ -1,8 +1,7 @@
GNU dbm README
-Copyright (C) 2011, 2016-2018 Free Software Foundation, Inc.
See the end of file for copying conditions.
* Introduction
This file contains brief information about configuring, testing
and using GNU dbm. It is *not* intended as a replacement
@@ -39,29 +38,12 @@ Build and install libgdbm_compat, a compatibility layer which provides
UNIX-like dbm and ndbm interfaces. It includes two header files:
dbm.h and ndbm.h, which are installed into $includedir. If you wish
to install them elsewhere, define the variable COMPATINCLUDEDIR, e.g.
./configure --enable-libgdbm-compat COMPATINCLUDEDIR=/usr/include/gdbm
-** --enable-gdbm-export
-
-Build and install gdbmexport with the specified gdbm 1.8 library.
-
-** --with-gdbm183-library=LIB
-
-Build gdbmexport with specified (static) library. LIB must be
-a loader argument valid for the use with cc(1), e.g.: -lgdbm-1.8.
-
-** --gdbm183-libdir=DIR
-
-Build gdbmexport with the gdbm library from the specified directory.
-
-** --gdbm183-includedir=DIR
-
-Build gdbmexport with gdbm.h from the specified directory.
-
** --without-readline
Don't compile GNU Readline support. By default, configure enables
line-editing support if GNU Readline is available on the system.
* Installation
@@ -96,13 +78,13 @@ ftp://ftp.gnu.org/gnu/gdbm.
To track the development, visit
<http://puszcza.gnu.org.ua/projects/gdbm>.
* Copyright information:
-Copyright (C) 2011, 2016 Free Software Foundation, Inc.
+Copyright (C) 2011, 2016-2018 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
diff --git a/configure.ac b/configure.ac
index 3511f0d..25c4ff4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,13 +14,13 @@
#
# You should have received a copy of the GNU General Public License
# along with GDBM. If not, see <http://www.gnu.org/licenses/>. */
m4_define([_GDBM_VERSION_MAJOR], 1)
m4_define([_GDBM_VERSION_MINOR], 14)
-m4_define([_GDBM_VERSION_PATCH], 1)
+m4_define([_GDBM_VERSION_PATCH], 90)
AC_INIT([gdbm],
_GDBM_VERSION_MAJOR._GDBM_VERSION_MINOR[]m4_ifdef([_GDBM_VERSION_PATCH],._GDBM_VERSION_PATCH),
[bug-gdbm@gnu.org],,
[http://www.gnu.org/software/gdbm])
AC_PREREQ(2.69)
@@ -50,40 +50,12 @@ AC_ARG_ENABLE([libgdbm-compat],
[Build and install libgdbm_compat. (Default is NO.)]),
[want_compat=$enableval],
[want_compat=no])
AC_ARG_VAR([COMPATINCLUDEDIR],[installation directory for dbm.h and ndbm.h])
test -z "$COMPATINCLUDEDIR" && COMPATINCLUDEDIR='$(includedir)'
-AC_ARG_ENABLE([gdbm-export],
- AC_HELP_STRING(
- [--enable-gdbm-export],
- [Build and install gdbmexport with specified gdbm 1.8 library. (Default is NO.)]),
- [want_export=$enableval],
- [want_export=no])
-
-AC_ARG_WITH([gdbm183-library],
- AC_HELP_STRING(
- [--with-gdbm183-library],
- [Build gdbmexport with specified (static) library.]),
- [GDBM183_LIBRARY=$withval],
- [GDBM183_LIBRARY="-lgdbm"])
-
-AC_ARG_WITH([gdbm183-libdir],
- AC_HELP_STRING(
- [--with-gdbm183-libdir],
- [Build gdbmexport with the gdbm library in the specified directory.]),
- [GDBM183_LIBDIR=$withval],
- [GDBM183_LIBDIR="/usr/local/lib"])
-
-AC_ARG_WITH([gdbm183-includedir],
- AC_HELP_STRING(
- [--with-gdbm183-includedir],
- [Build gdbmexport with gdbm.h in the specified directory.]),
- [GDBM183_INCLUDEDIR=$withval],
- [GDBM183_INCLUDEDIR="/usr/local/include"])
-
dnl Check for programs
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_PROG_YACC
@@ -129,17 +101,13 @@ then
AC_CHECK_FUNCS([msync])
fi
AC_TYPE_OFF_T
AC_CHECK_SIZEOF(off_t)
AC_CHECK_MEMBERS([struct stat.st_blksize])
-AC_SUBST(GDBM183_LIBRARY)
-AC_SUBST(GDBM183_LIBDIR)
-AC_SUBST(GDBM183_INCLUDEDIR)
AM_CONDITIONAL([COMPAT_OPT], [test "$want_compat" = yes])
-AM_CONDITIONAL([ENABLE_EXPORT], [test "$want_export" = yes])
# Check for Curses libs.
for lib in ncurses curses termcap
do
AC_CHECK_LIB($lib, tputs, [CURSES_LIBS="-l$lib"; break])
done
@@ -211,28 +179,25 @@ AC_CONFIG_COMMANDS([status],[
cat <<EOF
*******************************************************************
GDBM settings summary:
Compatibility library ......................... $status_compat
-Compatibility export tool ..................... $status_export
Memory mapped I/O ............................. $mapped_io
GNU Readline .................................. $status_readline
Debugging support ............................. $status_debug
*******************************************************************
EOF
],
[status_compat=$want_compat
-status_export=$want_export
mapped_io=$mapped_io
status_readline=$status_readline
status_debug=$status_debug])
AC_CONFIG_FILES([Makefile
src/Makefile
src/gdbm.h
doc/Makefile
- compat/Makefile
- export/Makefile])
+ compat/Makefile])
AC_OUTPUT
diff --git a/doc/gdbm.texi b/doc/gdbm.texi
index 1631a6a..2aac1c3 100644
--- a/doc/gdbm.texi
+++ b/doc/gdbm.texi
@@ -121,13 +121,12 @@ Functions:
Programs
* gdbmtool:: Examine and modify a GDBM database.
* gdbm_dump:: Dump the database into a flat file.
* gdbm_load:: Load the database from a flat file.
-* gdbmexport:: Export a database into a portable format.
* Exit codes:: Exit codes returned by GDBM utilities.
Other topics:
* Bugs:: Problems and bugs.
* Resources:: Additional resources,
@@ -2321,14 +2320,12 @@ command will not overwrite an existing file, unless the
@samp{truncate} parameter is also given. Another optional argument
determines the type of the dump (@pxref{Flat files}). By default, ASCII
dump is created.
The global variable @code{filemode} specifies the permissions to use
for the created output file.
-
-See also @ref{gdbmexport}.
@end deffn
@deffn {command verb} fetch @var{key}
Fetch and display the record with the given @var{key}.
@end deffn
@@ -2741,36 +2738,12 @@ Print program version and licensing information and exit.
@item --usage
Print a terse invocation syntax summary along with a list of available
command line options.
@end table
-@node gdbmexport
-@chapter Export a database into a portable format.
-@prindex gdbmexport
-
-The @command{gdbmexport} utility converts the database of an older
-GDBM version into a binary flat format.
-
-The utility takes two mandatory arguments: the name of the database
-file to convert and the output file name, e.g.:
-
-@example
-$ gdbmexport junk.gdbm junk.flat
-@end example
-
-In addition the following two options are understood:
-
-@table @option
-@item -h
-Display short usage summary and exit.
-
-@item -v
-Display program version and licensing information, and exit.
-@end table
-
@node Exit codes
@chapter Exit codes
@cindex exit code
All GDBM utilities return uniform exit codes. These are summarized in
the table below:
diff --git a/export/.gitignore b/export/.gitignore
deleted file mode 100644
index 62e7a85..0000000
--- a/export/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-gdbmexport
diff --git a/export/Makefile.am b/export/Makefile.am
deleted file mode 100644
index 9272427..0000000
--- a/export/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file is part of GDBM. -*- Makefile -*-
-# Copyright (C) 2007, 2011, 2017-2018 Free Software Foundation, Inc.
-#
-# GDBM is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GDBM is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GDBM. If not, see <http://www.gnu.org/licenses/>. */
-
-AM_CPPFLAGS = -I$(GDBM183_INCLUDEDIR) -I$(srcdir)/../src
-
-bin_PROGRAMS = gdbmexport
-gdbmexport_SOURCES = export.c
-gdbmexport_LDADD = -L$(GDBM183_LIBDIR) $(GDBM183_LIBRARY)
diff --git a/export/export.c b/export/export.c
deleted file mode 100644
index ede4858..0000000
--- a/export/export.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/* export.c - Stand alone flat file exporter for older versions of GDBM. */
-
-/* This file is part of GDBM, the GNU data base manager.
- Copyright (C) 2007, Free Software Foundation, Inc.
-
- GDBM is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- GDBM is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GDBM. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Include system configuration before all else. */
-#include "autoconf.h"
-
-#include "systems.h"
-
-#include <gdbm.h>
-
-/* Pull in gdbm_export() */
-#define GDBM_EXPORT_18
-#include "gdbmexp.c"
-
-void
-usage (char *s)
-{
- printf ("Usage: %s database outfile\n", s);
- printf (" or: %s [-hv]\n", s);
- printf ("Convert GDBM database into a flat dump format.\n");
- printf ("Linked with %s\n", gdbm_version);
- printf ("\n");
- printf ("Report bugs to <%s>.\n", PACKAGE_BUGREPORT);
-}
-
-
-void
-version ()
-{
- printf ("gdbmexport (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- printf ("Copyright (C) 2007 Free Software Foundation, Inc.\n");
- printf ("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n");
- printf ("This is free software: you are free to change and redistribute it.\n");
- printf ("There is NO WARRANTY, to the extent permitted by law.\n");
-}
-
-
-int
-main(int argc, char *argv[])
-{
- int c;
- GDBM_FILE dbf;
- int flags = 0;
-
- while ((c = getopt (argc, argv, "hlv")) != -1)
- switch (c)
- {
- case 'h':
- usage (argv[0]);
- exit (0);
-
- case 'l':
- flags = GDBM_NOLOCK;
- break;
-
- case 'v':
- version ();
- exit (0);
-
- default:
- usage (argv[0]);
- exit (1);
- }
-
- if (argc != 3)
- {
- usage (argv[0]);
- exit (1);
- }
-
- dbf = gdbm_open (argv[1], 0, GDBM_READER | flags, 0600, NULL);
- if (dbf == NULL)
- {
- fprintf (stderr, "%s: couldn't open database, %s\n", argv[0],
- gdbm_strerror (gdbm_errno));
- exit (1);
- }
-
- if (gdbm_export (dbf, argv[2], GDBM_WRCREAT | flags, 0600) == -1)
- {
- fprintf (stderr, "%s: export failed, %s\n",
- argv[0], gdbm_strerror (gdbm_errno));
- gdbm_close (dbf);
- exit (1);
- }
- gdbm_close (dbf);
- exit (0);
-}

Return to:

Send suggestions and report system problems to the System administrator.