Hello all,
TL;DR: The OmniOS terminfo package seems broken after Oct 22 and delivers too few files. Packaged software does not fall back to other available locations. Details: A week or two ago, different CLI programs began acting up on my OmniOS box, saying nonsense like this: # mc Error opening terminal: xterm. Same for vt100, vt220, ansi... I have terminfo packages installed and up-to-date, and while looking at the system I see 3 locations at least: # find /opt -name terminfo -ls 1124 2 drwxr-xr-x 14 root root 14 Oct 29 14:45 /opt/local/share/lib/terminfo # find /usr -name terminfo -ls 349 4 drwxr-xr-x 44 root bin 44 Dec 4 2014 /usr/gnu/share/terminfo 332 0 lrwxrwxrwx 1 root root 17 Dec 4 2014 /usr/gnu/lib/terminfo -> ../share/terminfo 29464 4 drwxr-xr-x 44 root bin 44 Dec 4 2014 /usr/share/lib/terminfo The /usr ones seem similar to OI/Hipster - they contain seemingly equivalent content except most of the files are different at binary level. Apparently, they come from terminfo and ncurses, and maybe should be merged(?) in illumos-gate(?): # pkg search xterm INDEX ACTION VALUE PACKAGE basename file usr/gnu/share/terminfo/x/xterm pkg:/library/ncurses@5.9-0.151015 basename file usr/share/lib/terminfo/x/xterm pkg:/system/data/terminfo@0.5.11-0.151015 The /opt location is rather empty in comparison (and `pkg search -r filenames` fails to find what package this should have been, also on older BEs): # find /opt | grep terminfo | sort /opt/local/share/lib/terminfo /opt/local/share/lib/terminfo/d /opt/local/share/lib/terminfo/d/dec+pp /opt/local/share/lib/terminfo/d/dec+sl /opt/local/share/lib/terminfo/g /opt/local/share/lib/terminfo/g/gnome-2012 /opt/local/share/lib/terminfo/i /opt/local/share/lib/terminfo/i/iterm /opt/local/share/lib/terminfo/l /opt/local/share/lib/terminfo/l/linux2.2 /opt/local/share/lib/terminfo/l/linux2.6 /opt/local/share/lib/terminfo/l/linux3.0 /opt/local/share/lib/terminfo/m /opt/local/share/lib/terminfo/m/mach-gnu /opt/local/share/lib/terminfo/m/mach-gnu-color /opt/local/share/lib/terminfo/m/minix-3.0 /opt/local/share/lib/terminfo/m/mlterm2 /opt/local/share/lib/terminfo/m/mlterm3 /opt/local/share/lib/terminfo/n /opt/local/share/lib/terminfo/n/netbsd6 /opt/local/share/lib/terminfo/n/nsterm-256color /opt/local/share/lib/terminfo/n/nsterm-build326 /opt/local/share/lib/terminfo/n/nsterm-build343 /opt/local/share/lib/terminfo/o /opt/local/share/lib/terminfo/o/old-st /opt/local/share/lib/terminfo/p /opt/local/share/lib/terminfo/p/pccon /opt/local/share/lib/terminfo/p/pccon+base /opt/local/share/lib/terminfo/p/pccon+colors /opt/local/share/lib/terminfo/p/pccon+keys /opt/local/share/lib/terminfo/p/pccon+sgr+acs /opt/local/share/lib/terminfo/p/pccon+sgr+acs0 /opt/local/share/lib/terminfo/p/pccon-m /opt/local/share/lib/terminfo/p/pccon0 /opt/local/share/lib/terminfo/p/pccon0-m /opt/local/share/lib/terminfo/p/putty+fnkeys /opt/local/share/lib/terminfo/p/putty+fnkeys+esc /opt/local/share/lib/terminfo/p/putty+fnkeys+linux /opt/local/share/lib/terminfo/p/putty+fnkeys+sco /opt/local/share/lib/terminfo/p/putty+fnkeys+vt100 /opt/local/share/lib/terminfo/p/putty+fnkeys+vt400 /opt/local/share/lib/terminfo/p/putty+fnkeys+xterm /opt/local/share/lib/terminfo/p/putty-sco /opt/local/share/lib/terminfo/s /opt/local/share/lib/terminfo/s/screen+italics /opt/local/share/lib/terminfo/s/screen.konsole-256color /opt/local/share/lib/terminfo/s/screen.mlterm-256color /opt/local/share/lib/terminfo/s/screen.putty /opt/local/share/lib/terminfo/s/screen.putty-256color /opt/local/share/lib/terminfo/s/screen.vte-256color /opt/local/share/lib/terminfo/s/screen.xterm-256color /opt/local/share/lib/terminfo/s/simpleterm /opt/local/share/lib/terminfo/s/st /opt/local/share/lib/terminfo/s/st-16color /opt/local/share/lib/terminfo/s/st-256color /opt/local/share/lib/terminfo/s/stterm /opt/local/share/lib/terminfo/s/stterm-16color /opt/local/share/lib/terminfo/s/stterm-256color /opt/local/share/lib/terminfo/s/sun+sl /opt/local/share/lib/terminfo/t /opt/local/share/lib/terminfo/t/teken /opt/local/share/lib/terminfo/t/terminator /opt/local/share/lib/terminfo/t/terminology /opt/local/share/lib/terminfo/t/tmux /opt/local/share/lib/terminfo/t/tmux-256color /opt/local/share/lib/terminfo/v /opt/local/share/lib/terminfo/v/vt520ansi /opt/local/share/lib/terminfo/v/vte-2012 /opt/local/share/lib/terminfo/v/vte-2014 /opt/local/share/lib/terminfo/x /opt/local/share/lib/terminfo/x/xterm+256setaf /opt/local/share/lib/terminfo/x/xterm+kbs /opt/local/share/lib/terminfo/x/xterm+sm+1002 /opt/local/share/lib/terminfo/x/xterm+sm+1003 /opt/local/share/lib/terminfo/x/xterm+sm+1005 /opt/local/share/lib/terminfo/x/xterm+sm+1006 /opt/local/share/lib/terminfo/x/xterm+tmux /opt/local/share/lib/terminfo/x/xterm+x10mouse /opt/local/share/lib/terminfo/x/xterm+x11hilite /opt/local/share/lib/terminfo/x/xterm+x11mouse /opt/local/share/lib/terminfo/x/xterm-1005 /opt/local/share/lib/terminfo/x/xterm-1006 /opt/local/share/lib/terminfo/x/xterm-x10mouse /opt/local/share/lib/terminfo/x/xterm-x11hilite /opt/local/share/lib/terminfo/x/xterm-x11mouse But it is the one searched by software (and no fallbacks to other locations). For example, trussing that "mc" call I see: # truss -fl -wall -rall mc 2>&1 ... 14731/1: getuid() = 0 [0] 14731/1: ioctl(1, TCGETS, 0x00508360) Err#22 EINVAL 14731/1: fstat(2, 0xFFFFFD7FFFDFE790) = 0 Cannot get terminal settings: 14731/1: write(2, 0x004EAD60, 30) = 30 14731/1: C a n n o t g e t t e r m i n a l s e t t i n g s : Invalid argument (22)14731/1: write(2, 0x00515DC0, 21) = 21 14731/1: I n v a l i d a r g u m e n t ( 2 2 ) 14731/1: write(2, "\r\n", 2) = 2 14731/1: sigaction(SIGCLD, 0xFFFFFD7FFFDFFAE0, 0x00000000) = 0 14731/1: sigaction(SIGTSTP, 0x00000000, 0x0051AC20) = 0 14731/1: ioctl(1, TCGETA, 0xFFFFFD7FFFDFF9E0) Err#22 EINVAL 14731/1: stat("/root/.terminfo", 0x0054E2D0) Err#2 ENOENT 14731/1: stat("/opt/local/share/lib/terminfo", 0x0054E2D0) = 0 14731/1: time() = 1446459993 14731/1: access("/opt/local/share/lib/terminfo/x/xterm", R_OK) Err#2 ENOENT Error opening terminal: 14731/1: write(2, 0xFFFFFD7FFD1390DD, 24) = 24 14731/1: E r r o r o p e n i n g t e r m i n a l : xterm14731/1: write(2, " x t e r m", 5) = 5 . 14731/1: write(2, " .\n", 2) = 2 14731/1: _exit(1) In particular, the larger set of files was there until Oct 22 as I can see in my snapshots, and then thousands of them went AWOL: # find postupgrade_pkgips-20151022T174922Z/share/lib/terminfo/ -type f | wc -l 2616 # find /opt/local/share/lib/terminfo/ -type f | wc -l 72 Jim Klimov
_______________________________________________ OmniOS-discuss mailing list OmniOS-discuss@lists.omniti.com http://lists.omniti.com/mailman/listinfo/omnios-discuss