Package: libcap-dev
Version: 1:2.66-5+b1
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>:1: style: .TH missing fourth argument; consider package/project 
name and version (e.g., "groff 1.23.0")


   * 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.10-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 libcap-dev depends on:
ii  libc6    2.40-6
ii  libcap2  1:2.66-5+b1

libcap-dev recommends no packages.

Versions of packages libcap-dev suggests:
ii  manpages-dev  6.9.1-1

-- no debconf information
Input file is cap_copy_ext.3

Output from "mandoc -T lint  cap_copy_ext.3": (shortened list)

      1 whitespace at end of input line

-.-.

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

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

-.-.

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

1

-.-.

Use the correct macro for the font change of a single argument or
split the argument into two.

89:.BR errno

-.-.

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

cap_copy_ext.3:23:returns the total length (in bytes) that the capability state 
in working

-.-.

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

an.tmac:<stdin>:1: style: .TH missing fourth argument; consider package/project 
name and version (e.g., "groff 1.23.0")
an.tmac:<stdin>:89: misuse, warning: .BR is for at least 2 arguments, got 1
        Use macro '.B' for one argument or split argument.
--- cap_copy_ext.3      2025-01-30 01:43:00.295259515 +0000
+++ cap_copy_ext.3.new  2025-01-30 01:55:13.697305542 +0000
@@ -14,35 +14,46 @@ cap_t cap_copy_int(const void * ext_p);
 Link with \fI\-lcap\fP.
 .SH DESCRIPTION
 These functions translate between internal and external
-representations of a capability state.  The external representation is
-an exportable, contiguous, persistent representation of a capability
-state in user-managed space.  The internal representation is managed
+representations of a capability state.
+The external representation is an exportable,
+contiguous,
+persistent representation of a capability state in user-managed space.
+The internal representation is managed
 by the capability functions in working storage.
 .PP
 .BR cap_size ()
-returns the total length (in bytes) that the capability state in working
-storage identified by
+returns the total length
+(in bytes)
+that the capability state in working storage identified by
 .I cap_p
-would require when converted by
+would require
+when converted by
 .BR cap_copy_ext ().
-This function is used primarily to determine the amount of buffer space that
-must be provided to the
+This function is used primarily to determine the amount of buffer space
+that must be provided to the
 .BR cap_copy_ext ()
 function in order to hold the capability data record created from
 .IR cap_p .
 .PP
 .BR cap_copy_ext ()
-copies a capability state in working storage, identified by
+copies a capability state in working storage,
+identified by
 .IR cap_p ,
 from system-managed space to user-managed space (pointed to by
 .IR ext_p )
-and returns the length of the resulting data record.  The size parameter
-represents the maximum size, in bytes, of the resulting data record.  The
+and returns the length of the resulting data record.
+The size parameter represents the maximum size,
+in bytes,
+of the resulting data record.
+The
 .BR cap_copy_ext ()
 function will do any conversions necessary to convert the capability
-state from the undefined internal format to an exportable, contiguous,
-persistent data record.  It is the responsibility of the user to
-allocate a buffer large enough to hold the copied data.  The buffer
+state from the undefined internal format to an exportable,
+contiguous,
+persistent data record.
+It is the responsibility of the user to
+allocate a buffer large enough to hold the copied data.
+The buffer
 length required to hold the copied data may be obtained by a call to
 the
 .BR cap_size ()
@@ -50,23 +61,32 @@ function.
 .PP
 .BR cap_copy_int ()
 copies a capability state from a capability data record in user-managed
-space to a new capability state in working storage, allocating any
-memory necessary, and returning a pointer to the newly created capability
-state.  The function initializes the capability state and then copies
+space to a new capability state in working storage,
+allocating any memory necessary,
+and returning a pointer to the newly created capability state.
+The function initializes the capability state and then copies
 the capability state from the record pointed to by
 .I ext_p
-into the capability state, converting, if necessary, the data from a
-contiguous, persistent format to an undefined, internal format.  Once
-copied into internal format, the object can be manipulated by the capability
+into the capability state,
+converting,
+if necessary,
+the data from a contiguous,
+persistent format to an undefined,
+internal format.
+Once copied into internal format,
+the object can be manipulated by the capability
 state manipulation functions (see
 .BR cap_clear (3)).
 Note that the record pointed to by
 .I ext_p
-must have been obtained from a previous, successful call to
+must have been obtained from a previous,
+successful call to
 .BR cap_copy_ext ()
-for this function to work successfully.  The caller should free any
-releasable memory, when the capability state in working storage is no
-longer required, by calling
+for this function to work successfully.
+The caller should free any releasable memory,
+when the capability state in working storage is no
+longer required,
+by calling
 .BR cap_free ()
 with the
 .I cap_t
@@ -78,15 +98,17 @@ and \-1 on failure.
 .PP
 .BR cap_copy_ext ()
 returns the number of bytes placed in the user managed space pointed to by
-.I ext_p 
-on success, and \-1 on failure.
+.I ext_p
+on success,
+and \-1 on failure.
 .PP
 .BR cap_copy_int ()
 returns a pointer to the newly created capability state in working storage
-on success, and NULL on failure.
+on success,
+and NULL on failure.
 .PP
 On failure,
-.BR errno
+.B errno
 is set to
 .BR EINVAL ,
 .BR ENOMEM ,
  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 -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 -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