When LMDB was made a required dependency (
929eccdfdc), the "LMDB" entry
was removed from features.py and the --with-lmdb flag was removed from
feature-test.c. However, the with_lmdb skip marker in mark.py and its
usage in nzd2nzf were not cleaned up. Since FEATURE_LMDB was no longer
being set, the skip condition became permanently true, silently skipping
the test on every run.
Remove the dead skip marker and update other stale references that still
described LMDB as optional (build docs, addzone test comments).
Assisted-by: Claude:claude-opus-4-7
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
-# When LMDB support is compiled in, this tests that migration from
-# NZF to NZD occurs during named startup
+# Test that migration from NZF to NZD occurs during named startup
echo_i "checking previously added zone ($n)"
ret=0
$DIG $DIGOPTS @10.53.0.2 a.previous.example a >dig.out.ns2.$n || ret=1
"""
# We begin with a zone that has a normal configuration, and then modify it
# by rndc modzone. This should succeed and shouldn't cause any disruption.
- # Previously, it triggered an assertion failure unless LMDB was enabled.
+ # Previously, it triggered an assertion failure.
cmd = ns3.rndc(
'modzone . {type primary; file "redirect.db"; allow-query {none;};};',
raise_on_exception=False,
os.getenv("FEATURE_LIBXML2") != "1", reason="libxml2 support disabled in the build"
)
-with_lmdb = pytest.mark.skipif(
- os.getenv("FEATURE_LMDB") != "1", reason="LMDB support disabled in the build"
-)
with_json_c = pytest.mark.skipif(
os.getenv("FEATURE_JSON_C") != "1", reason="json-c support disabled in the build"
import pytest
import isctest
-import isctest.mark
import isctest.run
pytestmark = [
- isctest.mark.with_lmdb,
pytest.mark.extra_artifacts(
["ns1/_default.nzd", "ns1/_default.nzf~"],
),
``--pkg-config-path``. Compression can be switched off with
``-Dzlib=disabled``.
-To support storing configuration data for runtime-added zones in an LMDB
-database, the server must be linked with ``liblmdb``
+Configuration data for runtime-added zones is stored in an LMDB database,
+so the server must be linked with ``liblmdb``
(https://github.com/LMDB/lmdb). If this is installed in a nonstandard
location, adjust ``PKG_CONFIG_PATH`` or use the option ``--pkg-config-path``.
To find which optional manpages need to be built or not, we pass the build directory to sphinx using the environment variable `BIND_BUILD_ROOT`.
Sphinx will then inspect the meson-generated `intro-targets.json` file to see which optional build components are enabled.
-If an optional component like LMDB is disabled in the build directory, its corresponding manpage needs to be removed.
+If an optional component like GeoIP2 is disabled in the build directory, its corresponding manpage needs to be removed.
From meson's perspective, the entire folder is the output and doesn't concern itself with the insides specifically.
This is done by checking which optional targets are not built but have the page entry in the output folder.