Accepting request 879423 from Base:System

- New package ncurses-tests which includes examples and tests
- Include bash script cursescheck for ASC and REP capabilities 

- Add ncurses patch 20210313
  + improve configure CF_LD_SEARCHPATH macro used for ncurses*-config and
    ".pc" files, from dialog changes.
  + reduce dependency of math-library in test programs.
  + minor fixes for test_tparm.c (cf: 20210306)
  + mention "ncurses" prefix in curses_version() manpage (report by
    Michal Bielinski).

- Only libpcre2 for ncurses ABI 6
- Make linker script for ABI 6 check for needed libpcre2

- Add ncurses patch 20210306
  + improved test/test_parm.c, by limiting the tests to capabilities
    that might have parameters or padding, and combined with tputs test.
  + improve discussion of padding versus tparm and tputs in
    man/curs_terminfo.3x
  + update portability note for FreeBSD in man/tput.1

- Add ncurses patch 20210227
  + modify tic/infocmp to eliminate unnecessary "\" to escape ":" in
    terminfo format.
  + add check in tic for duplicate "use=" clauses.

- Add ncurses patch 20210220
  + improve tic warning when oc/op do not mention SGR 39/49 for xterm
    compatible XT flag.
  + revert change to lib_addch.c in waddch_literal() from 20210130, since

OBS-URL: https://build.opensuse.org/request/show/879423
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ncurses?expand=0&rev=185
This commit is contained in:
Dominique Leuenberger 2021-03-18 21:54:22 +00:00 committed by Git OBS Bridge
commit afca566f39
6 changed files with 378 additions and 67 deletions

156
cursescheck Normal file
View File

@ -0,0 +1,156 @@
#!/bin/bash
# Test ACS Line Graphics and REP capability of a terminal line
# Author: Werner Fink <werner@suse.de>
typeset -i rep=0 line=0
for s in 0 1 2
do
test -c /proc/$$/fd/$s || { echo "Missing /proc/$$/fd/$s" 1>&2; exit 1; }
done
for d in null tty
do
test -c /dev/$d || { echo "Missing /dev/$d" 1>&2; exit 1; }
done
for d in pts fd
do
test -d /dev/$d || { echo "Missing /dev/$d/" 1>&2; exit 1; }
done
for p in tput infocmp fold tty grep od
do
type -p $p 1> /dev/null 2>&1 || { echo "Missing $p in path" 1>&2; exit 1; }
done
typeset -r tty=$(tty) || { echo "Not on a terminal line" 1>&2; exit 1; }
typeset -i width=$(tput cols) || { echo "No terminal size" 1>&2; exit 1; }
typeset -i height=$(tput lines) || { echo "No terminal size" 1>&2; exit 1; }
#
# There are terminal type which uses non printable characters for
# Line Graphic. Therefore store them as numbers or sequences within
# arrays used later on.
#
typeset -i c
typeset -a tmp="($(tput acsc | od -A none -tx1))" acsc acsn
for ((c=0;c<${#tmp[@]};c+=2))
do
acsc[0x${tmp[c]}]="0x${tmp[c+1]}"
acsn[0x${tmp[c]}]=\\x${tmp[c+1]}
done
unset tmp c
#
# Init terminal
#
tput init || { echo "Not a terminal" 1>&2; exit 1; }
#
# Restore screen at exit
#
trap 'tput cvvis; tput rmcup' EXIT HUP INT TERM
#
# Save screen, make curse invisible, and goto upper left
#
tput smcup
tput civis
tput cup 0 0
tput ed
echo Checking for Line Graphics on $tty with TERM=$TERM
let line++
if ((${#acsc[@]} > 0))
then
echo Terminal TERM=$TERM has ASC Line Graphics, check them.
let line++
tput cup $((height/2)) 0
tput -S <<-!
enacs
smacs
!
echo -ne ${acsn[0x6c]}
for ((c=0;c<20;c++)); do echo -ne ${acsn[0x71]}; done
echo -ne ${acsn[0x6b]}
tput cup $((height/2+1)) 0
echo -ne ${acsn[0x78]}
tput hpa 21
echo -ne ${acsn[0x78]}
tput cup $((height/2+2)) 0
echo -ne ${acsn[0x78]}
tput hpa 21
echo -ne ${acsn[0x78]}
tput cup $((height/2+3)) 0
echo -ne ${acsn[0x78]}
tput hpa 21
echo -ne ${acsn[0x78]}
tput cup $((height/2+4)) 0
echo -ne ${acsn[0x6d]}
for ((c=0;c<20;c++)); do echo -ne ${acsn[0x71]}; done
echo -ne ${acsn[0x6a]}
tput -S <<-!
rmacs
!
tput cup $line 0
tput cvvis
echo -n "OK> "
read -t 5 yesno
else
echo Terminal TERM=$TERM has no ASC Line Graphics. Done
exit 0
fi
#
# Could use clear
#
tput -S <<-!
cup 0 0
ed
!
let line=0
if test -n "$(infocmp -T $TERM -1 | grep rep=)"
then
echo Found rep capability in terminfo database for TERM=$TERM
let rep++
let line++
else
echo No rep capability given in terminfo database for TERM=$TERM
echo -n "OK> "
read -t 5 yesno
exit 0
fi
if ((rep > 0))
then
echo Testing rep capability of TERM=$TERM
let line++
tput -S <<-!
civis
enacs
smacs
bold
cup $((height/2)) 0
rep ${acsc[0x6c]} 0
rep ${acsc[0x71]} 20
rep ${acsc[0x6b]} 0
cup $((height/2+1)) 0
rep ${acsc[0x78]} 0
hpa 21
rep ${acsc[0x78]} 0
cup $((height/2+2)) 0
rep ${acsc[0x78]} 0
hpa 21
rep ${acsc[0x78]} 0
cup $((height/2+3)) 0
rep ${acsc[0x78]} 0
hpa 21
rep ${acsc[0x78]} 0
cup $((height/2+4)) 0
rep ${acsc[0x6d]} 0
rep ${acsc[0x71]} 20
rep ${acsc[0x6a]} 0
sgr0
rmacs
cvvis
!
tput cup $line 0
echo -n "OK> "
read -t 5 yesno
fi

View File

@ -4,7 +4,7 @@
--- misc/terminfo.src
+++ misc/terminfo.src 2018-10-29 10:23:47.271511864 +0000
@@ -17278,8 +17278,8 @@ hazel|exec80|h80|he80|Hazeltine Executiv
@@ -17396,8 +17396,8 @@ hazel|exec80|h80|he80|Hazeltine Executiv
#
ibm327x|line mode IBM 3270 style,

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f61ac977d629ad5c99ad6653b7eb4f9b854fcdaa13d62eea509a084f48223ac1
size 1878007
oid sha256:1daabf054484e9eba9c115243d0c75f72fc52ce43ea06c58cefa3111503807ad
size 1970432

View File

@ -7,7 +7,7 @@
man/man_db.renames | 2
man/ncurses.3x | 4 +
misc/gen-pkgconfig.in | 8 ++
misc/terminfo.src | 138 ++++++++++++++++++++++++++++++++++---------
misc/terminfo.src | 107 ++++++++++++++++++++++++++++++++++++-------
ncurses/Makefile.in | 2
ncurses/curses.priv.h | 2
ncurses/run_cmd.sh | 11 +++
@ -18,7 +18,7 @@
ncurses/tinfo/read_termcap.c | 21 ++++--
progs/Makefile.in | 4 -
test/test.priv.h | 4 -
19 files changed, 249 insertions(+), 79 deletions(-)
19 files changed, 231 insertions(+), 68 deletions(-)
--- aclocal.m4
+++ aclocal.m4 2021-01-11 07:35:24.208330490 +0000
@ -160,7 +160,16 @@
;;
(openbsd[2-9].*|mirbsd*)
LD_RPATH_OPT="-Wl,-rpath,"
@@ -14603,12 +14603,15 @@ cat >>$cf_edit_man <<CF_EOF
@@ -7438,7 +7438,7 @@ echo "${ECHO_T}$with_pcre2" >&6
if test "x$with_pcre2" != xno ; then
cf_with_pcre2_ok=no
- for cf_with_pcre2 in libpcre2 libpcre2-posix libpcre
+ for cf_with_pcre2 in libpcre2 libpcre2-8 libpcre2-posix libpcre
do
if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$cf_with_pcre2"; then
@@ -14472,12 +14472,15 @@ cat >>$cf_edit_man <<CF_EOF
echo "? missing rename for \$cf_source"
cf_target="\$cf_source"
fi
@ -178,7 +187,7 @@
sed -f "$cf_man_alias" \\
CF_EOF
@@ -14618,7 +14621,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14487,7 +14490,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
@ -187,7 +196,7 @@
CF_EOF
fi
@@ -14658,7 +14661,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14527,7 +14530,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_so_strip \$TMP
fi
fi
@ -196,7 +205,7 @@
CF_EOF
fi
@@ -14667,23 +14670,23 @@ case "$MANPAGE_FORMAT" in
@@ -14536,23 +14539,23 @@ case "$MANPAGE_FORMAT" in
cat >>$cf_edit_man <<CF_EOF
if test "\$form" = format ; then
# BSDI installs only .0 suffixes in the cat directories
@ -226,7 +235,7 @@
for cf_alias in \$aliases
do
if test "\$section" = 1 ; then
@@ -14692,7 +14695,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14561,7 +14564,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f "\$cf_alias\${suffix}" ; then
@ -235,7 +244,7 @@
then
continue
fi
@@ -14702,18 +14705,18 @@ CF_EOF
@@ -14571,18 +14574,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
@ -257,7 +266,7 @@
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_compress" ; then
@@ -14733,9 +14736,9 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14602,9 +14605,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test "\$verb" = removing ; then
@ -270,7 +279,7 @@
)
test -d "\$cf_subdir\${section}" &&
test -n "\$aliases" && (
@@ -14755,6 +14758,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -14624,6 +14627,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
@ -403,7 +412,7 @@
gn, use=dumb,
lpr|printer|line printer,
OTbs, hc, os,
@@ -1015,9 +1017,15 @@ linux-c|linux console 1.3.6+ for older n
@@ -1013,9 +1015,15 @@ linux-c|linux console 1.3.6+ for older n
# The 2.2.x kernels add a private mode that sets the cursor type; use that to
# get a block cursor for cvvis.
# reported by Frank Heckenbach <frank@g-n-u.de>.
@ -420,7 +429,7 @@
# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
# http://lkml.iu.edu/hypermail/linux/kernel/0602.2/0738.html
@@ -1050,6 +1058,7 @@ linux2.6|linux 2.6.x console,
@@ -1048,6 +1056,7 @@ linux2.6|linux 2.6.x console,
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
yzz{{||}}~~,
enacs=\E)0, rmacs=^O,
@ -428,7 +437,7 @@
sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, use=linux2.2,
@@ -5210,8 +5219,26 @@ xterm-noapp|xterm with cursor keys in no
@@ -5347,8 +5356,26 @@ xterm-noapp|xterm with cursor keys in no
xterm-24|vs100|xterms|xterm terminal emulator (X Window System),
lines#24, use=xterm-old,
@ -455,7 +464,7 @@
use=xterm-new,
# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
@@ -5556,7 +5583,7 @@ xterms-sun|small (80x24) xterm with sunF
@@ -5693,7 +5720,7 @@ xterms-sun|small (80x24) xterm with sunF
#### GNOME (VTE)
# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
@ -464,7 +473,7 @@
bce,
kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
use=xterm-color,
@@ -5807,10 +5834,14 @@ mgt|Multi GNOME Terminal,
@@ -5944,10 +5971,14 @@ mgt|Multi GNOME Terminal,
#### KDE
# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
# or not is debatable).
@ -480,7 +489,7 @@
# Konsole 1.0.1 (2001/11/25)
# (formerly known as kvt)
#
@@ -6062,7 +6093,7 @@ mlterm3|multi lingual terminal emulator,
@@ -6199,7 +6230,7 @@ mlterm3|multi lingual terminal emulator,
mlterm2|multi lingual terminal emulator,
am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
colors#8, cols#80, it#8, lines#24, pairs#64,
@ -489,7 +498,7 @@
bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=\r,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
@@ -6140,7 +6171,7 @@ rxvt-basic|rxvt terminal base (X Window
@@ -6276,7 +6307,7 @@ rxvt-basic|rxvt terminal base (X Window
enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
ind=\n, is1=\E[?47l\E=\E[?1l,
@ -498,18 +507,18 @@
kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
rmul=\E[24m,
@@ -6235,8 +6266,8 @@ rxvt-basic|rxvt terminal base (X Window
@@ -6371,8 +6402,8 @@ rxvt-basic|rxvt terminal base (X Window
# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
rxvt+pcfkeys|fragment for PC-style fkeys,
kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
- kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B,
- kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^,
- kcuf1=\E[C, kcuu1=\E[A, kel=\E[8\^, kend=\E[8~, kf1=\E[11~,
+ kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\EOD, kcud1=\EOB,
+ kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kel=\E[8\^,
kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
@@ -6327,6 +6358,38 @@ rxvt-cygwin-native|rxvt terminal emulato
+ kcuf1=\EOC, kcuu1=\EOA, kel=\E[8\^, kend=\E[8~, kf1=\E[11~,
kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
@@ -6462,6 +6493,38 @@ rxvt-cygwin-native|rxvt terminal emulato
\302x\263y\363z\362{\343|\330~\376,
use=rxvt-cygwin,
@ -548,7 +557,7 @@
# This variant is supposed to work with rxvt 2.7.7 when compiled with
# NO_BRIGHTCOLOR defined. rxvt needs more work...
rxvt-16color|rxvt with 16 colors like aixterm,
@@ -6391,7 +6454,7 @@ Eterm|Eterm-color|Eterm with xterm-style
@@ -6526,7 +6589,7 @@ Eterm|Eterm-color|Eterm with xterm-style
home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
il=\E[%p1%dL, il1=\E[L, ind=\n, is1=\E[?47l\E>\E[?1l,
is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kNXT@,
@ -557,7 +566,7 @@
kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M,
mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=,
@@ -7381,7 +7444,7 @@ pty|4bsd pseudo teletype,
@@ -7514,7 +7577,7 @@ pty|4bsd pseudo teletype,
# https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el
#
# The codes supported by the term.el terminal emulation in GNU Emacs 19.30
@ -566,7 +575,7 @@
am, mir, xenl,
cols#80, lines#24,
bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=\r,
@@ -7394,6 +7457,13 @@ eterm|gnu emacs term.el terminal emulati
@@ -7527,6 +7590,13 @@ eterm|gnu emacs term.el terminal emulati
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m,
smul=\E[4m,
@ -580,16 +589,16 @@
# The codes supported by the term.el terminal emulation in GNU Emacs 22.2
eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
@@ -7522,7 +7592,7 @@ screen|VT 100/ANSI X3.64 virtual termina
@@ -7654,7 +7724,7 @@ screen|VT 100/ANSI X3.64 virtual termina
dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG,
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
- ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z,
+ ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^?, kcbt=\E[Z,
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
@@ -7644,6 +7714,13 @@ screen.xterm-xfree86|screen.xterm-new|sc
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR,
kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
@@ -7774,6 +7844,13 @@ screen.xterm-xfree86|screen.xterm-new|sc
use=xterm+x11mouse, use=xterm-new,
#:screen.xterm|screen for modern xterm,
#: use=screen.xterm-new,
@ -603,7 +612,7 @@
# xterm-r6 does not really support khome/kend unless it is propped up by
# the translations resource.
screen.xterm-r6|screen customized for X11R6 xterm,
@@ -7731,7 +7808,7 @@ screen2|old VT 100/ANSI X3.64 virtual te
@@ -7861,7 +7938,7 @@ screen2|old VT 100/ANSI X3.64 virtual te
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL,
@ -612,7 +621,7 @@
kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH,
nel=\r\n, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m,
@@ -9638,7 +9715,7 @@ hp700-wy|HP700/41 emulating wyse30,
@@ -9759,7 +9836,7 @@ hp700-wy|HP700/41 emulating wyse30,
ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>,
sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>,
smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c,
@ -621,7 +630,7 @@
am, da, db, xhp,
cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8,
acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA,
@@ -17289,7 +17366,7 @@ ibm3101|i3101|IBM 3101-10,
@@ -17406,7 +17483,7 @@ ibm3101|i3101|IBM 3101-10,
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
el=\EI, home=\EH, hts=\E0, ind=\n, kcub1=\ED, kcud1=\EB,
kcuf1=\EC, kcuu1=\EA, nel=\r\n, tbc=\EH,
@ -630,7 +639,7 @@
is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B,
sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;
%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t
@@ -17547,7 +17624,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
@@ -17664,7 +17741,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
tbc=\E[3g, use=ecma+index,
# "Megapel" refers to the display adapter, which was used with the IBM RT
# aka IBM 6150.
@ -766,7 +775,7 @@
} else if (strstr(env, "screen") != 0
--- ncurses/tinfo/read_entry.c
+++ ncurses/tinfo/read_entry.c 2021-01-11 07:27:32.121419944 +0000
@@ -552,6 +552,7 @@ _nc_read_file_entry(const char *const fi
@@ -551,6 +551,7 @@ _nc_read_file_entry(const char *const fi
FILE *fp = 0;
int code;
@ -774,7 +783,7 @@
if (_nc_access(filename, R_OK) < 0
|| (fp = fopen(filename, BIN_R)) == 0) {
TR(TRACE_DATABASE, ("cannot open terminfo %s (errno=%d)", filename, errno));
@@ -572,6 +573,7 @@ _nc_read_file_entry(const char *const fi
@@ -571,6 +572,7 @@ _nc_read_file_entry(const char *const fi
}
fclose(fp);
}
@ -851,7 +860,7 @@
--- test/test.priv.h
+++ test/test.priv.h 2021-01-11 07:27:32.121419944 +0000
@@ -1024,12 +1024,12 @@ extern char *_nc_strstr(const char *, co
@@ -1027,12 +1027,12 @@ extern char *_nc_strstr(const char *, co
#endif
/* out-of-band values for representing absent capabilities */

View File

@ -1,3 +1,90 @@
-------------------------------------------------------------------
Tue Mar 16 12:20:59 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- New package ncurses-tests which includes examples and tests
- Include bash script cursescheck for ASC and REP capabilities
-------------------------------------------------------------------
Mon Mar 15 07:36:19 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20210313
+ improve configure CF_LD_SEARCHPATH macro used for ncurses*-config and
".pc" files, from dialog changes.
+ reduce dependency of math-library in test programs.
+ minor fixes for test_tparm.c (cf: 20210306)
+ mention "ncurses" prefix in curses_version() manpage (report by
Michal Bielinski).
-------------------------------------------------------------------
Tue Mar 9 11:16:31 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Only libpcre2 for ncurses ABI 6
- Make linker script for ABI 6 check for needed libpcre2
-------------------------------------------------------------------
Tue Mar 9 09:02:47 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20210306
+ improved test/test_parm.c, by limiting the tests to capabilities
that might have parameters or padding, and combined with tputs test.
+ improve discussion of padding versus tparm and tputs in
man/curs_terminfo.3x
+ update portability note for FreeBSD in man/tput.1
-------------------------------------------------------------------
Mon Mar 1 07:15:42 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20210227
+ modify tic/infocmp to eliminate unnecessary "\" to escape ":" in
terminfo format.
+ add check in tic for duplicate "use=" clauses.
-------------------------------------------------------------------
Mon Feb 22 08:41:45 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20210220
+ improve tic warning when oc/op do not mention SGR 39/49 for xterm
compatible XT flag.
+ revert change to lib_addch.c in waddch_literal() from 20210130, since
the followup fix in PutCharLR() actually corrects the problem while
this change causes too-early filling/wrapping (report by Johannes
Altmanninger).
+ add/use vt220+pcedit and vt220+vtedit -TD
+ add scrt/securecrt and absolute -TD
+ add nel to xterm-new, though supported since X11R5 -TD
+ add/use xterm+nofkeys -TD
+ move use of ecma+italics from xterm-basic to xterm+nofkeys -TD
- Port patch ncurses-6.2.dif mainly terminfo.src
-------------------------------------------------------------------
Mon Feb 15 11:15:34 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20210213
+ add test/back_ground.c, to exercise the wide-character background
functions.
+ add a check in _nc_build_wch() in case the background character is a
wide-character, rather than a new part of a multibyte character.
+ improve tracemunch's coverage of form/menu/panel libraries.
+ improve tracemunch's checking/reporting the type for the first
parameter, e.g., "WINDOW*" rather than "#1".
-------------------------------------------------------------------
Tue Feb 9 09:33:11 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- For (lib)pcre2 support the devel package has to require this
-------------------------------------------------------------------
Mon Feb 8 08:46:27 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20210206
+ provide for wide-characters as background character in wbkgrnd
(report/testcase by Anton Vidovic)
+ add name for Fedora's pcre2 to configure check for "--with-pcre2"
option, from xterm #363 -TD
+ modify adjustment in PutCharLR to restore the cursor position before
writing to the lower-right corner, rather than decrementing the
cursor column, in case it was a double-width character (cf: 20210130).
-------------------------------------------------------------------
Mon Feb 1 07:58:24 UTC 2021 - Dr. Werner Fink <werner@suse.de>

View File

@ -25,6 +25,7 @@
%bcond_with memleakck
%bcond_without onlytinfo
%bcond_with libbsd
%bcond_without usepcre2
%if %{with onlytinfo}
%global soname_tinfo tinfo
@ -47,6 +48,9 @@ BuildRequires: pkg-config
BuildRequires: pkgconfig(libbsd)
%endif
BuildRequires: screen
%if %{with usepcre2}
BuildRequires: pkgconfig(libpcre2-8)
%endif
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
@ -80,6 +84,7 @@ Source4: ncurses-rpmlintrc
Source5: ftp://ftp.invisible-island.net/pub/ncurses/current/tack-1.09-20200220.tgz
Source6: edit.sed
Source7: baselibs.conf
Source8: cursescheck
Patch0: ncurses-6.2.dif
Patch1: ncurses-5.9-ibm327x.dif
Patch2: ncurses-5.7-tack.dif
@ -116,6 +121,14 @@ tset -- terminal-initialization utility
reset -- terminal initialization utility
%package -n ncurses-tests
Summary: Tools using the new curses libraries
License: MIT
Group: System/Base
%description -n ncurses-tests
The ncurses based test programs
%package -n terminfo-base
Summary: A terminal descriptions database
License: MIT
@ -213,6 +226,9 @@ Provides: ncurses:%{_incdir}/ncurses.h
Requires: %{_bindir}/tack
Requires: libncurses6 = %{version}-%{release}
Requires: ncurses = %{version}-%{release}
%if %{with usepcre2}
Requires: pkgconfig(libpcre2-8)
%endif
# bug437293
%ifarch ppc64
Obsoletes: ncurses-devel-64bit
@ -494,6 +510,9 @@ mv tack-* tack
--with-default-terminfo-dir=%{_datadir}/terminfo \
--with-terminfo-dirs=%{_sysconfdir}/terminfo:%{_datadir}/terminfo \
--with-xterm-kbs=del \
%if %{with usepcre2}
--with-pcre2 \
%endif
--disable-stripping \
--disable-root-environ \
--disable-termcap \
@ -661,11 +680,17 @@ mv tack-* tack
CFLAGS="$CFLAGS -I%{root}%{_incdir}/ncursesw/ -I%{root}%{_incdir}/" \
LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \
LIBS="$LDFLAGS" \
./configure --with-ncursesw --enable-widec --prefix=$PWD
./configure --with-ncursesw --with-screen=ncursesw --enable-widec --prefix=%{_prefix} --bindir=%{_libexecdir}/ncurses --datadir=%{_datadir}/ncurses
LD_LIBRARY_PATH=%{root}%{_libdir} \
%if %{with usepcre2}
make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
make install DESTDIR=${PWD} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
%else
make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
make install TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
mv bin binw
make install DESTDIR=${PWD} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
%endif
mv usr usr.back
make distclean
popd
%endif
@ -690,6 +715,9 @@ mv tack-* tack
--disable-opaque-panel \
--disable-ext-mouse \
--disable-widec \
%if %{with usepcre2}
--without-pcre2 \
%endif
--with-termlib=tinfo \
--with-ticlib=tic \
%if %{with symversion}
@ -796,10 +824,16 @@ includedir5=%{_incdir}/ncurses5' "$pc"
CFLAGS="$CFLAGS -I%{root}%{_incdir}ncurses/ -I%{root}%{_incdir}/" \
LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \
LIBS="$LDFLAGS" \
./configure --with-ncurses --disable-widec --prefix=$PWD
./configure --with-ncurses --with-screen=ncurses --disable-widec --prefix=%{_prefix} --bindir=%{_libexecdir}/ncurses --datadir=%{_datadir}/ncurses
LD_LIBRARY_PATH=%{root}%{_libdir} \
%if %{with usepcre2}
make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
make install DESTDIR=${PWD} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
%else
make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
make install TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
make install DESTDIR=${PWD} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
%endif
rm -rf usr/
make distclean
popd
%endif
@ -826,6 +860,9 @@ includedir5=%{_incdir}/ncurses5' "$pc"
--disable-opaque-panel \
--disable-ext-mouse \
--enable-widec \
%if %{with usepcre2}
--without-pcre2 \
%endif
--with-termlib=%{soname_tinfo} \
--with-ticlib=ticw \
%if %{with symversion}
@ -875,6 +912,11 @@ includedir5=%{_incdir}/ncurses5' "$pc"
%{root}%{_bindir}/ncursesw5-config
%install
%if %{with usepcre2}
pcre2="-lpcre2-posix -lpcre2-8"
%else
pcre2=""
%endif
PATH=$PWD/gzip:$PATH
(cd %{root}/; tar -cpSf - *)|tar -xpsSf - -C %{buildroot}/
rm -rf %{root}
@ -893,12 +935,12 @@ includedir5=%{_incdir}/ncurses5' "$pc"
libncursesw*)
rm -f ${lnk}
echo '/* GNU ld script */' > ${lnk}
echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo} -ldl))" >> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo} -ldl $pcre2))" >> ${lnk}
;;
libncurses*)
rm -f ${lnk}
echo '/* GNU ld script */' > ${lnk}
echo "INPUT(${lib} AS_NEEDED(-ltinfo -ldl))" >> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-ltinfo -ldl $pcre2))" >> ${lnk}
;;
*) ln -sf ${lib} %{buildroot}%{_libdir}/${model}.so
esac
@ -1088,6 +1130,15 @@ includedir5=%{_incdir}/ncurses5' "$pc"
#
cp -p pc/*.pc %{buildroot}%{_libdir}/pkgconfig/
#
# Install test binaries and, if exists, the manual pages
#
pushd test
mv usr.back usr
(cd usr/; tar -cpSf - .) | tar -xpsSf - -C %{buildroot}%{_prefix}
install -m 0755 %{S:8} %{buildroot}%{_libexecdir}/ncurses/
popd
%if 0%{?_crossbuild}
# No test here
%else
@ -1103,7 +1154,7 @@ pushd test
expect -d <<-'EOF'
set env(TERM) xterm
set timeout 20
spawn -noecho "binw/newdemo"
spawn -noecho ".%{_libexecdir}/ncurses/newdemo"
send -- "x"
sleep 5
send -- "x"
@ -1116,7 +1167,7 @@ pushd test
expect -d <<-'EOF'
set env(TERM) xterm
set timeout 20
spawn -noecho "bin/newdemo"
spawn -noecho ".%{_libexecdir}/ncurses/newdemo"
send -- "x"
sleep 5
send -- "x"
@ -1164,16 +1215,24 @@ popd
%{_bindir}/toe
%{_bindir}/tput
%{_bindir}/tset
%doc %{_mandir}/man1/clear.1.gz
%doc %{_mandir}/man1/infocmp.1.gz
%doc %{_mandir}/man1/reset.1.gz
%doc %{_mandir}/man1/tabs.1.gz
%doc %{_mandir}/man1/toe.1.gz
%doc %{_mandir}/man1/tput.1.gz
%doc %{_mandir}/man1/tset.1.gz
%doc %{_mandir}/man5/*.gz
%doc %{_mandir}/man1/clear.1%{ext_man}
%doc %{_mandir}/man1/infocmp.1%{ext_man}
%doc %{_mandir}/man1/reset.1%{ext_man}
%doc %{_mandir}/man1/tabs.1%{ext_man}
%doc %{_mandir}/man1/toe.1%{ext_man}
%doc %{_mandir}/man1/tput.1%{ext_man}
%doc %{_mandir}/man1/tset.1%{ext_man}
%doc %{_mandir}/man5/*%{ext_man}
%doc AUTHORS
%files -n ncurses-tests
%defattr(-,root,root)
%dir %{_libexecdir}/ncurses/
%{_libexecdir}/ncurses/*
%dir %{_datadir}/ncurses/
%{_datadir}/ncurses/*
#%doc %{_mandir}/man6/*%{ext_man}
%files -n libncurses5
%defattr(-,root,root)
%{_libdir}/lib*.so.5*
@ -1197,12 +1256,12 @@ popd
%{_incdir}/ncursesw/*.h
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*[clmosuw\+].pc
%doc %{_mandir}/man1/ncurses*6-config.1.gz
%doc %{_mandir}/man1/captoinfo.1.gz
%doc %{_mandir}/man1/infotocap.1.gz
%doc %{_mandir}/man1/tic.1.gz
%doc %{_mandir}/man3/*.gz
%doc %{_mandir}/man7/*.gz
%doc %{_mandir}/man1/ncurses*6-config.1%{ext_man}
%doc %{_mandir}/man1/captoinfo.1%{ext_man}
%doc %{_mandir}/man1/infotocap.1%{ext_man}
%doc %{_mandir}/man1/tic.1%{ext_man}
%doc %{_mandir}/man3/*%{ext_man}
%doc %{_mandir}/man7/*%{ext_man}
%files -n ncurses-devel-static
%{_libdir}/lib*.a
@ -1219,7 +1278,7 @@ popd
%dir %{_libdir}/ncurses5/
%{_libdir}/ncurses5/lib*.so
%{_libdir}/pkgconfig/*5.pc
%doc %{_mandir}/man1/ncurses*5-config.1.gz
%doc %{_mandir}/man1/ncurses*5-config.1%{ext_man}
%files -n ncurses5-devel-static
%{_libdir}/ncurses5/lib*.a
@ -1227,7 +1286,7 @@ popd
%files -n tack
%defattr(-,root,root)
%{_bindir}/tack
%doc %{_mandir}/man1/tack.1.gz
%doc %{_mandir}/man1/tack.1%{ext_man}
%files -f extension.list -n terminfo
%defattr(-,root,root)