endif
# build the list of message files
-mes-files.txt: mes_files.mk
- @sed 's;mes_files .*)/;;' $< > $@
+mes_files.mk: mes-files.txt
+ @sed 's;^;mes_files += $$(top_srcdir)/;g' $< > $@
+
+mes-files.txt:
+ @find ../.. -type f -name '*.mes' | sort -V | sed 's#^../../##g' > $@
# this rule is only used for development purposes and is not used in official
# build process as kea-messages.rst is always generated via sphinx's conf.py
-src/hooks/dhcp/flex_option/flex_option_messages.mes
+premium/src/hooks/agent/rbac/rbac_messages.mes
+premium/src/hooks/d2/gss_tsig/gss_tsig_messages.mes
+premium/src/hooks/dhcp/cb_cmds/cb_cmds_messages.mes
+premium/src/hooks/dhcp/class_cmds/class_cmds_messages.mes
+premium/src/hooks/dhcp/ddns_tuning/ddns_tuning_messages.mes
+premium/src/hooks/dhcp/flex_id/flex_id_messages.mes
+premium/src/hooks/dhcp/forensic_log/legal_log_messages.mes
+premium/src/hooks/dhcp/host_cache/host_cache_messages.mes
+premium/src/hooks/dhcp/host_cmds/host_cmds_messages.mes
+premium/src/hooks/dhcp/lease_query/lease_query_messages.mes
+premium/src/hooks/dhcp/limits/limits_messages.mes
+premium/src/hooks/dhcp/ping_check/ping_check_messages.mes
+premium/src/hooks/dhcp/radius/radius_messages.mes
+premium/src/hooks/dhcp/subnet_cmds/subnet_cmds_messages.mes
+src/bin/agent/ca_messages.mes
+src/bin/dhcp4/dhcp4_messages.mes
+src/bin/dhcp6/dhcp6_messages.mes
+src/bin/lfc/lfc_messages.mes
+src/bin/netconf/netconf_messages.mes
src/hooks/dhcp/bootp/bootp_messages.mes
-src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes
-src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes
+src/hooks/dhcp/flex_option/flex_option_messages.mes
src/hooks/dhcp/high_availability/ha_messages.mes
+src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes
+src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes
+src/hooks/dhcp/perfmon/perfmon_messages.mes
+src/hooks/dhcp/pgsql_cb/pgsql_cb_messages.mes
+src/hooks/dhcp/run_script/run_script_messages.mes
src/hooks/dhcp/stat_cmds/stat_cmds_messages.mes
src/hooks/dhcp/user_chk/user_chk_messages.mes
+src/lib/asiodns/asiodns_messages.mes
src/lib/config/config_messages.mes
-src/lib/hooks/hooks_messages.mes
-src/lib/dhcpsrv/dhcpsrv_messages.mes
+src/lib/d2srv/d2_messages.mes
+src/lib/database/db_messages.mes
src/lib/dhcpsrv/alloc_engine_messages.mes
+src/lib/dhcpsrv/dhcpsrv_messages.mes
+src/lib/dhcpsrv/fuzz_messages.mes
src/lib/dhcpsrv/hosts_messages.mes
+src/lib/dhcp_ddns/dhcp_ddns_messages.mes
+src/lib/eval/eval_messages.mes
+src/lib/hooks/hooks_messages.mes
src/lib/http/auth_messages.mes
src/lib/http/http_messages.mes
-src/lib/dhcp_ddns/dhcp_ddns_messages.mes
-src/lib/database/db_messages.mes
-src/lib/log/log_messages.mes
src/lib/log/logimpl_messages.mes
+src/lib/log/log_messages.mes
src/lib/log/tests/log_test_messages.mes
src/lib/process/process_messages.mes
-src/lib/asiodns/asiodns_messages.mes
-src/lib/eval/eval_messages.mes
-src/lib/d2srv/d2_messages.mes
src/lib/tcp/tcp_messages.mes
-src/bin/dhcp4/dhcp4_messages.mes
-src/bin/agent/ca_messages.mes
-src/bin/dhcp6/dhcp6_messages.mes
-src/bin/lfc/lfc_messages.mes
-src/bin/netconf/netconf_messages.mes
# Invocation:
# The code is invoked using the command line:
#
-# system_messages.py [-o <output-file>] <files>
+# mes2doc.py [-o <output-file>] <files>
#
# If no output file is specified, output is written to stdout.
# The produced format is ReStructuredText.
if not line or line.startswith('#'):
pass
+ elif line.startswith('//'):
+ pass
+
elif line.startswith('$'):
pass
and plain text formats), along with other useful information about
Kea, can be found in ISC's `Knowledgebase <https://kea.readthedocs.io>`_.
-Please note that in the messages below, the percent sign ("%") followed by a number is
+Please note that in the messages below, the percent sign (``%``) followed by a number is
used to indicate a placeholder for data that is provided by the Kea code during its operation.
if section != prev_section:
prev_section = section
+ rst += '*' * len(section) + '\n'
rst += section + '\n'
- rst += '~' * len(section) + '\n\n'
+ rst += '*' * len(section) + '\n'
+ rst += '\n'
- rst += '**' + msg_id + '**\n\n'
+ rst += msg_id + '\n'
+ rst += '=' * len(msg_id) + '\n'
+ rst += '\n'
- rst += msg_text + '\n\n'
+ rst += '.. code-block::\n'
+ rst += '\n'
+ rst += ' ' + msg_text + '\n'
+ rst += '\n'
- rst += ''.join([' ' + line + '\n' for line in msg_descr])
+ rst += ''.join([line + '\n' for line in msg_descr])
rst += '\n'
return rst
-mes_files += $(top_srcdir)/src/hooks/dhcp/flex_option/flex_option_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/agent/rbac/rbac_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/d2/gss_tsig/gss_tsig_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/cb_cmds/cb_cmds_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/class_cmds/class_cmds_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/ddns_tuning/ddns_tuning_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/flex_id/flex_id_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/forensic_log/legal_log_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/host_cache/host_cache_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/host_cmds/host_cmds_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/lease_query/lease_query_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/limits/limits_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/ping_check/ping_check_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/radius/radius_messages.mes
+mes_files += $(top_srcdir)/premium/src/hooks/dhcp/subnet_cmds/subnet_cmds_messages.mes
+mes_files += $(top_srcdir)/src/bin/agent/ca_messages.mes
+mes_files += $(top_srcdir)/src/bin/dhcp4/dhcp4_messages.mes
+mes_files += $(top_srcdir)/src/bin/dhcp6/dhcp6_messages.mes
+mes_files += $(top_srcdir)/src/bin/lfc/lfc_messages.mes
+mes_files += $(top_srcdir)/src/bin/netconf/netconf_messages.mes
mes_files += $(top_srcdir)/src/hooks/dhcp/bootp/bootp_messages.mes
-mes_files += $(top_srcdir)/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes
-mes_files += $(top_srcdir)/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/flex_option/flex_option_messages.mes
mes_files += $(top_srcdir)/src/hooks/dhcp/high_availability/ha_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/perfmon/perfmon_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/pgsql_cb/pgsql_cb_messages.mes
+mes_files += $(top_srcdir)/src/hooks/dhcp/run_script/run_script_messages.mes
mes_files += $(top_srcdir)/src/hooks/dhcp/stat_cmds/stat_cmds_messages.mes
mes_files += $(top_srcdir)/src/hooks/dhcp/user_chk/user_chk_messages.mes
+mes_files += $(top_srcdir)/src/lib/asiodns/asiodns_messages.mes
mes_files += $(top_srcdir)/src/lib/config/config_messages.mes
-mes_files += $(top_srcdir)/src/lib/hooks/hooks_messages.mes
-mes_files += $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes
+mes_files += $(top_srcdir)/src/lib/d2srv/d2_messages.mes
+mes_files += $(top_srcdir)/src/lib/database/db_messages.mes
mes_files += $(top_srcdir)/src/lib/dhcpsrv/alloc_engine_messages.mes
+mes_files += $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes
+mes_files += $(top_srcdir)/src/lib/dhcpsrv/fuzz_messages.mes
mes_files += $(top_srcdir)/src/lib/dhcpsrv/hosts_messages.mes
+mes_files += $(top_srcdir)/src/lib/dhcp_ddns/dhcp_ddns_messages.mes
+mes_files += $(top_srcdir)/src/lib/eval/eval_messages.mes
+mes_files += $(top_srcdir)/src/lib/hooks/hooks_messages.mes
mes_files += $(top_srcdir)/src/lib/http/auth_messages.mes
mes_files += $(top_srcdir)/src/lib/http/http_messages.mes
-mes_files += $(top_srcdir)/src/lib/dhcp_ddns/dhcp_ddns_messages.mes
-mes_files += $(top_srcdir)/src/lib/database/db_messages.mes
-mes_files += $(top_srcdir)/src/lib/log/log_messages.mes
mes_files += $(top_srcdir)/src/lib/log/logimpl_messages.mes
+mes_files += $(top_srcdir)/src/lib/log/log_messages.mes
mes_files += $(top_srcdir)/src/lib/log/tests/log_test_messages.mes
mes_files += $(top_srcdir)/src/lib/process/process_messages.mes
-mes_files += $(top_srcdir)/src/lib/asiodns/asiodns_messages.mes
-mes_files += $(top_srcdir)/src/lib/eval/eval_messages.mes
-mes_files += $(top_srcdir)/src/lib/d2srv/d2_messages.mes
mes_files += $(top_srcdir)/src/lib/tcp/tcp_messages.mes
-mes_files += $(top_srcdir)/src/bin/dhcp4/dhcp4_messages.mes
-mes_files += $(top_srcdir)/src/bin/agent/ca_messages.mes
-mes_files += $(top_srcdir)/src/bin/dhcp6/dhcp6_messages.mes
-mes_files += $(top_srcdir)/src/bin/lfc/lfc_messages.mes
-mes_files += $(top_srcdir)/src/bin/netconf/netconf_messages.mes