[Bug 1932084] Re: MANPAGER="grep -F {" man systemd.exec leads to man: command exited with status 1: sed -e ...
Colin Watson
1932084 at bugs.launchpad.net
Mon Jan 24 04:22:16 UTC 2022
The problem with fixing this as you describe ("no output at all") is
that it would make it difficult to understand what's going on in the
more common case where your configured pager is accidentally not
installed. Would you accept a less ugly error message (somehow)?
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to man-db in Ubuntu.
https://bugs.launchpad.net/bugs/1932084
Title:
MANPAGER="grep -F {" man systemd.exec leads to man: command exited
with status 1: sed -e ...
Status in man-db package in Ubuntu:
New
Bug description:
Hello, I wanted to search the systemd.exec(5) manpage for an opening
brace character, {, in a manner that would be easy to copy-and-paste
the results if there were any. This unfortunately gives an error
message:
$ MANPAGER="grep -F {" man systemd.exec
man: command exited with status 1: sed -e '/^[[:space:]]*$/{ N; /^[[:space:]]*\n[[:space:]]*$/D; }' | LESS=-ix8RmPm Manual page systemd\.exec(5) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$PM Manual page systemd\.exec(5) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$ MAN_PN=systemd\.exec(5) grep -F {
$ MANPAGER="grep -F {" man apparmor
profile foo flags=(audit) { ... }
$
It works fine on a simple example, apparmor(7). Other patterns work
with systemd.exec(5):
$ MANPAGER="grep -F aa" man systemd.exec
StateDirectory=aaa/bbb ccc
then the environment variable "RUNTIME_DIRECTORY" is set with "/run/foo/bar", and "STATE_DIRECTORY" is set with "/var/lib/aaa/bbb:/var/lib/ccc".
$
Thus I think when the pager doesn't provide any output we get an ugly
error message. I expected no output at all if the pattern doesn't
match.
Thanks
And now the --debug output:
$ MANPAGER="grep -F {" man --debug -s 5 systemd.exec
ruid=1000, euid=1000
rgid=1000, egid=1000
++priv_drop_count = 1
From the config file /etc/manpath.config:
Mandatory mandir `/usr/man'.
Mandatory mandir `/usr/share/man'.
Mandatory mandir `/usr/local/share/man'.
Path `/bin' mapped to mandir `/usr/share/man'.
Path `/usr/bin' mapped to mandir `/usr/share/man'.
Path `/sbin' mapped to mandir `/usr/share/man'.
Path `/usr/sbin' mapped to mandir `/usr/share/man'.
Path `/usr/local/bin' mapped to mandir `/usr/local/man'.
Path `/usr/local/bin' mapped to mandir `/usr/local/share/man'.
Path `/usr/local/sbin' mapped to mandir `/usr/local/man'.
Path `/usr/local/sbin' mapped to mandir `/usr/local/share/man'.
Path `/usr/X11R6/bin' mapped to mandir `/usr/X11R6/man'.
Path `/usr/bin/X11' mapped to mandir `/usr/X11R6/man'.
Path `/usr/games' mapped to mandir `/usr/share/man'.
Path `/opt/bin' mapped to mandir `/opt/man'.
Path `/opt/sbin' mapped to mandir `/opt/man'.
Global mandir `/usr/man', catdir `/var/cache/man/fsstnd'.
Global mandir `/usr/share/man', catdir `/var/cache/man'.
Global mandir `/usr/local/man', catdir `/var/cache/man/oldlocal'.
Global mandir `/usr/local/share/man', catdir `/var/cache/man/local'.
Global mandir `/usr/X11R6/man', catdir `/var/cache/man/X11R6'.
Global mandir `/opt/man', catdir `/var/cache/man/opt'.
Global mandir `/snap/man', catdir `/var/cache/man/snap'.
Added sections: `1', `n', `l', `8', `3', `2', `3posix', `3pm', `3perl', `3am', `5', `4', `9', `6', `7'.
is a tty
using grep -F { as pager
path directory /home/sarnold/bin is not in the config file
path directory /usr/local/sbin is in the config file
adding /usr/local/man to manpath
adding /usr/local/share/man to manpath
path directory /usr/local/bin is in the config file
path directory /usr/sbin is in the config file
adding /usr/share/man to manpath
path directory /usr/bin is in the config file
path directory /sbin is in the config file
path directory /bin is in the config file
path directory /usr/games is in the config file
path directory /usr/local/games is not in the config file
path directory /snap/bin is not in the config file
adding mandatory man directories
warning: /usr/man: No such file or directory
add_nls_manpaths(): processing /usr/local/man:/usr/local/share/man:/usr/share/man
checking for locale en_US.UTF-8
adding /usr/local/man to manpathlist
adding /usr/share/man to manpathlist
final search path = /usr/local/man:/usr/share/man
--priv_drop_count = 0
searching in /usr/local/man, section 5
trying section 5 with globbing
Layout is GNU (1)
update_directory_cache /usr/local/man: miss
globbing pattern in /usr/local/man: man5*
update_directory_cache /usr/local/man: hit
globbing pattern in /usr/local/man: cat5*
Failed to open /var/cache/man/oldlocal/index.db O_RDONLY
searching in /usr/share/man, section 5
trying section 5 with globbing
update_directory_cache /usr/share/man: miss
globbing pattern in /usr/share/man: man5*
matched: /usr/share/man/man5
update_directory_cache /usr/share/man/man5: miss
globbing pattern in /usr/share/man/man5: systemd.exec.5*
matched: /usr/share/man/man5/systemd.exec.5.gz
ult_src: File /usr/share/man/man5/systemd.exec.5.gz in mantree /usr/share/man
loading seccomp filter (permissive: 0)
candidate: 0 0 systemd.exec /usr/share/man /usr/share/man/man5/systemd.exec.5.gz A - 5 5
Checking physical location: /usr/share/man/man5/systemd.exec.5.gz
ult_src: File /usr/share/man/man5/systemd.exec.5.gz in mantree /usr/share/man
loading seccomp filter (permissive: 0)
found ultimate source file /usr/share/man/man5/systemd.exec.5.gz
converted /usr/share/man/man5/systemd.exec.5.gz to /usr/share/man/cat5/systemd.exec.5.gz
is_changed: a=/usr/share/man/man5/systemd.exec.5.gz, b=/usr/share/man/cat5/systemd.exec.5.gz (-2)
converted /var/cache/man/cat5/systemd.exec.5.gz to /var/cache/man/cat5/systemd.exec.5.gz
will try cat file /var/cache/man/cat5/systemd.exec.5.gz
loading seccomp filter (permissive: 0)
pre-processors `t' from file
page_encoding = ISO-8859-1
source_encoding = ISO-8859-1
locale_charset = UTF-8
roff_device (locale) = utf8
roff_encoding = ISO-8859-1
output_encoding = UTF-8
less_charset = utf-8
Terminal width 172
Terminal width 172 not within cat page range [80, 80]
Using 167-character lines
formatted_encoding = UTF-8
format: 1, save_cat: 0, found: 1
add_output_iconv: source UTF-8, target UTF-8
Setting LESS to -ix8RmPm Manual page systemd\.exec(5) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$PM Manual page systemd\.exec(5) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$
Setting MAN_PN to systemd\.exec(5)
++priv_drop_count = 1
man: command exited with status 1: sed -e '/^[[:space:]]*$/{ N; /^[[:space:]]*\n[[:space:]]*$/D; }' | LESS=-ix8RmPm Manual page systemd\.exec(5) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$PM Manual page systemd\.exec(5) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$ MAN_PN=systemd\.exec(5) grep -F {
$
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: man-db 2.9.1-1
ProcVersionSignature: Ubuntu 5.4.0-74.83-generic 5.4.114
Uname: Linux 5.4.0-74-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu27.18
Architecture: amd64
CasperMD5CheckResult: skip
Date: Wed Jun 16 00:15:22 2021
SourcePackage: man-db
UpgradeStatus: Upgraded to focal on 2020-01-24 (508 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/man-db/+bug/1932084/+subscriptions
More information about the foundations-bugs
mailing list