Bug#1014347: update-exim4.conf.8: some source errors in format, style, and use of a macro
Bjarni Ingi Gislason
bingigis at simnet.is
Mon Jul 4 16:30:03 BST 2022
Package: exim4-config
Version: 4.95-6
Severity: minor
Tags: patch
Dear Maintainer,
* What led up to the situation?
Reading the man page with "man" (uses "groff").
* What was the outcome of this action?
Output on the standard error stream (circumventing default "man"
behaviour).
* What outcome did you expect instead?
No output on standard output.
###
[ "test-groff" is a developmental version of "groff" ]
Input file is /usr/share/man/man8/update-exim4.conf.8.gz
Output from test-groff -b -mandoc -dAD=l -rF0 -rHY=0 -t -w w -z :
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:22: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:25: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:51: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:75: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:82: style: blank line in input
troff: backtrace: file '</usr/share/man/man8/update-exim4.conf.8.gz>':84
troff:</usr/share/man/man8/update-exim4.conf.8.gz>:84: warning: trailing space in the line
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:97: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:104: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:109: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:120: style: blank line in input
troff: backtrace: file '</usr/share/man/man8/update-exim4.conf.8.gz>':122
troff:</usr/share/man/man8/update-exim4.conf.8.gz>:122: warning: trailing space in the line
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:127: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:131: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:134: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:139: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:147: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:159: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:163: style: blank line in input
troff: backtrace: file '</usr/share/man/man8/update-exim4.conf.8.gz>':173
troff:</usr/share/man/man8/update-exim4.conf.8.gz>:173: warning: trailing space in the line
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:176: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:179: style: use of deprecated macro: .PD
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:195: style: use of deprecated macro: .PD
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:197: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:270: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:273: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:276: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:279: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:282: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:285: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:288: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:303: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:314: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:319: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:335: style: blank line in input
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:338: style: .BR expects at least 2 arguments, got 1
an.tmac:</usr/share/man/man8/update-exim4.conf.8.gz>:342: style: blank line in input
####
Patch:
--- update-exim4.conf.8 2022-07-03 15:20:59.000000000 +0000
+++ update-exim4.conf.8.new 2022-07-03 15:49:29.000000000 +0000
@@ -19,10 +19,12 @@
.\" \(lqthis text is enclosed in double quotes\(rq
.SH NAME
update\-exim4.conf \- Generate exim4 configuration files.
-
+.
+.LP
.SH SYNOPSIS
.B update\-exim4.conf [\-v|\-\-verbose] [\-h|\-\-help] [\-\-keepcomments] [\-\-removecomments] [\-o|\-\-output file]
-
+.
+.LP
.SH OPTIONS
.TP
.I \-\-check
@@ -48,7 +50,8 @@ Remove comment lines from the output fil
.TP
.I \-v|\-\-verbose
Enable verbose mode
-
+.
+.LP
.SH DESCRIPTION
The script
.B update\-exim4.conf
@@ -72,16 +75,18 @@ processes the /etc/exim4/conf.d subdirec
router, transport, retry, rewrite and auth. Within each directory it takes
files in lexical sort order by file name. It concatenates all these files
and makes the debconf replacement described below.
-
+.
+.LP
If you are not using split configuration
.B update\-exim4.conf
concatenates
/etc/exim4/exim4.conf.localmacros
(if this file exists) and /etc/exim4/exim4.conf.template (in this order) and
makes the debconf replacement described below.
-
+.
+.LP
In either case, before outputting the result
-to /var/lib/exim4/config.autogenerated,
+to /var/lib/exim4/config.autogenerated,
.B update\-exim4.conf
generates a number of exim configuration macros from the contents of
dc_something from /etc/exim4/update\-exim4.conf.conf and inserts them
@@ -94,19 +99,22 @@ earlier definitions.
makes no other changes to the configuration.
This makes it very simple to make small changes to the configuration and
still have the benefits of debconf.
-
+.
+.LP
On the other hand if you don't want to manage exim4.conf with debconf
install your own handcrafted version as /etc/exim4/exim4.conf.
Exim will use this file if it exists and ignore the autogenerated one.
Additionally you might want to set
.I dc_eximconfig_configtype=none
in /etc/exim4/update\-exim4.conf.conf to stop debconf from asking you questions about exim4.
-
+.
+.LP
.B update\-exim4.conf
exits silently and does nothing if /etc/exim4/exim4.conf exists and \-o
was not used to direct the output to a different file than
/var/lib/exim4/config.autogenerated.
-
+.
+.LP
.B update\-exim4.conf
will only use files in the conf.d directory that have a filename which
consists only of letters, numbers, underscores and hyphens
@@ -117,26 +125,31 @@ Additionally,
will use /etc/exim4/conf.d/foo/bar.rul instead of
/etc/exim4/conf.d/foo/bar if the .rul file exists. This is meant to be
helpful for easy interaction with packages extending Exim.
-
+.
+.LP
If the new configuration will be written to
-/var/lib/exim4/config.autogenerated,
+/var/lib/exim4/config.autogenerated,
.B update\-exim4.conf
will check the validity of the freshly generated configuration. If
the new file is detected as invalid, update-exim4.conf leaves the old
/var/lib/exim4/config.autogenerated untouched and exits with an error.
-
+.
+.LP
However, there are still possible invalidities that can only be
detected at run time. This most notably applies to errors in
expressions that are expanded at run time.
-
+.
+.LP
If the new configuration will be written to some other file, no
validity checking occurs and that file will always be overwritten.
-
+.
+.LP
.SH EXAMPLES
You want to be able to check exim's queue as normal user: Generate a new
file, e.g. /etc/exim4/conf.d/main/40_local_mailq, containing only the line
.I queue_list_requires_admin = false
-
+.
+.LP
.SH NOTES
.B update\-exim4.conf
changes the file permissions of the output file to the value of the environment
@@ -144,7 +157,8 @@ variable CFILEMODE. If CFILEMODE is neit
/etc/exim4/update\-exim4.conf.conf nor in the environment it defaults to 0644.
Change this to 0640 if you are keeping sensitive information (LDAP credentials
et. al.) in there.
-
+.
+.LP
.SH CONFIGURATION VARIABLES
All lists given in configuration variables are semicolon-separated. In
the past, they used to be colon separated. This was changed to
@@ -156,11 +170,13 @@ address in a field that is defined as a
addresses, please prefix "<;" to explicitly specify the list separator
as a semicolon. Otherwise, the code cannot tell an IP address from a
colon-separated list of strange host names.
-
+.
+.LP
Using lookups like "dsearch;something" in update-exim4.conf.conf has
never been supported and does no longer work! If you need this, please
convert to directly setting the appropriate macros.
-
+.
+.LP
.B update\-exim4.conf
evaluates these patterns in
.B /etc/exim4/update\-exim4.conf.conf:
@@ -170,10 +186,11 @@ The octal file mode of the generated fil
.TP
.I dc_eximconfig_configtype
The main configuration type. Sets macro DC_eximconfig_configtype. The macro
-usually contains a shorthand for one of the choices for the
+usually contains a shorthand for one of the choices for the
\(lqGeneral type of mail configuration\(rq debconf question (See
README.Debian).
-
+.
+.LP
.RS
.B dc_eximconfig_configtype <-> debconf configtype mapping:
.PD 0.1
@@ -194,7 +211,8 @@ local delivery only; not on a network
no configuration at this time
.PD
.RE
-
+.
+.LP
.TP
.I dc_hide_mailname
Boolean option that controls whether the local mailname in the headers of
@@ -267,25 +285,25 @@ to be doubled. If a port number follows,
brackets, which might be the only possibility to specify delivery to an
IPv6 address and a different port. Examples:
.br
-.BR host.domain.example
+.B host.domain.example
deliver to host looked up on DNS, tcp/25
.br
-.BR host.domain.example::587
+.B host.domain.example::587
deliver to host looked up on DNS, tcp/587
.br
-.BR 192.168.2.4
+.B 192.168.2.4
deliver to IPv4 host, tcp/25
.br
-.BR 192.168.2.4::587
+.B 192.168.2.4::587
deliver to IPv4 host, tcp/587
.br
-.BR [192.168.2.4]::587
+.B [192.168.2.4]::587
deliver to IPv4 host, tcp/587
.br
-.BR 2001::0db8::f::4::::2
+.B 2001::0db8::f::4::::2
deliver to IPv6 host, tcp/25
.br
-.BR [2001::0db8::f::4::::2]::587
+.B [2001::0db8::f::4::::2]::587
deliver to IPv6 host, tcp/587
.br
This is used as value of the DCsmarthost macro.
@@ -300,7 +318,8 @@ macros.
.I The macro MAIN_PACKAGE_VERSION is set to Debian's Version number of
the package being installed for convenient inclusion in the
configuration.
-
+.
+.LP
.SH RECOMMENDED USAGE
If you are running exim as daemon (as it is in the default setup of the
Debian packages) you should not invoke
@@ -311,12 +330,14 @@ while the original main exim daemon woul
file. You should use
.I invoke\-rc.d exim4 restart
instead.
-
+.
+.LP
.SH BUGS
This manual page needs a major re-work. If somebody knows better groff
than us and has more experience in writing manual pages, any patches
would be greatly appreciated.
-
+.
+.LP
.SH FILES
.LP
.TP
@@ -332,14 +353,16 @@ debconf managed one if it exists.
.B /etc/exim4/update-exim4.conf.conf
Configuration file being written by exim4-config maintainer scripts,
which may be hand-edited, and is read as input by update-exim4.conf.
-
+.
+.LP
.SH SEE ALSO
.BR exim (8),
-.BR exim4-config_files(5),
+.BR exim4-config_files (5),
/usr/share/doc/exim4\-base/ and for general notes and details about interaction
with debconf
/usr/share/doc/exim4\-base/README.Debian.gz
-
+.
+.LP
.SH AUTHOR
Andreas Metzler <ametzler at debian.org>
.br
-- System Information:
Debian Release: bookworm/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 5.18.5-1 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages exim4-config depends on:
ii adduser 3.121
ii debconf [debconf-2.0] 1.5.79
Versions of packages exim4-config recommends:
ii ca-certificates 20211016
exim4-config suggests no packages.
-- Configuration Files:
/etc/email-addresses changed [not included]
/etc/exim4/exim4.conf.template changed [not included]
/etc/exim4/passwd.client [Errno 13] Permission denied: '/etc/exim4/passwd.client'
-- debconf information excluded
More information about the Pkg-exim4-maintainers
mailing list