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)