Re: packages still requiring ncurses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 28, 2020 at 02:09:41PM +0200, Dan Horák wrote:
> when looking at a recent issue when a change to lorax templates broke
> composes for ppc64le and s390x I have found that there are packages
> that explicitly require the ncurses package and I wonder if all of these
> Requires are correct. Because quite some time ago there was a split so
> "ncurses" only contains the tools (tic, tac, reset, ...) and
> ncurses-base contains the basic terminfo database and the libs live in
> ncurses-libs.
> 
[...]
> perl-Term-Cap calls "infocmp" so it should be there, perhaps reduced to
> a weak dep, because it has a fall-back path, but I'm not sure about the
> other.
>
perl-Term-Cap has a built-in path. But the path is not a fallback. It's
a primary source and infocmp is called as the fallback.

The built-in path is: /etc/termcap, /usr/share/misc/termcap. But none of these
directories exist in Fedora. ncurses-base has /usr/share/terminfo. My
knowledge about termcap and terminfo is zero, but it seems that
/usr/share/terminfo files are binary files, while perl-Term-Cap expects
a plain text files. Maybe that's the difference between termcap and terminfo.

As a result, perl-Term-Cap always calls infocmp, because it cannot consume
ncurses-base content:

$ strace -fq -e execve -- perl -MTerm::Cap -e 'print Term::Cap::Tgetent()->{TERMCAP}'
execve("/usr/bin/perl", ["perl", "-MTerm::Cap", "-e", "print Term::Cap::Tgetent()->{TER"...], 0x7ffdad6ca198 /* 20 vars */) = 0
[pid 24145] execve("/bin/sh", ["sh", "-c", "infocmp -C 2>/dev/null"], 0x56199a3babd0 /* 20 vars */) = 0
[pid 24146] execve("/usr/bin/infocmp", ["infocmp", "-C"], 0x55ba82bdb200 /* 20 vars */) = 0
[pid 24146] +++ exited with 0 +++
[pid 24145] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=24146, si_uid=500, si_status=0, si_utime=0, si_stime=0} ---
[pid 24145] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=24145, si_uid=500, si_status=0, si_utime=0, si_stime=1} ---
screen.xterm-256color|GNU Screen with xterm using 256 colors:\
        :am:bs:bw:km:mi:ms:xn:\
        :co#80:it#8:li#24:\
        :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
        :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
        :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
        :as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
        :cm=\E[%i%d;%dH:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
        :dl=\E[M:do=\n:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\
        :is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\
        :k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
        :k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\
        :kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\
        :ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
        :mh=\E[2m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
        :rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
        :te=\E[?1049l\E[23;0;0t:ti=\E[?1049h\E[22;0;0t:\
        :ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\
        :ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h:
+++ exited with 0 +++

And thus the hard dependency on ncurses is correct. At the end Term::Cap
documentation defines the Perl module as "a Perl termcap interface". Not as a
terminfo interface.

-- Petr

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux