Package: sysvinit-core
Version: 3.13-1
Severity: minor
Tags: patch

   * What led up to the situation?

     Checking for defects with a new version

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

  [Use "groff -e ' $' -e '\\~$' <file>" to find obvious 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:<stdin>:65: warning: trailing space in the line
troff:<stdin>:67: warning: trailing space in the line
troff:<stdin>:68: warning: trailing space in the line
troff:<stdin>:74: warning: trailing space in the line
troff:<stdin>:75: warning: trailing space in the line
troff:<stdin>:94: warning: trailing space in the line
troff:<stdin>:111: warning: trailing space in the line
troff:<stdin>:127: warning: trailing space in the line
troff:<stdin>:129: warning: trailing space in the line
troff:<stdin>:146: warning: trailing space in the line
troff:<stdin>:285: 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.12.12-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 sysvinit-core depends on:
ii  initscripts     3.13-1
ii  libc6           2.40-6
ii  libselinux1     3.7-3.1
ii  mount           2.40.4-3
ii  sysv-rc         3.13-1
ii  sysvinit-utils  3.13-1

Versions of packages sysvinit-core recommends:
ii  orphan-sysvinit-scripts  0.17

Versions of packages sysvinit-core suggests:
ii  bootlogd  3.13-1

-- debconf information excluded
Input file is inittab.5

Output from "mandoc -T lint  inittab.5": (shortened list)

      1 input text line longer than 80 bytes: attempting to launch...
      1 input text line longer than 80 bytes: interpretation), pla...
      1 normalizing date format to: TH December 4, 2001
     15 whitespace at end of input line

-.-.

Output from "test-groff -mandoc -t -ww -z inittab.5": (shortened list)

     11 trailing space in the line

-.-.

Remove space characters (whitespace) at the end of lines.
Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".

Number of lines affected is

15

-.-.

Change '-' (\-) to '\(en' (en-dash) for a (numeric) range.
GNU gnulib has recently (2023-06-18) updated its
"build_aux/update-copyright" to recognize "\(en" in man pages.

inittab.5:44:is a unique sequence of 1-4 characters which identifies an entry in
inittab.5:244:# Runlevels 2-5 are multi-user.

-.-.


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.

256:ca::ctrlaltdel:/sbin/shutdown -t1 -h now
264:S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320
265:S1:3:respawn:/sbin/mgetty -x0 -D ttyS1

-.-.

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.

Mark a final abbreviation point as such by suffixing it with "\&".

Some sentences (etc.) do not begin on a new line.

51:\fB1\fP for \fBtty1\fP. Some ancient login accounting programs might
69:a historic bug. The length of this field is limited to 127 characters.
81:with the @ symbol. The @ will be ignored and everything followed will be 
treated
87:interpretation), place the + sign before the @ symbol. Both flags will be 
handled
148:will ask for a runlevel on the console. The \fIprocess\fP field is ignored.
152:The process will be executed during system boot. It will be
158:The process will be executed when the power goes down. \fBinit\fR is usually
182:\fBCTRL\-ALT\-DEL\fP key combination. Typically one wants to execute some
194:the time of this writing). Basically you want to map some keyboard
195:combination to the "KeyboardSignal" action. For example, to map Alt-Uparrow

-.-.

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 74, length 86

attempting to launch a shell to interpret the command contained in the process 
field. 

Line 87, length 81

interpretation), place the + sign before the @ symbol. Both flags will be 
handled


-.-.

Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".


inittab.5:30:during normal operation (e.g.\& /etc/init.d/boot, /etc/init.d/rc, 
gettys...).
inittab.5:46:(for versions of sysvinit compiled with the \fIold\fP libc5 (< 
5.2.18) or
inittab.5:107:The process will be restarted whenever it terminates (e.g.\& 
getty).
inittab.5:129:waits for its termination (e.g.\& /etc/rc).  

-.-.

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

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

-.-.

Trailing space in a macro call.

45:.B inittab 
66:.B init 
112:.B init 
128:.B init 

-.-.

Section headings (.SH and .SS) do not need quoting.

291:.SH "SEE ALSO"

-.-.

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

troff:<stdin>:65: warning: trailing space in the line
troff:<stdin>:67: warning: trailing space in the line
troff:<stdin>:68: warning: trailing space in the line
troff:<stdin>:74: warning: trailing space in the line
troff:<stdin>:75: warning: trailing space in the line
troff:<stdin>:94: warning: trailing space in the line
troff:<stdin>:111: warning: trailing space in the line
troff:<stdin>:127: warning: trailing space in the line
troff:<stdin>:129: warning: trailing space in the line
troff:<stdin>:146: warning: trailing space in the line
troff:<stdin>:285: warning: trailing space in the line
--- inittab.5   2025-02-10 21:24:37.355108998 +0000
+++ inittab.5.new       2025-02-10 22:12:30.098749736 +0000
@@ -27,7 +27,8 @@ process
 .\"{{{  Description
 .SH DESCRIPTION
 The \fBinittab\fP file describes which processes are started at bootup and
-during normal operation (e.g.\& /etc/init.d/boot, /etc/init.d/rc, gettys...).
+during normal operation
+(e.g.\& /etc/init.d/boot, /etc/init.d/rc, gettys...).
 .BR init (8)
 distinguishes multiple \fIrunlevels\fP, each of which can have its own set of
 processes that are started.  Valid runlevels are \fB0\fP\-\fB6\fP plus
@@ -40,15 +41,17 @@ processes that are started.  Valid runle
 .RE
 Lines beginning with `#' are ignored.
 .\"{{{  id
-.IP \fIid\fP
-is a unique sequence of 1-4 characters which identifies an entry in
-.B inittab 
-(for versions of sysvinit compiled with the \fIold\fP libc5 (< 5.2.18) or
-a.out libraries the limit is 2 characters).
+.IP \fIid\fP 8n\" indent 8n added for tag 'process'
+is a unique sequence of 1\(en4 characters which identifies an entry in
+.B inittab
+(for versions of sysvinit compiled with the \fIold\fP libc5
+(< 5.2.18)
+or a.out libraries the limit is 2 characters).
 .sp
 Note: traditionally, for getty and other login processes, the value of the
 \fIid\fP field is kept the same as the suffix of the corresponding tty, e.g.\&
-\fB1\fP for \fBtty1\fP. Some ancient login accounting programs might
+\fB1\fP for \fBtty1\fP.
+Some ancient login accounting programs might
 expect this, though I can't think of any.
 .\"}}}
 .\"{{{  runlevels
@@ -62,36 +65,41 @@ describes which action should be taken.
 .\"{{{  process
 .IP \fIprocess\fP
 specifies the process to be executed.  If the process field starts with
-a `+' character, 
-.B init 
-will not do utmp and wtmp accounting for that process.  This is needed for 
-gettys that insist on doing their own utmp/wtmp housekeeping.  This is also 
-a historic bug. The length of this field is limited to 127 characters.
+a `+' character,
+.B init
+will not do utmp and wtmp accounting for that process.  This is needed for
+gettys that insist on doing their own utmp/wtmp housekeeping.  This is also
+a historic bug.
+The length of this field is limited to 127 characters.
 
 Please note that including certain characters in the process field will result
 in
 .B init
-attempting to launch a shell to interpret the command contained in the process 
field. 
-The characters which will trigger a shell are: 
+attempting to launch a shell to interpret the command contained in the
+process field.
+The characters which will trigger a shell are:
 .B ~`!$^&*()=|\{}[];\
 "'<>?
 
 On systems which do not have a shell to be launched or which do not wish to
 use a shell to interpret the process field, the process field can be prefixed
-with the @ symbol. The @ will be ignored and everything followed will be 
treated
+with the @ symbol.
+The @ will be ignored and everything followed will be treated
 as a command to be launched, literally, by the
 .B init
 service.
 
-In cases where both a + and @ sign are to be used (to turn off logging and 
shell
-interpretation), place the + sign before the @ symbol. Both flags will be 
handled
+In cases where both a + and @ sign are to be used
+(to turn off logging and shell interpretation),
+place the + sign before the @ symbol.
+Both flags will be handled
 and then everything following the @ will be handled by
 .B init
 
 .\"}}}
 .PP
 The \fIrunlevels\fP field may contain multiple characters for different
-runlevels.  For example, \fB123\fP specifies that the process should be 
+runlevels.  For example, \fB123\fP specifies that the process should be
 started in runlevels 1, 2, and 3.
 The \fIrunlevels\fP for \fBondemand\fP entries may contain an \fBA\fP,
 \fBB\fP, or \fBC\fP.  The \fIrunlevels\fP field of \fBsysinit\fP,
@@ -103,13 +111,14 @@ then with \s-2SIGKILL\s0.
 .PP
 Valid actions for the \fIaction\fP field are:
 .\"{{{  respawn
-.IP \fBrespawn\fP
-The process will be restarted whenever it terminates (e.g.\& getty).
+.IP \fBrespawn\fP 13n\" indent 13n added for 'powerfailnow'
+The process will be restarted whenever it terminates
+(e.g.\& getty).
 .\"}}}
 .\"{{{  wait
 .IP \fBwait\fP
-The process will be started once when the specified runlevel is entered and 
-.B init 
+The process will be started once when the specified runlevel is entered and
+.B init
 will wait for its termination.
 .\"}}}
 .\"{{{  once
@@ -124,9 +133,10 @@ field is ignored.
 .\"}}}
 .\"{{{  bootwait
 .IP \fBbootwait\fP
-The process will be executed during system boot, while 
-.B init 
-waits for its termination (e.g.\& /etc/rc).  
+The process will be executed during system boot, while
+.B init
+waits for its termination
+(e.g.\& /etc/rc).
 The \fIrunlevels\fP field is ignored.
 .\"}}}
 .\"{{{  off
@@ -143,19 +153,22 @@ and `c').
 .\"{{{  initdefault
 .IP \fBinitdefault\fP
 An \fBinitdefault\fP entry specifies the runlevel which should be
-entered after system boot.  If none exists, 
+entered after system boot.  If none exists,
 .B init
-will ask for a runlevel on the console. The \fIprocess\fP field is ignored.
+will ask for a runlevel on the console.
+The \fIprocess\fP field is ignored.
 .\"}}}
 .\"{{{  sysinit
 .IP \fBsysinit\fP
-The process will be executed during system boot. It will be
+The process will be executed during system boot.
+It will be
 executed before any \fBboot\fP or \fB bootwait\fP entries.
 The \fIrunlevels\fP field is ignored.
 .\"}}}
 .\"{{{  powerwait
 .IP \fBpowerwait\fP
-The process will be executed when the power goes down. \fBinit\fR is usually
+The process will be executed when the power goes down.
+\fBinit\fR is usually
 informed about this by a process talking to a UPS connected to the computer.
 \fBinit\fP will wait for the process to finish before continuing.
 .\"}}}
@@ -179,7 +192,8 @@ external UPS and the monitoring process
 .IP \fBctrlaltdel\fP
 The process will be executed when \fBinit\fP receives the \fBSIGINT\fP signal.
 This means that someone on the system console has pressed the
-\fBCTRL\-ALT\-DEL\fP key combination. Typically one wants to execute some
+\fBCTRL\-ALT\-DEL\fP key combination.
+Typically one wants to execute some
 sort of \fBshutdown\fP either to get into single\-user level or to
 reboot the machine.
 .\"}}}
@@ -190,9 +204,11 @@ keyboard handler that a special key comb
 console keyboard.
 .sp
 The documentation for this function is not complete yet; more documentation
-can be found in the kbd-x.xx packages (most recent was kbd-0.94 at
-the time of this writing). Basically you want to map some keyboard
-combination to the "KeyboardSignal" action. For example, to map Alt-Uparrow
+can be found in the kbd-x.xx packages
+(most recent was kbd-0.94 at the time of this writing).
+Basically you want to map some keyboard
+combination to the "KeyboardSignal" action.
+For example, to map Alt-Uparrow
 for this purpose use the following in your keymaps file:
 .RS
 .sp
@@ -241,7 +257,7 @@ si::sysinit:/etc/init.d/rcS
 #
 # Runlevel 0 is halt.
 # Runlevel 1 is single-user.
-# Runlevels 2-5 are multi-user.
+# Runlevels 2\(en5 are multi-user.
 # Runlevel 6 is reboot.
 
 l0:0:wait:/etc/init.d/rc 0
@@ -253,7 +269,7 @@ l5:5:wait:/etc/init.d/rc 5
 l6:6:wait:/etc/init.d/rc 6
 
 # What to do at the "3 finger salute".
-ca::ctrlaltdel:/sbin/shutdown -t1 -h now
+ca::ctrlaltdel:/sbin/shutdown \-t1 \-h now
 
 # Runlevel 2,3: getty on virtual consoles
 # Runlevel   3: getty on terminal (ttyS0) and modem (ttyS1)
@@ -261,8 +277,8 @@ ca::ctrlaltdel:/sbin/shutdown -t1 -h now
 2:23:respawn:/sbin/getty tty2 VC linux
 3:23:respawn:/sbin/getty tty3 VC linux
 4:23:respawn:/sbin/getty tty4 VC linux
-S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320
-S1:3:respawn:/sbin/mgetty -x0 -D ttyS1
+S0:3:respawn:/sbin/getty \-L 9600 ttyS0 vt320
+S1:3:respawn:/sbin/mgetty \-x0 \-D ttyS1
 
 .fi
 .sp
@@ -282,13 +298,13 @@ This manual page was written by
 .MT lederer@\:francium\:.informatik\:.uni-bonn\:.de
 Sebastian Lederer
 .ME
-and modified by 
+and modified by
 .MT u31b3hs@\:pool\:.informatik\:.rwth-aachen\:.de
 Michael Haardt
 .ME .
 .\"}}}
 .\"{{{  See also
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR init (8),
 .BR telinit (8)
 .\"}}}
  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

-.-

  Any "autogenerator" should check its products with the above mentioned
'groff', 'mandoc', and additionally with 'nroff ...'.

  It should also check its input files for too long (> 80) lines.

  This is just a simple quality control measure.

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

  Common defects:

  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.
Line length should thus be reduced.

  The script "reportbug" uses 'quoted-printable' encoding when a line is
longer than 1024 characters in an 'ascii' file.

  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 -d -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 from 'diff -d -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)

-.-

Reply via email to