aboutsummaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)AuthorFiles
2023-01-22Update copyright yearsSergey Poznyakoff8
2023-01-22Document extensions and corresponding capabilitiesSergey Poznyakoff2
2021-01-06Update copyright yearsSergey Poznyakoff8
2020-09-04Version 2.10release-2.10Sergey Poznyakoff8
2019-02-22Avoid introducing gnulib dependencies to libdicoSergey Poznyakoff8
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.
2018-09-25Version 2.7release-2.7Sergey Poznyakoff2
2018-09-25Include customized version of pp-setupSergey Poznyakoff1
2018-09-25Update docsSergey Poznyakoff1
2018-09-10Correctly display MIME headers read from the underlying db in virtual dbSergey Poznyakoff1
* 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.
2018-09-05Support for building with WordNet on debian-based systemsSergey Poznyakoff1
* 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.
2018-09-05Implement virtual databases.Sergey Poznyakoff1
* 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
2018-09-02docs: describe mime-headers.Sergey Poznyakoff1
2018-08-26Minor fixSergey Poznyakoff1
2018-08-20Minor fixes in manpagesSergey Poznyakoff2
2018-06-03Support for Guile 2.2.0; drop support for earlier Guile versionsSergey Poznyakoff1
2018-01-25Update copyright yearsSergey Poznyakoff8
2017-01-02Happy GNU YearSergey Poznyakoff8
2016-11-21Update documentation re WordNetSergey Poznyakoff1
2016-11-15Fix typo in doc/Makefile.amSergey Poznyakoff1
2016-11-11dico: accept UNIX socket as argument to openSergey Poznyakoff1
* 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.
2016-08-05Minor fixesSergey Poznyakoff1
2016-08-05Improve module unit testingSergey Poznyakoff2
* 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.
2016-08-05Update copyright yearsSergey Poznyakoff8
2016-08-04Implement Double Metaphone matching strategySergey Poznyakoff1
* 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.
2016-08-01Document UTF-8 functions.Sergey Poznyakoff1
* doc/libdico.texi: Document UTF-8 and related functions. * lib/utf8.c: Set consistent error codes.
2016-08-01Improve substring search functionSergey Poznyakoff1
* 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).
2016-07-31Use Knuth-Morris-Pratt algorithm for substing look-upsSergey Poznyakoff1
* 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.
2016-07-31Fix doc generation.Sergey Poznyakoff3
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
2016-07-31Minor fixesSergey Poznyakoff1
2016-07-31Minor changesSergey Poznyakoff1
2016-07-31Use Texinfo 5 for building documentationSergey Poznyakoff5
* 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.
2014-09-28Add manpages.Sergey Poznyakoff6
* 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.
2014-09-26Document IPv6 support.Sergey Poznyakoff1
* NEWS: Updated. * doc/dico.texi: Document all ways of specifying sockets to listen on.
2012-03-04Implement info/descr for gcide.release-2.2Sergey Poznyakoff1
* 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.
2012-03-03Version 2.2Sergey Poznyakoff2
* 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.
2012-03-03Improve SASL authentication.Sergey Poznyakoff1
* 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.
2012-03-02Update docs.Sergey Poznyakoff2
2012-03-02Improve the documentation.Sergey Poznyakoff1
2012-02-27Update docs. Fix a bug in python.Sergey Poznyakoff1
* 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.
2012-02-27Improve docs.Sergey Poznyakoff3
* doc/strat.texi: New file. Describes available match strategies. * doc/Makefile.am: Add strat.texi * doc/dico.texi: New appendix "Available Strategies".
2012-02-23gcide: support --help and --version command line options.Sergey Poznyakoff1
2012-02-19Document gcider.Sergey Poznyakoff1
2012-02-18Improve gcider interface.Sergey Poznyakoff1
* 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.
2012-02-05Implement PAM authentication.Sergey Poznyakoff1
* 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.
2012-02-04Update docs.Sergey Poznyakoff2
2012-02-02New dicod option -D (define symbol).Sergey Poznyakoff1
* dicod/cmdline.opt: Handle the -D (--define) option. * doc/dico.texi: Document it.
2012-01-31Implement the nprefix strategy.Sergey Poznyakoff1
* 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.
2012-01-31Implement "first" and "last" matching strategies.Sergey Poznyakoff1
* 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.
2012-01-31Document the pcre module.Sergey Poznyakoff1
2012-01-31Update the docs.Sergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.