Package: libpam-runtime
Version: 1.5.3-7
Severity: minor
Tags: patch

   * What led up to the situation?

     Checking for defects with

test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -ww -b -z < "man page"

  [Use "groff -e ' $' <file>" to find trailing spaces.]

  ["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).

  [The fate of "test-nroff" was decided in groff bug #55941.]

   * What was the outcome of this action?

troff: backtrace: file '<stdin>':35
troff:<stdin>:35: warning: trailing space in the line

   * What outcome did you expect instead?

     No output (no warnings).

-.-

  General remarks and further material, if a diff-file exist, are in the
attachments.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.11.5-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), 
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages libpam-runtime depends on:
ii  debconf [debconf-2.0]  1.5.87
ii  libpam-modules         1.5.3-7+b1

libpam-runtime recommends no packages.

libpam-runtime suggests no packages.

-- debconf information excluded
  Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)

[gn]roff -mandoc -t -ww -b -z -K utf8  <man page>

  The same goes for man pages that are used as an input.

  For a style guide use

  mandoc -T lint

-.-

  So any 'generator' should check its products with the above mentioned
'groff', 'mandoc',  and additionally with 'nroff ...'.

  This is just a simple quality control measure.

  The 'generator' may have to be corrected to get a better man page,
the source file may, and any additional file may.

  Common defects:

  Input text line longer than 80 bytes.

  Not removing trailing spaces (in in- and output).
  The reason for these trailing spaces should be found and eliminated.

  Not beginning each input sentence on a new line.
Lines should thus be shorter.

  See man-pages(7), item 'semantic newline'.

-.-

The difference between the formatted output of the original and patched file
can be seen with:

  nroff -mandoc <file1> > <out1>
  nroff -mandoc <file2> > <out2>
  diff -u <out1> <out2>

and for groff, using

"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - "

instead of 'nroff -mandoc'

  Add the option '-t', if the file contains a table.

  Read the output of 'diff -u' with 'less -R' or similar.

-.-.

  If 'man' (man-db) is used to check the manual for warnings,
the following must be set:

  The option "-warnings=w"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT="-ww -b -z"

export MAN_KEEP_STDERR=yes (or any non-empty value)

-.-.

Output from "mandoc -T lint pam-auth-update.8": (possibly shortened list)

mandoc: pam-auth-update.8:35:24: STYLE: whitespace at end of input line
mandoc: pam-auth-update.8:76:129: STYLE: input text line longer than 80 bytes: 
Disable the specifie...
mandoc: pam-auth-update.8:97:2: WARNING: skipping paragraph macro: PP after SH

-.-.

Remove space characters at the end of lines.

Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".

35:Profiles shipped in the 

-.-.

Use the correct macro for the font change of a single argument or
split the argument into two.

52:.IR "/etc/pam.d/common-*".

-.-.

Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, groff \[u2010] or \[hy]) in the output.

20:pam\-auth\-update - manage PAM configuration using packaged profiles

-.-.

Wrong distance between sentences in the input file.

  Separate the sentences and subordinate clauses; each begins on a new
line.  See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").

  The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.

Remember coding: Only one command ("sentence") on each (logical) line.

E-mail: Easier to quote exactly the relevant lines.

Generally: Easier to edit the sentence.

Patches: Less unaffected text.

Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.

  The amount of space between sentences in the output can then be
controlled with the ".ss" request.

79:Enable the specified profiles in system configuration. This is used to

-.-.

Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.


Line 76, length 129

Disable the specified profiles in system configuration.  This can be used from 
system administration scripts to disable profiles.


-.-.

Remove reverse slash (\) in front of a period (.) that is to be printed
as such, and can not come a control character in the first column of a line.
Use "\&" to protect the period to avoid that.
This could be  a sign, that the man page was transformed from another source
file with a program, whose name is NOT mentioned in a comment.

67:.IR ".pam\-old" .

-.-.

Split a punctuation mark from a single argument for a two-font macro

52:.IR "/etc/pam.d/common-*".

-.-.

Name of a manual is set in bold, the section in roman.
See man-pages(7).

112:PAM(7), pam.d(5), debconf(7)

-.-.

FSF office address update.  See
https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00004.html

16:.\" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,

-.-.

Two or more space charaters between printable characters

76:Disable the specified profiles in system configuration.  This can be used 
from system administration scripts to disable profiles.

-.-.

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -ww -b -z ":

troff: backtrace: file '<stdin>':35
troff:<stdin>:35: warning: trailing space in the line

-.-

  Additionally (general):

FSF office address update.  See
https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00004.html
--- pam-auth-update.8   2024-11-14 18:31:59.037194980 +0000
+++ pam-auth-update.8.new       2024-11-14 18:55:37.781484346 +0000
@@ -17,22 +17,22 @@
 .\" USA.
 .TH "PAM\-AUTH\-UPDATE" "8" "08/23/2008" "Debian"
 .SH NAME
-pam\-auth\-update - manage PAM configuration using packaged profiles
+pam\-auth\-update \- manage PAM configuration using packaged profiles
 .SH SYNOPSIS
 .B pam\-auth\-update
 .RB [ \-\-package " [" \-\-remove
-.IR profile " [" profile\fR... "]]]"
+.IR profile " [" profile\fR...\& "]]]"
 .RB [ \-\-force ]
 .RB [ \-\-enable
-.IR profile " [" profile\fR... "]]"
+.IR profile " [" profile\fR...\& "]]"
 .RB [ \-\-disable
-.IR profile " [" profile\fR... "]]"
+.IR profile " [" profile\fR...\& "]]"
 .SH DESCRIPTION
 .I pam\-auth\-update
 is a utility that permits configuring the central authentication policy
 for the system using pre-defined profiles as supplied by PAM module
 packages.
-Profiles shipped in the 
+Profiles shipped in the
 .I /usr/share/pam\-configs/
 directory specify the modules, with options, to enable; the preferred
 ordering with respect to other profiles; and whether a profile should be
@@ -49,7 +49,7 @@ Users may invoke
 directly to change their authentication configuration.
 .PP
 The script makes every effort to respect local changes to
-.IR "/etc/pam.d/common-*".
+.IR /etc/pam.d/common-* .
 Local modifications to the list of module options will be preserved, and
 additions of modules within the managed portion of the stack will cause
 .B pam\-auth\-update
@@ -64,7 +64,7 @@ should override local configuration chan
 will be saved in
 .I /etc/pam.d/
 with a suffix of
-.IR "\.pam\-old" .
+.IR .pam\-old .
 .SH OPTIONS
 .TP
 .B \-\-package
@@ -73,11 +73,12 @@ priority of debconf questions to `medium
 prompted by default.
 .TP
 .B \-\-disable \fIprofile \fR[\fIprofile\fR...]
-Disable the specified profiles in system configuration.  This can be used from 
system administration scripts to disable profiles.
+Disable the specified profiles in system configuration.
+This can be used from system administration scripts to disable profiles.
 .TP
 .B \-\-enable \fIprofile \fR[\fIprofile\fR...]
-Enable the specified profiles in system configuration. This is used to
-enable profiles that are not on by default.
+Enable the specified profiles in system configuration.
+This is used to enable profiles that are not on by default.
 .TP
 .B \-\-remove \fIprofile \fR[\fIprofile\fR...]
 Remove the specified profiles from the system configuration.
@@ -94,7 +95,7 @@ This option
 be used by package maintainer scripts; it is intended for use by
 administrators only.
 .SH FILES
-.PP
+.
 .I /etc/pam.d/common\-*
 .RS 4
 Global configuration of PAM, affecting all installed services.
@@ -109,4 +110,4 @@ Steve Langasek <steve.langasek@canonical
 .SH COPYRIGHT
 Copyright (C) 2008 Canonical Ltd.
 .SH "SEE ALSO"
-PAM(7), pam.d(5), debconf(7)
+.BR PAM "(7), " pam.d "(5), " debconf (7)

Reply via email to