On 1 February 2018 at 11:28, Miroslav Lichvar <mlich...@redhat.com> wrote:

> On Thu, Feb 01, 2018 at 10:50:59AM +0100, Miroslav Lichvar wrote:
> > It seems to be an slang issue, not supporting the new format. There
> > was a report on the ncurses list:
> > http://lists.gnu.org/archive/html/bug-ncurses/2018-01/msg00052.html
> >
> > I'm not sure how difficult it will be to fix/update slang. We could
> > revert the changes in terminfo if necessary.
>
> It looks like a support for the extended numerical capabilities is
> already included in the slang repo...
>

BTW SLang I see that patch which I've submitted in
https://bugzilla.redhat.com/show_bug.cgi?id=1436909
about remove some terminfo paths still is not included
SLang has hardcoded few base paths of terminfo DB which are not used on
Fedora

It is easy to ttrace this by:

$ strace -o out -e trace=file mc

then just quit mc and:

$ grep terminfo out
openat(AT_FDCWD, "/home/tkloczko/.terminfo/x/xterm-256color", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/tkloczko/.terminfo/78/xterm-256color", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/etc/terminfo/x/xterm-256color", O_RDONLY) = -1
ENOENT (No such file or directory)  <<=== from here
openat(AT_FDCWD, "/usr/local/etc/terminfo/78/xterm-256color", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/terminfo/x/xterm-256color", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/terminfo/78/xterm-256color", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/terminfo/x/xterm-256color", O_RDONLY) = -1
ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/terminfo/78/xterm-256color", O_RDONLY) =
-1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/terminfo/x/xterm-256color", O_RDONLY) = -1 ENOENT
(No such file or directory)
openat(AT_FDCWD, "/etc/terminfo/78/xterm-256color", O_RDONLY) = -1 ENOENT
(No such file or directory) <<=== to here
openat(AT_FDCWD, "/usr/share/terminfo/x/xterm-256color", O_RDONLY) = 3

Will try to (re)submit this patch again.

Nevertheless it would be probably good to invest a bit more time in mc
development to switch it from SLang to ncurses.
At the moment is known issue with ncurses and mc
https://bugzilla.redhat.com/show_bug.cgi?id=1440110

I'm almost sure that somewhere in mc or SLang code instead reading some
terminfo entries is hardcoded use some exact terminal sequences and it is
possible to fix this issue by simple remove some number of lines.

mc is one of the only few packages which is using SLang and it would be
better if it will be possible to use it with ncurses.

# dnf -C repoquery --whatrequires 'libslang.so.2()(64bit)'
aalib-0:1.4.0-0.32.rc5.fc27.x86_64
aalib-libs-0:1.4.0-0.32.rc5.fc27.x86_64
crypto-utils-0:2.5-1.fc28.x86_64
jed-0:0.99.19-14.fc27.x86_64
libcaca-0:0.99-0.35.beta19.fc28.x86_64
mc-1:4.8.19-7.fc27.x86_64
most-0:5.0.0-16.a.1.fc27.x86_64
newt-0:0.52.20-5.fc28.x86_64
newt-python3-0:0.52.20-5.fc28.x86_64
perf-0:4.15.0-0.rc9.git0.1.fc28.x86_64
python2-newt-0:0.52.20-5.fc28.x86_64
slang-devel-0:2.3.1a-5.fc27.x86_64
slang-slsh-0:2.3.1a-5.fc27.x86_64
slrn-0:1.0.2-7.fc27.x86_64
slrn-pull-0:1.0.2-7.fc27.x86_64

IIRC aalib is possible to compile with ncursess (IIRC Solaris userland has
uses it that way).
At the moment because mc uses gpm which is using ncurses on run-time mc is
effectively linked with both SLang and ncurses librarier.

$ ldd /usr/bin/mc
linux-vdso.so.1 (0x00007ffffbd2f000)
libslang.so.2 => /lib64/libslang.so.2 (0x00007faa64a70000)
libgpm.so.2 => /lib64/libgpm.so.2 (0x00007faa64869000)
libssh2.so.1 => /lib64/libssh2.so.1 (0x00007faa6463c000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007faa64438000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007faa64123000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faa63f04000)
libc.so.6 => /lib64/libc.so.6 (0x00007faa63b45000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007faa63941000)
libm.so.6 => /lib64/libm.so.6 (0x00007faa635ad000)
libncurses.so.6 => /lib64/libncurses.so.6 (0x00007faa63383000)
libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007faa63156000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007faa62eea000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007faa62a62000)
libz.so.1 => /lib64/libz.so.1 (0x00007faa6284b000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007faa625d8000)
/lib64/ld-linux-x86-64.so.2 (0x00007faa652a2000)
$ objdump -x /usr/bin/mc| grep NEEDED
  NEEDED               libslang.so.2
  NEEDED               libgpm.so.2
  NEEDED               libssh2.so.1
  NEEDED               libgmodule-2.0.so.0
  NEEDED               libglib-2.0.so.0
  NEEDED               libpthread.so.0
  NEEDED               libc.so.6

kloczek
-- 
Tomasz Kłoczko | LinkedIn: *http://lnkd.in/FXPWxH <http://lnkd.in/FXPWxH>*
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to