Accepting request 582535 from Base:System

- Add ncurses patch 6.1-20180303
  + modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to
    avoid expansion of "CUR" in trace.
  + improve a few lintian warnings in test-packages.
  + modify lib_setup to avoid calling pthread_self() without first
    verifying that the address is valid, i.e., for weak symbols
    (report/patch by Werner Fink).
  + modify generated terminfo.5 to not use "expand" and related width
    on the last column of tables, making layout on wide terminals look
    better (adapted from patch by Kir Kolyshkin).
  + add a category to report_offsets, e.g., "w" for wide-character, "t"
    for threads to make the report more readable.  Reorganized the
    structures reported to make the categories more apparent.
  + simplify some ifdef's for extended-colors.
  + add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show
    how similar the different tinfo configurations are.
- Remove patch ncurses-6.1-weakpthreads.dif now upstream (bsc#1082772)
- Make expect build check less fragile on timing

- Switch back to shared libtinfo only but provide an auxiliary shared
  library libtinfow to avoid a rebuild of third party programs (bsc#1082772)
  + Add sanity check if new 32bit API is included in libtinfo

- Add patch ncurses-6.1-weakpthreads.dif
  + Be aware that libtinfo/libtinfw is also used without libpthread
    (boo#1058509)
- Use expect to run at least two test for normal and wide character
  version of newdemo from test suite

- Add ncurses patch 6.1-20180224

OBS-URL: https://build.opensuse.org/request/show/582535
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ncurses?expand=0&rev=143
This commit is contained in:
Dominique Leuenberger 2018-03-08 09:41:55 +00:00 committed by Git OBS Bridge
commit eac8e35cf3
5 changed files with 271 additions and 69 deletions

View File

@ -3,8 +3,8 @@
1 file changed, 2 insertions(+), 2 deletions(-)
--- misc/terminfo.src
+++ misc/terminfo.src 2018-01-29 10:42:50.284566362 +0000
@@ -16451,8 +16451,8 @@ hazel|exec80|h80|he80|Hazeltine Executiv
+++ misc/terminfo.src 2018-02-26 09:11:11.405411875 +0000
@@ -16487,8 +16487,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:d822ab8d2d7fa5dc03662a892edec02336ee432580fad6d096b0b3cba8b6d698
size 8285
oid sha256:0a949e2d78dc242d1ada722ff3b37b1f16b032d9c1525576c20b2f939dd0911b
size 91010

View File

@ -22,7 +22,7 @@
20 files changed, 248 insertions(+), 81 deletions(-)
--- aclocal.m4
+++ aclocal.m4 2018-01-29 10:43:34.207735837 +0000
+++ aclocal.m4 2018-03-05 07:53:48.984265229 +0000
@@ -580,7 +580,7 @@ AC_MSG_CHECKING([for size of bool])
AC_CACHE_VAL(cf_cv_type_of_bool,[
rm -f cf_test.out
@ -151,8 +151,8 @@
esac
done
--- configure
+++ configure 2018-01-29 10:43:34.211735762 +0000
@@ -5971,7 +5971,7 @@ case $cf_cv_system_name in
+++ configure 2018-03-05 07:53:48.988265152 +0000
@@ -5972,7 +5972,7 @@ case $cf_cv_system_name in
fi
;;
(linux*|gnu*|k*bsd*-gnu|freebsd*)
@ -161,7 +161,7 @@
;;
(openbsd[2-9].*|mirbsd*)
LD_RPATH_OPT="-Wl,-rpath,"
@@ -12022,12 +12022,15 @@ cat >>$cf_edit_man <<CF_EOF
@@ -12464,12 +12464,15 @@ cat >>$cf_edit_man <<CF_EOF
echo '? missing rename for '\$cf_source
cf_target="\$cf_source"
fi
@ -179,7 +179,7 @@
sed -f $cf_man_alias \\
CF_EOF
@@ -12037,7 +12040,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -12479,7 +12482,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
@ -188,7 +188,7 @@
CF_EOF
fi
@@ -12077,7 +12080,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -12519,7 +12522,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_so_strip \$TMP
fi
fi
@ -197,7 +197,7 @@
CF_EOF
fi
@@ -12086,23 +12089,23 @@ case "$MANPAGE_FORMAT" in
@@ -12528,23 +12531,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
@ -227,7 +227,7 @@
for cf_alias in \$aliases
do
if test \$section = 1 ; then
@@ -12111,7 +12114,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -12553,7 +12556,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f \$cf_alias\${suffix} ; then
@ -236,7 +236,7 @@
then
continue
fi
@@ -12121,18 +12124,18 @@ CF_EOF
@@ -12563,18 +12566,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
@ -258,7 +258,7 @@
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_compress" ; then
@@ -12152,9 +12155,9 @@ cat >>$cf_edit_man <<CF_EOF
@@ -12594,9 +12597,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test \$verb = removing ; then
@ -271,7 +271,7 @@
)
test -d \$cf_subdir\${section} &&
test -n "\$aliases" && (
@@ -12174,6 +12177,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -12616,6 +12619,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
@ -279,7 +279,7 @@
;;
esac
done
@@ -23005,6 +23009,7 @@ if test "$with_termlib" != no ; then
@@ -23017,6 +23021,7 @@ if test "$with_termlib" != no ; then
TINFO_LDFLAGS="-L${LIB_DIR}"
SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
fi
@ -288,7 +288,7 @@
# the next lines are needed for linking libtic over libncurses
TINFO_NAME=${LIB_NAME}
--- include/curses.h.in
+++ include/curses.h.in 2018-01-29 10:43:34.211735762 +0000
+++ include/curses.h.in 2018-03-05 07:53:48.992265076 +0000
@@ -177,6 +177,9 @@ typedef @cf_cv_typeof_chtype@ chtype;
typedef @cf_cv_typeof_mmask_t@ mmask_t;
#endif
@ -300,7 +300,7 @@
* We need FILE, etc. Include this before checking any feature symbols.
*/
--- include/termcap.h.in
+++ include/termcap.h.in 2018-01-29 10:43:34.211735762 +0000
+++ include/termcap.h.in 2018-03-05 07:53:48.992265076 +0000
@@ -46,6 +46,8 @@ extern "C"
{
#endif /* __cplusplus */
@ -311,7 +311,7 @@
#undef NCURSES_CONST
--- include/tic.h
+++ include/tic.h 2018-01-29 10:43:34.215735686 +0000
+++ include/tic.h 2018-03-05 07:53:48.992265076 +0000
@@ -221,12 +221,12 @@ struct alias
*/
@ -328,7 +328,7 @@
#define CANCELLED_STRING (char *)(-1)
--- man/man_db.renames
+++ man/man_db.renames 2018-01-29 10:43:34.215735686 +0000
+++ man/man_db.renames 2018-03-05 07:53:48.992265076 +0000
@@ -163,6 +163,7 @@ term.7 term.7
term_variables.3x terminfo_variables.3ncurses
terminfo.5 terminfo.5
@ -346,7 +346,7 @@
#
getty.1 getty.8
--- man/ncurses.3x
+++ man/ncurses.3x 2018-01-29 10:43:34.215735686 +0000
+++ man/ncurses.3x 2018-03-05 07:53:48.992265076 +0000
@@ -138,6 +138,10 @@ after the shell environment variable \fB
[See \fBterminfo\fR(\*n) for further details.]
.SS Datatypes
@ -359,7 +359,7 @@
called \fIwindows\fR, which can be thought of as two-dimensional
arrays of characters representing all or part of a CRT screen.
--- misc/gen-pkgconfig.in
+++ misc/gen-pkgconfig.in 2018-01-29 10:43:34.215735686 +0000
+++ misc/gen-pkgconfig.in 2018-03-05 07:53:48.992265076 +0000
@@ -76,7 +76,7 @@ if test "$includedir" != "/usr/include"
fi
@ -399,7 +399,7 @@
echo "** creating ${name}${suffix}.pc"
--- misc/ncurses-config.in
+++ misc/ncurses-config.in 2018-01-29 10:43:34.215735686 +0000
+++ misc/ncurses-config.in 2018-03-05 07:53:48.992265076 +0000
@@ -100,7 +100,7 @@ while test $# -gt 0; do
# compile/link
--cflags)
@ -410,7 +410,7 @@
fi
if test "${includedir}" != /usr/include ; then
--- misc/terminfo.src
+++ misc/terminfo.src 2018-01-29 10:46:41.680190635 +0000
+++ misc/terminfo.src 2018-03-05 07:53:48.996265000 +0000
@@ -301,7 +301,9 @@ dumb|80-column dumb tty,
am,
cols#80,
@ -631,7 +631,7 @@
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~,
@@ -5870,6 +5907,38 @@ rxvt-cygwin-native|rxvt terminal emulato
@@ -5900,6 +5937,38 @@ rxvt-cygwin-native|rxvt terminal emulato
\302x\263y\363z\362{\343|\330~\376,
use=rxvt-cygwin,
@ -670,7 +670,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,
@@ -5916,7 +5985,7 @@ mrxvt-256color|multitabbed rxvt with 256
@@ -5946,7 +6015,7 @@ mrxvt-256color|multitabbed rxvt with 256
# Eterm 0.9.3
#
# removed kf0 which conflicts with kf10 -TD
@ -679,7 +679,7 @@
# Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT
# but does otherwise follow the rxvt+pcfkeys model -TD
# remove nonworking flash -TD
@@ -5930,13 +5999,13 @@ Eterm|Eterm-color|Eterm with xterm-style
@@ -5960,13 +6029,13 @@ Eterm|Eterm-color|Eterm with xterm-style
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
@ -695,7 +695,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=,
@@ -6593,7 +6662,7 @@ pty|4bsd pseudo teletype,
@@ -6629,7 +6698,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
@ -704,7 +704,7 @@
am, mir, xenl,
cols#80, lines#24,
bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=\r,
@@ -6606,6 +6675,13 @@ eterm|gnu emacs term.el terminal emulati
@@ -6642,6 +6711,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,
@ -718,7 +718,7 @@
# 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,
@@ -6728,7 +6804,7 @@ screen|VT 100/ANSI X3.64 virtual termina
@@ -6764,7 +6840,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,
@ -727,7 +727,7 @@
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,
@@ -6849,6 +6925,13 @@ screen.xterm-xfree86|screen.xterm-new|sc
@@ -6885,6 +6961,13 @@ screen.xterm-xfree86|screen.xterm-new|sc
use=xterm+x11mouse, use=xterm-new,
#:screen.xterm|screen for modern xterm,
#: use=screen.xterm-new,
@ -741,7 +741,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,
@@ -6936,7 +7019,7 @@ screen2|old VT 100/ANSI X3.64 virtual te
@@ -6972,7 +7055,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,
@ -750,7 +750,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,
@@ -8817,7 +8900,7 @@ hp700-wy|HP700/41 emulating wyse30,
@@ -8853,7 +8936,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,
@ -759,7 +759,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,
@@ -12038,6 +12121,7 @@ msk22714|mskermit22714|UCB MS-DOS Kermit
@@ -12074,6 +12157,7 @@ msk22714|mskermit22714|UCB MS-DOS Kermit
# at support for the VT320 itself.
# Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu.
# (vt320-k3: I added <rmam>/<smam> based on the init string -- esr)
@ -767,7 +767,7 @@
vt320-k3|MS-Kermit 3.00's vt320 emulation,
am, eslok, hs, km, mir, msgr, xenl,
cols#80, it#8, lines#49, pb#9600, vt#3,
@@ -12047,7 +12131,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulatio
@@ -12083,7 +12167,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulatio
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,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
@ -776,7 +776,7 @@
dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
flash=\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[
?5l,
@@ -16461,7 +16545,7 @@ ibm3101|i3101|IBM 3101-10,
@@ -16497,7 +16581,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,
@ -785,7 +785,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
@@ -16719,7 +16803,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
@@ -16755,7 +16839,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
tbc=\E[3g,
# "Megapel" refers to the display adapter, which was used with the IBM RT
# aka IBM 6150.
@ -795,7 +795,7 @@
s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
--- ncurses/Makefile.in
+++ ncurses/Makefile.in 2018-01-29 10:43:34.219735610 +0000
+++ ncurses/Makefile.in 2018-03-05 07:53:48.996265000 +0000
@@ -219,7 +219,7 @@ $(DESTDIR)$(libdir) :
../lib : ; mkdir $@
@ -806,8 +806,8 @@
./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
$(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
--- ncurses/curses.priv.h
+++ ncurses/curses.priv.h 2018-01-29 10:43:34.219735610 +0000
@@ -2150,6 +2150,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec
+++ ncurses/curses.priv.h 2018-03-05 07:53:48.996265000 +0000
@@ -2169,6 +2169,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec
extern NCURSES_EXPORT(char *) _nc_tracemouse (SCREEN *, MEVENT const *);
extern NCURSES_EXPORT(char *) _nc_trace_mmask_t (SCREEN *, mmask_t);
extern NCURSES_EXPORT(int) _nc_access (const char *, int);
@ -817,7 +817,7 @@
extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
--- ncurses/run_cmd.sh
+++ ncurses/run_cmd.sh 2018-01-29 10:43:34.219735610 +0000
+++ ncurses/run_cmd.sh 2018-03-05 07:53:48.996265000 +0000
@@ -0,0 +1,11 @@
+#!/bin/sh
+
@ -831,7 +831,7 @@
+
+exec ${1+"$@"}
--- ncurses/tinfo/MKfallback.sh
+++ ncurses/tinfo/MKfallback.sh 2018-01-29 10:43:34.219735610 +0000
+++ ncurses/tinfo/MKfallback.sh 2018-03-05 07:53:48.996265000 +0000
@@ -68,6 +68,12 @@ else
tmp_info=
fi
@ -864,7 +864,7 @@
done
--- ncurses/tinfo/access.c
+++ ncurses/tinfo/access.c 2018-01-29 10:43:34.219735610 +0000
+++ ncurses/tinfo/access.c 2018-03-05 07:53:48.996265000 +0000
@@ -35,6 +35,9 @@
#include <ctype.h>
@ -907,7 +907,7 @@
_nc_access(const char *path, int mode)
{
--- ncurses/tinfo/lib_setup.c
+++ ncurses/tinfo/lib_setup.c 2018-01-29 10:43:34.219735610 +0000
+++ ncurses/tinfo/lib_setup.c 2018-03-05 07:53:48.996265000 +0000
@@ -599,6 +599,9 @@ _nc_locale_breaks_acs(TERMINAL *termp)
} else if ((value = tigetnum("U8")) >= 0) {
result = value; /* use extension feature */
@ -919,7 +919,7 @@
result = 1; /* always broken */
} else if (strstr(env, "screen") != 0
--- ncurses/tinfo/read_entry.c
+++ ncurses/tinfo/read_entry.c 2018-01-29 10:43:34.219735610 +0000
+++ ncurses/tinfo/read_entry.c 2018-03-05 07:53:48.996265000 +0000
@@ -532,6 +532,7 @@ _nc_read_file_entry(const char *const fi
FILE *fp = 0;
int code;
@ -937,7 +937,7 @@
return (code);
}
--- ncurses/tinfo/read_termcap.c
+++ ncurses/tinfo/read_termcap.c 2018-01-29 10:43:34.219735610 +0000
+++ ncurses/tinfo/read_termcap.c 2018-03-05 07:53:48.996265000 +0000
@@ -322,14 +322,18 @@ _nc_getent(
*/
if (fd >= 0) {
@ -984,7 +984,7 @@
}
if (copied != 0)
--- progs/Makefile.in
+++ progs/Makefile.in 2018-01-29 10:43:34.219735610 +0000
+++ progs/Makefile.in 2018-03-05 07:53:48.996265000 +0000
@@ -100,7 +100,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
@ -1004,7 +1004,7 @@
LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
--- test/test.priv.h
+++ test/test.priv.h 2018-01-29 10:43:34.219735610 +0000
+++ test/test.priv.h 2018-03-05 07:53:48.996265000 +0000
@@ -910,12 +910,12 @@ extern char *strnames[], *strcodes[], *s
#endif

View File

@ -1,3 +1,78 @@
-------------------------------------------------------------------
Mon Mar 5 07:48:43 UTC 2018 - werner@suse.de
- Add ncurses patch 6.1-20180303
+ modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to
avoid expansion of "CUR" in trace.
+ improve a few lintian warnings in test-packages.
+ modify lib_setup to avoid calling pthread_self() without first
verifying that the address is valid, i.e., for weak symbols
(report/patch by Werner Fink).
+ modify generated terminfo.5 to not use "expand" and related width
on the last column of tables, making layout on wide terminals look
better (adapted from patch by Kir Kolyshkin).
+ add a category to report_offsets, e.g., "w" for wide-character, "t"
for threads to make the report more readable. Reorganized the
structures reported to make the categories more apparent.
+ simplify some ifdef's for extended-colors.
+ add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show
how similar the different tinfo configurations are.
- Remove patch ncurses-6.1-weakpthreads.dif now upstream (bsc#1082772)
- Make expect build check less fragile on timing
-------------------------------------------------------------------
Fri Mar 2 10:00:20 UTC 2018 - werner@suse.de
- Switch back to shared libtinfo only but provide an auxiliary shared
library libtinfow to avoid a rebuild of third party programs (bsc#1082772)
+ Add sanity check if new 32bit API is included in libtinfo
-------------------------------------------------------------------
Thu Mar 1 13:39:02 UTC 2018 - werner@suse.de
- Add patch ncurses-6.1-weakpthreads.dif
+ Be aware that libtinfo/libtinfw is also used without libpthread
(boo#1058509)
- Use expect to run at least two test for normal and wide character
version of newdemo from test suite
-------------------------------------------------------------------
Mon Feb 26 09:10:07 UTC 2018 - werner@suse.de
- Add ncurses patch 6.1-20180224
+ modify _nc_resolve_uses2() to detect incompatible types when merging
a "use=" clause of extended capabilities. The problem was seen in a
defective terminfo integrated from simpleterm sources in 20171111,
compounded by repair in 20180121.
+ correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD
+ fix remaining flash capabilities with trailing mandatory delays -TD
+ correct cut/paste in NEWS (report by Sven Joachim).
-------------------------------------------------------------------
Mon Feb 19 12:56:33 UTC 2018 - werner@suse.de
- Add ncurses patch 6.1-20180217
+ remove incorrect free() from 20170617 changes (report by David Macek).
+ correct type for "U8" in user_caps.5; it is a number not boolean.
+ add a null-pointer check in safe_sprintf.c (report by Steven Noonan).
+ improve fix for Debian #882620 by reusing limit2 variable (report
Julien Cristau, Sven Joachim).
-------------------------------------------------------------------
Thu Feb 15 13:00:37 UTC 2018 - werner@suse.de
- Add ncurses patch 6.1-20180210
+ modify misc/Makefile.in to install/uninstall explicit list in case
the build-directory happens to have no ".pc" files when an uninstall
is performed (report by Jeffrey Walton).
+ deprecate safe-sprintf, since the vsnprintf function, which does what
was needed, was standardized long ago.
+ add several development/experimental options to development packages.
+ minor reordering of options in configure script to make the threaded
and reentrant options distinct from the other extensions which are
normally enabled.
- Make reentrant libs opaque
-------------------------------------------------------------------
Mon Feb 5 08:15:58 UTC 2018 - werner@suse.de

View File

@ -23,12 +23,20 @@
%bcond_with symversion
%endif
%bcond_with memleakck
%bcond_without onlytinfo
%if %{with onlytinfo}
%global soname_tinfo tinfo
%else
%global soname_tinfo tinfow
%endif
Name: ncurses
#!BuildIgnore: terminfo
%if %{with hasheddb}
BuildRequires: db-devel
%endif
BuildRequires: expect
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: screen
@ -221,7 +229,7 @@ the ncurses library in its ABI version 5 form.
%package -n tack
Summary: Terminfo action checker
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Development/Tools/Building
Provides: ncurses-devel:%{_bindir}/tack
Requires: ncurses = %{version}-%{release}
@ -314,9 +322,9 @@ mv tack-* tack
test ! -f /.buildenv || . /.buildenv
OPATH=$PATH
%ifarch s390x s390
FALLBK="xterm,ibm327x,vt100,vt102,vt220"
FALLBK="unknown,dumb,xterm,ibm327x,vt100,vt102,vt220"
%else
FALLBK="xterm,linux,vt100,vt102"
FALLBK="unknown,dumb,xterm,linux,vt100,vt102,vt220"
%endif
CC=gcc
CXX=g++
@ -388,6 +396,7 @@ mv tack-* tack
--without-debug \
--without-profile \
--without-manpage-tbl \
--without-tests \
--with-shared \
--with-normal \
--with-manpage-format=gzip \
@ -400,6 +409,7 @@ mv tack-* tack
--with-gpm \
%endif
--with-dlsym \
--with-default-terminfo-dir=%{_datadir}/terminfo \
--with-terminfo-dirs=%{_sysconfdir}/terminfo:%{_datadir}/terminfo \
--with-xterm-kbs=del \
--disable-stripping \
@ -423,9 +433,13 @@ mv tack-* tack
--enable-interop \
--with-pthread \
--enable-reentrant \
--enable-opaque-curses \
--enable-opaque-form \
--enable-opaque-menu \
--enable-opaque-panel \
--enable-ext-mouse \
--enable-widec \
--with-termlib=tinfow \
--with-termlib=%{soname_tinfo} \
--with-ticlib=ticw \
%if %{with symversion}
--with-versioned-syms=${PWD}/package/ncursestw.map \
@ -520,34 +534,64 @@ mv tack-* tack
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
find man/ -name '*.[1-8]x.*' -print -delete
make install DESTDIR=%{root} includedir=%{_incdir} includesubdir=/ncursesw libdir=%{_libdir}
%if %{with onlytinfo}
# This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as well
gcc $CFLAGS $LDFLAGS -fPIC -shared -Wl,--auxiliary=libtinfo.so.6,-soname,libtinfow.so.6,-stats,-lc \
-Wl,--version-script,ncurses/resulting.map -o %{root}%{_libdir}/libtinfow.so.%{version}
cp -p %{root}%{_libdir}/libtinfo.so.%{version} libtinfo.so.%{version}.back
cp -p %{root}%{_libdir}/libtinfow.so.%{version} libtinfow.so.%{version}.back
%endif
ln -sf %{_incdir}/ncurses/{curses,ncurses,term,termcap}.h %{root}%{_incdir}
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncursesw" --libs "-lncursesw" --libs "-ltinfow" %{root}%{_bindir}/ncursesw6-config
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncursesw" --libs "-lncursesw" \
--libs "-l%{soname_tinfo}" %{root}%{_bindir}/ncursesw6-config
mkdir pc
mv -f %{root}%{_libdir}/pkgconfig/*.pc pc/
#
# Some tests
#
%if 0%{?qemu_user_space_build:1}%{?_crossbuild}
echo "Skipping tests due to running under QEMU / cross-building"
%else
#
# Check for tack program on base of above ncurses
#
LD_LIBRARY_PATH=$PWD/lib
export LD_LIBRARY_PATH PATH
pushd tack/
%if 0%{?qemu_user_space_build:1}%{?_crossbuild}
echo "Skipping LDD test due to running under QEMU / cross-building"
%else
ldd ./tack
%endif
popd
unset LD_LIBRARY_PATH
#
# Make the test suite for ncursesw6
#
pushd test
CFLAGS="$CFLAGS -I%{root}%{_incdir}" LDFLAGS="$LDFLAGS -L%{root}%{_libdir}" \
./configure --with-ncursesw --enable-widec --prefix=$PWD
LD_LIBRARY_PATH=%{root}%{_libdir} \
make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed'
make install TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed'
mv bin binw
make distclean
popd
%endif
test ! -L tack || rm -f tack
make clean
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
#
# Now use --without-pthread to disable pthread support (abi == 5).
#
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
eval screen -D -m ./${c#*./} --with-abi-version=5 \
--without-manpages \
--without-progs \
--without-tack \
--without-pthread \
--disable-reentrant \
--disable-opaque-curses \
--disable-opaque-form \
--disable-opaque-menu \
--disable-opaque-panel \
--disable-ext-mouse \
--disable-widec \
--with-termlib=tinfo \
@ -572,7 +616,8 @@ mv tack-* tack
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir}/ncurses5 includesubdir=/ncurses libdir=%{_libdir}/ncurses5
ln -sf %{_incdir}/ncurses5/ncurses/{curses,ncurses,term}.h %{root}%{_incdir}/ncurses5/
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncurses5/ncurses -I%{_incdir}/ncurses5" --libs "-L%{_libdir}/ncurses5 -lncurses" --libs "-ltinfo" %{root}%{_bindir}/ncurses5-config
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncurses5/ncurses -I%{_incdir}/ncurses5" --libs "-L%{_libdir}/ncurses5 -lncurses" \
--libs "-ltinfo" %{root}%{_bindir}/ncurses5-config
pushd man
sh ../edit_man.sh normal installing %{root}%{_mandir} . ncurses5-config.1
popd
@ -597,7 +642,14 @@ mv tack-* tack
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
eval screen -D -m ./${c#*./} --with-pthread \
--without-manpages \
--without-progs \
--without-tack \
--enable-reentrant \
--enable-opaque-curses \
--enable-opaque-form \
--enable-opaque-menu \
--enable-opaque-panel \
--enable-ext-mouse \
--disable-widec \
--with-termlib=tinfo \
@ -618,16 +670,40 @@ mv tack-* tack
make %{?_smp_mflags}
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir} includesubdir=/ncurses libdir=%{_libdir}
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncurses" --libs "-lncurses" --libs "-ltinfo" %{root}%{_bindir}/ncurses6-config
%if %{with onlytinfo}
# This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as well
cp -p libtinfo.so.%{version}.back %{root}%{_libdir}/libtinfo.so.%{version}
cp -p libtinfow.so.%{version}.back %{root}%{_libdir}/libtinfow.so.%{version}
%endif
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncurses" --libs "-lncurses" \
--libs "-ltinfo" %{root}%{_bindir}/ncurses6-config
pushd man
sh ../edit_man.sh normal installing %{root}%{_mandir} . ncurses6-config.1
popd
mv -f %{root}%{_libdir}/pkgconfig/*.pc pc/
#
# Some tests
#
%if 0%{?qemu_user_space_build:1}%{?_crossbuild}
echo "Skipping tests due to running under QEMU / cross-building"
%else
#
# Make the test suite for ncurses6
#
pushd test
CFLAGS="$CFLAGS -I%{root}%{_incdir}" LDFLAGS="$LDFLAGS -L%{root}%{_libdir}" \
./configure --with-ncurses --disable-widec --prefix=$PWD
LD_LIBRARY_PATH=%{root}%{_libdir} \
make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed'
make install TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed'
make distclean
popd
%endif
test ! -L tack || rm -f tack
make clean
#
# ABI == 5
#
make clean
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
@ -635,11 +711,18 @@ mv tack-* tack
# Now use --without-pthread to disable pthread support (abi == 5).
#
eval screen -D -m ./${c#*./} --with-abi-version=5 \
--without-manpages \
--without-progs \
--without-tack \
--without-pthread \
--disable-reentrant \
--disable-opaque-curses \
--disable-opaque-form \
--disable-opaque-menu \
--disable-opaque-panel \
--disable-ext-mouse \
--enable-widec \
--with-termlib=tinfow \
--with-termlib=%{soname_tinfo} \
--with-ticlib=ticw \
%if %{with symversion}
--with-versioned-syms=${PWD}/package/ncursesw.map \
@ -660,7 +743,12 @@ mv tack-* tack
s@^(includedir=).show_includedir@\1%{_incdir}/ncurses5/ncursesw@' misc/gen-pkgconfig
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir}/ncurses5 includesubdir=/ncursesw libdir=%{_libdir}/ncurses5
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncurses5/ncursesw -I%{_incdir}/ncurses5" --libs "-L%{_libdir}/ncurses5 -lncursesw" --libs "-ltinfow" %{root}%{_bindir}/ncursesw5-config
%if %{with onlytinfo}
gcc $CFLAGS $LDFLAGS -fPIC -shared -Wl,--auxiliary=libtinfo.so.5,-soname,libtinfow.so.5,-stats,-lc \
-Wl,--version-script,package/ncursesw.map -o %{root}%{_libdir}/libtinfow.so.5.9
%endif
sh %{S:6} --cflags "-D_GNU_SOURCE -I%{_incdir}/ncurses5/ncursesw -I%{_incdir}/ncurses5" --libs "-L%{_libdir}/ncurses5 -lncursesw" \
--libs "-l%{soname_tinfo}" %{root}%{_bindir}/ncursesw5-config
pushd man
sh ../edit_man.sh normal installing %{root}%{_mandir} . ncursesw5-config.1
popd
@ -700,7 +788,7 @@ mv tack-* tack
libncursesw*)
rm -f ${lnk}
echo '/* GNU ld script */' > ${lnk}
echo "INPUT(${lib} AS_NEEDED(-ltinfow -ldl))" >> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo} -ldl))" >> ${lnk}
;;
libncurses*)
rm -f ${lnk}
@ -729,7 +817,7 @@ mv tack-* tack
libncursesw*)
rm -f "${lnk}"
echo '/* GNU ld script */' > ${lnk}
echo "INPUT(${lib} AS_NEEDED(-ltinfow))">> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo}))">> ${lnk}
;;
libncurses*)
rm -f "${lnk}"
@ -761,7 +849,7 @@ mv tack-* tack
rm -f ${lnk}
echo '/* GNU ld script */' > ${lnk}
echo 'SEARCH_DIR(%{_libdir}/ncurses5)' >> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-ltinfow))">> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo}))">> ${lnk}
;;
libncurses*)
rm -f ${lnk}
@ -888,6 +976,45 @@ mv tack-* tack
rm -f %{buildroot}%{_prefix}/lib/terminfo
mv pc/*.pc %{buildroot}%{_libdir}/pkgconfig/
%if 0%{?qemu_user_space_build:1}%{?_crossbuild}
# No test here
%else
%check
LD_LIBRARY_PATH=%{buildroot}/%{_lib}:%{buildroot}%{_libdir}
export LD_LIBRARY_PATH
%if %{with onlytinfo}
nm -D %{buildroot}/%{_lib}/libtinfo.so.%{version} | grep -q _nc_read_entry2
%endif
pushd test
expect -d <<-'EOF'
set env(TERM) xterm
set timeout 20
spawn -noecho "binw/newdemo"
send -- "x"
sleep 5
send -- "x"
sleep 5
send -- "x"
sleep 5
send -- "q"
wait -nowait
EOF
expect -d <<-'EOF'
set env(TERM) xterm
set timeout 20
spawn -noecho "bin/newdemo"
send -- "x"
sleep 5
send -- "x"
sleep 5
send -- "x"
sleep 5
send -- "q"
wait -nowait
EOF
popd
%endif
%post -n libncurses5 -p /sbin/ldconfig
%postun -n libncurses5 -p /sbin/ldconfig