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