Subject: ncurses-bin: issues with the infocmp(1) man page and databases

From: Vincent Lefevre <[email-masked]>
Date: Thu, 3 Feb 2022 11:10:50 +0100

Package: ncurses-bin
Version: 6.3-2
Severity: minor

In the infocmp(1) man page:

   Changing Databases [-A directory] [-B directory]
       Like  other  ncurses  utilities, infocmp looks for the terminal
       descriptions in several places.  You can use the  TERMINFO  and
       TERMINFO_DIRS environment variables to override the compiled-in
       default list of places to search (see curses(3X) for details).

The curses(3X) man page does not exist. It is curses(3ncurses).

Moreover,

  FILES
       /etc/terminfo       Compiled terminal description database.

It is empty in my case. It appears that infocmp looks at other places,
such as /lib/terminfo (most cases) and "$HOME/.terminfo". Instead of
giving a directory that is not used in practice, give a reference to
the curses(3ncurses) man page?

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'stable-security'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.15.0-3-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=POSIX, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ncurses-bin depends on:
ii  libc6      2.33-5
ii  libtinfo6  6.3-2

ncurses-bin recommends no packages.

ncurses-bin suggests no packages.

-- no debconf information

-- 
Vincent Lefèvre <[email-masked]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

---

From: Thomas Dickey <[email-masked]>
Date: Sat, 5 Feb 2022 06:31:04 -0500

> The curses(3X) man page does not exist. It is curses(3ncurses).

yes... ncurses has a data-file which I developed along with configure/build
scripting to install the manpages renamed for Debian's special case
(man_db.renames).  That data (along with manhtml.aliases) could be used in some
as-yet-unwritten script to modify the manual pages as they are installed.

Because Debian is the only organization that uses this feature (and looking
at the change history, it's been more than 15 years since Debian reported
minor errors in the data-file), it hasn't been worth generalizing further.

If someone wants to spend (at least) a few days developing the script and
contributes it (same license, etc), I can integrate it.

-- 
Thomas E. Dickey <[email-masked]>
https://invisible-island.net
ftp://ftp.invisible-island.net

---

From: Sven Joachim <[email-masked]>
Date: Thu, 18 Jan 2024 19:56:57 +0100

> The curses(3X) man page does not exist. It is curses(3ncurses).

This particular problem has been fixed in version 6.3+20220423-1,
probably as a consequence of the following change in the 20211225
patchlevel:

,----
| + improve markup, e.g., for external manpage links in the manpages
|   (prompted by report by Helge Kreutzmann).
`----

As of version 6.4+20240113-1 there are no longer any '3X' references in
any of the manpages, and I have also added an autopkgtest to ensure that
they do not come back.

> such as /lib/terminfo (most cases) and "$HOME/.terminfo".

Yes.  There are several places in the manpages where /etc/terminfo is
referred to as the system terminfo database, but it is really just the
place where tic(1) writes to by default, whereas the terminfo entries
provided by the distribution usually live under /usr/share/terminfo.
Someone™ should improve that, because it basically affects every Linux
distro out there.

> Instead of giving a directory that is not used in practice, give a
> reference to the curses(3ncurses) man page?

That would probably not be too helpful, because that manpage is likely
not present.  The "Fetching Compiled Descriptions" section in
terminfo(5) is probably the most accurate reference.

Cheers,
       Sven