Subject: CVS commit: pkgsrc/textproc/xapian
From: Amitai Schlair
Date: 2013-06-04 23:27:02
Message id: 20130604212702.6EF5C96@cvs.netbsd.org

Log Message:
Update to 1.2.15. From the changelog:

Xapian-core 1.2.15 (2013-04-16):

API:

* QueryParser/TermGenerator: Don't include CJK codepoints which are
  punctuation in N-grams.

* TermGenerator: Fix bug where we failed to generate the first bigram
  from the second sequence of N-grammable CJK characters in a piece of text.

brass backend:

* Call fdatasync()/fsync() when creating the "iambrass" file.

chert backend:

* Call fdatasync()/fsync() when creating the "iamchert" file.

flint backend:

* Call fdatasync()/fsync() when creating the "iamflint" file.

tools:

* delve: If -v is specified more than once, show even more info in some cases.

Xapian-core 1.2.14 (2013-03-14):

API:

* MSet::get_document(): Don't cache retrieved Document objects unless they
  were requested with fetch().  This avoids using a lot of memory when many
  MSet entries are retrieved.  (Fixes #604)

matcher:

* Check if a candidate document has at least the minimum weight needed
  before checking positional information, which speeds up slow phrase
  searches (partly addresses #394).

brass backend:

* Fix multipass compaction not to damage document values, and to merge the
  database stats correctly.  (fixes #615)

chert backend:

* Fix multipass compaction not to damage document values, and to merge the
  database stats correctly.  (fixes #615)

flint backend:

* Fix multipass compaction bug.  (fixes #615)

tools:

* xapian-replicate:

  + Fix handling of delays between replication events - the subtraction of the
    target time and the current time was reversed, so we wouldn't sleep when
    before the deadline, but would sleep after it for the amount we'd missed it
    by.

  + On Microsoft Windows, we no longer sleep for more than 43 years if the
    target time for a replication event had already passed.  (Fixes #472)

Xapian-core 1.2.13 (2013-01-09):

API:

* TermGenerator: Add new method TermGenerator::set_max_word_length() to allow
  this limit to be adjusted by the user.

* QueryParser: Implicitly close any unclosed brackets at the end of the query
  string.  Patch from Sehaj Singh Kalra.

* DateValueRangeProcessor: Add extra constructor overloaded form so that in
  DateValueRangeProcessor(1, "date:"), the const char * gets interpreted as
  std::string rather than bool.

matcher:

* Improved fix for #590 - count all matching LeafPostList objects with a Weight
  object rather than trying to prune at the MultiAndPostList level based on
  max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0, which lead
  to us never counting that subquery.

* Fix calculation of 0.0/0.0 in some cases.  This then got used as a minimum
  weight, but it seems this gives -nan (at least on x86-64 Linux) so it may
  have been harmless in practice.

* We no longer use the highest weighted MSet entry to calculate percentages, so
  remove code which finds it.

brass backend:

* Close excess file handles before we get the fcntl lock, which avoids the
  lock being released again if one is open on the lock file.  Notably this
  avoids a situation where multiple threads in the same process could succeed
  in locking a database concurrently.

chert backend:

* Close excess file handles before we get the fcntl lock, which avoids the
  lock being released again if one is open on the lock file.  Notably this
  avoids a situation where multiple threads in the same process could succeed
  in locking a database concurrently.

flint backend:

* Close excess file handles before we get the fcntl lock, which avoids the
  lock being released again if one is open on the lock file.  Notably this
  avoids a situation where multiple threads in the same process could succeed
  in locking a database concurrently.

remote backend:

* Improve the UnimplementedError message for a MatchSpy subclass which doesn't
  implement name() so it's clearer that it is this particular subclass which
  can't be used remotely, rather than all MatchSpy objects.

documentation:

* valueranges.html: Update documentation to reflect change in Xapian 1.1.2 -
  DateValueRangeProcessor and StringValueRangeProcessor now support a prefix or
  suffix.

* Clarify that the "reverse" parameter of \ 
set_sort_by_relevance_then_value()
  and set_sort_by_relevance_then_key() only affects the ordering of the
  value/key part of the sort.

* docs/quickstart.html: Fix seriously outdated statement that Xapian doesn't
  create the database directory - that changed in 0.7.2 (released 2003-07-11).

* HACKING: Try to make it clearer we're looking for a dual-licence on submitted
  patches.

tools:

* xapian-replicate:

  + Add a --full-copy option to force a full copy to be sent.  (ticket#436)

  + Add --quiet option, and be a little more verbose by default.

  + Allow files > 32G to be be copied by replication.

  + Fix "if (fd > 0)" tests in some replication code to be "if \ 
(fd >= 0)".
    In practice this is unlikely to actually have caused problems since
    stdin is typically still open and using fd 0.

  + Simplify how we open the .DB file on the replication slave to just call
    open() once with O_CREAT, rather than once without, than stat() if that
    fails, and then again with O_CREAT|O_TRUNC if stat() doesn't show an
    ordinary file exists.

examples:

* quest:

  + New --flags command line option to allow setting arbitrary QueryParser
    flags.

  + Align option descriptions in --help output, and make the initial letter of
    such descriptions consistently lowercase.

Files:
RevisionActionfile
1.18modifypkgsrc/textproc/xapian/Makefile
1.14modifypkgsrc/textproc/xapian/distinfo
1.3modifypkgsrc/textproc/xapian/patches/patch-common_safeuuid.h