Package: libselinux1-dev Version: 3.7-3+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? troff:<stdin>:12: warning: trailing space in the line troff:<stdin>:14: warning: trailing space in the line troff:<stdin>:20: 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.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 libselinux1-dev depends on: ii libpcre2-dev 10.44-5 ii libselinux1 3.7-3+b1 ii libsepol-dev 3.7-1 libselinux1-dev recommends no packages. libselinux1-dev suggests no packages. -- no debconf information
Input file is getseuserbyname.3 Output from "mandoc -T lint getseuserbyname.3": (shortened list) 1 unterminated quoted argument 3 whitespace at end of input line -.-. Output from "test-groff -mandoc -t -ww -z getseuserbyname.3": (shortened list) 3 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 3 -.-. 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 1, length 93 .TH "getseuserbyname" "3" "29 September 2005" "dwa...@redhat.com" "SELinux API documentation" Line 8, length 94 .BI "int getseuserbyname(const char *" linuxuser ", char **" selinuxuser ", char **" level "); -.-. Remove quotes when there is a printable but no space character between them and the quotes are not for emphasis (markup), for example as an argument to a macro. 1:.TH "getseuserbyname" "3" "29 September 2005" "dwa...@redhat.com" "SELinux API documentation" 2:.SH "NAME" 5:.SH "SYNOPSIS" 10:.SH "DESCRIPTION" 33:.BR selinux "(8)" -.-. Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ": troff:<stdin>:12: warning: trailing space in the line troff:<stdin>:14: warning: trailing space in the line troff:<stdin>:20: warning: trailing space in the line
--- getseuserbyname.3 2025-01-31 20:12:17.161474339 +0000 +++ getseuserbyname.3.new 2025-01-31 20:25:47.682276578 +0000 @@ -1,25 +1,27 @@ -.TH "getseuserbyname" "3" "29 September 2005" "dwa...@redhat.com" "SELinux API documentation" -.SH "NAME" +.TH getseuserbyname 3 "29 September 2005" dwa...@redhat.com \ +"SELinux API documentation" +.SH NAME getseuserbyname \- get SELinux username and level for a given Linux username . -.SH "SYNOPSIS" +.SH SYNOPSIS .B #include <selinux/selinux.h> .sp -.BI "int getseuserbyname(const char *" linuxuser ", char **" selinuxuser ", char **" level "); +.BI "int getseuserbyname(const char *" linuxuser ", char **" selinuxuser \ +", char **" level ); . -.SH "DESCRIPTION" +.SH DESCRIPTION .BR getseuserbyname () -retrieves the SELinux username and security level associated with +retrieves the SELinux username and security level associated with a given Linux username. The SELinux username and security level can -then be passed to other libselinux functions such as +then be passed to other libselinux functions such as .BR \%get_ordered_context_list_with_level (3) and .BR \%get_default_context_with_level (3). The returned SELinux username and level should be freed by the caller -using free. +using free. . -.SH "RETURN VALUE" +.SH RETURN VALUE On success, 0 is returned. On failure, \-1 is returned and .I errno
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) -.-