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>:285: misuse, warning: .BR is for at least 2 arguments, got 1
        Use macro '.B' for one argument or split argument.
an.tmac:<stdin>:372: warning: cannot nest .TP or .TQ inside .TP; supply a tag


   * 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-4
ii  libc6          2.40-7
ii  libcom-err2    1.47.2-1
ii  libext2fs2t64  1.47.2-1
ii  libss2         1.47.2-1
ii  libuuid1       2.40.4-4
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 mke2fs.8

Output from "mandoc -T lint  mke2fs.8": (shortened list)


      1 input text line longer than 80 bytes: Copy the contents of...
      1 input text line longer than 80 bytes: are specified then t...
      1 line scope broken: TP breaks TP

-.-.

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


      1         Use macro '.B' for one argument or split argument.
      1 .BR is for at least 2 arguments, got 1
      1 cannot nest .TP or .TQ inside .TP; supply a tag

-.-.

Change (or include a "FIXME" paragraph about) misused SI (metric)
numeric prefixes (or names) to the binary ones, like Ki (kibi), Mi
(mebi), Gi (gibi), or Ti (tebi), if indicated.
If the metric prefixes are correct, add the definitions or an
explanation to avoid misunderstanding.

162:does not have a suffix, it is interpreted as power-of-two kilobytes,
172:power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
208:file systems with block-size smaller or equal to the system page size - 4k 
on
209:x86 systems, up to 64k on ppc64 or aarch64 depending on kernel 
configuration).
213:option).  In most common cases, the default block size is 4k. If
222:the blocksize be a multiple of 2k.
575:kilobytes.
605:(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)

-.-.

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

208:file systems with block-size smaller or equal to the system page size - 4k 
on
209:x86 systems, up to 64k on ppc64 or aarch64 depending on kernel 
configuration).
213:option).  In most common cases, the default block size is 4k. If
222:the blocksize be a multiple of 2k.
605:(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)

-.-.

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.

208:file systems with block-size smaller or equal to the system page size - 4k 
on
215:is preceded by a negative sign ('-'), then
242:at run-time. The special value "-" will read a tarball from standard input.
545:.B mke2fs -O journal_dev
568:.B -L

-.-.

Find a repeated word

! 788 --> is
! 826 --> clear

-.-.

Add a "\&" (or a comma (,)) after "e.g." and "i.e.", or use English words
(man-pages(7)).
Abbreviation points should be protected against being interpreted as
an end of sentence, if they are not, and that independent of the
current place on the line.

440:N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is 
one

-.-.

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.

Split (sometimes) lines after a punctuation mark; before a conjunction.

N.B.

  The number of lines affected can be too large to be in a patch.

  Lines with only one (or two) space(s) between sentences could be split,
so latter sentences begin on a new line.

Use

#!/usr/bin/sh

sed -e '/^\./n' \
-e 's/\([[:alpha:]]\)\.  */\1.\n/g' $1

to split lines after a sentence period.
Check result with the difference between the formatted outputs.
See also the attachment "general.bugs"

[List of affected lines removed]

-.-.

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.
Add "\:" to split the string for the output, "\<newline>" in the source.  


Line 239, length 82

Copy the contents of the given directory or tarball into the root directory of 
the

Line 422, length 81

are specified then the root directory permissions would be set in accordance 
with

-.-.

Use \(en (en-dash) for a dash at the beginning (en) of a line,
or between space characters,
not a minus (\-) or a hyphen (-), except in the NAME section.

mke2fs.8:208:file systems with block-size smaller or equal to the system page 
size - 4k on

-.-.

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

170:blocks.   If the fs-size is suffixed by 'k', 'm', 'g', 't'
235:man page for more details about bigalloc.)   The default cluster size if
394:feature is set.   The default quota types to be initialized if this
405:Specify the file system revision number.   Revision 0 file systems
407:1995).   This is only needed for testing or people who want to use
761:file.   This option controls which file system options are used by

-.-.

The name of a man page is typeset in bold and the section in roman
(see man-pages(7)).

845:an undo file.  This undo file can be used with e2undo(8) to restore the old

-.-.

The section part for a manual page is set in roman font.

234:.B ext4 (5)

-.-.

Use the name of units in text; use symbols in tables and
calculations.
The rule is to have a (no-break, \~) space between a number and
its units (see "www.bipm.org/en/publications/si-brochure")

208:file systems with block-size smaller or equal to the system page size - 4k 
on
209:x86 systems, up to 64k on ppc64 or aarch64 depending on kernel 
configuration).
213:option).  In most common cases, the default block size is 4k. If
222:the blocksize be a multiple of 2k.
605:(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)

-.-.

Split a punctuation from a single argument, if a two-font macro is meant.

430:.I chunk size.

-.-.

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


mke2fs.8:155:partition (or file) named by
mke2fs.8:389:Specify the which  quota types (usrquota, grpquota, prjquota) which
mke2fs.8:458:or is mounted (a truly dangerous thing to do), this option must be
mke2fs.8:479:create a larger virtual block group (or "flex_bg group") in an
mke2fs.8:528:create an appropriately sized journal (given the size of the file 
system)
mke2fs.8:597:suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
mke2fs.8:601:Create an internal journal (i.e., stored inside the file system) 
of size
mke2fs.8:607:file system size (whichever is smaller)
mke2fs.8:679:Create a file system with the given features (file system options),
mke2fs.8:753:Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is

-.-.

Use thousand markers to make large numbers easy to read

207:from 1024 up to 65536 (however note that the kernel is able to mount only
231:feature.  Valid cluster-size values range from 2 to 32768 times the

-.-.

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

an.tmac:<stdin>:285: misuse, warning: .BR is for at least 2 arguments, got 1
        Use macro '.B' for one argument or split argument.
an.tmac:<stdin>:372: warning: cannot nest .TP or .TQ inside .TP; supply a tag

-.-

Additionally:

"that" used in on place instead fo "which".

-.-

Eliminate space between roman '(' and italic 'fast-commit-size'.

-.-

Add italic correction between roman ] and italic f in

-O [^]feature

-.-

Generally:

Split (sometimes) lines after a punctuation mark; before a conjunction.
--- mke2fs.8    2025-02-24 16:19:01.888784058 +0000
+++ mke2fs.8.new        2025-02-24 17:50:30.703902664 +0000
@@ -151,8 +151,10 @@ mke2fs \- create an ext2/ext3/ext4 file
 ]
 .SH DESCRIPTION
 .B mke2fs
-is used to create an ext2, ext3, or ext4 file system, usually in a disk
-partition (or file) named by
+is used to create an ext2, ext3, or ext4 file system,
+usually in a disk partition
+(or file)
+named by
 .IR device .
 .PP
 The file system size is specified by
@@ -167,7 +169,8 @@ option is specified, in which case
 .I fs-size
 is interpreted as the number of
 .I blocksize
-blocks.   If the fs-size is suffixed by 'k', 'm', 'g', 't'
+blocks.
+If the fs-size is suffixed by 'k', 'm', 'g', 't'
 (either upper-case or lower-case), then it is interpreted in
 power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
 If
@@ -204,22 +207,23 @@ manual page for more details.
 .TP
 .BI \-b " block-size"
 Specify the size of blocks in bytes.  Valid block-size values are powers of two
-from 1024 up to 65536 (however note that the kernel is able to mount only
-file systems with block-size smaller or equal to the system page size - 4k on
-x86 systems, up to 64k on ppc64 or aarch64 depending on kernel configuration).
+from 1024 up to 65,536 (however note that the kernel is able to mount only
+file systems with block-size smaller
+or equal to the system page size \(en 4\~KiB on x86 systems,
+up to 64\~KiB on ppc64 or aarch64 depending on kernel configuration).
 If omitted, block-size is heuristically determined by the file system size and
 the expected usage of the file system (see the
 .B \-T
-option).  In most common cases, the default block size is 4k. If
+option).  In most common cases, the default block size is 4\~KiB. If
 .I block-size
-is preceded by a negative sign ('-'), then
+is preceded by a negative sign ('\-'), then
 .B mke2fs
 will use heuristics to determine the
 appropriate block size, with the constraint that the block size will be
 at least
 .I block-size
 bytes.  This is useful for certain hardware devices which require that
-the blocksize be a multiple of 2k.
+the blocksize be a multiple of 2\~KiB.
 .TP
 .B \-c
 Check the device for bad blocks before creating the file system.  If
@@ -228,18 +232,19 @@ test is used instead of a fast read-only
 .TP
 .B \-C " cluster-size"
 Specify the size of cluster in bytes for file systems using the bigalloc
-feature.  Valid cluster-size values range from 2 to 32768 times the
+feature.  Valid cluster-size values range from 2 to 32,768 times the
 filesystem blocksize and must be a power of 2.  The cluster-size can
 only be specified if the bigalloc feature is enabled.  (See the
-.B ext4 (5)
+.BR ext4 (5)
 man page for more details about bigalloc.)   The default cluster size if
 bigalloc is enabled is 16 times the block size.
 .TP
 .BI \-d " root-directory|tarball"
-Copy the contents of the given directory or tarball into the root directory of 
the
+Copy the contents of the given directory
+or tarball into the root directory of the
 file system. Tarball input is only available if mke2fs was compiled with
 libarchive support enabled and if the libarchive shared library is available
-at run-time. The special value "-" will read a tarball from standard input.
+at run-time. The special value "\-" will read a tarball from standard input.
 .TP
 .B \-D
 Use direct I/O when writing to the disk.  This avoids mke2fs dirtying a
@@ -282,7 +287,7 @@ The following extended options are suppo
 .TP
 .B assume_storage_prezeroed\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
 If enabled,
-.BR mke2fs
+.B mke2fs
 assumes that the storage device has been prezeroed, skips zeroing the journal
 and inode tables, and annotates the block group flags to signal that the inode
 table has been zeroed.
@@ -369,7 +374,6 @@ be 0, 1, or 2 backup superblocks created
 Create the file system at an offset from the beginning of the device or
 file.  This can be useful when creating disk images for virtual machines.
 .TP
-.TP
 .BI orphan_file_size= size
 Set size of the file for tracking unlinked but still open inodes and inodes
 with truncate in progress. Larger file allows for better scalability, reserving
@@ -386,12 +390,14 @@ can be useful for certain specialized us
 Shingled Drives.
 .TP
 .B quotatype
-Specify the which  quota types (usrquota, grpquota, prjquota) which
-should be enabled in the created file system.  The argument of this
+Specify the quota types
+(usrquota, grpquota, prjquota)
+that should be enabled in the created file system.  The argument of this
 extended option should be a colon separated list.  This option has
 effect only if the
 .B quota
-feature is set.   The default quota types to be initialized if this
+feature is set.
+The default quota types to be initialized if this
 option is not specified is both user and group quotas.  If the project
 feature is enabled that project quotas will be initialized as well.
 .TP
@@ -402,9 +408,11 @@ to support a file system that has
 blocks.
 .TP
 .BI revision= fs-revision
-Specify the file system revision number.   Revision 0 file systems
+Specify the file system revision number.
+Revision 0 file systems
 provide compatibility with pre-1.2 Linux kernels (dating from before
-1995).   This is only needed for testing or people who want to use
+1995).
+This is only needed for testing or people who want to use
 very early, historical Linux systems.  The current default (supported
 by all modern Linux systems) is revision 1.
 .TP
@@ -418,8 +426,9 @@ and avoid side-effects for users that do
 file system to change based on the user running \fBmke2fs\fR.
 .TP
 .BI root_perms [=permissions]
-Specify the root directory permissions in octal format. If no permissions
-are specified then the root directory permissions would be set in accordance 
with
+Specify the root directory permissions in octal format.
+If no permissions are specified
+then the root directory permissions would be set in accordance with
 the default filesystem umask.
 .TP
 .BI stride= stride-size
@@ -427,7 +436,7 @@ Configure the file system for a RAID arr
 .I stride-size
 file system blocks. This is the number of blocks read or written to disk
 before moving to the next disk, which is sometimes referred to as the
-.I chunk size.
+.IR "chunk size" .
 This mostly affects placement of file system metadata like bitmaps at
 .B mke2fs
 time to avoid placing them on a single disk, which can hurt performance.
@@ -437,8 +446,9 @@ It may also be used by the block allocat
 Configure the file system for a RAID array with
 .I stripe-width
 file system blocks per stripe. This is typically stride-size * N, where
-N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
-parity disk, so N will be the number of disks in the array minus 1).
+N is the number of data-bearing disks in the RAID
+(e.g.\& for RAID 5 there is one parity disk,
+so N will be the number of disks in the array minus 1).
 This allows the block allocator to prevent read-modify-write of the
 parity in a RAID stripe if possible when the data is written.
 .TP
@@ -455,8 +465,9 @@ on a block special device, or if other p
 In order to force
 .B mke2fs
 to create a file system even if the file system appears to be in use
-or is mounted (a truly dangerous thing to do), this option must be
-specified twice.
+or is mounted
+(a truly dangerous thing to do),
+this option must be specified twice.
 .TP
 .BI \-g " blocks-per-group"
 Specify the number of blocks in a block group.  There is generally no
@@ -476,8 +487,9 @@ option will specify the number of cluste
 .TP
 .BI \-G " number-of-groups"
 Specify the number of block groups that will be packed together to
-create a larger virtual block group (or "flex_bg group") in an
-ext4 file system.  This improves meta-data locality and performance
+create a larger virtual block group
+(or "flex_bg group")
+in an ext4 file system.  This improves meta-data locality and performance
 on meta-data heavy workloads.  The number of groups must be a power
 of 2 and may only be specified if the
 .B flex_bg
@@ -525,7 +537,8 @@ all file systems, except for the GNU Hur
 Create the file system with an ext3 journal.  If the
 .B \-J
 option is not specified, the default journal parameters will be used to
-create an appropriately sized journal (given the size of the file system)
+create an appropriately sized journal
+(given the size of the file system)
 stored within the file system.  Note that you must be using a kernel
 which has ext3 support in order to actually make use of the journal.
 .TP
@@ -542,7 +555,7 @@ Attach the file system to the journal bl
 The external
 journal must already have been created using the command
 .IP
-.B mke2fs -O journal_dev
+.B mke2fs \-O journal_dev
 .I external-journal
 .IP
 Note that
@@ -565,7 +578,7 @@ to locate the external journal by either
 stored in the ext2 superblock at the start of the journal.  Use
 .BR dumpe2fs (8)
 to display a journal device's volume label and UUID.  See also the
-.B -L
+.B \-L
 option of
 .BR tune2fs (8).
 .TP
@@ -584,8 +597,8 @@ feature is turned on, fast commit area s
 .B fast_commit
 feature set is
 .I journal-size
-+ (
-.I fast-commit-size
++
+.RI ( fast-commit-size
 * 1024) megabytes. The total journal size may be no more than
 10,240,000 file system blocks or half the total file system size
 (whichever is smaller).
@@ -594,17 +607,22 @@ feature set is
 Specify the location of the journal.  The argument
 .I journal-location
 can either be specified as a block number, or if the number has a units
-suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+suffix
+(e.g., 'M', 'G', etc.\&)
+interpret it as the offset from the
 beginning of the file system.
 .TP
 .BI size= journal-size
-Create an internal journal (i.e., stored inside the file system) of size
+Create an internal journal
+(i.e., stored inside the file system)
+of size
 .I journal-size
 megabytes.
-The size of the journal must be at least 1024 file system blocks
-(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+The size of the journal must be at least 1024 bytes file system blocks
+(i.e., 1\~MiB if using 1\~KiB blocks, 4\~MiB if using 4\~KiB blocks, etc.)
 and may be no more than 10,240,000 file system blocks or half the total
-file system size (whichever is smaller)
+file system size
+(whichever is smaller)
 .RE
 .IP
 Only one of the
@@ -675,8 +693,9 @@ file system.  The creator field is set b
 .B mke2fs
 executable was compiled for.
 .TP
-.B "\-O \fR[^]\fIfeature\fR[,...]"
-Create a file system with the given features (file system options),
+.B "\-O \fR[^]\,\fIfeature\fR[,...]"
+Create a file system with the given features
+(file system options),
 overriding the default file system options.  The features that are
 enabled by default are specified by the
 .I base_features
@@ -750,15 +769,17 @@ file system so other options can be trie
 .\" using the specified test.
 .TP
 .BI \-t " fs-type"
-Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is
-to be created.
+Specify the file system type
+(i.e., ext2, ext3, ext4, etc.\&)
+that is to be created.
 If this option is not specified,
 .B mke2fs
 will pick a default either via how
 the command was run (for example, using a name of the form mkfs.ext2,
 mkfs.ext3, etc.) or via a default as defined by the
 .B /etc/mke2fs.conf
-file.   This option controls which file system options are used by
+file.
+This option controls which file system options are used by
 default, based on the
 .B fstypes
 configuration stanza in
@@ -785,7 +806,7 @@ types that are supported are defined in
 The user may specify one or more usage types
 using a comma separated list.
 .sp
-If this option is is not specified,
+If this option is not specified,
 .B mke2fs
 will pick a single default usage type based on the size of the file system to
 be created.  If the file system size is less than 3 megabytes,
@@ -842,7 +863,9 @@ and exit.
 .TP
 .BI \-z " undo_file"
 Before overwriting a file system block, write the old contents of the block to
-an undo file.  This undo file can be used with e2undo(8) to restore the old
+an undo file.  This undo file can be used with
+.BR e2undo (8)
+to restore the old
 contents of the file system should something go wrong.  If the empty string is
 passed as the undo_file argument, the undo file will be written to a file named
 mke2fs-\fIdevice\fR.e2undo in the directory specified via the
  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.

  "git" has a "tool" to point out whitespace,
see for example "git-apply(1)" and git-config(1)")

  Not beginning each input sentence on a new line.
Line length and patch size 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