Package: e2fsprogs
Version: 1.47.2-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?

an.tmac:<stdin>:141: misuse, warning: .IR is for at least 2 arguments, got 1
        Use macro '.I' for one argument or split argument.

   * 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 e2fsprogs depends on:
ii  libblkid1      2.40.4-2
ii  libc6          2.40-6
ii  libcom-err2    1.47.2-1
ii  libext2fs2t64  1.47.2-1
ii  libss2         1.47.2-1
ii  libuuid1       2.40.4-2
ii  logsave        1.47.2-1

Versions of packages e2fsprogs recommends:
pn  e2fsprogs-l10n  <none>

Versions of packages e2fsprogs suggests:
pn  e2fsck-static    <none>
pn  fuse2fs          <none>
pn  gpart            <none>
ii  libarchive13t64  3.7.4-1.1
ii  parted           3.6-4+b1

-- no debconf information
Input file is e2fsck.conf.5

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

      1 skipping paragraph macro: PP empty
      2 skipping paragraph macro: br after PP

-.-.

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

      1         Use macro '.I' for one argument or split argument.
      1 .IR is for at least 2 arguments, got 1

-.-.

Add a (no-break, "\ " or "\~") space between a number and a unit,
as these are not one entity.

171:(For example a 40TB file system with 2.8 billion inodes will consume an
250:this is set the size of two block groups' inode tables (typically 4MiB on a

-.-.

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.

257:.B -v
262:.B -tt
268:.B -v
337:.B -n
348:.B -y

-.-.

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.
p
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.

206:will be written.   If certain problem reports are suppressed using the
212:etc.) which will be expanded so that the file name for the log file can
233:etc.) which will be expanded so that the file name for the log file can
480:read/write.   To avoid too much detail from being written to the serial

-.-.

Do not use more than two space characters between sentences or (better)
only a new line character.

206:will be written.   If certain problem reports are suppressed using the
480:read/write.   To avoid too much detail from being written to the serial

-.-.

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

141:.IR accept_time_fudge.

-.-.

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


e2fsck.conf.5:58:apply: "\en" (for the newline character),
e2fsck.conf.5:59:"\et" (for the tab character), "\eb" (for the backspace 
character),
e2fsck.conf.5:60:and "\e\e" (for the backslash character).
e2fsck.conf.5:152:file system checks (either based on time or number of mounts) 
should
e2fsck.conf.5:223:end up delaying the boot process for a long time (potentially 
hours).
e2fsck.conf.5:313:parameter (set in the options section) for this particular 
problem.
e2fsck.conf.5:322:problem (or question) should be "no".
e2fsck.conf.5:349:option given on the command-line (just for the specific 
problem, of course).
e2fsck.conf.5:453:The current year (i.e., 2012).
e2fsck.conf.5:481:console (which could potentially slow down the boot 
sequence), only print

-.-.

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

an.tmac:<stdin>:141: misuse, warning: .IR is for at least 2 arguments, got 1
        Use macro '.I' for one argument or split argument.
--- e2fsck.conf.5       2025-02-10 01:45:30.963612758 +0000
+++ e2fsck.conf.5.new   2025-02-10 03:06:13.234276881 +0000
@@ -55,9 +55,15 @@ line character.
 .P
 Tags and values must be quoted using double quotes if they contain
 spaces.  Within a quoted string, the standard backslash interpretations
-apply: "\en" (for the newline character),
-"\et" (for the tab character), "\eb" (for the backspace character),
-and "\e\e" (for the backslash character).
+apply:
+"\en"
+(for the newline character),
+"\et"
+(for the tab character),
+"\eb"
+(for the backspace character),
+and "\e\e"
+(for the backslash character).
 .P
 The following stanzas are used in the
 .I e2fsck.conf
@@ -138,7 +144,7 @@ above defaulted to false, and
 .I buggy_init_scripts
 would enable superblock time field to be wrong by up to 24 hours.  When
 we changed the default, we also renamed this boolean relation to
-.IR accept_time_fudge.
+.IR accept_time_fudge .
 .TP
 .I clear_test_fs_flag
 This boolean relation controls whether or not
@@ -149,7 +155,9 @@ defaults to true.
 .TP
 .I defer_check_on_battery
 This boolean relation controls whether or not the interval between
-file system checks (either based on time or number of mounts) should
+file system checks
+(either based on time or number of mounts)
+should
 be doubled if the system is running on battery.  This setting defaults to
 true.
 .TP
@@ -168,7 +176,7 @@ If this boolean relation is true, trade
 checking a file system with a large number of hard-linked files.  The
 amount of memory required is proportional to the number of inodes in the
 file system.  For large file systems, this can be gigabytes of memory.
-(For example a 40TB file system with 2.8 billion inodes will consume an
+(For example a 40\~TB file system with 2.8 billion inodes will consume an
 additional 5.7 GB memory if this optimization is enabled.)  This setting
 defaults to false.
 .TP
@@ -203,13 +211,14 @@ for e2fsck log files.
 .TP
 .I log_filename
 This relation specifies the file name where a copy of e2fsck's output
-will be written.   If certain problem reports are suppressed using the
+will be written.
+If certain problem reports are suppressed using the
 .I max_count_problems
 relation, (or on a per-problem basis using the
 .I max_count
 relation), the full set of problem reports will be written to the log
 file.  The filename may contain various percent-expressions (%D, %T, %N,
-etc.) which will be expanded so that the file name for the log file can
+etc.\&) which will be expanded so that the file name for the log file can
 include things like date, time, device name, and other run-time
 parameters.  See the
 .B LOGGING
@@ -220,7 +229,8 @@ This relation specifies the maximum numb
 particular type will be printed to stdout before further problem reports
 of that type are squelched.  This can be useful if the console is slow
 (i.e., connected to a serial port) and so a large amount of output could
-end up delaying the boot process for a long time (potentially hours).
+end up delaying the boot process for a long time
+(potentially hours).
 .TP
 .I no_optimize_extents
 If this boolean relation is true, do not offer to optimize the extent
@@ -230,7 +240,7 @@ tree by reducing the tree's width or dep
 This relation specifies the file name where a log of problem codes
 found by e2fsck be written.  The filename may contain various
 percent-expressions (%D, %T, %N,
-etc.) which will be expanded so that the file name for the log file can
+etc.\&) which will be expanded so that the file name for the log file can
 include things like date, time, device name, and other run-time
 parameters.  See the
 .B LOGGING
@@ -247,25 +257,25 @@ for more details.
 .I readahead_kb
 Use this amount of memory to read in metadata blocks ahead of the main checking
 thread.  Setting this value to zero disables readahead entirely.  By default,
-this is set the size of two block groups' inode tables (typically 4MiB on a
+this is set the size of two block groups' inode tables (typically 4\~MiB on a
 regular ext4 file system); if this amount is more than 1/50th of total physical
 memory, readahead is disabled.
 .TP
 .I report_features
 If this boolean relation is true, e2fsck will print the file system
 features as part of its verbose reporting (i.e., if the
-.B -v
+.B \-v
 option is specified)
 .TP
 .I report_time
 If this boolean relation is true, e2fsck will run as if the options
-.B -tt
+.B \-tt
 are always specified.  This will cause e2fsck to print timing statistics
 on a pass by pass basis for full file system checks.
 .TP
 .I report_verbose
 If this boolean relation is true, e2fsck will run as if the option
-.B -v
+.B \-v
 is always specified.  This will cause e2fsck to print some additional
 information at the end of each full file system check.
 .SH THE [defaults] STANZA
@@ -310,7 +320,9 @@ is running in preen mode.
 .I max_count
 This integer relation overrides the
 .I max_count_problems
-parameter (set in the options section) for this particular problem.
+parameter
+(set in the options section)
+for this particular problem.
 .TP
 .I no_ok
 This boolean relation overrides the default behavior determining
@@ -319,7 +331,9 @@ declines to fix the reported problem.
 .TP
 .I no_default
 This boolean relation overrides whether the default answer for this
-problem (or question) should be "no".
+problem
+(or question)
+should be "no".
 .TP
 .I preen_nomessage
 This boolean relation overrides the default behavior controlling
@@ -334,7 +348,7 @@ whether or not the description for this
 be suppressed when a problem forced not to be fixed, either because
 .B e2fsck
 is run with the
-.B -n
+.B \-n
 option or because the
 .I force_no
 flag has been set for the problem.
@@ -345,8 +359,9 @@ That is, it will be as if the user probl
 of 'should this problem be fixed?'.  The
 .I force_no
 option even overrides the
-.B -y
-option given on the command-line (just for the specific problem, of course).
+.B \-y
+option given on the command-line
+(just for the specific problem, of course).
 .TP
 .I not_a_fix
 This boolean option, it set to true, marks the problem as
@@ -450,7 +465,8 @@ instead of the local timezone.
 The last two digits of the current year (00..99)
 .TP
 .B %Y
-The current year (i.e., 2012).
+The current year
+(i.e., 2012).
 .SH EXAMPLES
 The following recipe will prevent e2fsck from aborting during the boot
 process when a file system contains orphaned files.  (Of course, this is
@@ -459,7 +475,6 @@ security of the system could potentially
 starting the system without first having a system administrator check
 things out may be dangerous.)
 .P
-.br
        [problems]
 .br
                0x040002 = {
@@ -477,11 +492,13 @@ name, the hostname of the system, the da
 /var/log is located on the root file system
 which is initially mounted read-only, then the output will be saved in
 memory and written out once the root file system has been remounted
-read/write.   To avoid too much detail from being written to the serial
-console (which could potentially slow down the boot sequence), only print
+read/write.
+To avoid too much detail from being written to the serial
+console
+(which could potentially slow down the boot sequence),
+only print
 no more than 16 instances of each type of file system corruption.
 .P
-.br
        [options]
 .br
                max_count_problems = 16
@@ -491,7 +508,6 @@ no more than 16 instances of each type o
                log_filename = e2fsck-%N.%h.INFO.%D-%T
 .br
                log_dir_wait = true
-.P
 .SH FILES
 .TP
 .I /etc/e2fsck.conf
  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