From df503e6886fc759723a9e6efab71a261852ab7ed4d2a1a824698675c7dd46114 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 18 Dec 2006 23:17:11 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ncurses?expand=0&rev=1 --- .gitattributes | 23 + .gitignore | 1 + handle.linux | 83 +++ ncurses-5.3-printw.dif | 66 ++ ncurses-5.4-wide.dif | 24 + ncurses-5.5-20060513-patch.tar.bz2 | 3 + ncurses-5.5-pthread.dif | 205 ++++++ ncurses-5.5-valist.dif | 19 + ncurses-5.5.dif | 1016 ++++++++++++++++++++++++++++ ncurses-5.5.tar.bz2 | 3 + ncurses.changes | 693 +++++++++++++++++++ ncurses.spec | 666 ++++++++++++++++++ ready | 0 13 files changed, 2802 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 handle.linux create mode 100644 ncurses-5.3-printw.dif create mode 100644 ncurses-5.4-wide.dif create mode 100644 ncurses-5.5-20060513-patch.tar.bz2 create mode 100644 ncurses-5.5-pthread.dif create mode 100644 ncurses-5.5-valist.dif create mode 100644 ncurses-5.5.dif create mode 100644 ncurses-5.5.tar.bz2 create mode 100644 ncurses.changes create mode 100644 ncurses.spec create mode 100644 ready diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/handle.linux b/handle.linux new file mode 100644 index 0000000..dbca158 --- /dev/null +++ b/handle.linux @@ -0,0 +1,83 @@ +#!/bin/bash + +tmp1=$(mktemp ${TMPDIR:-/tmp}/${0##*/}.XXXXXX) || exit 1 +trap "rm -f $tmp1; exit" EXIT SIGPIPE SIGTERM SIGINT +tmp2=$(mktemp ${TMPDIR:-/tmp}/${0##*/}.XXXXXX) || exit 1 +trap "rm -f $tmp1 $tmp2; exit" EXIT SIGPIPE SIGTERM SIGINT + +: ${TERMCAP:=/etc/termcap} +: ${TERMINFO:=/usr/share/terminfo} +acsc= +sgr= +mpch= +new= +ed= +declare -i line=0 + +if test -r run_cmd.sh ; then + function tc { sh run_cmd.sh tic -U -C -r ${1+"$@"}; } + function ic { sh run_cmd.sh infocmp -A $TERMINFO ${1+"$@"}; } +else + function tc { tic -U -C -r ${1+"$@"}; } + function ic { infocmp -A $TERMINFO ${1+"$@"}; } +fi + +cp $TERMCAP ${TERMCAP##*/}.new +set -o noglob +OIFS="$IFS" +IFS=' +' +for l in $(grep '^linux' $TERMCAP); do + [[ $l =~ linux-vt* ]] && continue + [[ $l =~ linux-basic* ]] && continue + ic -1 -T ${l%%|*} > $tmp2 + + grep -E '^linux|acsc=' < $tmp2 > $tmp1 + acsc="$(tc $tmp1 | grep -v '^linux')" + + grep -E '^linux|sgr=' < $tmp2 > $tmp1 + sgr="$(tc $tmp1 | grep -v '^linux')" + + grep -E '^linux|(smpch|rmpch)=' < $tmp2 > $tmp1 + mpch="$(tc $tmp1 | grep -v '^linux')" + + entry="$(tc $tmp2 | grep -v '^#')" + + new=$(echo "$entry" | sed -e '/:a[el]=.*/a\ + :ac=' | sed -e "s/\t:ac=/${acsc//\\/\\\\}\\\\/") + new=$(echo "$new" | sed -e '/:a[el]=.*/i\ + :S2=' | sed -e "s/\t:S2=/${mpch//\\/\\\\}\\\\/") + new=$(echo "$new" | sed -e '/:s.=.*/i\ + :\.\.sa=' | sed -e "s/\t:\.\.sa=/${sgr//\\/\\\\}\\\\/") + + if test "${#new}" -gt 1024 ; then + new=$(echo "$entry" | sed -e '/\t:a[el]=.*/a\ + :ac=' | sed -e "s/\t:ac=/${acsc//\\/\\\\}\\\\/") + new=$(echo "$new" | sed -e '/\t:a[el]=.*/i\ + :S2=' | sed -e "s/\t:S2=/${mpch//\\/\\\\}\\\\/") + fi + + if test "${#new}" -gt 1024 ; then + new=$(echo "$entry" | sed -e '/\t:a[el]=.*/i\ + :S2=' | sed -e "s/\t:S2=/${mpch//\\/\\\\}\\\\/") + fi + + if test "${#new}" -gt 1024 ; then + new="$entry" + fi + + line=$(grep -n "${l//\\/\\\\}" ${TERMCAP##*/}.new| sed 's/:.*//') + : $((line--)) + echo "$entry" > $tmp1 + echo "$new" > $tmp2 + + ed=$(diff -e $tmp1 $tmp2| sed "s/^\([0-9]\+a\)/$line\n+\1/") + + ed ${TERMCAP##*/}.new &> /dev/null <<-EOF + ${ed} + w + q + EOF +done +IFS="$OIFS" +unset entry acsc sgr mpch diff --git a/ncurses-5.3-printw.dif b/ncurses-5.3-printw.dif new file mode 100644 index 0000000..15f5bed --- /dev/null +++ b/ncurses-5.3-printw.dif @@ -0,0 +1,66 @@ +--- ncurses/base/lib_printw.c ++++ ncurses/base/lib_printw.c Wed Jan 22 17:30:11 2003 +@@ -48,10 +48,12 @@ + int code; + + #ifdef TRACE +- va_start(argp, fmt); ++ va_list argq; ++ va_copy(argq, argp); ++ va_start(argq, fmt); + T((T_CALLED("printw(%s%s)"), +- _nc_visbuf(fmt), _nc_varargs(fmt, argp))); +- va_end(argp); ++ _nc_visbuf(fmt), _nc_varargs(fmt, argq))); ++ va_end(argq); + #endif + + va_start(argp, fmt); +@@ -68,10 +70,12 @@ + int code; + + #ifdef TRACE +- va_start(argp, fmt); ++ va_list argq; ++ va_copy(argq, argp); ++ va_start(argq, fmt); + T((T_CALLED("wprintw(%p,%s%s)"), +- win, _nc_visbuf(fmt), _nc_varargs(fmt, argp))); +- va_end(argp); ++ win, _nc_visbuf(fmt), _nc_varargs(fmt, argq))); ++ va_end(argq); + #endif + + va_start(argp, fmt); +@@ -88,10 +92,12 @@ + int code; + + #ifdef TRACE +- va_start(argp, fmt); ++ va_list argq; ++ va_copy(argq, argp); ++ va_start(argq, fmt); + T((T_CALLED("mvprintw(%d,%d,%s%s)"), +- y, x, _nc_visbuf(fmt), _nc_varargs(fmt, argp))); +- va_end(argp); ++ y, x, _nc_visbuf(fmt), _nc_varargs(fmt, argq))); ++ va_end(argq); + #endif + + if ((code = move(y, x)) != ERR) { +@@ -109,10 +115,12 @@ + int code; + + #ifdef TRACE +- va_start(argp, fmt); ++ va_list argq; ++ va_copy(argq, argp); ++ va_start(argq, fmt); + T((T_CALLED("mvwprintw(%d,%d,%p,%s%s)"), +- y, x, win, _nc_visbuf(fmt), _nc_varargs(fmt, argp))); +- va_end(argp); ++ y, x, win, _nc_visbuf(fmt), _nc_varargs(fmt, argq))); ++ va_end(argq); + #endif + + if ((code = wmove(win, y, x)) != ERR) { diff --git a/ncurses-5.4-wide.dif b/ncurses-5.4-wide.dif new file mode 100644 index 0000000..ba7e591 --- /dev/null +++ b/ncurses-5.4-wide.dif @@ -0,0 +1,24 @@ +--- ncurses/curses.priv.h ++++ ncurses/curses.priv.h 2005-07-22 12:52:22.000000000 +0200 +@@ -693,8 +693,11 @@ + (ch).chars[PUTC_i], &PUT_st); \ + if (PUTC_ch == L'\0') \ + --PUTC_n; \ +- if (PUTC_n <= 0) \ ++ if (PUTC_n <= 0) { \ ++ if (PUTC_ch && is8bits(PUTC_ch)) \ ++ putc(PUTC_ch,b); \ + break; \ ++ } \ + fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b); \ + ++PUTC_i; \ + } while (PUTC_ch != L'\0'); \ +@@ -741,7 +744,7 @@ + #define ARG_CH_T NCURSES_CH_T + #define CARG_CH_T NCURSES_CH_T + #define PUTC_DATA int data = 0 +-#define PUTC(a,b) do { data = CharOf(ch); putc(data,b); } while (0) ++#define PUTC(ch,b) do { data = CharOf(ch); putc(data,b); } while (0) + + #define BLANK (' '|A_NORMAL) + #define ZEROS ('\0'|A_NORMAL) diff --git a/ncurses-5.5-20060513-patch.tar.bz2 b/ncurses-5.5-20060513-patch.tar.bz2 new file mode 100644 index 0000000..b3beeae --- /dev/null +++ b/ncurses-5.5-20060513-patch.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ea1735ad946700d3b69a110e2bcd38c32b9d48ccfd8cd94cc99ba0cb610c9ab +size 231118 diff --git a/ncurses-5.5-pthread.dif b/ncurses-5.5-pthread.dif new file mode 100644 index 0000000..8f712e7 --- /dev/null +++ b/ncurses-5.5-pthread.dif @@ -0,0 +1,205 @@ +--- ncurses/SigAction.h ++++ ncurses/SigAction.h 2006-05-18 14:31:29.000000000 +0200 +@@ -55,6 +55,36 @@ + typedef struct sigaction sigaction_t; + #endif + ++#if defined _REENTRANT || defined _THREAD_SAFE ++# include ++extern int pthread_sigmask(int, const sigset_t*, sigset_t*) __attribute__((weak)); ++extern int pthread_kill(pthread_t, int) __attribute__((weak)); ++extern pthread_t pthread_self(void) __attribute__((weak)); ++extern int pthread_equal(pthread_t, pthread_t) __attribute__((weak)); ++ ++static inline int _nc__sigprocmask(int how, const sigset_t *newmask, sigset_t *oldmask) ++{ ++ if (&pthread_sigmask) ++ return pthread_sigmask(how, newmask, oldmask); ++ else ++ return sigprocmask(how, newmask, oldmask); ++} ++#define sigprocmask _nc__sigprocmask ++ ++static inline void _nc_kill(SCREEN *scan, int signal) ++{ ++ if (!scan || !scan->_read_thread) ++ goto out; ++ if (!&pthread_kill || !&pthread_equal || !&pthread_self) ++ goto out; ++ if (pthread_equal(scan->_read_thread, pthread_self())) ++ goto out; ++ pthread_kill(scan->_read_thread, signal); ++out: ++ return; ++} ++#endif ++ + #else /* !HAVE_SIGACTION */ + + #if HAVE_SIGVEC +--- ncurses/curses.priv.h ++++ ncurses/curses.priv.h 2006-05-18 14:31:29.000000000 +0200 +@@ -48,6 +48,10 @@ + + #include + ++#if defined _REENTRANT || defined _THREAD_SAFE ++# include ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -538,6 +542,12 @@ + #define _nc_windows SP->_nc_sp_windows + + bool _sig_winch; ++#if USE_SIGWINCH ++ bool _unblock_sigwinch; ++#if defined _REENTRANT || defined _THREAD_SAFE ++ pthread_t _read_thread; ++#endif ++#endif + SCREEN *_next_screen; + + /* hashes for old and new lines */ +@@ -1143,6 +1153,9 @@ + extern NCURSES_EXPORT(void) _nc_scroll_optimize (void); + extern NCURSES_EXPORT(void) _nc_set_buffer (FILE *, bool); + extern NCURSES_EXPORT(void) _nc_signal_handler (bool); ++#if USE_SIGWINCH ++extern NCURSES_EXPORT(void) _nc_unblock (SCREEN *, int); ++#endif + extern NCURSES_EXPORT(void) _nc_synchook (WINDOW *); + extern NCURSES_EXPORT(void) _nc_trace_tries (struct tries *); + +--- ncurses/base/lib_getch.c ++++ ncurses/base/lib_getch.c 2006-05-18 14:31:29.000000000 +0200 +@@ -237,6 +237,10 @@ + if (win == 0 || SP == 0) + returnCode(ERR); + ++#if USE_SIGWINCH ++ _nc_unblock(SP, SIGWINCH); ++#endif ++ + if (cooked_key_in_fifo()) { + if (wgetch_should_refresh(win)) + wrefresh(win); +--- ncurses/tinfo/lib_setup.c ++++ ncurses/tinfo/lib_setup.c 2006-05-18 15:24:54.000000000 +0200 +@@ -42,6 +42,7 @@ + #include + #include /* for MAX_NAME_SIZE */ + #include ++#include + + #if SVR4_TERMIO && !defined(_POSIX_SOURCE) + #define _POSIX_SOURCE +@@ -119,6 +120,13 @@ + default: + /* record a SIGWINCH */ + have_sigwinch = 1; ++# if defined _REENTRANT || defined _THREAD_SAFE ++ scan = _nc_screen_chain; ++ while (scan) { ++ _nc_kill(scan, SIGWINCH); ++ scan = scan->_next_screen; ++ } ++# endif + break; + case 0: + /* temporarily disable the next block */ +--- ncurses/tty/lib_tstp.c ++++ ncurses/tty/lib_tstp.c 2006-05-18 15:53:04.000000000 +0200 +@@ -142,6 +142,9 @@ + #ifdef SIGTTOU + int sigttou_blocked; + #endif ++#if defined _REENTRANT || defined _THREAD_SAFE ++ pthread_t reader = (pthread_t)0; ++#endif + + T(("tstp() called")); + +@@ -169,6 +172,10 @@ + (void) sigaddset(&mask, SIGALRM); + #if USE_SIGWINCH + (void) sigaddset(&mask, SIGWINCH); ++#if defined _REENTRANT || defined _THREAD_SAFE ++ reader = SP->_read_thread; ++ SP->_read_thread = (pthread_t)0; ++#endif + #endif + (void) sigprocmask(SIG_BLOCK, &mask, &omask); + +@@ -214,6 +221,10 @@ + sigaction(SIGTSTP, &oact, NULL); + flushinp(); + ++#if defined _REENTRANT || defined _THREAD_SAFE ++ SP->_read_thread = reader; ++#endif ++ + /* + * If the user modified the tty state while suspended, he wants + * those changes to stick. So save the new "default" terminal state. +@@ -332,6 +343,17 @@ + result = FALSE; + } + #endif ++ ++#if USE_SIGWINCH ++ if (result && sig == SIGWINCH) { ++ sigset_t sigset; ++ ++ sigemptyset(&sigset); ++ sigaddset(&sigset, SIGWINCH); ++ sigprocmask(SIG_BLOCK, &sigset, NULL); ++ } ++#endif ++ + T(("CatchIfDefault - will %scatch %s", + result ? "" : "not ", signal_name(sig))); + return result; +@@ -386,6 +408,10 @@ + CatchIfDefault(SIGINT, cleanup); + CatchIfDefault(SIGTERM, cleanup); + #if USE_SIGWINCH ++ SP->_unblock_sigwinch = false; ++# if defined _REENTRANT || defined _THREAD_SAFE ++ SP->_read_thread = (pthread_t)0; ++# endif + CatchIfDefault(SIGWINCH, sigwinch); + #endif + initialized = TRUE; +@@ -393,3 +419,29 @@ + } + returnVoid; + } ++ ++#if USE_SIGWINCH ++/* ++ * This is invoked once at the beginning of reading, to remember ++ * which thread should be interrupted if the SIGWINCH handler is ++ * called. ++ */ ++ ++NCURSES_EXPORT(void) ++_nc_unblock(SCREEN *scan, int signal) ++{ ++ sigset_t sigset; ++ ++ if (scan->_unblock_sigwinch) ++ return; ++ sigemptyset(&sigset); ++ sigaddset(&sigset, signal); ++ sigprocmask(SIG_UNBLOCK, &sigset, NULL); ++# if defined _REENTRANT || defined _THREAD_SAFE ++ /* Remember the terminal reading thread */ ++ if (&pthread_self) ++ scan->_read_thread = pthread_self(); ++# endif ++ scan->_unblock_sigwinch = true; ++} ++#endif diff --git a/ncurses-5.5-valist.dif b/ncurses-5.5-valist.dif new file mode 100644 index 0000000..bb7a6d2 --- /dev/null +++ b/ncurses-5.5-valist.dif @@ -0,0 +1,19 @@ +--- ncurses/base/lib_freeall.c ++++ ncurses/base/lib_freeall.c +@@ -51,6 +51,7 @@ + { + WINDOWLIST *p, *q; + char *s; ++ va_list empty_va; + + T((T_CALLED("_nc_freeall()"))); + #if NO_LEAKS +@@ -99,7 +100,7 @@ + if ((s = _nc_home_terminfo()) != 0) + free(s); + +- (void) _nc_printf_string(0, 0); ++ (void) _nc_printf_string(0, empty_va); + #ifdef TRACE + (void) _nc_trace_buf(-1, 0); + #endif diff --git a/ncurses-5.5.dif b/ncurses-5.5.dif new file mode 100644 index 0000000..b2fd7b3 --- /dev/null +++ b/ncurses-5.5.dif @@ -0,0 +1,1016 @@ +--- .pkgextract ++++ .pkgextract 2006-05-18 16:07:14.000000000 +0200 +@@ -0,0 +1,5 @@ ++tar Oxfj ../ncurses-5.5-20060513-patch.tar.bz2 | patch -p1 -s ++patch -p0 -s --suffix=.va < ../ncurses-5.3-printw.dif ++patch -p0 -s --suffix=.wd < ../ncurses-5.4-wide.dif ++patch -p0 -s --suffix=.pt < ../ncurses-5.5-pthread.dif ++patch -p0 -s --suffix=.val < ../ncurses-5.5-valist.dif +--- aclocal.m4 ++++ aclocal.m4 2006-05-18 16:07:14.000000000 +0200 +@@ -294,7 +294,7 @@ + AC_CACHE_VAL(cf_cv_type_of_bool,[ + rm -f cf_test.out + AC_TRY_RUN([ +-#include ++//#include // conflict with exit declaration + #include + + #if defined(__cplusplus) +@@ -2734,7 +2734,8 @@ + echo '? missing rename for '\$source + target="\$source" + fi +- target="\$cf_subdir\${section}/\${target}" ++for t in \$target; do ++ t="\$cf_subdir\${section}/\${t}" + CF_EOF + fi + +@@ -2772,7 +2773,7 @@ + CF_EOF + else + cat >>$cf_edit_man <\$TMP ++ < \$i | sed -f $srcdir/edit_man.sed >\$TMP + CF_EOF + fi + +@@ -2805,7 +2806,7 @@ + mv \$TMP.$cf_so_strip \$TMP + fi + fi +- target="\$target.$cf_so_strip" ++ t="\$t.$cf_so_strip" + CF_EOF + fi + +@@ -2814,22 +2815,22 @@ + cat >>$cf_edit_man <>$cf_edit_man <\$TMP + CF_EOF + if test -n "$cf_compress" ; then +@@ -2866,8 +2867,8 @@ + ) + ) + elif test \$verb = removing ; then +- echo \$verb \$target +- rm -f \$target ++ echo \$verb \$t ++ rm -f \$t + test -n "\$aliases" && ( + cd \$cf_subdir\${section} && ( + for cf_alias in \$aliases +@@ -2885,6 +2886,7 @@ + # echo ".hy 0" + cat \$TMP + fi ++done + ;; + esac + done +@@ -3529,7 +3531,7 @@ + ;; + linux*|gnu*|k*bsd*-gnu) + if test "$DFT_LWR_MODEL" = "shared" ; then +- LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" ++ LOCAL_LDFLAGS="-Wl,-rpath-link,`pwd`/lib" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" + fi + if test "$cf_cv_ld_rpath" = yes ; then +--- configure ++++ configure 2006-05-18 16:07:15.000000000 +0200 +@@ -5126,7 +5126,7 @@ + ;; + linux*|gnu*|k*bsd*-gnu) + if test "$DFT_LWR_MODEL" = "shared" ; then +- LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" ++ LOCAL_LDFLAGS="-Wl,-rpath-link,`pwd`/lib" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" + fi + if test "$cf_cv_ld_rpath" = yes ; then +@@ -8193,7 +8193,8 @@ + echo '? missing rename for '\$source + target="\$source" + fi +- target="\$cf_subdir\${section}/\${target}" ++for t in \$target; do ++ t="\$cf_subdir\${section}/\${t}" + CF_EOF + fi + +@@ -8229,7 +8230,7 @@ + CF_EOF + else + cat >>$cf_edit_man <\$TMP ++ < \$i | sed -f $srcdir/edit_man.sed >\$TMP + CF_EOF + fi + +@@ -8262,7 +8263,7 @@ + mv \$TMP.$cf_so_strip \$TMP + fi + fi +- target="\$target.$cf_so_strip" ++ t="\$t.$cf_so_strip" + CF_EOF + fi + +@@ -8271,22 +8272,22 @@ + cat >>$cf_edit_man <>$cf_edit_man <\$TMP + CF_EOF + if test -n "$cf_compress" ; then +@@ -8323,8 +8324,8 @@ + ) + ) + elif test \$verb = removing ; then +- echo \$verb \$target +- rm -f \$target ++ echo \$verb \$t ++ rm -f \$t + test -n "\$aliases" && ( + cd \$cf_subdir\${section} && ( + for cf_alias in \$aliases +@@ -8342,6 +8343,7 @@ + # echo ".hy 0" + cat \$TMP + fi ++done + ;; + esac + done +@@ -12890,7 +12892,7 @@ + #line 12890 "configure" + #include "confdefs.h" + +-#include ++// #include // conflict with exit declaration + #include + + #if defined(__cplusplus) +--- form/Makefile.in ++++ form/Makefile.in 2006-05-18 16:07:15.000000000 +0200 +@@ -81,7 +81,7 @@ + + CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@ + +-CCFLAGS = $(CPPFLAGS) $(CFLAGS) ++CCFLAGS = $(CPPFLAGS) $(CFLAGS) -D_REENTRANT + + CFLAGS_LIBTOOL = $(CCFLAGS) + CFLAGS_NORMAL = $(CCFLAGS) +--- include/Makefile.in ++++ include/Makefile.in 2006-05-18 16:07:15.000000000 +0200 +@@ -88,7 +88,7 @@ + $(srcdir)/MKkey_defs.sh + cat curses.head >$@ + AWK=$(AWK) sh $(srcdir)/MKkey_defs.sh $(TERMINFO_CAPS) >>$@ +- sh -c 'if test "@NCURSES_CH_T@" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi' ++ cat $(srcdir)/curses.wide >>$@ + cat $(srcdir)/curses.tail >>$@ + + term.h: $(TERMINFO_CAPS) MKterm.h.awk +--- include/curses.h.in ++++ include/curses.h.in 2006-05-18 16:07:15.000000000 +0200 +@@ -113,7 +113,11 @@ + * of the header incompatible. + */ + #undef NCURSES_CH_T +-#define NCURSES_CH_T @NCURSES_CH_T@ ++#ifdef _XOPEN_SOURCE_EXTENDED ++#define NCURSES_CH_T cchar_t ++#else ++#define NCURSES_CH_T chtype ++#endif + + #if @cf_cv_enable_lp64@ && defined(_LP64) + typedef unsigned chtype; +@@ -123,6 +127,8 @@ + typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t; + #endif + ++#include ++#include + #include + #include + #include /* we need va_list */ +@@ -321,16 +327,16 @@ + #include + #endif + +-#if @NEED_WCHAR_H@ ++#if 1 + #include /* ...to get mbstate_t, etc. */ + #endif + + #if @NCURSES_WCHAR_T@ +-typedef unsigned short wchar_t@NCURSES_OK_WCHAR_T@; ++typedef unsigned short wchar_t; + #endif + + #if @NCURSES_WINT_T@ +-typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@; ++typedef unsigned int wint_t; + #endif + + #define CCHARW_MAX 5 +--- include/termcap.h.in ++++ include/termcap.h.in 2006-05-18 16:07:15.000000000 +0200 +@@ -46,6 +46,8 @@ + { + #endif /* __cplusplus */ + ++#include ++#include + #include + + #undef NCURSES_CONST +--- include/tic.h ++++ include/tic.h 2006-05-18 16:07:15.000000000 +0200 +@@ -217,12 +217,12 @@ + #define NOTFOUND ((struct name_table_entry *) 0) + + /* out-of-band values for representing absent capabilities */ +-#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ ++#define ABSENT_BOOLEAN (-1) /* 255 */ + #define ABSENT_NUMERIC (-1) + #define ABSENT_STRING (char *)0 + + /* out-of-band values for representing cancels */ +-#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */ ++#define CANCELLED_BOOLEAN (-2) /* 254 */ + #define CANCELLED_NUMERIC (-2) + #define CANCELLED_STRING (char *)(-1) + +--- man/man_db.renames ++++ man/man_db.renames 2006-05-18 16:07:15.000000000 +0200 +@@ -158,6 +158,8 @@ + tset.1 tset.1 + vprintf.3s vprintf.3 + wresize.3x wresize.3ncurses ++curs_terminfo.\\\*n terminfo.5 ++tack.1 tack.1 + # + # Other cross-references: + addch.3x addch.3ncurses +--- man/ncurses.3x ++++ man/ncurses.3x 2006-05-18 16:07:15.000000000 +0200 +@@ -88,6 +88,10 @@ + \fBtset(1)\fR is usually responsible for doing this. + [See \fBterminfo\fR(\*n) for further details.] + .PP ++Beware: the terminal your program is running may or may not have ++the features you expect. Ncurses makes no attempt to check available ++features in advance. This is upto the programmer. ++.PP + The \fBncurses\fR library permits manipulation of data structures, + called \fIwindows\fR, which can be thought of as two-dimensional + arrays of characters representing all or part of a CRT screen. A +--- menu/Makefile.in ++++ menu/Makefile.in 2006-05-18 16:07:15.000000000 +0200 +@@ -81,7 +81,7 @@ + + CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@ + +-CCFLAGS = $(CPPFLAGS) $(CFLAGS) ++CCFLAGS = $(CPPFLAGS) $(CFLAGS) -D_REENTRANT + + CFLAGS_LIBTOOL = $(CCFLAGS) + CFLAGS_NORMAL = $(CCFLAGS) +--- misc/terminfo.src ++++ misc/terminfo.src 2006-11-17 15:52:14.000000000 +0000 +@@ -280,7 +280,9 @@ + am, + cols#80, + bel=^G, cr=^M, cud1=^J, ind=^J, +-unknown|unknown terminal type, ++unknown|switch|patch|unknown terminal type, ++ gn, use=dumb, ++net|network|arpanet|dialup|unknown network terminal type, + gn, use=dumb, + lpr|printer|line printer, + OTbs, hc, os, +@@ -711,7 +713,7 @@ + kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, + rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, + sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, +- smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g, ++ sgr0=\E[m, smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g, + u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, + vpa=\E[%i%p1%dd, use=klone+sgr, use=ecma+color, + +@@ -737,9 +739,15 @@ + # 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 . ++# ++# Do not use a block cursor, ++# This because many programs do have a workaround for the long time ++# missed cvvis entry. A `\E[?1c' in civis will cause a visible but ++# zero high cusor ... re-add it for kernels 2.6.11+ ++# + linux|linux console, + civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c, +- cvvis=\E[?25h\E[?8c, use=linux-c-nc, ++ cvvis=\E[?25h\E[?0c, use=linux-c-nc, + + # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file + linux-nic|linux with ich/ich1 suppressed for non-curses programs, +@@ -2109,6 +2117,7 @@ + # at the top of the keyboard. The "DO" key is used as F10 to avoid conflict + # with the key marked (ESC) on the vt220. See vt220d for an alternate mapping. + # PF1--PF4 are used as F1--F4. ++# (cvvis added by werner) + # + vt220-old|vt200-old|DEC VT220 in vt100 emulation mode, + OTbs, OTpt, am, mir, xenl, xon, +@@ -2118,7 +2127,7 @@ + bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l, + clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M, + csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, +- cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, ++ cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, cvvis=\E[?25h, dch1=\E[P, + dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, + if=/usr/share/tabset/vt100, il1=\E[L, ind=\ED$<20/>, + is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D, kcud1=\E[B, +@@ -2266,6 +2275,7 @@ + # to SMASH the 1k-barrier... + # From: Adam Thompson Sept 10 1995 + # (vt320: uncommented --esr) ++# (cvvis added by werner) + vt320|vt300|dec vt320 7 bit terminal, + am, eslok, hs, mir, msgr, xenl, + cols#80, lines#24, wsl#80, +@@ -2275,7 +2285,7 @@ + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + 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, ++ cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, + ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$}, + home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, + il1=\E[L, ind=\ED, +@@ -2703,13 +2713,14 @@ + # retrieving the window title, and for setting the window size (i.e., using + # "resize -s"), though it does not pass SIGWINCH to the application if the + # user resizes the window with the mouse. ++# (cvvis added by werner) + teraterm|Tera Term Pro, + km, xon@, + ncv#43, vt@, + acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, + blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, + cnorm=\E[?25h, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, +- cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, ++ cuu1=\E[A, cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, + dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, + flash=\E[?5h\E[?5l$<200/>, hpa=\E[%i%p1%dG, + il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, kf1=\E[11~, +@@ -2885,6 +2896,7 @@ + u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, + # This is the base xterm entry for the xterm supplied with XFree86 3.2 & up. + # The name has been changed and some aliases have been removed. ++# (cvvis added by werner) + xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System), + OTbs, am, bce, km, mir, msgr, xenl, + cols#80, it#8, lines#24, ncv@, +@@ -2894,7 +2906,7 @@ + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + 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, ++ cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, + ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, + flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, + ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, +@@ -3025,6 +3037,7 @@ + kUP5=\E[1;5A, kUP6=\E[1;6A, + # + # This chunk is used for building the VT220/Sun/PC keyboard variants. ++# (cvvis added by werner) + xterm-basic|xterm terminal emulator - common (XFree86), + OTbs, am, bce, km, mc5i, mir, msgr, xenl, AX, + colors#8, cols#80, it#8, lines#24, pairs#64, +@@ -3093,6 +3106,7 @@ + # SS3 \E O \217 + # CSI \E [ \233 + # ++# (cvvis added by werner) + xterm-8bit|xterm terminal emulator 8-bit controls (X Window System), + OTbs, am, bce, km, mc5i, mir, msgr, npc, xenl, AX, + colors#8, cols#80, it#8, lines#24, pairs#64, +@@ -3183,8 +3197,26 @@ + xterm-24|vs100|xterms|xterm terminal emulator (X Window System), + lines#24, use=xterm-r6, + ++# For SuSE Linux: Werner Fink ++# Note that the modern xterm does not use escape sequences ++# for the numbers on the numpad keys in case of switched ++# into application mode and with numlock enabled. ++# To test this, use `tput smkx' and `Ctrl-V + key stroke' ++xterm-suse|xterm terminal emulator (X11R6.8.2 Window System with SuSE LINUX), ++ kbs=\177, kdch1=\E[3~, ++ kDIV=\EOo, kMUL=\EOj, kMIN=\EOm, kPLS=\EOk, ++ kfnd=\E[1~, kslt=\E[4~, ++ use=xterm-new, ++ + # This is xterm for ncurses. + xterm|xterm terminal emulator (X Window System), ++ use=xterm-suse, ++ ++# xterm-debian is identical to xterm-new with the addition of a small ++# VT220-ism regarding the backspace and delete keys; this is mandated by ++# the keyboard configuration section of the Debian Policy Manual. ++xterm-debian|Debian xterm (backspace and delete changed), ++ kbs=\177, kdch1=\E[3~, + use=xterm-new, + + # These entries allow access to the X titlebar and icon name as a status line. +@@ -3213,7 +3245,7 @@ + # -- MATSUMOTO Shoji) + kterm|kterm kanji terminal emulator (X window system), + eslok, hs, +- acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, ++ acsc=++\,\,--..ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F, + kmous=\E[M, rc=\E8, rmacs=\E(B, rmam=\E[?7l, sc=\E7, + sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, +@@ -3275,7 +3307,7 @@ + op=\E[m, use=xterm-r6, use=klone+color, + + # this describes the alpha-version of Gnome terminal shipped with Redhat 6.0 +-gnome-rh62|Gnome terminal, ++gnome-rh62|Gnome terminal on Red Hat, + bce, + kdch1=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, + use=xterm-color, +@@ -3341,10 +3373,14 @@ + + # This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce + # or not is debatable). +-kvt|KDE terminal, ++kvt-rh|KDE terminal, + bce, km@, + kdch1=\177, kend=\E[F, khome=\E[H, use=xterm-color, + ++# This is kvt for SuSE because we do not support BrokenByDesign[tm]. ++kvt|KDE terminal, ++ kbs=\177, kdch1=\E[3~, use=kvt-rh, ++ + # Konsole 1.0.1 + # (formerly known as kvt) + # +@@ -3427,17 +3463,18 @@ + # + # There are some problems with vttest: + # test of character sets leaves it in line-drawing mode. ++# Add cvvis + mlterm|multi lingual terminal emulator, + am, eslok, km, mc5i, mir, msgr, npc, xenl, + colors#8, cols#80, it#8, lines#24, pairs#64, +- acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, ++ acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, + clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + 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, +- ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=, ++ cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, ++ dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=, + home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, + ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, + is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, +@@ -3477,6 +3514,7 @@ + # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. + # Since rxvt is not really compatible with xterm, it should be configured as + # "rxvt" (monochrome) and "rxvt-color". ++# (cvvis added by werner) + # + # removed dch/dch1 because they are inconsistent with bce/ech -TD + rxvt-basic|rxvt terminal base (X Window System), +@@ -3487,13 +3525,14 @@ + clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, +- cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ++ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[?25h, + dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, + enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, ht=^I, + hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, + ind=^J, is1=\E[?47l\E=\E[?1l, +- is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H, +- kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, ++ is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=\177, kcbt=\E[Z, ++ kmous=\E[M, kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, ++ 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, + rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, +@@ -3502,7 +3541,7 @@ + sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, + sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, + smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, +- use=rxvt+pcfkeys, use=vt220+keypad, ++ use=vt220+keypad, use=rxvt+pcfkeys, + # Key Codes from rxvt reference: + # + # Note: Shift + F1-F10 generates F11-F20 +@@ -3573,8 +3612,8 @@ + # XK_KP_9 9 ESC O y + rxvt+pcfkeys|fragment for PC-style fkeys, + kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, 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\^, kend=\E[8~, ++ 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~, kf2=\E[12~, +@@ -3606,6 +3645,29 @@ + acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376, + use=rxvt-cygwin, + ++# From: Thomas Dickey 04 Oct 1997 ++# Updated: Özgür Kesim 02 Nov 1997 ++# Updated: Marc Lehmann , 17 Feb 2005 ++# ++rxvt-unicode|rxvt-unicode terminal (X Window System), ++ bw, ccc, hs, mc5i, npc, btns#5, colors#88, lm#0, ncv#0, pairs#256, ++ acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, ++ dsl=\E]2;\007, ech=\E[%p1%dX, enacs=, flash=\E[?5h$<20/>\E[?5l, ++ fsl=^G, indn=\E[%p1%dS, ++ initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\, ++ kIC=\E2$, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, op=\E[39;49m, ++ rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l, ++ rmcup=\E[r\E[?1049l, rmkx=\E[?1l\E>, rs1=\Ec, ++ s2ds=\E*B, s3ds=\E+B, ++ setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, ++ setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, ++ sgr0=\E[m\017, sitm=\E[3m, smacs=\E(0, smam=\E[?7h, ++ smcup=\E[?1049h, smkx=\E[?1h\E=, ++ tsl=\E]2;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, ++ use=rxvt-basic, ++ + # This variant is supposed to work with rxvt 2.7.7 when compiled with + # NO_BRIGHTCOLOR defined. rxvt needs more work... + rxvt-16color|xterm with 16 colors like aixterm, +@@ -3613,7 +3675,7 @@ + + # From: Michael Jennings + # removed kf0 which conflicts with kf10 -TD +-# remove cvvis which conflicts with cnorm -TD ++# remove cvvis which conflicts with cnorm -TD (and re-added by werner) + Eterm|Eterm-color|Eterm with xterm-style color support (X Window System), + am, bce, bw, eo, km, mc5i, mir, msgr, xenl, xon, + btns#5, cols#80, it#8, lines#24, lm#0, ncv@, +@@ -3623,7 +3685,7 @@ + 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, +- dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ++ cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, + ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, + flash=\E[?5h\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, + hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, +@@ -3631,7 +3693,7 @@ + is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, + kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, + kPRV=\E[5$, kRIT=\E[c, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, +- kbeg=\EOu, kbs=^H, kc1=\E[8~, kc3=\E[6~, kcbt=\E[Z, ++ kbeg=\EOu, kbs=\177, kc1=\E[8~, kc3=\E[6~, kcbt=\E[Z, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\E[3~, kel=\E[8\^, kend=\E[8~, kent=\EOM, kf1=\E[11~, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, +@@ -3963,7 +4025,9 @@ + smso=\Ea$, smul=\Ea!, use=cbunix, + + # The codes supported by the term.el terminal emulation in GNU Emacs 19.30 +-eterm|gnu emacs term.el terminal emulation, ++# Emacs 19.30 is different from 20, e.g. color, ++# ++eterm-19|gnu emacs term.el terminal emulation, + am, mir, xenl, + cols#80, lines#24, + bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, +@@ -3976,6 +4040,13 @@ + 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, ++eterm|emacs|gnu emacs term.el terminal emulation, ++ colors#8, pairs#64, ++ invis=\E[8m, kcub1=\EOD, kcud1=\EOB, ++ kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~, ++ khome=\E[1~, knp=\E[6~, kpp=\E[5~, ++ setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm, ++ use=eterm-19, + + # Entries for use by the `screen' program by Juergen Weigert, + # Michael Schroeder, Oliver Laumann. The screen and +@@ -4004,7 +4075,7 @@ + cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, 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, ht=^I, hts=\EH, ich=\E[%p1%d@, +- il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcbt=\E[Z, ++ il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=\177, 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, +@@ -4023,6 +4094,10 @@ + bce, use=screen, + screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line, + dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen, ++# Screen entry for support of 256 colors ++screen-256color|VT 100/ANSI X3.64 virtual terminal with 256 colors, ++ colors#256, pairs#32767, setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, ++ use=screen, + + # Read the fine manpage: + # When screen tries to figure out a terminal name for +@@ -4079,7 +4154,7 @@ + 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, +- il1=\E[L, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, ++ il1=\E[L, ind=^J, kbs=\177, kcub1=\ED, kcud1=\EB, kcuf1=\EC, + 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=^M^J, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m, +@@ -5814,7 +5889,7 @@ + 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, +-hp70092|hp70092a|hp70092A|HP 700/92, ++hp70092|hp70092a|hp70092A|70092|HP 700/92, + 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, +@@ -8945,6 +9020,7 @@ + # at support for the VT320 itself. + # Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu. + # (vt320-k3: I added / based on the init string -- esr) ++# (cvvis added by werner) + 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, +@@ -8954,7 +9030,7 @@ + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + 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, ++ cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, + dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K, + flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, + fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, +@@ -13229,7 +13305,7 @@ + cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, + el=\EI, home=\EH, hts=\E0, ind=^J, kcub1=\ED, kcud1=\EB, + kcuf1=\EC, kcuu1=\EA, nel=^M^J, tbc=\EH, +-ibm3151|IBM 3151 display, ++ibm3151|i3151|IBM 3151 display, + 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%{80}%|%;%c%?%p9%t\E>A%e\E>B%;, + sgr0=\E4@\E>B, smacs=\E>A, smcup=\E>B, use=ibm3162, +@@ -13457,7 +13533,7 @@ + sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, + sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m, + tbc=\E[3g, +-ibm5081|hft|IBM Megapel Color display, ++ibm5081|ibmmpel|hft|IBM Megapel Color display, + acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B, + 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 2006-05-18 16:07:15.000000000 +0200 +@@ -90,7 +90,7 @@ + INCDIR = $(srcdir)/../include + CPPFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @CPPFLAGS@ + +-CCFLAGS = $(CPPFLAGS) $(CFLAGS) ++CCFLAGS = $(CPPFLAGS) $(CFLAGS) -D_REENTRANT + + BUILD_CPPFLAGS = -I../include @BUILD_CPPFLAGS@ + BUILD_CC = @BUILD_CC@ +@@ -184,7 +184,7 @@ + ../lib : ; mkdir $@ + + fallback.c : $(tinfo)/MKfallback.sh +- sh $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@ ++ sh $(srcdir)/run_cmd.sh $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@ + + lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h + sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ +--- ncurses/curses.priv.h ++++ ncurses/curses.priv.h 2006-05-18 16:07:15.000000000 +0200 +@@ -1133,6 +1133,8 @@ + extern NCURSES_EXPORT(char *) _nc_trace_buf (int, size_t); + extern NCURSES_EXPORT(char *) _nc_trace_bufcat (int, const char *); + extern NCURSES_EXPORT(int) _nc_access (const char *, int); ++extern NCURSES_EXPORT(void) _nc_fsid(void); ++extern NCURSES_EXPORT(void) _nc_fseid(void); + extern NCURSES_EXPORT(int) _nc_baudrate (int); + extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *); + extern NCURSES_EXPORT(int) _nc_getenv_num (const char *); +--- ncurses/run_cmd.sh ++++ ncurses/run_cmd.sh 2006-05-18 16:07:15.000000000 +0200 +@@ -0,0 +1,11 @@ ++#!/bin/sh ++ ++PATH=$PWD/../progs:$PATH ++if test -n "$LD_LIBRARY_PATH"; then ++ LD_LIBRARY_PATH="$PWD/../lib:$LD_LIBRARY_PATH" ++else ++ LD_LIBRARY_PATH="$PWD/../lib" ++fi ++export PATH LD_LIBRARY_PATH ++ ++exec ${1+"$@"} +--- ncurses/tinfo/MKfallback.sh ++++ ncurses/tinfo/MKfallback.sh 2006-05-18 16:07:15.000000000 +0200 +@@ -57,6 +57,12 @@ + tmp_info= + fi + ++if test -n "$TERMINFO" -a -d "$TERMINFO" ; then ++ infocmp="infocmp -v1 -A $TERMINFO" ++else ++ infocmp="infocmp -v1" ++fi ++ + cat < + #include + #include ++#ifdef linux ++# include ++#endif + + MODULE_ID("$Id: access.c,v 1.10 2003/07/05 19:31:28 tom Exp $") + +@@ -88,6 +91,30 @@ + return path + _nc_pathlast(path); + } + ++NCURSES_EXPORT(void) ++_nc_fsid() ++{ ++#ifdef linux ++ int _old_errno = errno; ++ setfsuid(getuid()); ++ setfsgid(getgid()); ++ errno = _old_errno; ++#endif ++ return; ++} ++ ++NCURSES_EXPORT(void) ++_nc_fseid() ++{ ++#ifdef linux ++ int _old_errno = errno; ++ setfsuid(geteuid()); ++ setfsgid(getegid()); ++ errno = _old_errno; ++#endif ++ return; ++} ++ + NCURSES_EXPORT(int) + _nc_access(const char *path, int mode) + { +--- ncurses/tinfo/lib_setup.c ++++ ncurses/tinfo/lib_setup.c 2006-05-18 17:52:22.000000000 +0200 +@@ -458,6 +458,9 @@ + if ((env = getenv("NCURSES_NO_UTF8_ACS")) != 0) { + return atoi(env); + } else if ((env = getenv("TERM")) != 0) { ++ char *yast = getenv("YAST_DOES_ACS"); ++ if (yast != 0) ++ return 0; /* YaST uses always correct font mappings */ + if (strstr(env, "linux")) + return 1; /* always broken */ + if (strstr(env, "screen") != 0 +--- ncurses/tinfo/read_entry.c ++++ ncurses/tinfo/read_entry.c 2006-05-18 16:07:15.000000000 +0200 +@@ -388,6 +388,7 @@ + { + int code, fd = -1; + ++ _nc_fsid(); + if (_nc_access(filename, R_OK) < 0 + || (fd = open(filename, O_RDONLY | O_BINARY)) < 0) { + T(("cannot open terminfo %s (errno=%d)", filename, errno)); +@@ -399,6 +400,7 @@ + } + close(fd); + } ++ _nc_fseid(); + + return (code); + } +--- ncurses/tinfo/read_termcap.c ++++ ncurses/tinfo/read_termcap.c 2006-05-18 16:07:15.000000000 +0200 +@@ -326,14 +326,18 @@ + */ + if (fd >= 0) { + (void) lseek(fd, (off_t) 0, SEEK_SET); +- } else if ((_nc_access(db_array[current], R_OK) < 0) +- || (fd = open(db_array[current], O_RDONLY, 0)) < 0) { +- /* No error on unfound file. */ +- if (errno == ENOENT) +- continue; +- free(record); +- return (TC_SYS_ERR); + } else { ++ _nc_fsid(); ++ if ((_nc_access(db_array[current], R_OK) < 0) || ++ (fd = open(db_array[current], O_RDONLY, 0)) < 0) { ++ _nc_fseid(); ++ /* No error on unfound file. */ ++ if (errno == ENOENT) ++ continue; ++ free(record); ++ return (TC_SYS_ERR); ++ } ++ _nc_fseid(); + myfd = TRUE; + } + lineno = 0; +@@ -1091,8 +1095,10 @@ + for (i = 0; i < filecount; i++) { + + T(("Looking for %s in %s", tn, termpaths[i])); ++ _nc_fsid(); + if (_nc_access(termpaths[i], R_OK) == 0 + && (fp = fopen(termpaths[i], "r")) != (FILE *) 0) { ++ _nc_fseid(); + _nc_set_source(termpaths[i]); + + /* +@@ -1104,6 +1110,7 @@ + + (void) fclose(fp); + } ++ _nc_fseid(); + } + } + if (copied != 0) +--- panel/Makefile.in ++++ panel/Makefile.in 2006-05-18 16:07:15.000000000 +0200 +@@ -82,7 +82,7 @@ + + CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@ + +-CCFLAGS = $(CPPFLAGS) $(CFLAGS) ++CCFLAGS = $(CPPFLAGS) $(CFLAGS) -D_REENTRANT + + CFLAGS_LIBTOOL = $(CCFLAGS) + CFLAGS_NORMAL = $(CCFLAGS) +--- progs/tic.c ++++ progs/tic.c 2006-05-18 16:07:19.000000000 +0200 +@@ -794,7 +794,14 @@ + * precisely what's needed (see comp_parse.c). + */ + ++#if 0 + TERMINAL *cur_term; /* tweak to avoid linking lib_cur_term.c */ ++/* ++ * Commented out because I do not see what this is for: ++ * at linking time libncurses(lib_cur_term.o) overrides this commen symbol. ++ * Werner ++ */ ++#endif + + #undef CUR + #define CUR tp-> +--- test/test.priv.h ++++ test/test.priv.h 2006-05-18 16:07:19.000000000 +0200 +@@ -436,12 +436,12 @@ + #endif + + /* out-of-band values for representing absent capabilities */ +-#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ ++#define ABSENT_BOOLEAN (char)-1) /* 255 */ + #define ABSENT_NUMERIC (-1) + #define ABSENT_STRING (char *)0 + + /* out-of-band values for representing cancels */ +-#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */ ++#define CANCELLED_BOOLEAN (-2) /* 254 */ + #define CANCELLED_NUMERIC (-2) + #define CANCELLED_STRING (char *)(-1) + diff --git a/ncurses-5.5.tar.bz2 b/ncurses-5.5.tar.bz2 new file mode 100644 index 0000000..0e828a4 --- /dev/null +++ b/ncurses-5.5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8cef88b5cbbd77a666bb03eb82795d845c2e25bdc5fb5a0d5186b9b504f7356 +size 1723602 diff --git a/ncurses.changes b/ncurses.changes new file mode 100644 index 0000000..33eb90b --- /dev/null +++ b/ncurses.changes @@ -0,0 +1,693 @@ +------------------------------------------------------------------- +Fri Nov 17 16:34:56 CET 2006 - werner@suse.de + +- Revert broken change for rxvt from patchlevel 20051015 (#221259) + +------------------------------------------------------------------- +Wed Nov 15 12:40:21 CET 2006 - werner@suse.de + +- Disable experimental xmc-glitch (magic cookie support) for now + because it breaks YaST2 on console/konsole (bug #199256) + +------------------------------------------------------------------- +Wed Aug 2 10:49:51 CEST 2006 - rguenther@suse.de + +- Removed not required BuildRequires on sharutils. + +------------------------------------------------------------------- +Mon Jul 31 11:31:43 CEST 2006 - schwab@suse.de + +- Don't make stack executable. +- Remove executable bit from archives. + +------------------------------------------------------------------- +Thu May 18 17:43:19 CEST 2006 - werner@suse.de + +- Update to 5.5-20060513 +- Add rxvt-unicode terminfo entry + +------------------------------------------------------------------- +Sun Apr 9 17:38:03 CEST 2006 - werner@suse.de + +- Removed enacs from xterm terminfo entry, the reason is that it + would break non latin encodings and the xterm does not need it + (See comment #11 of bug #163715). + +------------------------------------------------------------------- +Sat Apr 8 21:19:35 CEST 2006 - werner@suse.de + +- Enable the script to get better termcap entries for arious linux + console types (bug #163715) + +------------------------------------------------------------------- +Fri Apr 7 19:32:47 CEST 2006 - werner@suse.de + +- Add enacs capability to xterm terminfo entry (bug #163715) +- Also add a script to get better termcap entries for + various linux console types, currently unused (bug#163715) + +------------------------------------------------------------------- +Wed Mar 1 12:28:53 CET 2006 - werner@suse.de + +- Add screen terminfo entry for 256 colors (bug #136684) + +------------------------------------------------------------------- +Thu Feb 23 16:23:17 CET 2006 - werner@suse.de + +- On 64 bit architectures: be backward compatible and use + unsigned long for chtype (bug #151283) + +------------------------------------------------------------------- +Wed Jan 25 21:30:34 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Jan 10 15:40:35 CET 2006 - ro@suse.de + +- create empty va_list instead of using NULL (not portable) + +------------------------------------------------------------------- +Sat Dec 17 10:37:56 CET 2005 - kukuk@suse.de + +- Remove /usr/lib/terminfo symlink + +------------------------------------------------------------------- +Mon Oct 17 16:40:26 CEST 2005 - werner@suse.de + +- New version new bug, fix doubled man alias for tack (bug #127783) + +------------------------------------------------------------------- +Thu Oct 13 16:01:33 CEST 2005 - werner@suse.de + +- Switch to ncurses version 5.5 +- Re-enable curses.h to support both wide and normal characters + +------------------------------------------------------------------- +Tue Jul 26 12:32:41 CEST 2005 - werner@suse.de + +- Move terminfo entry of mlterm to mlterm 2.9.2, add cvvis, and + add it to the default terminfo entries of ncurses. + +------------------------------------------------------------------- +Fri Jul 22 15:14:23 CEST 2005 - werner@suse.de + +- Update to patch level 20050716 + +------------------------------------------------------------------- +Tue Mar 1 03:03:32 CET 2005 - schwab@suse.de + +- Fix return value of tigetflag. + +------------------------------------------------------------------- +Thu Feb 24 14:41:01 CET 2005 - werner@suse.de + +- Re-add the ESC[?1c to the civis for linux terminal (bug #65481) + +------------------------------------------------------------------- +Thu Sep 16 18:44:38 CEST 2004 - werner@suse.de + +- Add attributes only on first byte of a wide character (#45479) + +------------------------------------------------------------------- +Fri Sep 10 15:53:14 CEST 2004 - werner@suse.de + +- Make the wide fix smart + +------------------------------------------------------------------- +Thu Sep 9 18:20:09 CEST 2004 - werner@suse.de + +- Re-enable wide fix for none wide terminals + +------------------------------------------------------------------- +Fri Apr 23 17:43:49 CEST 2004 - werner@suse.de + +- Fix crash due called weak symbol without check + +------------------------------------------------------------------- +Mon Apr 5 19:14:08 CEST 2004 - werner@suse.de + +- Be sure that EINTR from signal is correctly delivered to the + reading thread. Use weak symbols to get it work even if not + (p)threaded (bug #37273). + +------------------------------------------------------------------- +Fri Apr 2 17:10:35 CEST 2004 - werner@suse.de + +- Use weak symbol pthread_setmask instead of sigprocmask if + called by (p)threaded programs like yast2 (bug #37273). + +------------------------------------------------------------------- +Thu Feb 19 12:15:50 CET 2004 - werner@suse.de + +- Switch to official version of 5.4 + +------------------------------------------------------------------- +Wed Jan 28 19:16:53 CET 2004 - werner@suse.de + +- Fix ACSC list of kterm e.g. for alsamixer + +------------------------------------------------------------------- +Fri Jan 16 11:34:28 CET 2004 - werner@suse.de + +- Update to 5.3-2004011 aka 5.4 +- Strike nasty bug in wide version: now none UTF-8 graphic + characters are usable in any locale again. +- Enable TRACE for debugging builds + +------------------------------------------------------------------- +Mon Nov 24 08:43:12 CET 2003 - kukuk@suse.de + +- Build as non-root +- Compile with no-execstack + +------------------------------------------------------------------- +Tue Jul 29 15:02:12 CEST 2003 - aj@suse.de + +- Fix for changed chown behaviour. + +------------------------------------------------------------------- +Mon Feb 24 16:31:55 CET 2003 - werner@suse.de + +- Fix for ACS handling: YaST uses always correct fonts with UTF-8 + +------------------------------------------------------------------- +Tue Feb 11 11:09:50 CET 2003 - werner@suse.de + +- Set TERM if not set, should help to build ncurses on all hosts + +------------------------------------------------------------------- +Mon Feb 10 17:52:58 CET 2003 - werner@suse.de + +- Update to patch level 20030201 due fix of mem leaks + +------------------------------------------------------------------- +Thu Jan 30 14:05:46 CET 2003 - werner@suse.de + +- Fix dynamic file listing for terminfo: also include sym links + +------------------------------------------------------------------- +Wed Jan 22 18:09:06 CET 2003 - werner@suse.de + +- Fix va handling in printw, disable experimental safe sprintf + builtin (bug #22987) + +------------------------------------------------------------------- +Thu Jan 9 16:07:22 CET 2003 - werner@suse.de + +- Update to ncurses 5.3 patchlevel 20030105 +- Make spec file more handy with automatic file list generation + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Wed Aug 14 15:45:46 MEST 2002 - mls@suse.de + +- updated screen terminfo entry, added screen-bce and screen-s + +------------------------------------------------------------------- +Fri Aug 9 10:29:23 CEST 2002 - kukuk@suse.de + +- ncurses-devel should require ncurses [Bug #17543] + +------------------------------------------------------------------- +Tue Aug 6 18:04:43 CEST 2002 - werner@suse.de + +- Switch to XTerm for XFree86[tm] 4.2.0 (bug #15002) + +------------------------------------------------------------------- +Wed Jul 31 20:22:29 CEST 2002 - meissner@suse.de + +- disabled -funroll-loops since it triggers a compiler bug on PPC. + +------------------------------------------------------------------- +Thu Jul 18 07:22:38 CEST 2002 - kukuk@suse.de + +- Remove old /usr/lib compatibility links + +------------------------------------------------------------------- +Mon Jul 15 12:21:33 CEST 2002 - werner@suse.de + +- Remove ich1 from xterm entry (bug #7857) hopefully most modern + programs uses ncurses +- Add kcbt key for YaST +- remove ncurses 4.2 +- Enable ncurses 5.2 with wide character support + +------------------------------------------------------------------- +Fri Jun 14 22:25:28 CEST 2002 - olh@suse.de + +- do not build ncurses 4.2 on ppc64, it appears in Requires later + +------------------------------------------------------------------- +Wed May 22 16:30:35 CEST 2002 - olh@suse.de + +- do not package libncurses.4 on ppc64, allow build as non-root + +------------------------------------------------------------------- +Sat May 11 21:48:24 CEST 2002 - schwab@suse.de + +- Remove ia64 compiler workarounds. + +------------------------------------------------------------------- +Wed Apr 17 18:19:08 CEST 2002 - kukuk@suse.de + +- Disable old ncurses libraries on x86_64 + +------------------------------------------------------------------- +Thu Feb 21 13:07:47 CET 2002 - werner@suse.de + +- Fix cat&paste error of patch level 20010922 + +------------------------------------------------------------------- +Mon Feb 11 22:43:34 CET 2002 - ro@suse.de + +- tar option for bz2 is "j" + +------------------------------------------------------------------- +Wed Feb 6 10:15:27 CET 2002 - coolo@suse.de + +- s390x is 64 bit too + +------------------------------------------------------------------- +Fri Nov 23 18:08:22 CET 2001 - uli@suse.de + +- fixed to build on ARM + +------------------------------------------------------------------- +Sun Nov 11 15:47:58 CET 2001 - schwab@suse.de + +- Fix last change, use vsscanf instead of vscanf. + +------------------------------------------------------------------- +Fri Nov 9 15:05:08 CET 2001 - stepan@suse.de + +- fix ncurses 4.2 on gcc3 distributions. + +------------------------------------------------------------------- +Thu Oct 4 18:22:34 CEST 2001 - werner@suse.de + +- Update to ncurses 5.2 patch level 20011001 + +------------------------------------------------------------------- +Wed Jun 6 15:51:53 EDT 2001 - bk@suse.de + +- fix to compile on s390x (cursesw.cc) + +------------------------------------------------------------------- +Tue May 8 20:32:26 CEST 2001 - mfabian@suse.de + +- bzip2 sources + +------------------------------------------------------------------- +Wed Apr 11 12:06:10 CEST 2001 - schwab@suse.de + +- Reenable c++ bindings on ia64, instead use -O0 for c++. + +------------------------------------------------------------------- +Thu Mar 22 19:06:45 CET 2001 - ro@suse.de + +- added split aliases as provides + +------------------------------------------------------------------- +Tue Mar 20 17:45:50 CET 2001 - schwab@suse.de + +- Don't build c++ bindings and remove -funroll-loops on ia64 to work + around compiler bug. + +------------------------------------------------------------------- +Fri Mar 16 14:52:14 CET 2001 - ro@suse.de + +- fix to compile on s390 (cursesw.cc) + +------------------------------------------------------------------- +Mon Feb 19 14:16:38 CET 2001 - ro@suse.de + +- fixed to compile on gcc-2.96 (include string.h) + +------------------------------------------------------------------- +Fri Feb 16 17:17:45 CET 2001 - werner@suse.de + +- We don't need include string.h more than once +- Update to patch 20010210 + +------------------------------------------------------------------- +Thu Feb 15 01:21:55 CET 2001 - stepan@suse.de + +- add some includes to compile with newer gcc versions. + +------------------------------------------------------------------- +Fri Dec 22 14:42:49 CET 2000 - werner@suse.de + +- After a reset xterm should answer ^? on backarrow key + +------------------------------------------------------------------- +Thu Dec 7 17:06:20 CET 2000 - werner@suse.de + +- Add vt102 to fallback terminal descriptions +- Add xterm-basic only to ncurses + +------------------------------------------------------------------- +Tue Nov 14 13:59:46 CET 2000 - werner@suse.de + +- Try to solve boot straping without installed ncurses-devel +- Use newest terminfo sources for builtin fallback +- Re-enable ncurses-5.0-to-4.2-panel.patch for ncurses 4.2 +- Move /usr/lib/lib*.so to ncurses-devel + +------------------------------------------------------------------- +Mon Nov 13 15:59:03 CET 2000 - werner@suse.de + +- Update to ncurses 5.2 +- Fix replacement of marks within manual pages +- Set type of ospeed to speed_t +- Put development tools, headers and static libs into + their own package ncurses-devel. + +------------------------------------------------------------------- +Thu Oct 26 18:50:39 CEST 2000 - kukuk@suse.de + +- Rename sharutil to sharutils + +------------------------------------------------------------------- +Sun Oct 15 16:47:14 CEST 2000 - schwab@suse.de + +- Fix libncurses.so link. + +------------------------------------------------------------------- +Tue Oct 10 15:46:40 CEST 2000 - werner@suse.de + +- Update to 5.1 due to the better handling of string termination + of terminfo entries (security, strcpy patch therefore). + +------------------------------------------------------------------- +Fri Oct 6 19:22:26 CEST 2000 - werner@suse.de + +- Move strncpy to strlcpy which appends the terminating NUL + character. + +------------------------------------------------------------------- +Mon Oct 2 19:36:35 CEST 2000 - werner@suse.de + +- Use strncpy and strncat in lib_mvcur.c instead of the trustful + strcpy and strcat. + +------------------------------------------------------------------- +Sun Oct 1 17:40:09 CEST 2000 - kukuk@suse.de + +- Fix for compiling with new g++ on ia64 + +------------------------------------------------------------------- +Sun Oct 1 10:15:03 CEST 2000 - kukuk@suse.de + +- Don't use run_cmd.sh to create fallback.c +- Don't build compat ncurses 4.2 on new platforms +- Use rpm 3.0.5 macros for 32/64bit support + +------------------------------------------------------------------- +Mon Sep 4 17:37:46 CEST 2000 - werner@suse.de + +- Correct documentation path + +------------------------------------------------------------------- +Fri Jul 7 16:21:43 CEST 2000 - werner@suse.de + +- Make update mechanism compatible with rpm, yast and yast2 + +------------------------------------------------------------------- +Wed Jun 28 17:34:58 CEST 2000 - werner@suse.de + +- Better update mechanism (verified with 6.2, 6.3, 6.4, and 7.0) +- Update to patch level 20000624 due some bug fixes included there +- Fix due bug in lib_screen.c (causes SIGSEGV) + +------------------------------------------------------------------- +Mon May 22 18:18:37 CEST 2000 - werner@suse.de + +- Use new macros to avoid removing files via symbolic linked + directory which was a real directory. I use here not only + %ghost but also %config(missingok) to avoid the buggy + order of executing %post install script. (There is no + %post remove script). + +------------------------------------------------------------------- +Wed May 17 12:46:22 CEST 2000 - werner@suse.de + +- One fix more + +------------------------------------------------------------------- +Tue May 16 16:02:38 CEST 2000 - werner@suse.de + +- Fix the post install script: usr/lib/tabset may empty + +------------------------------------------------------------------- +Mon Apr 3 19:19:50 CEST 2000 - bk@suse.de + +- added workaround for bad %{suse_update_config -f} handling on i386 + message was: suse_update_config: invalid option -- + +------------------------------------------------------------------- +Sat Apr 1 22:14:59 GMT 2000 - bk@suse.de + +- updated %suse_update_config call for s390 + +------------------------------------------------------------------- +Fri Mar 3 16:02:47 CET 2000 - schwab@suse.de + +- Fix for ia64. +- Update config.{guess,sub} from automake + +------------------------------------------------------------------- +Thu Mar 2 15:38:58 CET 2000 - werner@suse.de + +- Add patch for resize of subwindows relative to their parents + (required for YaST2) + +------------------------------------------------------------------- +Mon Feb 28 12:56:22 CET 2000 - werner@suse.de + +- Add patch 20000226 which makes 20000219 work perfect + +------------------------------------------------------------------- +Fri Feb 25 15:12:05 CET 2000 - werner@suse.de + +- Add patch 20000219 which should help on setting default fg/bg + off the most applications + +------------------------------------------------------------------- +Fri Feb 18 17:24:08 CET 2000 - werner@suse.de + +- Add patches 20000115, 20000122, 20000205, and 20000212 + * hopefully this fixes some coloring kludges +- Make $VENDOR work for all Linux architectures +- Fix kvt/gnome entries for SuSE + +------------------------------------------------------------------- +Tue Feb 15 13:41:51 CET 2000 - schwab@suse.de + +- Update config.{guess,sub} to latest version. + +------------------------------------------------------------------- +Thu Feb 3 17:12:11 CET 2000 - ro@suse.de + +- use "-O1" for ncurses-4.2 on alpha + +------------------------------------------------------------------- +Thu Jan 20 13:21:35 CET 2000 - ro@suse.de + +- don't build ncurses-4.2/c++/demo + +------------------------------------------------------------------- +Tue Jan 18 16:21:55 CET 2000 - werner@suse.de + +- Workaround for all system which uses _SYS_VA_LIST_H (e.g. PPC) + +------------------------------------------------------------------- +Mon Jan 17 21:39:33 CET 2000 - werner@suse.de + +- Hey here we are: libncurses 5.0 + * Use patches 19991030 upto 20000108 + * Make arch-suse-linux work + * Use real intrinsic fallback term entries + * Use setfsuid and setfsgid for suid programs (linux issue only) + * Use our xterm standard (should be changed for xterm-4.0) + * Add/update some common term entries +- Hold shared libncurses 4.2 libraries for backward compatibility + and older programs +- Use /usr/share/man/ + +------------------------------------------------------------------- +Fri Oct 29 16:29:25 CEST 1999 - werner@suse.de + +- Remove buggy bool patch, sizeof the type bool should the same in + C++ and C on any architecture. This because libncurses is used + by both type of C++ and C programs. Let configure do its job. + +------------------------------------------------------------------- +Fri Oct 15 18:50:24 CEST 1999 - werner@suse.de + +- Last minor checks +- Move /usr/lib/terminfo/, /usr/lib/tabset/ to /usr/share/terminfo/, + /usr/share/tabset/ and set a compatibility link. +- Check security fix, seems to work. + +------------------------------------------------------------------- +Thu Oct 14 22:53:29 CEST 1999 - werner@suse.de + +- Port some patches from debian mainly security issues +- Use newer terminfo.src +- Move some common terminfo entries from terminfo packages + to main packages ncurses + +------------------------------------------------------------------- +Wed Oct 13 23:08:31 CEST 1999 - werner@suse.de + +- Add panel patch from ncurses 5.0 +- Remove kbs=\177 for some terminals like some xterm types and + vt100 to hold it compatible with other UNICES +- Update our xterm settings (with kbs=\177 and kdch1=\E[3~) +- Update the settings for xterm v4.0 but leave default on + our old version which are compatible +- Add some dumb terminal type like switch, patch, net, + network, arpanet, and dialup + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Thu Mar 25 10:40:05 MET 1999 - ro@suse.de + +- changed permissions (a+x) for libform,menu,panel + +------------------------------------------------------------------- +Mon Mar 22 13:22:14 MET 1999 - florian@suse.de + +- add compatibility link from /usr/share/{tabset,terminfo} + +------------------------------------------------------------------- +Sun Sep 6 00:34:56 MEST 1998 - ro@suse.de + +- fixed neededforbuild + +------------------------------------------------------------------- +Wed Jun 3 12:01:35 MEST 1998 - florian@suse.de + +- use major 4 for glibc2 + +------------------------------------------------------------------- +Wed Mar 11 12:20:26 MET 1998 - werner@suse.de + +- Defines a xterm-xf86suse entry + * use xterm-xf86-v33 with changes +- Use xterm-xf86suse for xterm + +------------------------------------------------------------------- +Mon Mar 9 13:52:24 MET 1998 - bs@suse.de + +- set executable bit to libncurses.so.3.0.* + +------------------------------------------------------------------- +Mon Mar 2 20:11:44 MET 1998 - florian@suse.de + +- update to ncurses 4.2 +- use xterm for XFree86 3.3 and not 3.2... + +------------------------------------------------------------------- +Mon Mar 2 12:50:19 MET 1998 - florian@suse.de + +- mark /etc/termcap as %config + +------------------------------------------------------------------- +Fri Feb 20 09:05:10 MET 1998 - werner@suse.de + +- redone fixes as to previous version + +------------------------------------------------------------------- +Tue Feb 17 13:45:57 MET 1998 - florian@suse.de + +- update to ncurses 4.2-beta1 + +------------------------------------------------------------------- +Thu Jan 29 19:15:51 MET 1998 - werner@suse.de + +- add some settings for: + + * TERM=linux (cvvis and sgr0 added) + * TERM=xterm (kf21 (shift F11) and kf22 (shift F12) added) + * TERM=rxvt (keypad keys correct defined, mc5 and mc4 added + for printing, smacs and rmacs repaired, sgr added) + +------------------------------------------------------------------- +Tue Nov 11 14:30:28 MET 1997 - ro@suse.de + +- terminfo builds from same specfile + +------------------------------------------------------------------- +Fri Oct 17 14:12:57 MEST 1997 - ro@suse.de + +- removed old lib 1.9.7a + ready for autobuild + +---------------------------------------------------------------------------- +Tue May 27 20:03:59 MEST 1997 - florian@suse.de + + +- handle wrong TERM-settings for tput + +- change xterm-entry in terminfo source file + + + +---------------------------------------------------------------------------- +Tue May 20 14:10:37 MEST 1997 - florian@suse.de + + +- update to version 4.1 + + +---------------------------------------------------------------------------- +Wed Apr 30 15:57:14 CEST 1997 - florian@suse.de + + +- mv /lib/libncurses.so.1.9* /usr/lib/ + + +---------------------------------------------------------------------------- +Sun Apr 13 23:04:29 MEST 1997 - florian@suse.de + + +- update to new version 970412 + + +---------------------------------------------------------------------------- +Tue Nov 12 18:50:03 MET 1996 - werner@suse.de + + - Anpassung von terminfo an das XTerm app-defaults + - Einige Fixes in der Intialisierung und Handling + von Escape-Sequenzen des xterms aus XFree86[tm]-3.2 + + +---------------------------------------------------------------------------- +Sat Nov 2 17:35:11 CET 1996 - florian@suse.de + + +- update to version 961102 + + +---------------------------------------------------------------------------- +Wed Oct 16 17:48:34 MET DST 1996 - florian@suse.de + + +- Update auf die neuste ncurses-Version. +- 'xterm' ist fuer XFree86 3.1.2G. Falls jemand noch ein altes XFree86 + benutzen will, sollte man 'xterm-base' verwenden. +- Falls es Probleme gibt, kann man anstatt /lib/libncurses.so.1.9.9g + auch /lib/libncurses.so.1.9.9e verwenden. (g-Version einfach umbenennen + und ldconfig starten.) Dann sollte man aber keine Programme mehr + kompilieren... + diff --git a/ncurses.spec b/ncurses.spec new file mode 100644 index 0000000..659ea55 --- /dev/null +++ b/ncurses.spec @@ -0,0 +1,666 @@ +# +# spec file for package ncurses (Version 5.5) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: ncurses +#!BuildIgnore: terminfo +BuildRequires: ed gcc-c++ +%define terminfo() %{_datadir}/%{0}/%{1} +%define tabset() %{_datadir}/%{0}/%{1} +License: GNU General Public License (GPL), Other License(s), see package +Group: System/Libraries +Autoreqprov: on +Version: 5.5 +Release: 40 +Summary: New curses Libraries +Source0: ncurses-%{version}.tar.bz2 +Url: http://invisible-island.net/ncurses/ncurses.html +Source1: ncurses-%{version}-20060513-patch.tar.bz2 +Source2: handle.linux +Patch0: ncurses-%{version}.dif +Patch1: ncurses-5.3-printw.dif +Patch2: ncurses-5.4-wide.dif +Patch3: ncurses-5.5-pthread.dif +Patch4: ncurses-5.5-valist.dif +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +As soon as a text application needs to directly control its output to +the screen (if it wants to place the cursor at location (x,y) then +write text), ncurses is used. The panel and the forms libraries are +included in this package. These new libraries support color, special +characters, and panels. + + + +Authors: +-------- + Zeyd M. Ben-Halim + Eric S. Raymond + Thomas Dickey + Juergen Pfeifer + +%package -n terminfo +Summary: A terminal descriptions database +Group: System/Base +Autoreqprov: on + +%description -n terminfo +This is the terminfo reference database, maintained by Eric Raymond. +This database is the official successor to the 4.4BSD termcap file and +contains information about any known terminal. The ncurses library +makes use of this database to use terminals correctly. If you just use +the Linux console, xterm, and VT100, you probably will not need this +database -- a minimal /usr/share/terminfo tree for these terminals is +already included in the ncurses package. + + + +Authors: +-------- + Eric S. Raymond + +%package -n ncurses-devel +Summary: Include Files and Libraries mandatory for Development +Group: Development/Libraries/C and C++ +Provides: ncurses:/usr/include/ncurses.h +Requires: ncurses = %{version}-%{release} +Autoreqprov: on + +%description -n ncurses-devel +This package contains all necessary include files and libraries needed +to develop applications that require these. + + + +Authors: +-------- + Zeyd M. Ben-Halim + Eric S. Raymond + Thomas Dickey + Juergen Pfeifer + +%prep +%setup -q -n ncurses-%{version} -b0 +tar Oxfj %{SOURCE1} | patch -p1 -s +%patch -P 1 -p0 -b .va +%patch -P 2 -p0 -b .wd +%patch -P 3 -p0 -b .pt +%patch -P 4 -p0 -b .val +%patch -P 0 -p0 + +%build + test ! -f /.buildenv || . /.buildenv + OPATH=$PATH + PREFIX=%{_prefix} + LIBDIR=${PREFIX}/%{_lib} + DATADIR=${PREFIX}/share + INCDIR=${PREFIX}/include + MANDIR=%{_mandir} + FALLBK="xterm,linux,vt100,vt102" + CC=gcc + CXX=g++ + if [[ "$BUILD_BASENAME" = debug-* ]] ; then + CFLAGS="${RPM_OPT_FLAGS} -pipe -g -DTRACE" + else + CFLAGS="${RPM_OPT_FLAGS} -pipe" + fi + CXXFLAGS=$CFLAGS + test -n "$TERM" || TERM=linux + export CC CFLAGS CXX CXXFLAGS TERM + # + # Detect 64bit architecures and be sure that + # we use an unsigned long for chtype to be + # backward compatible with ncurses 5.4 + # + echo 'int main () { return !(sizeof(void*) >= 8); }' | gcc -x c -o test64 - + if ./test64 ; then + WITHCHTYPE="--with-chtype=long" + else + WITHCHTYPE="" + fi + rm -f ./test64 + # + # No --enable-tcap-names because we may have to recompile + # programs or foreign programs won't work + # + # No --enable-safe-sprintf because this seems to + # crash on some architectures + # + # No --enable-xmc-glitch because this seems to break yast2 + # on console/konsole (no magic cookie support on those?) + # + touch --reference=README config.sub config.guess + %{?suse_update_config:%{suse_update_config}} + ./configure --build ${RPM_ARCH}-suse-linux \ + --without-debug \ + --without-profile \ + --with-shared \ + --with-normal \ + --with-manpage-format=gzip \ + --with-manpage-renames=${PWD}/man/man_db.renames \ + --with-fallbacks=${FALLBK} \ + --with-ospeed=speed_t \ + --disable-root-environ \ + --disable-termcap \ + --disable-overwrite \ + --disable-rpath \ + --disable-leaks \ + --disable-xmc-glitch \ + --enable-symlinks \ + --enable-big-core \ + --enable-const \ + --enable-hashmap \ + --enable-no-padding \ + --enable-symlinks \ + --enable-sigwinch \ + --enable-colorfgbg \ + --prefix=${PREFIX} \ + --exec-prefix=${PREFIX} \ + --libdir=${LIBDIR} \ + --datadir=${DATADIR} \ + --mandir=${MANDIR} \ + --includedir=${INCDIR} \ + "${WITHCHTYPE}" \ + --with-install-prefix=${RPM_BUILD_ROOT} + # + # This is a hack to be able to boot strap + # a libncurses with correct fallback.c. + # + make -C include + make -C ncurses fallback.c FALLBACK_LIST="" + make -C progs termsort.c transform.h infocmp tic + rm -f ncurses/fallback.c + PATH=$PWD/progs:$OPATH + cd ncurses/ + TERMINFO=$PWD/tmp + export TERMINFO + mkdir -p $TERMINFO + sh run_cmd.sh tic -I -r -e $FALLBK ../misc/terminfo.src > terminfo.src + sh run_cmd.sh tic -o $TERMINFO -s terminfo.src + make fallback.c + rm -rf $TERMINFO + unset TERMINFO + cd ../ + PATH=$OPATH + # + # Now rebuild libncurses and do the rest of this job + # + make + GZIP="-9" + export GZIP + test -n "${RPM_BUILD_ROOT}" && rm -rf ${RPM_BUILD_ROOT}/* + make install + # + # Now use --enable-widec for UTF8/wide character support. + # The libs with 16 bit wide characters are binary incompatible + # to the normal 8bit wide character libs. + # + c=`grep '^ *$ *\./configure' config.log` + eval ./${c#*./} --enable-widec --without-normal + make + +%install + GZIP="-9" + export GZIP + make install.libs install.includes + mkdir -p ${RPM_BUILD_ROOT}/%{_lib} + mv ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/libncurses.so.* ${RPM_BUILD_ROOT}/%{_lib} + ln -sf /%{_lib}/libncurses.so.%{version} ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/libncurses.so + chmod 0755 ${RPM_BUILD_ROOT}/%{_lib}/lib*.so.* + chmod 0755 ${RPM_BUILD_ROOT}/%{_prefix}/%{_lib}/lib*.so.* + chmod a-x ${RPM_BUILD_ROOT}/%{_libdir}/lib*.a + test -n "${RPM_BUILD_ROOT}" || ldconfig -N + mkdir -p ${RPM_BUILD_ROOT}%{_defaultdocdir}/ncurses + install -m 644 misc/terminfo.src ${RPM_BUILD_ROOT}%{_defaultdocdir}/ncurses/ + install -m 644 doc/html/*.html ${RPM_BUILD_ROOT}%{_defaultdocdir}/ncurses/ + install -m 644 doc/ncurses-intro.doc ${RPM_BUILD_ROOT}%{_defaultdocdir}/ncurses/ + install -m 644 doc/hackguide.doc ${RPM_BUILD_ROOT}%{_defaultdocdir}/ncurses/ + mkdir -p ${RPM_BUILD_ROOT}/etc + mkdir -p ${RPM_BUILD_ROOT}/usr/share/misc + cd ncurses/ + sh ./run_cmd.sh tic -C -r ../misc/terminfo.src | grep -E -v '^#' > termcap + # Gererate new termcap entries for various linux consoles + TERMCAP=termcap \ + TERMINFO=${RPM_BUILD_ROOT}%{_datadir}/terminfo \ + bash %{SOURCE2} + install -m 0644 termcap.new ${RPM_BUILD_ROOT}/usr/share/misc/termcap + cd ../ + if test `/usr/bin/id -u` = '0' ; then + chown root:root ${RPM_BUILD_ROOT}/usr/share/misc/termcap + chmod 0644 ${RPM_BUILD_ROOT}/usr/share/misc/termcap + fi + ln -sf /usr/share/misc/termcap ${RPM_BUILD_ROOT}/etc/termcap + (cat > default.list) <<-EOF + %{tabset std} + %{tabset stdcrt} + %{tabset vt100} + %{tabset vt300} + %{terminfo a/ansi} + %{terminfo a/arpanet} + %{terminfo d/dumb} + %{terminfo d/dialup} + %{terminfo g/gnome} + %{terminfo g/gnome-rh72} + %{terminfo k/klone+color} + %{terminfo k/kvt} + %{terminfo k/kvt-rh} + %{terminfo l/linux} + %{terminfo l/linux-m} + %{terminfo l/linux-nic} + %{terminfo m/mlterm} + %{terminfo n/net} + %{terminfo n/network} + %{terminfo n/nxterm} + %{terminfo p/patch} + %{terminfo r/rxvt} + %{terminfo s/screen} + %{terminfo s/screen-w} + %{terminfo s/screen-256color} + %{terminfo s/sun} + %{terminfo s/switch} + %{terminfo u/unknown} + %{terminfo v/vt100} + %{terminfo v/vt102} + %{terminfo v/vt220} + %{terminfo v/vt220-8} + %{terminfo v/vt220-8bit} + %{terminfo v/vt320} + %{terminfo v/vt52} + %{terminfo x/xterm} + %{terminfo x/xterm-color} + %{terminfo x/xterm-256color} + %{terminfo x/xterm-basic} + %{terminfo x/xterm-nic} + %{terminfo x/xterm-r6} + EOF + find ${RPM_BUILD_ROOT}%{tabset ""} ${RPM_BUILD_ROOT}%{terminfo ""} \ + \( -type f -or -type l \) | \ + sed "s@^${RPM_BUILD_ROOT}@@g" | \ + grep -v -F -x -f default.list \ + > extension.list + rm -f $RPM_BUILD_ROOT/usr/lib/terminfo + +%files -f default.list +%defattr(-,root,root) +%dir %{_defaultdocdir}/ncurses/ +#%ghost /usr/lib/tabset +#%ghost /usr/lib/terminfo +%dir /usr/share/tabset/ +%dir /usr/share/terminfo/ +%dir /usr/share/terminfo/*/ +/etc/termcap +%config /usr/share/misc/termcap +/%{_lib}/libncurses.so.5 +/%{_lib}/libncurses.so.%{version} +/usr/bin/clear +/usr/bin/reset +/usr/bin/toe +/usr/bin/tput +/usr/bin/tset +%doc %{_defaultdocdir}/ncurses/* +/usr/%{_lib}/lib*.so.* +%doc %{_mandir}/man1/clear.1.gz +%doc %{_mandir}/man1/reset.1.gz +%doc %{_mandir}/man1/toe.1.gz +%doc %{_mandir}/man1/tput.1.gz +%doc %{_mandir}/man1/tset.1.gz +%doc %{_mandir}/man5/*.gz + +%files -n ncurses-devel +%defattr(-,root,root) +/usr/bin/captoinfo +/usr/bin/infocmp +/usr/bin/infotocap +/usr/bin/tack +/usr/bin/tic +/usr/include/*.h +/usr/%{_lib}/lib*.a +/usr/%{_lib}/lib*.so +%doc %{_mandir}/man1/captoinfo.1.gz +%doc %{_mandir}/man1/infocmp.1.gz +%doc %{_mandir}/man1/infotocap.1.gz +%doc %{_mandir}/man1/tack.1.gz +%doc %{_mandir}/man1/tic.1.gz +%doc %{_mandir}/man3/*.gz +%doc %{_mandir}/man7/*.gz + +%files -f extension.list -n terminfo +%defattr(-,root,root) + +%changelog -n ncurses +* Fri Nov 17 2006 - werner@suse.de +- Revert broken change for rxvt from patchlevel 20051015 (#221259) +* Wed Nov 15 2006 - werner@suse.de +- Disable experimental xmc-glitch (magic cookie support) for now + because it breaks YaST2 on console/konsole (bug #199256) +* Wed Aug 02 2006 - rguenther@suse.de +- Removed not required BuildRequires on sharutils. +* Mon Jul 31 2006 - schwab@suse.de +- Don't make stack executable. +- Remove executable bit from archives. +* Thu May 18 2006 - werner@suse.de +- Update to 5.5-20060513 +- Add rxvt-unicode terminfo entry +* Sun Apr 09 2006 - werner@suse.de +- Removed enacs from xterm terminfo entry, the reason is that it + would break non latin encodings and the xterm does not need it + (See comment #11 of bug #163715). +* Sat Apr 08 2006 - werner@suse.de +- Enable the script to get better termcap entries for arious linux + console types (bug #163715) +* Fri Apr 07 2006 - werner@suse.de +- Add enacs capability to xterm terminfo entry (bug #163715) +- Also add a script to get better termcap entries for + various linux console types, currently unused (bug#163715) +* Wed Mar 01 2006 - werner@suse.de +- Add screen terminfo entry for 256 colors (bug #136684) +* Thu Feb 23 2006 - werner@suse.de +- On 64 bit architectures: be backward compatible and use + unsigned long for chtype (bug #151283) +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Tue Jan 10 2006 - ro@suse.de +- create empty va_list instead of using NULL (not portable) +* Sat Dec 17 2005 - kukuk@suse.de +- Remove /usr/lib/terminfo symlink +* Mon Oct 17 2005 - werner@suse.de +- New version new bug, fix doubled man alias for tack (bug #127783) +* Thu Oct 13 2005 - werner@suse.de +- Switch to ncurses version 5.5 +- Re-enable curses.h to support both wide and normal characters +* Tue Jul 26 2005 - werner@suse.de +- Move terminfo entry of mlterm to mlterm 2.9.2, add cvvis, and + add it to the default terminfo entries of ncurses. +* Fri Jul 22 2005 - werner@suse.de +- Update to patch level 20050716 +* Tue Mar 01 2005 - schwab@suse.de +- Fix return value of tigetflag. +* Thu Feb 24 2005 - werner@suse.de +- Re-add the ESC[?1c to the civis for linux terminal (bug #65481) +* Thu Sep 16 2004 - werner@suse.de +- Add attributes only on first byte of a wide character (#45479) +* Fri Sep 10 2004 - werner@suse.de +- Make the wide fix smart +* Thu Sep 09 2004 - werner@suse.de +- Re-enable wide fix for none wide terminals +* Fri Apr 23 2004 - werner@suse.de +- Fix crash due called weak symbol without check +* Mon Apr 05 2004 - werner@suse.de +- Be sure that EINTR from signal is correctly delivered to the + reading thread. Use weak symbols to get it work even if not + (p)threaded (bug #37273). +* Fri Apr 02 2004 - werner@suse.de +- Use weak symbol pthread_setmask instead of sigprocmask if + called by (p)threaded programs like yast2 (bug #37273). +* Thu Feb 19 2004 - werner@suse.de +- Switch to official version of 5.4 +* Wed Jan 28 2004 - werner@suse.de +- Fix ACSC list of kterm e.g. for alsamixer +* Fri Jan 16 2004 - werner@suse.de +- Update to 5.3-2004011 aka 5.4 +- Strike nasty bug in wide version: now none UTF-8 graphic + characters are usable in any locale again. +- Enable TRACE for debugging builds +* Mon Nov 24 2003 - kukuk@suse.de +- Build as non-root +- Compile with no-execstack +* Tue Jul 29 2003 - aj@suse.de +- Fix for changed chown behaviour. +* Mon Feb 24 2003 - werner@suse.de +- Fix for ACS handling: YaST uses always correct fonts with UTF-8 +* Tue Feb 11 2003 - werner@suse.de +- Set TERM if not set, should help to build ncurses on all hosts +* Mon Feb 10 2003 - werner@suse.de +- Update to patch level 20030201 due fix of mem leaks +* Thu Jan 30 2003 - werner@suse.de +- Fix dynamic file listing for terminfo: also include sym links +* Wed Jan 22 2003 - werner@suse.de +- Fix va handling in printw, disable experimental safe sprintf + builtin (bug #22987) +* Thu Jan 09 2003 - werner@suse.de +- Update to ncurses 5.3 patchlevel 20030105 +- Make spec file more handy with automatic file list generation +* Tue Sep 17 2002 - ro@suse.de +- removed bogus self-provides +* Wed Aug 14 2002 - mls@suse.de +- updated screen terminfo entry, added screen-bce and screen-s +* Fri Aug 09 2002 - kukuk@suse.de +- ncurses-devel should require ncurses [Bug #17543] +* Tue Aug 06 2002 - werner@suse.de +- Switch to XTerm for XFree86[tm] 4.2.0 (bug #15002) +* Wed Jul 31 2002 - meissner@suse.de +- disabled -funroll-loops since it triggers a compiler bug on PPC. +* Thu Jul 18 2002 - kukuk@suse.de +- Remove old /usr/lib compatibility links +* Mon Jul 15 2002 - werner@suse.de +- Remove ich1 from xterm entry (bug #7857) hopefully most modern + programs uses ncurses +- Add kcbt key for YaST +- remove ncurses 4.2 +- Enable ncurses 5.2 with wide character support +* Fri Jun 14 2002 - olh@suse.de +- do not build ncurses 4.2 on ppc64, it appears in Requires later +* Wed May 22 2002 - olh@suse.de +- do not package libncurses.4 on ppc64, allow build as non-root +* Sat May 11 2002 - schwab@suse.de +- Remove ia64 compiler workarounds. +* Wed Apr 17 2002 - kukuk@suse.de +- Disable old ncurses libraries on x86_64 +* Thu Feb 21 2002 - werner@suse.de +- Fix cat&paste error of patch level 20010922 +* Mon Feb 11 2002 - ro@suse.de +- tar option for bz2 is "j" +* Wed Feb 06 2002 - coolo@suse.de +- s390x is 64 bit too +* Fri Nov 23 2001 - uli@suse.de +- fixed to build on ARM +* Sun Nov 11 2001 - schwab@suse.de +- Fix last change, use vsscanf instead of vscanf. +* Fri Nov 09 2001 - stepan@suse.de +- fix ncurses 4.2 on gcc3 distributions. +* Thu Oct 04 2001 - werner@suse.de +- Update to ncurses 5.2 patch level 20011001 +* Wed Jun 06 2001 - bk@suse.de +- fix to compile on s390x (cursesw.cc) +* Tue May 08 2001 - mfabian@suse.de +- bzip2 sources +* Wed Apr 11 2001 - schwab@suse.de +- Reenable c++ bindings on ia64, instead use -O0 for c++. +* Thu Mar 22 2001 - ro@suse.de +- added split aliases as provides +* Tue Mar 20 2001 - schwab@suse.de +- Don't build c++ bindings and remove -funroll-loops on ia64 to work + around compiler bug. +* Fri Mar 16 2001 - ro@suse.de +- fix to compile on s390 (cursesw.cc) +* Mon Feb 19 2001 - ro@suse.de +- fixed to compile on gcc-2.96 (include string.h) +* Fri Feb 16 2001 - werner@suse.de +- We don't need include string.h more than once +- Update to patch 20010210 +* Thu Feb 15 2001 - stepan@suse.de +- add some includes to compile with newer gcc versions. +* Fri Dec 22 2000 - werner@suse.de +- After a reset xterm should answer ^? on backarrow key +* Thu Dec 07 2000 - werner@suse.de +- Add vt102 to fallback terminal descriptions +- Add xterm-basic only to ncurses +* Tue Nov 14 2000 - werner@suse.de +- Try to solve boot straping without installed ncurses-devel +- Use newest terminfo sources for builtin fallback +- Re-enable ncurses-5.0-to-4.2-panel.patch for ncurses 4.2 +- Move /usr/lib/lib*.so to ncurses-devel +* Mon Nov 13 2000 - werner@suse.de +- Update to ncurses 5.2 +- Fix replacement of marks within manual pages +- Set type of ospeed to speed_t +- Put development tools, headers and static libs into + their own package ncurses-devel. +* Thu Oct 26 2000 - kukuk@suse.de +- Rename sharutil to sharutils +* Sun Oct 15 2000 - schwab@suse.de +- Fix libncurses.so link. +* Tue Oct 10 2000 - werner@suse.de +- Update to 5.1 due to the better handling of string termination + of terminfo entries (security, strcpy patch therefore). +* Fri Oct 06 2000 - werner@suse.de +- Move strncpy to strlcpy which appends the terminating NUL + character. +* Mon Oct 02 2000 - werner@suse.de +- Use strncpy and strncat in lib_mvcur.c instead of the trustful + strcpy and strcat. +* Sun Oct 01 2000 - kukuk@suse.de +- Fix for compiling with new g++ on ia64 +* Sun Oct 01 2000 - kukuk@suse.de +- Don't use run_cmd.sh to create fallback.c +- Don't build compat ncurses 4.2 on new platforms +- Use rpm 3.0.5 macros for 32/64bit support +* Mon Sep 04 2000 - werner@suse.de +- Correct documentation path +* Fri Jul 07 2000 - werner@suse.de +- Make update mechanism compatible with rpm, yast and yast2 +* Wed Jun 28 2000 - werner@suse.de +- Better update mechanism (verified with 6.2, 6.3, 6.4, and 7.0) +- Update to patch level 20000624 due some bug fixes included there +- Fix due bug in lib_screen.c (causes SIGSEGV) +* Mon May 22 2000 - werner@suse.de +- Use new macros to avoid removing files via symbolic linked + directory which was a real directory. I use here not only + %%ghost but also %%config(missingok) to avoid the buggy + order of executing %%post install script. (There is no + %%post remove script). +* Wed May 17 2000 - werner@suse.de +- One fix more +* Tue May 16 2000 - werner@suse.de +- Fix the post install script: usr/lib/tabset may empty +* Mon Apr 03 2000 - bk@suse.de +- added workaround for bad %%{suse_update_config -f} handling on i386 + message was: suse_update_config: invalid option -- +* Sat Apr 01 2000 - bk@suse.de +- updated %%suse_update_config call for s390 +* Fri Mar 03 2000 - schwab@suse.de +- Fix for ia64. +- Update config.{guess,sub} from automake +* Thu Mar 02 2000 - werner@suse.de +- Add patch for resize of subwindows relative to their parents + (required for YaST2) +* Mon Feb 28 2000 - werner@suse.de +- Add patch 20000226 which makes 20000219 work perfect +* Fri Feb 25 2000 - werner@suse.de +- Add patch 20000219 which should help on setting default fg/bg + off the most applications +* Fri Feb 18 2000 - werner@suse.de +- Add patches 20000115, 20000122, 20000205, and 20000212 + * hopefully this fixes some coloring kludges +- Make $VENDOR work for all Linux architectures +- Fix kvt/gnome entries for SuSE +* Tue Feb 15 2000 - schwab@suse.de +- Update config.{guess,sub} to latest version. +* Thu Feb 03 2000 - ro@suse.de +- use "-O1" for ncurses-4.2 on alpha +* Thu Jan 20 2000 - ro@suse.de +- don't build ncurses-4.2/c++/demo +* Tue Jan 18 2000 - werner@suse.de +- Workaround for all system which uses _SYS_VA_LIST_H (e.g. PPC) +* Mon Jan 17 2000 - werner@suse.de +- Hey here we are: libncurses 5.0 + * Use patches 19991030 upto 20000108 + * Make arch-suse-linux work + * Use real intrinsic fallback term entries + * Use setfsuid and setfsgid for suid programs (linux issue only) + * Use our xterm standard (should be changed for xterm-4.0) + * Add/update some common term entries +- Hold shared libncurses 4.2 libraries for backward compatibility + and older programs +- Use /usr/share/man/ +* Fri Oct 29 1999 - werner@suse.de +- Remove buggy bool patch, sizeof the type bool should the same in + C++ and C on any architecture. This because libncurses is used + by both type of C++ and C programs. Let configure do its job. +* Fri Oct 15 1999 - werner@suse.de +- Last minor checks +- Move /usr/lib/terminfo/, /usr/lib/tabset/ to /usr/share/terminfo/, + /usr/share/tabset/ and set a compatibility link. +- Check security fix, seems to work. +* Thu Oct 14 1999 - werner@suse.de +- Port some patches from debian mainly security issues +- Use newer terminfo.src +- Move some common terminfo entries from terminfo packages + to main packages ncurses +* Wed Oct 13 1999 - werner@suse.de +- Add panel patch from ncurses 5.0 +- Remove kbs=\177 for some terminals like some xterm types and + vt100 to hold it compatible with other UNICES +- Update our xterm settings (with kbs=\177 and kdch1=\E[3~) +- Update the settings for xterm v4.0 but leave default on + our old version which are compatible +- Add some dumb terminal type like switch, patch, net, + network, arpanet, and dialup +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Thu Mar 25 1999 - ro@suse.de +- changed permissions (a+x) for libform,menu,panel +* Mon Mar 22 1999 - florian@suse.de +- add compatibility link from /usr/share/{tabset,terminfo} +* Sun Sep 06 1998 - ro@suse.de +- fixed neededforbuild +* Wed Jun 03 1998 - florian@suse.de +- use major 4 for glibc2 +* Wed Mar 11 1998 - werner@suse.de +- Defines a xterm-xf86suse entry + * use xterm-xf86-v33 with changes +- Use xterm-xf86suse for xterm +* Mon Mar 09 1998 - bs@suse.de +- set executable bit to libncurses.so.3.0.* +* Mon Mar 02 1998 - florian@suse.de +- update to ncurses 4.2 +- use xterm for XFree86 3.3 and not 3.2... +* Mon Mar 02 1998 - florian@suse.de +- mark /etc/termcap as %%config +* Fri Feb 20 1998 - werner@suse.de +- redone fixes as to previous version +* Tue Feb 17 1998 - florian@suse.de +- update to ncurses 4.2-beta1 +* Thu Jan 29 1998 - werner@suse.de +- add some settings for: + * TERM=linux (cvvis and sgr0 added) + * TERM=xterm (kf21 (shift F11) and kf22 (shift F12) added) + * TERM=rxvt (keypad keys correct defined, mc5 and mc4 added + for printing, smacs and rmacs repaired, sgr added) +* Tue Nov 11 1997 - ro@suse.de +- terminfo builds from same specfile +* Fri Oct 17 1997 - ro@suse.de +- removed old lib 1.9.7a + ready for autobuild +* Tue May 27 1997 - florian@suse.de +- handle wrong TERM-settings for tput +- change xterm-entry in terminfo source file +* Tue May 20 1997 - florian@suse.de +- update to version 4.1 +* Wed Apr 30 1997 - florian@suse.de +- mv /lib/libncurses.so.1.9* /usr/lib/ +* Sun Apr 13 1997 - florian@suse.de +- update to new version 970412 +* Thu Jan 02 1997 - werner@suse.de +- Anpassung von terminfo an das XTerm app-defaults + - Einige Fixes in der Intialisierung und Handling + von Escape-Sequenzen des xterms aus XFree86[tm]-3.2 +* Thu Jan 02 1997 - florian@suse.de +- update to version 961102 +* Thu Jan 02 1997 - florian@suse.de +- Update auf die neuste ncurses-Version. +- 'xterm' ist fuer XFree86 3.1.2G. Falls jemand noch ein altes XFree86 + benutzen will, sollte man 'xterm-base' verwenden. +- Falls es Probleme gibt, kann man anstatt /lib/libncurses.so.1.9.9g + auch /lib/libncurses.so.1.9.9e verwenden. (g-Version einfach umbenennen + und ldconfig starten.) Dann sollte man aber keine Programme mehr + kompilieren... diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4