Age | Commit message (Collapse) | Author | Files |
|
|
|
|
|
|
|
|
|
After pulling updates from gnulib, it was discovered that it had added
an unwanted dependency to the libdico. The dependency was added b
redefining fseek to rpl_fseek in the config.h. Of course, that's quite
OK for user programs and in fact that's one of the purposes of gnulib,
so it's doing its job all right. However, this kind of depedencies is
not acceptable in installable libraries, such as libdico.
There are two ways of fixing this: (1) by including libgnu to the
libdico, or (2) by creating pristine (i.e. stripped of any gnulib
stuff) version of config.h and using it in the library sources.
The first approach was used in mailutils for the libmu_aux convenience
library. However, in dico I wouldn't like to introduce additional
dependencies to the installable libraries and modules, therefore
second approach has been chosen.
Two separare configuration headers are introduced:
include/prog/config.h
Configuration header with gnulib dependencies. It is used by
libxdico, and user-space programs: dico, dicod, idxgcide and
some test programs.
include/lib/config.h
Pristine header, free from any gnulib additions. It is used by all
installable libraries, including dicod modules.
In order to create pristine header, bootstrap uses specially prepared
temporary edition of configure.ac, which is stripped off any gl_.*
statements.
This approach introduces additional difficulties. The two header files
are of course listed in the AC_CONFIG_HEADERS statement in
configure.ac. Autotools give precedence to the first one. It is the
only file for which autoheader creates the .h.in template. Further,
automake creates in each Makefile.am the DEFAULT_INCLUDES statement,
which lists the directory part of the first header, and this value is
used in the compiler command line. This means that to include the
pristine header, its path prefix needs to be specified.
To avoid this, the nostdinc option is passed to AM_INIT_AUTOMAKE.
As a side effect, it makes it impossible to build libltdl in the
recursive mode (although its Makefile.am pretends otherwise). Thus,
libltdl is built in nonrecursive mode from the main Makefile.am.
Similar problem occurs with the gnulib itself, although in this case
its bootstrapping tool provides sufficient mechanisms to help overcome
it. Gnulib is built as a sub-library of libxdico. As a side effect,
the libextra library is no longer needed.
Another side effect is that the rewritten bootstrap script made it
possible to use gnulib-tool directly, instead of using
gnulib/build-aux/bootstrap wrapper.
Following bugs are fixed by this change:
https://puszcza.gnu.org.ua/bugs/?416
https://puszcza.gnu.org.ua/bugs/?417
https://puszcza.gnu.org.ua/bugs/?418
Almost all files in the project are affected by this change. However,
some changes are pure bugfixes. These are:
* lib/mergesort.c (mergesort): Rename to dico_mergesort to avoid name
clash on Free and OpenBSD.
* lib/stream.c (dico_stream_getdelim): Fix memory reallocation
algorithm.
* lib/utf8.c (utf8_wc_strstr): Reset errno to 0.
* lib/libi18n.c: Don't depend on gnu/configmake.h
* modules/wordnet/module.ac: Move definition of WORDNET_COND out of
conditional context. This fixes the functionality of the
configure --without-wordnet option.
Some obsolete and unused files have been removed. These are:
* include/gjdict.xbm
* lib/bushu.dat
* lib/bushu.h
* lib/cursor.xbm
* lib/jiscvt.c
* makedict/
Main set of changes is:
* bootstrap: Mostly rewritten as described above.
* GNUmakefile: New file for the ease of maintenance.
* maint/bootstrap.mk: New file.
* gnulib.modules: Moved to maint/
* maint/printflike: New file. Lists printf-like functions for gettext.
* configure.boot: Use AC_CONFIG_HEADERS with two header files.
Use nostdinc option to AM_INIT_AUTOMAKE.
(LTDL_INIT): Use nonrecursive option.
(DICO_PROG_CONFIG,DICO_LIB_CONFIG)
(DICO_PROG_INCLUDES,DICO_MODULE_INCLUDES): New substitution variables.
(GRECS_HOST_PROJECT_INCLUDES): Fix value.
(COND_LIBDICOSASL): New conditional.
* Makefile.am: Build libltdl.
* lib/Makefile.am: Move convenience libraries to another
directory. Build only libdico.
* dico/Makefile.am: Fix LDADD and includes.
* dicod/Makefile.am: Likewise.
* dicod/tests/Makefile.am: Likewise.
* lib/tests/Makefile.am: Likewise.
* modules/*/Makefile.am: Likewise.
The directory struture is reorganized and the sources of convenience
libraries moved to a separate directory:
* xdico/Makefile.am: New file
* xdico/appi18n.c
* xdico/gsaslstr.c
* xdico/iputil.c
* xdico/timer.c
* xdico/userprivs.c
* xdico/xalloc-die.c
* xdico/xhostname.c
* xdico/xscript.c
* xdico/xstream.c
* xdico/xtkn.c
* xdico/xutil.c: All moved from lib
* xdico/gnu/Makefile.am: New file.
* xdico/gnu: Gnulib sources imported to this directory.
|
|
|
|
|
|
|
|
* NEWS: Update.
* doc/libdico.texi: Update.
* dicod/database.c (dicod_database_mime_header): Use temporary storage
to preserve original header in case of failure.
* dicod/virtual.c (dico_result_headers): Implement function.
* include/dico/assoc.h (dico_assoc_count): New function.
* lib/assoc.c (dico_assoc_count): New function.
|
|
* NEWS: Document the --with-libWN option.
* doc/dico.texi: Likewise.
* modules/wordnet/module.ac: New option --with-libWN
* modules/wordnet/Makefile.am: Use @WORDNET_LIB@ substitution instead
of the hardcoded "WN".
* modules/wordnet/wordnet.c: Minor changes.
* modules/gcide/gcide.c: Minord changes.
|
|
* dicod/virtual.c: New file.
* dicod/Makefile.am (dicod_SOURCES): Add virtual.c
* dicod/database.c (dicod_database_init): Pass db->extra to
dico_init_db method.
* dicod/dicod.h (option_mime): New extern.
(dicod_builtin_module_init)
(database_session_visibility): New protos.
(virtual_builtin_module): New extern.
* dicod/loader.c (dicod_builtin_module_init): New function.
* dicod/main.c: New database configuration setting: "database".
Configures component database for virtual databases.
* dicod/ostream.c (option_mime): Remove extern. Now defined in dicod.h
* dicod/tests/echo.c (echo_init_db): Change signature.
* include/dico/types.h (dico_init_db): Change signature. Takes an extra
argument now.
* modules/template/module.c: Update.
* doc/dico.texi: Document new features.
* NEWS: Version 2.6.90. Document changes.
* configure.boot: Version 2.6.90
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* dico/connect.c (dict_connect): Accept UNIX socket pathname as
argument. Improve error checking.
* dico/func.c (ds_open): If one argument given, it can be a socket
pathname.
* doc/dico.texi: Document changes to the "open" command.
|
|
|
|
* grecs: Update.
* dico/cmdline.opt: fix the style of option descriptions
* dicod/cmdline.opt (--test option): Rename to --runtest (-r).
Stop further processing after this option.
* dicod/loader.c (dicod_module_test): Fix comment.
* dicod/main.c: Ignore configuration file if in unit testing
mode.
* doc/dico.texi: Document unit testing mode.
* doc/dicod.8in: Likewise.
* modules/metaphone2/tests/build.at: Fix dicod arguments.
* modules/metaphone2/tests/comp01.at: Likewise.
* modules/metaphone2/tests/comp02.at: Likewise.
* modules/metaphone2/tests/encode.at: Likewise.
|
|
|
|
* dicod/loader.c (dicod_module_test): Revert order of arguments:
unit test arguments go first, optionally followed by -- and module
initialization parameters.
* modules/metaphone2/Makefile.am: New file.
* modules/metaphone2/metaphone2.c: New file.
* modules/metaphone2/tests/Makefile.am: New file.
* modules/metaphone2/tests/dicod.cfin: New file.
* modules/metaphone2/tests/comp00.at: New file.
* modules/metaphone2/tests/comp01.at: New file.
* modules/metaphone2/tests/comp02.at: New file.
* modules/metaphone2/tests/encode.at: New file.
* modules/metaphone2/tests/match00.at: New file.
* modules/metaphone2/tests/testsuite.at: New file.
* NEWS: Update.
* doc/dico.texi: Update.
|
|
* doc/libdico.texi: Document UTF-8 and related functions.
* lib/utf8.c: Set consistent error codes.
|
|
* lib/utf8.c (utf8_wc_strpat): Remove.
(utf8_wc_strstr): If unable to allocate KMP border table
fall back to brute force algorithm.
* include/dico/utf8.h (utf8_wc_strpat): Remove.
* doc/libdico.texi: Remove utf8_wc_strpat
* lib/tests/wcstrstr.at: Check corner cases.
* modules/substr/substr.c" Use utf8_wc_strstr (reverts
b9a48eae).
|
|
* include/dico/utf8.h (utf8_wc_strpat): New proto.
* lib/utf8.c (utf8_wc_strpat): New function.
(utf8_wc_strstr): Rewrite as a wrapper over utf8_wc_strpat.
* lib/tests/utf8.c: Use %td specifier to print ptrdiff_t values.
* doc/libdico.texi: Document string-matching functions.
* lib/tests/wcstrstr.at: Add more tests.
* modules/substr/substr.c (substr_sel): Use utf8_wc_strpat.
|
|
Default Config file applied to all output formats, which is wrong.
Use a dedicated configuration file for html output formats, and
defaults for the rest.
* doc/Makefile.am (GENDOCS): Add html-specific configuration file.
* doc/Config: Rename to doc/html.init (with changes).
* doc/gendocs.sh: New option --no-copy-images
|
|
|
|
|
|
* doc/Config: Rewrite for texi2any
* doc/Makefile.am: Use Makeinfo 5 instead of texi2html
* doc/dico.texi: Minor changes.
* doc/gendocs.sh: New file.
* doc/gendocs_template: Ps is not built
* imprimatur: Upgrade.
* modinc: Minor change.
|
|
* configure.ac (DEFAULT_INCLUDE_DIR)
(DEFAULT_VERSION_INCLUDE_DIR): New variables.
* dicod/Makefile.am (AM_CPPFLAGS): Use new variables.
* dicod/cmdline.opt: Fix argument name for the --debug option.
* dicod/main.c (set_user): Treat +NUM as UID number.
(set_supp_group): Treat +NUM as GID number.
* doc/.gitignore: Add new generated files.
* doc/Makefile.am: Add manpages.
* doc/dico.texi: Update.
* doc/dico.1: New file.
* doc/dicod.8in: New file.
* doc/dicod.conf.5in: New file.
|
|
* NEWS: Updated.
* doc/dico.texi: Document all ways of specifying sockets
to listen on.
|
|
* NEWS: Update.
* doc/dico.texi: Update.
* include/dico/util.h (dico_string_trim): Add missing proto.
* modules/gcide/gcide.c (gcide_info, gcide_descr): Implement
info and description methods.
* modules/gcide/tests/dict/INFO: New file.
* modules/gcide/tests/Makefile.am (TESTSUITE_AT): Add descr.at and
info.at.
* modules/gcide/tests/testsuite.at: Include descr.at and info.at
* modules/gcide/tests/dicod.cfin: Remove description.
* modules/gcide/tests/descr.at: New test case.
* modules/gcide/tests/info.at: New test case.
* modules/gcide/tests/def00.at: Update.
* modules/gcide/tests/def01.at: Update.
* modules/gcide/tests/def02.at: Update.
* modules/gcide/tests/def03.at: Update.
* modules/gcide/tests/def04.at: Update.
* modules/gcide/tests/def05.at: Update.
* scripts/Makefile.am: Exempt gcider from standard options check.
|
|
* NEWS: Update.
* configure.ac: Version 2.2
Remove DBM autodetection.
* doc/dico.texi: Update.
* doc/gendocs_template: Update.
* scripts/gcider: Update.
* grecs: Upgrade.
* lib/tests/Makefile.am (LDADD): Add $(LIBINTL).
* lib/utf8.c [!ENODATA]: Define ENODATA.
* modules/gcide/Makefile.am (gcide_la_LIBADD): Add @LTLIBINTL@.
(idxgcide_LDADD): Add @LIBINTL@
(INCLUDES): Add gnu
* modules/gcide/gcide.c" Include signal.h
* modules/gcide/tests/Makefile.am (degcide_LDADD)
(greek_LDADD): Add @LIBINTL@
* modules/nprefix/tests/dict.out: Use only lowercase headwords.
|
|
* dico/saslauth.c: Make sure authentication is attempted
only if the server offers SASL.
(authctx): New struct.
(match_capa,getauthcontext)
(freeauthcontext): New functions.
(saslauth0): Change signature: take authctx as 3rd arg.
(saslauth): Return AUTH_CONT if SASL is not available or
none of its methods matches those implemented on the client
side.
* dicod/main.c (user_db_config): Fix the source location copy.
(init_user_db): Clear sasl_enable if no user database is configured.
(main): Call register_sasl after init_user_db so that the above
change takes effect.
* dicod/server.c (dicod_server): Don't try to remove pidfile
in foreground mode.
* doc/proto.texi: Minor fix.
|
|
|
|
|
|
* doc/dico.texi: Finish main part.
* modules/python/python.c (strat_select_method): Fix docstring.
(dico_register_strat): Bugfix: reversed sense of a conditional.
(mod_init_db): Declare DICO_SELECT_* constants.
(mod_match): Fix memory leaks. Remove useless call to strat->sel,
which is called by dico_key_deinit implicitly.
|
|
* doc/strat.texi: New file. Describes available match strategies.
* doc/Makefile.am: Add strat.texi
* doc/dico.texi: New appendix "Available Strategies".
|
|
|
|
|
|
* scripts/gcider: Provide a documentation (manual) window.
Add status line.
Use short strategy names in the strategy combobox, except for the
".", which is rendered as "Default". When hovering over the
strategy popdown, print full description of a higlighted strategy
in the status line.
* doc/dico.texi: Update.
|
|
* configure.ac: Check for PAM libraries and headers.
Build modules/pam/Makefile.
* dicod/gsasl.c (cb_validate): Call dico_udb_check_password first,
and dico_udb_get_password if it is not implemented.
* include/dico/udb.h (dico_udb_def)<_db_check_password>: New
member.
(dico_udb_check_password): New function.
* lib/udb.c (dico_udb) <_db_check_password>: New member.
(dico_udb_check_password): New function.
(dico_udb_get_password): Initialize _db_check_password.
* modules/Makefile.am [PAM_COND]: Define PAM_DIR
(SUBDIRS): Add $PAM_DIR.
* modules/pam/Makefile.am: New file.
* modules/pam/pam.c: New file.
* NEWS: Update.
* README: Update.
* doc/dico.texi: Document PAM.
|
|
|
|
* dicod/cmdline.opt: Handle the -D (--define) option.
* doc/dico.texi: Document it.
|
|
* configure.ac: Configure the nprefix module.
* NEWS: Document nprefix.
* doc/dico.texi: Likewise.
* modules/Makefile.am (SUBDIRS): Add nprefix.
* modules/nprefix/Makefile.am: New file.
* modules/nprefix/nprefix.c: New file.
* modules/nprefix/tests/Makefile.am: New file.
* modules/nprefix/tests/atlocal.in: New file.
* modules/nprefix/tests/dicod.cfin: New file.
* modules/nprefix/tests/dict.out: New file.
* modules/nprefix/tests/np00.at: New file.
* modules/nprefix/tests/np01.at: New file.
* modules/nprefix/tests/np02.at: New file.
* modules/nprefix/tests/np03.at: New file.
* modules/nprefix/tests/np04.at: New file.
* modules/nprefix/tests/testsuite.at: New file.
* modules/nprefix/tests/.gitignore: New file.
|
|
* modules/word/word.c: Implement new strategies.
* NEWS: Document new strategies.
* doc/dico.texi: Likewise.
* modules/word/tests/dicod.cfin: Load dict.out
* modules/word/tests/dict.out: New file.
* modules/word/tests/first.at: New file.
* modules/word/tests/last.at: New file.
* modules/word/tests/word.at: New file.
* modules/word/tests/Makefile.am: Add new files. Change ~dictdir~.
* modules/word/tests/testsuite.at: Include new files.
|
|
|
|
|