From faf4f706c5c92aa78550bf9b7e2afa6132336573 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Tue, 21 Jul 2026 13:28:48 +0200 Subject: [PATCH] Install complete documentation and translations --- CMakeLists.txt | 7 ++++ cmake/DefineInstallationPaths.cmake | 5 +++ man/CMakeLists.txt | 24 +++++++++++- man/bongo-backup.1 | 61 ----------------------------- man/bongo-standalone.1 | 51 ------------------------ man/bongo-testtool.1 | 18 +++++++++ man/bongo-web.1 | 53 +++++++++++++++++++++++++ man/bongoagents.8 | 10 ++++- po/CMakeLists.txt | 21 ++++++++++ po/bongo/fr.po | 1 + po/bongo/pt_BR.po | 6 +-- 11 files changed, 140 insertions(+), 117 deletions(-) delete mode 100644 man/bongo-backup.1 delete mode 100644 man/bongo-standalone.1 create mode 100644 man/bongo-testtool.1 create mode 100644 man/bongo-web.1 create mode 100644 po/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index f1507d1..2085eb3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,6 +73,7 @@ endforeach (LIBRARY) add_subdirectory(src/libs/python/libbongo) add_subdirectory(src/libs/python/bongo) +add_subdirectory(po) foreach (AGENT antispam avirus collector director imap pop queue rules sieve smtp store worker) add_subdirectory (src/agents/${AGENT}) @@ -171,5 +172,11 @@ install(DIRECTORY contrib/reverse-proxy/ install(DIRECTORY contrib/acme/ DESTINATION ${DATA_INSTALL_DIR}/examples/acme) +install(FILES README AUTHORS ROADMAP.md + DESTINATION ${DOC_INSTALL_DIR}) +install(DIRECTORY docs/ + DESTINATION ${DOC_INSTALL_DIR} + FILES_MATCHING PATTERN "*.md") + # include rules for make distribution tarballs include(cmake/Distribution.cmake) diff --git a/cmake/DefineInstallationPaths.cmake b/cmake/DefineInstallationPaths.cmake index 815f36d..65b65d5 100644 --- a/cmake/DefineInstallationPaths.cmake +++ b/cmake/DefineInstallationPaths.cmake @@ -116,6 +116,10 @@ if (UNIX) "${SHARE_INSTALL_PREFIX}/man" CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)" ) + SET(DOC_INSTALL_DIR + "${SHARE_INSTALL_PREFIX}/doc/${APPLICATION_NAME}" + CACHE PATH "The ${APPLICATION_NAME} documentation install dir" + ) SET(INFO_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/info" CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)" @@ -133,4 +137,5 @@ if (WIN32) set(ICON_INSTALL_DIR "." CACHE PATH "-") set(SOUND_INSTALL_DIR "." CACHE PATH "-") set(LOCALE_INSTALL_DIR "lang" CACHE PATH "-") + set(DOC_INSTALL_DIR "doc" CACHE PATH "-") endif (WIN32) diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt index fc58cf4..13589ea 100644 --- a/man/CMakeLists.txt +++ b/man/CMakeLists.txt @@ -5,7 +5,29 @@ set(BONGO_MAN1_PAGES bongo-queuetool.1 bongo-sendmail.1 bongo-setup.1 - bongo-storetool.1) + bongo-storetool.1 + bongo-testtool.1 + bongo-web.1) + +set(BONGO_AGENT_MAN8_NAMES + bongoantispam + bongoavirus + bongocollector + bongodirector + bongoimap + bongopop3 + bongoqueue + bongorules + bongosieve + bongosmtp + bongosmtpc + bongostore + bongoworker) install(FILES ${BONGO_MAN1_PAGES} DESTINATION ${MAN_INSTALL_DIR}/man1) install(FILES bongoagents.8 DESTINATION ${MAN_INSTALL_DIR}/man8) +foreach(agent IN LISTS BONGO_AGENT_MAN8_NAMES) + install(FILES bongoagents.8 + DESTINATION ${MAN_INSTALL_DIR}/man8 + RENAME ${agent}.8) +endforeach() diff --git a/man/bongo-backup.1 b/man/bongo-backup.1 deleted file mode 100644 index d46c6bc..0000000 --- a/man/bongo-backup.1 +++ /dev/null @@ -1,61 +0,0 @@ -.TH "bongo-backup" 1 "Bongo Project" "http://bongo-project.org/" -.SH NAME -bongo-backup \- Backup and restores a Bongo document store -.SH SYNOPSIS -.B bongo-backup -.RI [ options ] -.I COMMAND -.SH DESCRIPTION -.B bongo-backup -can create backups of, and then restore these backups to, a Bongo document store. It takes a -.I COMMAND -on execution to specify its action. -.SH OPTIONS -.TP -.BI \-h " HOSTNAME" "\fR,\fP \-\^\-host=" HOSTNAME -Host of Bongo store. Defaults to 127.0.0.1. -.TP -.BI \-p " PASSWORD" "\fR,\fP \-\^\-passwd=" PASSWORD -Specify password to authenticate. -.TP -.BI \-s " PATH" "\fR,\fP \-\^\-store=" PATH -Path to local backup store. -.TP -.BI \-u " USER" "\fR,\fP \-\^\-user=" USER -Username used to authenticate. -.TP -.BR \-v ", " \-\^\-verbose -Display verbose output. -.SH COMMANDS -.TP -.BR backup " [user[:guid[,..]][ ..]]" -Appends incremental backup to the store. -.TP -.BR restore " [user[:guid[,..]][ ..]]" -Restores documents from store to server. -.TP -.BR search " [filter[,..]]" -Searches the store for documents. -.TP -.BR rollback " [MM/DD/YYYY]" -Permanently deletes data store after date. -.SH "SEARCH FILTERS" -.TP -.BI "after=" [MM/DD/YYYY] -Only search documents after this date. -.TP -.BI "before=" [MM/DD/YYY] -Only search documents before this date. -.TP -.BI "string=" [string[:..]] -String search. Strings may be enclosed in single quotes. -.TP -.BI "type=" [type[:..]] -Only search type(s) (mail, cab, ab) -.TP -.BI "user=" [user[:..]] -Only search documents owned by user(s) -.SH "AUTHOR" -This man page was written by Jonny Lamb . -.SH "SEE ALSO" -bongo-setup(1), bongo-admin(1) diff --git a/man/bongo-standalone.1 b/man/bongo-standalone.1 deleted file mode 100644 index 41cf20f..0000000 --- a/man/bongo-standalone.1 +++ /dev/null @@ -1,51 +0,0 @@ -.TH "bongo-standalone" 1 "Bongo Project" "http://bongo-project.org/" -.SH NAME -bongo-standalone \- Bongo standalone web server -.SH SYNOPSIS -.B bongo-standalone -.RI [ options ] -.SH DESCRIPTION -.B bongo-standalone -is a standalone Bongo web server. It is written in Python and is useful for running Bongo without Apache. -.SH OPTIONS -.TP -.BR \-h ", " \-\^\-help -Show help message and exit. -.TP -.BR \-d ", " \-\^\-debug -Enable debugging output. -.TP -.BR \-D ", " \-\^\-devel -Development mode (implies -.B \-d -). -.TP -.BR \-\^\-profile -Enable profiling output. -.TP -.BR \-\^\-profile-memory -Enable memory profiling (requires sizer). -.TP -.BR \-\^\-ssl -Enable SSL. -.TP -.BI \-p " PORT" "\fR,\fP \-\^\-port=" PORT -Specify port for the HTTP server. Defaults to 8080. -.TP -.BI \-s " SLEEP" "\fR,\fP \-\^\-sleep=" SLEEP -TODO. Defaults to 0 -.TP -.BR \-a ", " \-\^\-auth-always -Authenticate all requests. -.TP -.BR \-\^\-no-dns -Disable reverse DNS lookups for logging. -.TP -.BI "\-\^\-file-path=" FILEPATH -Specify a static file path, -.I FILEPATH -, to serve. -.SH "AUTHOR" -This man page was written by Jonny Lamb . -.SH "SEE ALSO" -bongo-setup(1), bongo-admin(1) diff --git a/man/bongo-testtool.1 b/man/bongo-testtool.1 new file mode 100644 index 0000000..ec7f540 --- /dev/null +++ b/man/bongo-testtool.1 @@ -0,0 +1,18 @@ +.TH BONGO-TESTTOOL 1 "July 2026" "Bongo 0.7.0" "Bongo commands" +.SH NAME +bongo-testtool \- run focused Bongo diagnostic checks +.SH SYNOPSIS +.B bongo-testtool checkmx +.I domain +.SH DESCRIPTION +.B bongo-testtool +contains small diagnostics used while validating a Bongo installation. It +drops to the configured unprivileged Bongo account before running a command. +.SH COMMANDS +.TP +.BI checkmx " domain" +Resolve and display the mail exchangers and their addresses for +.IR domain . +.SH SEE ALSO +.BR bongo-admin (1), +.BR bongo-manager (1) diff --git a/man/bongo-web.1 b/man/bongo-web.1 new file mode 100644 index 0000000..fd330a6 --- /dev/null +++ b/man/bongo-web.1 @@ -0,0 +1,53 @@ +.TH BONGO-WEB 1 "July 2026" "Bongo 0.7.0" "Bongo commands" +.SH NAME +bongo-web \- Bongo webmail, administration, CalDAV, and CardDAV service +.SH SYNOPSIS +.B bongo-web +.RI [ options ] +.SH DESCRIPTION +.B bongo-web +serves the Bongo web interface and DAV endpoints. It reads the +.B web +configuration document and normally listens on loopback behind a TLS reverse +proxy. The Bongo manager or operating-system service should normally start +it; direct invocation is intended for diagnostics. +.SH OPTIONS +.TP +.BI \-\-config= PATH +Read the suffixless JSON web configuration from +.IR PATH . +.TP +.BI \-\-listen-address= ADDRESS +Override the configured listener address. +.TP +.BI \-\-port= PORT +Override the configured listener port. +.TP +.BI \-\-tls-certificate= PATH +Use the PEM certificate at +.IR PATH . +.TP +.BI \-\-tls-key= PATH +Use the matching PEM private key at +.IR PATH . +.TP +.B \-\-verbose +Enable verbose logging. +.TP +.BR \-h , " " \-\-help +Display command help. +.SH SECURITY +Expose the service directly only with HTTPS enabled. When it runs behind a +proxy, configure both the trusted proxy networks and the forwarded client +address header. Bongo ignores forwarded identity data from untrusted peers. +.SH FILES +.TP +.B /etc/bongo/config.d/web +Default service configuration for a distribution install. +.TP +.B /usr/share/bongo/web +Static web interface assets. +.SH SEE ALSO +.BR bongo-manager (1), +.BR bongo-setup (1), +.BR bongo-config (1) diff --git a/man/bongoagents.8 b/man/bongoagents.8 index 50df153..ac75970 100644 --- a/man/bongoagents.8 +++ b/man/bongoagents.8 @@ -1,7 +1,8 @@ .TH BONGOAGENTS 8 "July 2026" "Bongo 0.7.0" "Bongo services" .SH NAME bongoantispam, bongoavirus, bongocollector, bongoimap, bongopop3, -bongoqueue, bongorules, bongosieve, bongosmtp, bongosmtpc, bongostore \- +bongoqueue, bongorules, bongosieve, bongosmtp, bongosmtpc, bongostore, +bongodirector, bongoworker \- Bongo server agents .SH DESCRIPTION Bongo is split into supervised agents. They are normally started by @@ -44,6 +45,13 @@ Integrates SpamAssassin-compatible spam scanning when enabled. .TP .B bongoavirus Integrates ClamAV scanning when enabled. +.TP +.B bongodirector +Runs the internal event director used by legacy agent integrations. +.TP +.B bongoworker +Runs persistent scheduled jobs such as ACME renewal, scanner-health checks, +and TLS report delivery. .SH SECURITY Public agents should run as the unprivileged Bongo account after binding their listeners. Configure clear-text legacy protocol support only on explicitly diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 0000000..7dd4b95 --- /dev/null +++ b/po/CMakeLists.txt @@ -0,0 +1,21 @@ +find_program(MSGFMT_EXECUTABLE msgfmt REQUIRED) + +file(GLOB BONGO_CORE_PO_FILES CONFIGURE_DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/bongo/*.po") +foreach(po_file IN LISTS BONGO_CORE_PO_FILES) + get_filename_component(locale "${po_file}" NAME_WE) + set(mo_file + "${CMAKE_CURRENT_BINARY_DIR}/${locale}/LC_MESSAGES/bongo.mo") + add_custom_command(OUTPUT "${mo_file}" + COMMAND ${CMAKE_COMMAND} -E make_directory + "${CMAKE_CURRENT_BINARY_DIR}/${locale}/LC_MESSAGES" + COMMAND ${MSGFMT_EXECUTABLE} --check -o "${mo_file}" "${po_file}" + DEPENDS "${po_file}" + VERBATIM) + list(APPEND BONGO_CORE_CATALOGS "${mo_file}") + install(FILES "${mo_file}" + DESTINATION ${LOCALEDIR}/${locale}/LC_MESSAGES) +endforeach() + +add_custom_target(bongo-core-translations ALL + DEPENDS ${BONGO_CORE_CATALOGS}) diff --git a/po/bongo/fr.po b/po/bongo/fr.po index cc1cc42..248ca6c 100644 --- a/po/bongo/fr.po +++ b/po/bongo/fr.po @@ -11,6 +11,7 @@ msgstr "" "POT-Creation-Date: 2007-07-06 00:44+0100\n" "PO-Revision-Date: 2007-06-30 17:48+1000\n" "Last-Translator: Alexander Hixon \n" +"Language: fr\n" "Language-Team: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" diff --git a/po/bongo/pt_BR.po b/po/bongo/pt_BR.po index b443231..91bee67 100644 --- a/po/bongo/pt_BR.po +++ b/po/bongo/pt_BR.po @@ -13,14 +13,15 @@ msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Bongo 0.7.0\n" "Report-Msgid-Bugs-To: bongo-devel@gna.org\n" "POT-Creation-Date: 2007-07-13 11:46+0100\n" "PO-Revision-Date: 2007-11-08 15:00+BRST\n" "Last-Translator: Igor Morgado \n" +"Language: pt_BR\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=pt_BR.UTF-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/apps/config/config.c:48 @@ -890,4 +891,3 @@ msgstr "' teimosamente se recusa em morrer, insistindo.\n" #, c-format msgid "bongo-manager: shutdown complete.\n" msgstr "bongo-manager: Desligar concluĂ­do.\n" -