#1129974 xapers: Xapian 2 compatibility

#1129974#5
Date:
2026-03-06 21:30:18 UTC
From:
To:
Xapian 2.0.0 is close to release - currently we're on the second release
candidate:

https://lists.xapian.org/pipermail/xapian-discuss/2026-March/thread.html

This is packaged in Debian experimental (versioned as 1.5.1-1) and the
CI run for xapian-bindings shows it breaks xapers:

https://ci.debian.net/packages/x/xapers/unstable/arm64/69257709/

I had a quick look at the xapers code and it's still using the
xapian.NumberValueRangeProcessor class which was deprecated in 1.4.x and
removed in 2.0.0.

The replacement is xapian.NumberRangeProcessor which will work in 1.4.x
too.  I've attached an entirely untested patch.

Cheers,
    Olly

#1129974#10
Date:
2026-03-06 22:49:55 UTC
From:
To:
Control: tags -1 +patch

I've now successfully test built xapers using python3-xapian from
experimental with this patch applied.

While the build succeeded, there were two test failures, but these
seem to unrelated to Xapian and are due to the `pipes` module being
removed in Python 3.13 (as noted at
https://docs.python.org/3/library/pipes.html) - here's the first,
the other is very similar:

     FAIL   export all
	    --- all.58.expected	2026-03-06 22:40:20.862108121 +0000
	    +++ all.58.output	2026-03-06 22:40:20.857447579 +0000
	    @@ -1,4 +0,0 @@
	    -TMP_DIRECTORY/export/5.pdf
	    -TMP_DIRECTORY/export/Creation_of_the_γ-verses.pdf
	    -TMP_DIRECTORY/export/Multicolor_cavity_sadness.pdf
	    -TMP_DIRECTORY/export/When_the_liver_meats_the_pavement.pdf
    Traceback (most recent call last):
      File "<frozen runpy>", line 198, in _run_module_as_main
      File "<frozen runpy>", line 88, in _run_code
      File "/build/reproducible-path/xapers-0.9.0/xapers/__main__.py", line 536, in <module>
	main()
	~~~~^^
      File "/build/reproducible-path/xapers-0.9.0/xapers/__main__.py", line 401, in main
	cli.export(db, outdir, query)
	~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
      File "/build/reproducible-path/xapers-0.9.0/xapers/cli.py", line 439, in export
	import pipes
    ModuleNotFoundError: No module named 'pipes'
     FAIL   export query
	    --- all.59.expected	2026-03-06 22:40:21.008786649 +0000
	    +++ all.59.output	2026-03-06 22:40:21.005319686 +0000
	    @@ -1,2 +0,0 @@
	    -TMP_DIRECTORY/export/5.pdf
	    -TMP_DIRECTORY/export/Creation_of_the_γ-verses.pdf
    Traceback (most recent call last):
      File "<frozen runpy>", line 198, in _run_module_as_main
      File "<frozen runpy>", line 88, in _run_code
      File "/build/reproducible-path/xapers-0.9.0/xapers/__main__.py", line 536, in <module>
	main()
	~~~~^^
      File "/build/reproducible-path/xapers-0.9.0/xapers/__main__.py", line 401, in main
	cli.export(db, outdir, query)
	~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
      File "/build/reproducible-path/xapers-0.9.0/xapers/cli.py", line 439, in export
	import pipes
    ModuleNotFoundError: No module named 'pipes'

Cheers,
    Olly

#1129974#17
Date:
2026-09-21 22:43:28 UTC
From:
To:
It's been more than 6 months without a response.

I'm intending to NMU this patch soon - the patched version will still
work with Xapian 1.4.x but will also be ready for the xapian2
transition.

If you'd prefer to make a maintainer upload with the patch, please let
me know.

These have since been fixed by NMUs.

Cheers,
    Olly

#1129974#22
Date:
2026-09-21 22:52:36 UTC
From:
To:
Hey Olly et. al.  I'm very sorry about the recent lack of response on
this project.  I do in fact intend to keep maintaining it, and am hoping
to get back to pushing on it again soon.  I am very grateful to those
that have pushed NMUs to keep the package in Debian.

jamie.