SHA256
3
0
forked from pool/ncurses
OBS User unknown 2008-04-09 19:39:42 +00:00 committed by Git OBS Bridge
parent aabe105d52
commit bf51856ef3
7 changed files with 798 additions and 264 deletions

35
README.devel Normal file
View File

@ -0,0 +1,35 @@
Versions of Ncurses Libraries
=============================
There are several Ncurses Libraries which can be used for building
with an terminal based application. The standard Ncurses Libraries
is given with
/usr/lib/libncurses.so or /usr/lib64/libncurses.so
/usr/lib/libform.so or /usr/lib64/libform.so
/usr/lib/libmenu.so or /usr/lib64/libmenu.so
/usr/lib/libpanel.so or /usr/lib64/libpanel.so
and its header are installed in /usr/include/ e.g. (n)curses.h.
Nothing has to be added in the CFLAGS nor in the LDFLAGS.
Use the outout of
ncurses5-config --cflags for CFLAGS
ncurses5-config --libs for LDFLAGS
For a version with wide character support please use the
libraries
/usr/lib/libncursesw.so or /usr/lib64/libncursesw.so
/usr/lib/libformw.so or /usr/lib64/libformw.so
/usr/lib/libmenuw.so or /usr/lib64/libmenuw.so
/usr/lib/libpanelw.so or /usr/lib64/libpanelw.so
together with the header files found at /usr/include/ncursesw/.
This can be done with `-I/usr/include/ncursesw' within the
CFLAGS and e.g. `-lncursesw' in the LDFLAGS.
Use the outout of
ncursesw5-config --cflags for CFLAGS
ncursesw5-config --libs for LDFLAGS

519
ncurses-5.6-coverity.patch Normal file
View File

@ -0,0 +1,519 @@
--- NEWS
+++ NEWS 2007-04-07 18:55:45.000000000 +0200
@@ -103,6 +103,36 @@ it is not possible to add this informati
+ modify shared-library rules to allow FreeBSD 3.x to use rpath.
+ update config.guess, config.sub
+20060407
+ > other fixes prompted by inspection for Coverity report:
+ + modify ifdef's for c++ binding to use try/catch/throw statements
+ + add a null-pointer check in tack/ansi.c request_cfss()
+ + fix a memory leak in ncurses/base/wresize.c
+ + corrected check for valid memu/meml capabilities in
+ progs/dump_entry.c when handling V_HPUX case.
+ > fixes based on Coverity report:
+ + remove dead code in test/bs.c
+ + remove dead code in test/demo_defkey.c
+ + remove an unused assignment in progs/infocmp.c
+ + fix a limit check in tack/ansi.c tools_charset()
+ + fix tack/ansi.c tools_status() to perform the VT320/VT420
+ tests in request_cfss(). The function had exited too soon.
+ + fix a memory leak in tic.c's make_namelist()
+ + fix a couple of places in tack/output.c which did not check for EOF.
+ + fix a loop-condition in test/bs.c
+ + add index checks in lib_color.c for color palettes
+ + add index checks in progs/dump_entry.c for version_filter() handling
+ of V_BSD case.
+ + fix a possible null-pointer dereference in copywin()
+ + fix a possible null-pointer dereference in waddchnstr()
+ + add a null-pointer check in _nc_expand_try()
+ + add a null-pointer check in tic.c's make_namelist()
+ + add a null-pointer check in _nc_expand_try()
+ + add null-pointer checks in test/cardfile.c
+ + fix a double-free in ncurses/tinfo/trim_sgr0.c
+ + fix a double-free in ncurses/base/wresize.c
+ + add try/catch block to c++/cursesmain.cc
+
20061217 5.6 release for upload to ftp.gnu.org
20061217
--- configure
+++ configure 2007-04-07 00:54:52.000000000 +0200
@@ -13892,7 +13892,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXX
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_main_return=return
-for ac_header in typeinfo
+for ac_header in iostream typeinfo
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
echo "$as_me:13893: checking for $ac_header" >&5
--- configure.in
+++ configure.in 2007-04-07 00:53:21.000000000 +0200
@@ -1210,7 +1210,7 @@ if test -n "$CXX" ; then
;;
esac
- AC_CHECK_HEADERS(typeinfo)
+ AC_CHECK_HEADERS(iostream typeinfo)
CF_BOOL_DECL
CF_BOOL_SIZE
--- c++/cursesmain.cc
+++ c++/cursesmain.cc 2008-04-09 17:57:56.093616466 +0200
@@ -34,6 +34,13 @@
#include "internal.h"
#include "cursesapp.h"
+#if CPP_HAS_TRY_CATCH && HAVE_IOSTREAM
+#include <iostream>
+#else
+#undef CPP_HAS_TRY_CATCH
+#define CPP_HAS_TRY_CATCH 0
+#endif
+
MODULE_ID("$Id: cursesmain.cc,v 1.13 2007/01/27 20:29:27 tom Exp $")
#if HAVE_LOCALE_H
@@ -62,8 +69,20 @@ int main(int argc, char* argv[])
A->handleArgs(argc,argv);
::endwin();
+#if CPP_HAS_TRY_CATCH
+ try {
+ res = (*A)();
+ ::endwin();
+ }
+ catch(const NCursesException &e) {
+ ::endwin();
+ std::cerr << e.message << std::endl;
+ res = e.errorno;
+ }
+#else
res = (*A)();
::endwin();
+#endif
#if NO_LEAKS
delete A;
_nc_free_and_exit(res);
--- c++/cursesp.h
+++ c++/cursesp.h 2007-04-07 02:47:22.000000000 +0200
@@ -83,7 +83,7 @@ protected:
return uptr->m_user;
}
- void OnError (int err) const THROWS((NCursesPanelException))
+ void OnError (int err) const THROWS(NCursesPanelException)
{
if (err==ERR)
THROW(new NCursesPanelException (this, err));
--- c++/etip.h.in
+++ c++/etip.h.in 2007-04-07 02:49:39.000000000 +0200
@@ -330,23 +330,33 @@ public:
inline void THROW(const NCursesException *e) {
#if defined(__GNUG__) && defined(__EXCEPTIONS)
# if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8))
- (*lib_error_handler)(e?e->classname():"",e?e->message:"");
+ (*lib_error_handler)(e ? e->classname() : "", e ? e->message : "");
#else
- throw *e;
+#define CPP_HAS_TRY_CATCH 1
#endif
#elif defined(__SUNPRO_CC)
# if !defined(__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT < 5)
genericerror(1, ((e != 0) ? (char *)(e->message) : ""));
#else
- throw *e;
+#define CPP_HAS_TRY_CATCH 1
#endif
#else
if (e)
cerr << e->message << endl;
exit(0);
#endif
-}
-#define THROWS(s)
+#ifndef CPP_HAS_TRY_CATCH
+#define CPP_HAS_TRY_CATCH 0
+#define NCURSES_CPP_TRY /* nothing */
+#define NCURSES_CPP_CATCH(e) if (false)
+#define THROWS(s) /* nothing */
+#elif CPP_HAS_TRY_CATCH
+ throw *e;
+#define NCURSES_CPP_TRY try
+#define NCURSES_CPP_CATCH(e) catch(e)
+#define THROWS(s) throw(s)
+#endif
+}
#endif /* NCURSES_ETIP_H_incl */
--- include/ncurses_defs
+++ include/ncurses_defs 2007-04-07 00:54:16.000000000 +0200
@@ -68,6 +68,7 @@ HAVE_GPM_H
HAVE_GPP_BUILTIN_H
HAVE_GXX_BUILTIN_H
HAVE_HAS_KEY
+HAVE_IOSTREAM
HAVE_ISASCII
HAVE_ISSETUGID
HAVE_LANGINFO_CODESET
--- ncurses/base/lib_addstr.c
+++ ncurses/base/lib_addstr.c 2007-04-04 02:41:25.000000000 +0200
@@ -80,8 +80,7 @@ waddnstr(WINDOW *win, const char *astr,
NCURSES_EXPORT(int)
waddchnstr(WINDOW *win, const chtype *astr, int n)
{
- NCURSES_SIZE_T y = win->_cury;
- NCURSES_SIZE_T x = win->_curx;
+ NCURSES_SIZE_T y, x;
int code = OK;
int i;
struct ldat *line;
@@ -91,6 +90,8 @@ waddchnstr(WINDOW *win, const chtype *as
if (!win)
returnCode(ERR);
+ y = win->_cury;
+ x = win->_curx;
if (n < 0) {
const chtype *str;
n = 0;
--- ncurses/base/lib_color.c
+++ ncurses/base/lib_color.c 2007-04-04 22:32:04.000000000 +0200
@@ -56,7 +56,10 @@ NCURSES_EXPORT_VAR(int) COLORS = 0;
#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
+#define MAX_PALETTE 8
+
#define OkColorHi(n) (((n) < COLORS) && ((n) < max_colors))
+#define InPalette(n) ((n) >= 0 && (n) < MAX_PALETTE)
/*
* Given a RGB range of 0..1000, we'll normally set the individual values
@@ -162,10 +165,10 @@ init_color_table(void)
tp = (hue_lightness_saturation) ? hls_palette : cga_palette;
for (n = 0; n < COLORS; n++) {
- if (n < 8) {
+ if (InPalette(n)) {
SP->_color_table[n] = tp[n];
} else {
- SP->_color_table[n] = tp[n % 8];
+ SP->_color_table[n] = tp[n % MAX_PALETTE];
if (hue_lightness_saturation) {
SP->_color_table[n].green = 100;
} else {
@@ -365,7 +368,7 @@ init_pair(short pair, short f, short b)
if (GET_SCREEN_PAIR(SP) == pair)
SET_SCREEN_PAIR(SP, (chtype) (~0)); /* force attribute update */
- if (initialize_pair) {
+ if (initialize_pair && InPalette(f) && InPalette(b)) {
const color_t *tp = hue_lightness_saturation ? hls_palette : cga_palette;
TR(TRACE_ATTRS,
--- ncurses/base/lib_overlay.c
+++ ncurses/base/lib_overlay.c 2007-04-04 02:40:12.000000000 +0200
@@ -139,8 +139,8 @@ copywin(const WINDOW *src, WINDOW *dst,
{
int sx, sy, dx, dy;
bool touched;
- attr_t bk = AttrOf(dst->_nc_bkgd);
- attr_t mask = ~(attr_t) ((bk & A_COLOR) ? A_COLOR : 0);
+ attr_t bk;
+ attr_t mask;
T((T_CALLED("copywin(%p, %p, %d, %d, %d, %d, %d, %d, %d)"),
src, dst, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, over));
@@ -148,6 +148,9 @@ copywin(const WINDOW *src, WINDOW *dst,
if (!src || !dst)
returnCode(ERR);
+ bk = AttrOf(dst->_nc_bkgd);
+ mask = ~(attr_t) ((bk & A_COLOR) ? A_COLOR : 0);
+
/* make sure rectangle exists in source */
if ((sminrow + dmaxrow - dminrow) > (src->_maxy + 1) ||
(smincol + dmaxcol - dmincol) > (src->_maxx + 1)) {
--- ncurses/base/tries.c
+++ ncurses/base/tries.c 2007-04-03 22:58:30.000000000 +0200
@@ -68,7 +68,7 @@ _nc_expand_try(TRIES * tree, unsigned co
}
}
if (result != 0) {
- if ((result[len] = ptr->ch) == 0)
+ if (ptr != 0 && (result[len] = ptr->ch) == 0)
*((unsigned char *) (result + len)) = 128;
#ifdef TRACE
if (len == 0 && _nc_tracing != 0)
--- ncurses/base/wresize.c
+++ ncurses/base/wresize.c 2007-04-04 22:28:42.000000000 +0200
@@ -38,7 +38,7 @@ static int
cleanup_lines(struct ldat *data, int length)
{
while (--length >= 0)
- free(data->text);
+ free(data[length].text);
free(data);
return ERR;
}
--- ncurses/tinfo/trim_sgr0.c
+++ ncurses/tinfo/trim_sgr0.c 2007-04-04 21:29:01.000000000 +0200
@@ -247,9 +247,7 @@ _nc_trim_sgr0(TERMTYPE *tp)
if (!rewrite_sgr(on, enter_alt_charset_mode)
|| !rewrite_sgr(off, exit_alt_charset_mode)
|| !rewrite_sgr(end, exit_alt_charset_mode)) {
- FreeIfNeeded(on);
FreeIfNeeded(off);
- FreeIfNeeded(end);
} else if (similar_sgr(off, end)
&& !similar_sgr(off, on)) {
TR(TRACE_DATABASE, ("adjusting sgr(9:off) : %s", _nc_visbuf(off)));
@@ -315,8 +313,8 @@ _nc_trim_sgr0(TERMTYPE *tp)
*/
free(off);
}
- free(end);
- free(on);
+ FreeIfNeeded(end);
+ FreeIfNeeded(on);
} else {
/*
* Possibly some applications are confused if sgr0 contains rmacs,
--- progs/dump_entry.c
+++ progs/dump_entry.c 2007-04-07 17:51:47.000000000 +0200
@@ -352,14 +352,17 @@ version_filter(PredType type, PredIdx id
}
break;
+#define is_termcap(type) (idx < (int) sizeof(type##_from_termcap) && \
+ type##_from_termcap[idx])
+
case V_BSD: /* BSD */
switch (type) {
case BOOLEAN:
- return bool_from_termcap[idx];
+ return is_termcap(bool);
case NUMBER:
- return num_from_termcap[idx];
+ return is_termcap(num);
case STRING:
- return str_from_termcap[idx];
+ return is_termcap(str);
}
break;
}
@@ -788,11 +791,11 @@ fmt_entry(TERMTYPE *tterm,
* Much more work should be done on this to support dumping termcaps.
*/
if (tversion == V_HPUX) {
- if (memory_lock) {
+ if (VALID_STRING(memory_lock)) {
(void) sprintf(buffer, "meml=%s", memory_lock);
WRAP_CONCAT;
}
- if (memory_unlock) {
+ if (VALID_STRING(memory_unlock)) {
(void) sprintf(buffer, "memu=%s", memory_unlock);
WRAP_CONCAT;
}
--- progs/infocmp.c
+++ progs/infocmp.c 2007-04-04 02:51:49.000000000 +0200
@@ -1084,7 +1084,6 @@ dump_initializers(TERMTYPE *term)
}
*tp++ = '"';
*tp = '\0';
- size += (strlen(term->Strings[n]) + 1);
(void) printf("static char %-20s[] = %s;\n",
string_variable(ExtStrname(term, n, strnames)), buf);
}
--- progs/tic.c
+++ progs/tic.c 2007-04-07 17:20:35.000000000 +0200
@@ -353,11 +353,24 @@ open_input(const char *filename)
return fp;
}
+#if NO_LEAKS
+static void
+free_namelist(char **src)
+{
+ if (src != 0) {
+ int n;
+ for (n = 0; src[n] != 0; ++n)
+ free (src[n]);
+ free (src);
+ }
+}
+#endif
+
/* Parse the "-e" option-value into a list of names */
-static const char **
+static char **
make_namelist(char *src)
{
- const char **dst = 0;
+ char **dst = 0;
char *s, *base;
unsigned pass, n, nn;
@@ -374,11 +387,13 @@ make_namelist(char *src)
if ((s = stripped(buffer)) != 0) {
if (dst != 0)
dst[nn] = s;
+ else
+ free(s);
nn++;
}
}
if (pass == 1) {
- dst = typeCalloc(const char *, nn + 1);
+ dst = typeCalloc(char *, nn + 1);
rewind(fp);
}
}
@@ -401,10 +416,10 @@ make_namelist(char *src)
break;
}
if (pass == 1)
- dst = typeCalloc(const char *, nn + 1);
+ dst = typeCalloc(char *, nn + 1);
}
}
- if (showsummary) {
+ if (showsummary && (dst != 0)) {
fprintf(log_fp, "Entries that will be compiled:\n");
for (n = 0; dst[n] != 0; n++)
fprintf(log_fp, "%u:%s\n", n + 1, dst[n]);
@@ -413,7 +428,7 @@ make_namelist(char *src)
}
static bool
-matches(const char **needle, const char *haystack)
+matches(char **needle, const char *haystack)
/* does entry in needle list match |-separated field in haystack? */
{
bool code = FALSE;
@@ -468,7 +483,7 @@ main(int argc, char *argv[])
bool limited = TRUE;
char *tversion = (char *) NULL;
const char *source_file = "terminfo";
- const char **namelst = 0;
+ char **namelst = 0;
char *outdir = (char *) NULL;
bool check_only = FALSE;
bool suppress_untranslatable = FALSE;
@@ -784,6 +799,9 @@ main(int argc, char *argv[])
else
fprintf(log_fp, "No entries written\n");
}
+#if NO_LEAKS
+ free_namelist(namelst);
+#endif
cleanup();
ExitProgram(EXIT_SUCCESS);
}
--- tack/ansi.c
+++ tack/ansi.c 2007-04-07 16:49:53.000000000 +0200
@@ -309,6 +309,8 @@ request_cfss(void)
put_crlf();
for (i = 0; rqss[i].text; i++) {
ptext(rqss[i].text);
+ if (rqss[i].expect == 0)
+ continue;
j = strlen(rqss[i].text) + strlen(rqss[i].expect);
putchp(' ');
for (j++; j < 40; j++)
@@ -600,10 +602,11 @@ tools_status(
i = read_reports();
if (i != 'r' && i != 'R') {
*ch = i;
- return;
+ break;
}
} while (i);
+ /* VT320, VT420, etc. */
if (terminal_class >= 63) {
do {
i = request_cfss();
@@ -841,7 +844,7 @@ tools_charset(
bank[j] = ch;
if (ch < ' ' || ch > '/')
break;
- if (j + 1 >= (int) sizeof(bank))
+ if (j + 2 >= (int) sizeof(bank))
break;
}
if (j == 1)
--- tack/output.c
+++ tack/output.c 2007-04-07 16:39:05.000000000 +0200
@@ -740,7 +740,9 @@ wait_here(void)
/* ignore control S, but tell me about it */
while (ch == 023 || ch == 021) {
ch = getchp(STRIP_PARITY);
- if (i < (int) sizeof(cc))
+ if (ch == EOF)
+ break;
+ if (i + 1 < (int) sizeof(cc))
cc[++i] = ch;
}
put_str("\nThe terminal sent a ^S -");
@@ -778,7 +780,7 @@ read_string(
for (i = 0; i < length - 1; ) {
ch = getchp(STRIP_PARITY);
- if (ch == '\r' || ch == '\n') {
+ if (ch == '\r' || ch == '\n' || ch == EOF) {
break;
}
if (ch == '\b' || ch == 127) {
--- test/bs.c
+++ test/bs.c 2007-04-03 01:14:05.000000000 +0200
@@ -459,7 +459,7 @@ initgame(void)
do {
c = getch();
} while
- (!strchr("hjklrR", c) || c == FF);
+ (!(strchr("hjklrR", c) || c == FF));
if (c == FF) {
(void) clearok(stdscr, TRUE);
--- test/cardfile.c
+++ test/cardfile.c 2007-04-04 22:12:24.000000000 +0200
@@ -136,13 +136,15 @@ add_content(CARD * card, const char *con
if ((offset = strlen(card->content)) != 0) {
total += 1 + offset;
card->content = (char *) realloc(card->content, total + 1);
- strcpy(card->content + offset++, " ");
+ if (card->content)
+ strcpy(card->content + offset++, " ");
} else {
if (card->content != 0)
free(card->content);
card->content = (char *) malloc(total + 1);
}
- strcpy(card->content + offset, content);
+ if (card->content)
+ strcpy(card->content + offset, content);
}
}
--- test/demo_defkey.c
+++ test/demo_defkey.c 2007-04-03 01:17:56.000000000 +0200
@@ -143,13 +143,12 @@ really_define_key(WINDOW *win, const cha
code_name);
}
log_last_line(win);
+
if (vis_string != 0) {
free(vis_string);
vis_string = 0;
}
- if (vis_string != 0)
- free(vis_string);
vis_string = visible(new_string);
if ((rc = key_defined(new_string)) > 0) {
wprintw(win, "%s was bound to %s\n", vis_string, keyname(rc));

View File

@ -29,7 +29,7 @@
+
+static inline int _nc__sigprocmask(int how, const sigset_t *newmask, sigset_t *oldmask)
+{
+ if (&pthread_sigmask)
+ if ((pthread_sigmask))
+ return pthread_sigmask(how, newmask, oldmask);
+ else
+ return sigprocmask(how, newmask, oldmask);
@ -41,7 +41,7 @@
+{
+ if (!scan || !scan->_read_thread)
+ goto out;
+ if (!&pthread_kill || !&pthread_equal || !&pthread_self)
+ if (!(pthread_kill) || !(pthread_equal) || !(pthread_self))
+ goto out;
+ if (pthread_equal(scan->_read_thread, pthread_self()))
+ goto out;
@ -67,7 +67,7 @@
#ifdef __cplusplus
extern "C" {
#endif
@@ -594,6 +598,11 @@ struct screen {
@@ -591,6 +595,11 @@ struct screen {
#define _nc_windows SP->_nc_sp_windows
bool _sig_winch;
@ -79,7 +79,7 @@
SCREEN *_next_screen;
/* hashes for old and new lines */
@@ -1214,6 +1223,9 @@ extern NCURSES_EXPORT(void) _nc_scroll_o
@@ -1209,6 +1218,9 @@ extern NCURSES_EXPORT(void) _nc_scroll_o
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);
@ -87,7 +87,7 @@
+extern NCURSES_EXPORT(void) _nc_thread(SCREEN *);
+#endif
extern NCURSES_EXPORT(void) _nc_synchook (WINDOW *);
extern NCURSES_EXPORT(void) _nc_trace_tries (TRIES *);
extern NCURSES_EXPORT(void) _nc_trace_tries (struct tries *);
--- ncurses/base/lib_getch.c
+++ ncurses/base/lib_getch.c 2007-01-31 12:41:27.000000000 +0100
@ -103,7 +103,16 @@
if (wgetch_should_refresh(win))
wrefresh(win);
--- ncurses/base/lib_set_term.c
+++ ncurses/base/lib_set_term.c 2007-01-31 13:08:37.000000000 +0100
+++ ncurses/base/lib_set_term.c 2008-04-08 15:18:15.230819462 +0200
@@ -40,7 +40,7 @@
*/
#include <curses.priv.h>
-
+#include <SigAction.h>
#include <term.h> /* cur_term */
#include <tic.h>
@@ -144,6 +144,12 @@ delscreen(SCREEN *sp)
free(sp->_setbuf);
}
@ -123,7 +132,7 @@
+#if USE_SIGWINCH
+# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ if (&pthread_self)
+ if ((pthread_self))
+ SP->_read_thread = pthread_self();
+ else
+ SP->_read_thread = (pthread_t)0;
@ -200,7 +209,7 @@
CatchIfDefault(SIGTERM, cleanup);
#if USE_SIGWINCH
+# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ if (&pthread_self && &pthread_equal) {
+ if ((pthread_self) && (pthread_equal)) {
+ pthread_t current = pthread_self();
+ if (!pthread_equal(SP->_read_thread, current))
+ SP->_read_thread = current;
@ -225,7 +234,7 @@
+_nc_thread(SCREEN *scan)
+{
+# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ if (&pthread_self && &pthread_equal) {
+ if ((pthread_self) && (pthread_equal)) {
+ pthread_t current = pthread_self();
+ if (pthread_equal(SP->_read_thread, current))
+ return;

View File

@ -1,9 +1,11 @@
--- .pkgextract
+++ .pkgextract 2006-05-18 16:07:14.000000000 +0200
@@ -0,0 +1,3 @@
@@ -0,0 +1,5 @@
+tar Oxfj ../ncurses-5.6-20070128-patch.tar.bz2 | patch -p1 -s
+patch -p0 -s --suffix=.va < ../ncurses-5.3-printw.dif
+patch -p0 -s --suffix=.pt < ../ncurses-5.6-pthread.dif
+patch -p0 -s --suffix=.ov < ../ncurses-5.6-overwrite.dif
+patch -p0 -s --suffix=.cv < ../ncurses-5.6-coverity.patch
--- aclocal.m4
+++ aclocal.m4 2007-01-31 13:28:46.000000000 +0100
@@ -298,7 +298,7 @@ AC_MSG_CHECKING([for size of bool])
@ -259,44 +261,9 @@
else
TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
fi
--- form/Makefile.in
+++ form/Makefile.in 2006-05-18 16:07:15.000000000 +0200
@@ -81,7 +81,7 @@ CFLAGS = @CFLAGS@
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 @@ curses.h : $(TERMINFO_CAPS) \
$(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
@@ -120,7 +120,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;
@@ -130,6 +134,8 @@ typedef unsigned @cf_cv_typeof_chtype@ c
@@ -130,6 +130,8 @@ typedef unsigned @cf_cv_typeof_chtype@ c
typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t;
#endif
@ -305,26 +272,6 @@
#include <stdio.h>
#include <unctrl.h>
#include <stdarg.h> /* we need va_list */
@@ -328,16 +334,16 @@ typedef chtype attr_t; /* ...must be at
#include <libutf8.h>
#endif
-#if @NEED_WCHAR_H@
+#if 1
#include <wchar.h> /* ...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 @@ extern "C"
@ -377,17 +324,6 @@
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 @@ CFLAGS = @CFLAGS@
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 2007-01-31 14:27:30.000000000 +0100
@@ -301,7 +301,9 @@ dumb|80-column dumb tty,
@ -747,15 +683,6 @@
ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
--- ncurses/Makefile.in
+++ ncurses/Makefile.in 2007-01-31 13:34:38.000000000 +0100
@@ -90,7 +90,7 @@ CFLAGS = @CFLAGS@
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 @@ $(DESTDIR)$(libdir) :
../lib : ; mkdir $@
@ -943,17 +870,6 @@
}
}
if (copied != 0)
--- panel/Makefile.in
+++ panel/Makefile.in 2006-05-18 16:07:15.000000000 +0200
@@ -82,7 +82,7 @@ CFLAGS = @CFLAGS@
CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@
-CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+CCFLAGS = $(CPPFLAGS) $(CFLAGS) -D_REENTRANT
CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
--- test/test.priv.h
+++ test/test.priv.h 2006-05-18 16:07:19.000000000 +0200
@@ -429,12 +429,12 @@ extern int optind;

1
ncurses-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter(".*files-duplicate.*")

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Apr 8 19:20:00 CEST 2008 - werner@suse.de
- New sub package libncurses5 including the shared libraries and
the required terminfo and termset data files.
- Include the patch for coverity report
-------------------------------------------------------------------
Mon Dec 10 15:11:36 CET 2007 - werner@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package ncurses (Version 5.6)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2008 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.
#
@ -10,29 +10,35 @@
# norootforbuild
Name: ncurses
#!BuildIgnore: terminfo
BuildRequires: gcc-c++ gpm
%define terminfo() %{_datadir}/%{0}/%{1}
%define tabset() %{_datadir}/%{0}/%{1}
License: X11/MIT
Group: System/Libraries
Group: System/Base
AutoReqProv: on
Version: 5.6
Release: 52
Release: 71
Summary: New curses Libraries
Source0: ncurses-%{version}.tar.bz2
Source0: ncurses-5.6.tar.bz2
Url: http://invisible-island.net/ncurses/ncurses.html
Source1: ncurses-%{version}-20070128-patch.tar.bz2
Source2: handle.linux
Source3: README.devel
Source4: ncurses-rpmlintrc
Patch0: ncurses-%{version}.dif
Patch1: ncurses-5.3-printw.dif
Patch2: ncurses-5.6-pthread.dif
Patch3: ncurses-5.6-overwrite.dif
Patch4: ncurses-5.6-coverity.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global _sysconfdir /etc
%global _miscdir %{_datadir}/misc
%global _incdir %{_includedir}
%global root %{_tmppath}/%{name}-%{version}-store
%global abi %(ver=%{version}; echo ${ver%.*})
%description
As soon as a text application needs to directly control its output to
@ -43,6 +49,28 @@ characters, and panels.
Authors:
--------
Zeyd M. Ben-Halim <zmbenhal@netcom.com>
Eric S. Raymond <esr@thyrsus.com>
Thomas E. Dickey <dickey@invisible-island.net>
Juergen Pfeifer <Juergen.Pfeifer@t-online.de>
Pavel Curtis
%package -n libncurses5
License: X11/MIT
Summary: The New curses Libraries
Group: System/Libraries
Provides: ncurses:/%{_lib}/libncurses.so.5
Requires: ncurses
AutoReqProv: on
%description -n libncurses5
The ncurses library is used by the most curses based terminal
applications for controling its output and input to the screen.
Authors:
--------
Zeyd M. Ben-Halim <zmbenhal@netcom.com>
@ -123,6 +151,7 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
%patch -P 1 -p0 -b .va
%patch -P 2 -p0 -b .pt
%patch -P 3 -p0 -b .ow
%patch -P 4 -p0 -b .cv
%patch -P 0 -p0
%build
@ -131,15 +160,15 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
FALLBK="xterm,linux,vt100,vt102"
CC=gcc
CXX=g++
CFLAGS="${RPM_OPT_FLAGS} -pipe -D_REENTRANT"
if [[ "$BUILD_BASENAME" = debug-* ]] ; then
CFLAGS="${RPM_OPT_FLAGS} -pipe -g -DTRACE"
else
CFLAGS="${RPM_OPT_FLAGS} -pipe"
CFLAGS="${CFLAGS} -g -DTRACE"
fi
# LDFLAGS="-Wl,-Bsymbolic-functions"
CXXFLAGS=$CFLAGS
# LDFLAGS="-Wl,-Bsymbolic-functions"
test -n "$TERM" || TERM=linux
export CC CFLAGS CXX CXXFLAGS TERM LDFLAGS
GZIP="-9"
export CC CFLAGS CXX CXXFLAGS GZIP TERM LDFLAGS
#
# Detect 64bit architecures and be sure that
# we use an unsigned long for chtype to be
@ -150,6 +179,7 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
WITHCHTYPE="--with-chtype=long"
else
WITHCHTYPE=""
CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCES -D_FILE_OFFSET_BITS=64"
fi
rm -f ./test64
#
@ -193,6 +223,10 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
--enable-symlinks \
--enable-sigwinch \
--enable-colorfgbg \
%if %abi >= 6
--enable-ext-mouse \
%endif
--enable-wgetch-events \
--prefix=%{_prefix} \
--exec-prefix=%{_prefix}\
--libdir=%{_libdir} \
@ -200,8 +234,7 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
--mandir=%{_mandir} \
--includedir=%{_incdir} \
"${WITHCHTYPE}" \
--with-ticlib=tic \
--with-install-prefix=%{buildroot}
--with-ticlib=tic
#
# This is a hack to be able to boot strap
# a libncurses with correct fallback.c.
@ -223,27 +256,45 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
cd ../
PATH=$OPATH
#
# Refresh second install path
#
rm -rf %{root}
mkdir %{root}
#
# Now rebuild libncurses and do the rest of this job
#
make
GZIP="-9"
export GZIP
test -n "%{buildroot}" && rm -rf %{buildroot}/*
make install
make && make install DESTDIR=%{root} includedir=%{_incdir}
#
# The configure line
#
c=`grep '^ *$ *\./configure' config.log`
#
# 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
%if %abi >= 6
eval ./${c#*./} --enable-widec --enable-ext-colors --without-progs
%else
eval ./${c#*./} --enable-widec --without-progs
%endif
make && make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir}/ncursesw
for h in %{root}%{_incdir}/ncursesw/*.h ; do
test -e "$h" || continue
h=${h##*/}
for t in %{root}%{_incdir}/ncursesw/*.h ; do
test -e "$t" || continue
test ! -L $t || continue
sed -ri "s;(#include[[:blank:]]+<)(${h}>);\1ncursesw/\2;" $t
done
done
%install
GZIP="-9"
export GZIP
make install.libs install.includes
mkdir -p %{buildroot}/%{_lib}
(cd %{root}/; tar -cpsSf - *)|tar -xpsSf - -C %{buildroot}/
rm -rf %{root}
mkdir %{buildroot}/%{_lib}
for lib in libncurses libncursesw
do
mv %{buildroot}%{_libdir}/${lib}.so.* %{buildroot}/%{_lib}/
@ -261,6 +312,7 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
install -m 644 doc/ncurses-intro.txt.bz2 %{buildroot}%{_defaultdocdir}/ncurses/
bzip2 doc/hackguide.doc -c > doc/hackguide.txt.bz2
install -m 644 doc/hackguide.txt.bz2 %{buildroot}%{_defaultdocdir}/ncurses/
install -m 644 %{S:3} %{buildroot}%{_defaultdocdir}/ncurses/
mkdir -p %{buildroot}%{_sysconfdir}
mkdir -p %{buildroot}%{_miscdir}
cd ncurses/
@ -326,37 +378,24 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
> extension.list
rm -f %{buildroot}%{_prefix}/lib/terminfo
mkdir -p %{buildroot}%{_incdir}/ncurses
mkdir -p %{buildroot}%{_incdir}/ncursesw
cat > %{buildroot}%{_incdir}/ncursesw/ncurses.h <<-"EOF"
#ifndef _XOPEN_SOURCE_EXTENDED
#define _XOPEN_SOURCE_EXTENDED
#endif
#ifndef __NCURSES_H
#include_next <ncurses.h>
#endif
EOF
ln -sf ../ncurses.h %{buildroot}%{_incdir}/ncurses/
%post -p /sbin/ldconfig
%post -n libncurses5 -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%postun -n libncurses5 -p /sbin/ldconfig
%files -f default.list
%files -f default.list
%defattr(-,root,root)
#%ghost %{_prefix}/lib/tabset
#%ghost %{_prefix}/lib/terminfo
%{_sysconfdir}/termcap
%config %{_miscdir}/termcap
%dir %{_datadir}/tabset/
%dir %{_datadir}/terminfo/
%dir %{_datadir}/terminfo/*/
%{_sysconfdir}/termcap
%config %{_miscdir}/termcap
/%{_lib}/lib*.so.*
%{_bindir}/clear
%{_bindir}/reset
%{_bindir}/toe
%{_bindir}/tput
%{_bindir}/tset
%{_libdir}/lib*.so.*
%doc %{_mandir}/man1/clear.1.gz
%doc %{_mandir}/man1/reset.1.gz
%doc %{_mandir}/man1/toe.1.gz
@ -364,6 +403,11 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
%doc %{_mandir}/man1/tset.1.gz
%doc %{_mandir}/man5/*.gz
%files -n libncurses5
%defattr(-,root,root)
/%{_lib}/lib*.so.*
%{_libdir}/lib*.so.*
%files -n ncurses-devel
%defattr(-,root,root)
%dir %{_defaultdocdir}/ncurses/
@ -376,8 +420,7 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
%dir %{_incdir}/ncurses/
%dir %{_incdir}/ncursesw/
%{_incdir}/*.h
%{_incdir}/ncurses/*.h
%{_incdir}/ncursesw/*.h
%{_incdir}/ncurses*/*.h
%{_libdir}/lib*.a
%{_libdir}/lib*.so
%doc %{_mandir}/man1/captoinfo.1.gz
@ -396,262 +439,266 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
%defattr(-,root,root)
%changelog
* Mon Dec 10 2007 - werner@suse.de
* Tue Apr 08 2008 werner@suse.de
- New sub package libncurses5 including the shared libraries and
the required terminfo and termset data files.
- Include the patch for coverity report
* Mon Dec 10 2007 werner@suse.de
- Avoid endless loop in case of including the wrapper header
* Wed Dec 05 2007 - werner@suse.de
* Wed Dec 05 2007 werner@suse.de
- Add compatibility header files (bug #337412)
* Mon Oct 29 2007 - pth@suse.de
* Mon Oct 29 2007 pth@suse.de
- Fix configure so that ncurses-config doesn't erroneously
report ncurses.h to reside in /usr/include/ncurses (#337412).
* Wed Sep 05 2007 - werner@suse.de
* Wed Sep 05 2007 werner@suse.de
- Move libncursesw to /lib or /lib64 (bug #307353)
* Fri May 25 2007 - dmueller@suse.de
* Sat May 26 2007 dmueller@suse.de
- add %%post/un to call ldconfig
* Tue May 15 2007 - dmueller@suse.de
* Tue May 15 2007 dmueller@suse.de
- move documentation to -devel package and bzip text files
* Tue Mar 20 2007 - rguenther@suse.de
* Tue Mar 20 2007 rguenther@suse.de
- Remove unused ed BuildRequires.
* Mon Mar 19 2007 - rguenther@suse.de
* Mon Mar 19 2007 rguenther@suse.de
- Make gpm support via libdl and gpm BuildRequires explicit.
* Wed Jan 31 2007 - werner@suse.de
* Wed Jan 31 2007 werner@suse.de
- Update to 5.6-20070128
- Split of tack a its own sub package to be able to specify the
different licenses of ncurses and tack (bug #231835)
* Fri Nov 17 2006 - werner@suse.de
* Fri Nov 17 2006 werner@suse.de
- Revert broken change for rxvt from patchlevel 20051015 (#221259)
* Wed Nov 15 2006 - werner@suse.de
* 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
* Wed Aug 02 2006 rguenther@suse.de
- Removed not required BuildRequires on sharutils.
* Mon Jul 31 2006 - schwab@suse.de
* Mon Jul 31 2006 schwab@suse.de
- Don't make stack executable.
- Remove executable bit from archives.
* Thu May 18 2006 - werner@suse.de
* Thu May 18 2006 werner@suse.de
- Update to 5.5-20060513
- Add rxvt-unicode terminfo entry
* Sun Apr 09 2006 - werner@suse.de
* 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
* 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
* 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
* Wed Mar 01 2006 werner@suse.de
- Add screen terminfo entry for 256 colors (bug #136684)
* Thu Feb 23 2006 - werner@suse.de
* 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
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 10 2006 - ro@suse.de
* Tue Jan 10 2006 ro@suse.de
- create empty va_list instead of using NULL (not portable)
* Sat Dec 17 2005 - kukuk@suse.de
* Sat Dec 17 2005 kukuk@suse.de
- Remove /usr/lib/terminfo symlink
* Mon Oct 17 2005 - werner@suse.de
* 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
* 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
* 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
* Fri Jul 22 2005 werner@suse.de
- Update to patch level 20050716
* Tue Mar 01 2005 - schwab@suse.de
* Tue Mar 01 2005 schwab@suse.de
- Fix return value of tigetflag.
* Thu Feb 24 2005 - werner@suse.de
* 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
* 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
* Fri Sep 10 2004 werner@suse.de
- Make the wide fix smart
* Thu Sep 09 2004 - werner@suse.de
* Thu Sep 09 2004 werner@suse.de
- Re-enable wide fix for none wide terminals
* Fri Apr 23 2004 - werner@suse.de
* Fri Apr 23 2004 werner@suse.de
- Fix crash due called weak symbol without check
* Mon Apr 05 2004 - werner@suse.de
* 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
* 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
* Thu Feb 19 2004 werner@suse.de
- Switch to official version of 5.4
* Wed Jan 28 2004 - werner@suse.de
* Wed Jan 28 2004 werner@suse.de
- Fix ACSC list of kterm e.g. for alsamixer
* Fri Jan 16 2004 - werner@suse.de
* 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
* Mon Nov 24 2003 kukuk@suse.de
- Build as non-root
- Compile with no-execstack
* Tue Jul 29 2003 - aj@suse.de
* Tue Jul 29 2003 aj@suse.de
- Fix for changed chown behaviour.
* Mon Feb 24 2003 - werner@suse.de
* 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
* 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
* Mon Feb 10 2003 werner@suse.de
- Update to patch level 20030201 due fix of mem leaks
* Thu Jan 30 2003 - werner@suse.de
* Thu Jan 30 2003 werner@suse.de
- Fix dynamic file listing for terminfo: also include sym links
* Wed Jan 22 2003 - werner@suse.de
* 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
* 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
* Tue Sep 17 2002 ro@suse.de
- removed bogus self-provides
* Wed Aug 14 2002 - mls@suse.de
* Wed Aug 14 2002 mls@suse.de
- updated screen terminfo entry, added screen-bce and screen-s
* Fri Aug 09 2002 - kukuk@suse.de
* Fri Aug 09 2002 kukuk@suse.de
- ncurses-devel should require ncurses [Bug #17543]
* Tue Aug 06 2002 - werner@suse.de
* 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
* 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
* Thu Jul 18 2002 kukuk@suse.de
- Remove old /usr/lib compatibility links
* Mon Jul 15 2002 - werner@suse.de
* 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
* Sat Jun 15 2002 olh@suse.de
- do not build ncurses 4.2 on ppc64, it appears in Requires later
* Wed May 22 2002 - olh@suse.de
* 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
* Sat May 11 2002 schwab@suse.de
- Remove ia64 compiler workarounds.
* Wed Apr 17 2002 - kukuk@suse.de
* Wed Apr 17 2002 kukuk@suse.de
- Disable old ncurses libraries on x86_64
* Thu Feb 21 2002 - werner@suse.de
* Thu Feb 21 2002 werner@suse.de
- Fix cat&paste error of patch level 20010922
* Mon Feb 11 2002 - ro@suse.de
* Tue Feb 12 2002 ro@suse.de
- tar option for bz2 is "j"
* Wed Feb 06 2002 - coolo@suse.de
* Wed Feb 06 2002 coolo@suse.de
- s390x is 64 bit too
* Fri Nov 23 2001 - uli@suse.de
* Fri Nov 23 2001 uli@suse.de
- fixed to build on ARM
* Sun Nov 11 2001 - schwab@suse.de
* Sun Nov 11 2001 schwab@suse.de
- Fix last change, use vsscanf instead of vscanf.
* Fri Nov 09 2001 - stepan@suse.de
* Fri Nov 09 2001 stepan@suse.de
- fix ncurses 4.2 on gcc3 distributions.
* Thu Oct 04 2001 - werner@suse.de
* Thu Oct 04 2001 werner@suse.de
- Update to ncurses 5.2 patch level 20011001
* Wed Jun 06 2001 - bk@suse.de
* Wed Jun 06 2001 bk@suse.de
- fix to compile on s390x (cursesw.cc)
* Tue May 08 2001 - mfabian@suse.de
* Tue May 08 2001 mfabian@suse.de
- bzip2 sources
* Wed Apr 11 2001 - schwab@suse.de
* Wed Apr 11 2001 schwab@suse.de
- Reenable c++ bindings on ia64, instead use -O0 for c++.
* Thu Mar 22 2001 - ro@suse.de
* Thu Mar 22 2001 ro@suse.de
- added split aliases as provides
* Tue Mar 20 2001 - schwab@suse.de
* 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
* Fri Mar 16 2001 ro@suse.de
- fix to compile on s390 (cursesw.cc)
* Mon Feb 19 2001 - ro@suse.de
* Mon Feb 19 2001 ro@suse.de
- fixed to compile on gcc-2.96 (include string.h)
* Fri Feb 16 2001 - werner@suse.de
* 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
* Thu Feb 15 2001 stepan@suse.de
- add some includes to compile with newer gcc versions.
* Fri Dec 22 2000 - werner@suse.de
* Fri Dec 22 2000 werner@suse.de
- After a reset xterm should answer ^? on backarrow key
* Thu Dec 07 2000 - werner@suse.de
* 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
* 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
* 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
* Thu Oct 26 2000 kukuk@suse.de
- Rename sharutil to sharutils
* Sun Oct 15 2000 - schwab@suse.de
* Sun Oct 15 2000 schwab@suse.de
- Fix libncurses.so link.
* Tue Oct 10 2000 - werner@suse.de
* 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
* Fri Oct 06 2000 werner@suse.de
- Move strncpy to strlcpy which appends the terminating NUL
character.
* Mon Oct 02 2000 - werner@suse.de
* 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
* Sun Oct 01 2000 kukuk@suse.de
- Fix for compiling with new g++ on ia64
* Sun Oct 01 2000 - kukuk@suse.de
* 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
* Mon Sep 04 2000 werner@suse.de
- Correct documentation path
* Fri Jul 07 2000 - werner@suse.de
* Fri Jul 07 2000 werner@suse.de
- Make update mechanism compatible with rpm, yast and yast2
* Wed Jun 28 2000 - werner@suse.de
* 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
* 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
* Wed May 17 2000 werner@suse.de
- One fix more
* Tue May 16 2000 - werner@suse.de
* Tue May 16 2000 werner@suse.de
- Fix the post install script: usr/lib/tabset may empty
* Mon Apr 03 2000 - bk@suse.de
* 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
* Sun Apr 02 2000 bk@suse.de
- updated %%suse_update_config call for s390
* Fri Mar 03 2000 - schwab@suse.de
* Fri Mar 03 2000 schwab@suse.de
- Fix for ia64.
- Update config.{guess,sub} from automake
* Thu Mar 02 2000 - werner@suse.de
* 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
* Mon Feb 28 2000 werner@suse.de
- Add patch 20000226 which makes 20000219 work perfect
* Fri Feb 25 2000 - werner@suse.de
* 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
* 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
* Tue Feb 15 2000 schwab@suse.de
- Update config.{guess,sub} to latest version.
* Thu Feb 03 2000 - ro@suse.de
* Thu Feb 03 2000 ro@suse.de
- use "-O1" for ncurses-4.2 on alpha
* Thu Jan 20 2000 - ro@suse.de
* Thu Jan 20 2000 ro@suse.de
- don't build ncurses-4.2/c++/demo
* Tue Jan 18 2000 - werner@suse.de
* 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
* Mon Jan 17 2000 werner@suse.de
- Hey here we are: libncurses 5.0
* Use patches 19991030 upto 20000108
* Make arch-suse-linux work
@ -662,21 +709,21 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
- Hold shared libncurses 4.2 libraries for backward compatibility
and older programs
- Use /usr/share/man/
* Fri Oct 29 1999 - werner@suse.de
* 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
* 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
* Fri Oct 15 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
* Thu Oct 14 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
@ -685,58 +732,58 @@ tar Oxfj %{SOURCE1} | patch -p1 -s
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
* 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
* Thu Mar 25 1999 ro@suse.de
- changed permissions (a+x) for libform,menu,panel
* Mon Mar 22 1999 - florian@suse.de
* Mon Mar 22 1999 florian@suse.de
- add compatibility link from /usr/share/{tabset,terminfo}
* Sun Sep 06 1998 - ro@suse.de
* Sun Sep 06 1998 ro@suse.de
- fixed neededforbuild
* Wed Jun 03 1998 - florian@suse.de
* Wed Jun 03 1998 florian@suse.de
- use major 4 for glibc2
* Wed Mar 11 1998 - werner@suse.de
* 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
* Mon Mar 09 1998 bs@suse.de
- set executable bit to libncurses.so.3.0.*
* Mon Mar 02 1998 - florian@suse.de
* 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
* Mon Mar 02 1998 florian@suse.de
- mark /etc/termcap as %%config
* Fri Feb 20 1998 - werner@suse.de
* Fri Feb 20 1998 werner@suse.de
- redone fixes as to previous version
* Tue Feb 17 1998 - florian@suse.de
* Tue Feb 17 1998 florian@suse.de
- update to ncurses 4.2-beta1
* Thu Jan 29 1998 - werner@suse.de
* 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
* Tue Nov 11 1997 ro@suse.de
- terminfo builds from same specfile
* Fri Oct 17 1997 - ro@suse.de
* Fri Oct 17 1997 ro@suse.de
- removed old lib 1.9.7a
ready for autobuild
* Tue May 27 1997 - florian@suse.de
* 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
* Tue May 20 1997 florian@suse.de
- update to version 4.1
* Wed Apr 30 1997 - florian@suse.de
* Wed Apr 30 1997 florian@suse.de
- mv /lib/libncurses.so.1.9* /usr/lib/
* Sun Apr 13 1997 - florian@suse.de
* Mon Apr 14 1997 florian@suse.de
- update to new version 970412
* Thu Jan 02 1997 - werner@suse.de
* 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
* Thu Jan 02 1997 florian@suse.de
- update to version 961102
* Thu Jan 02 1997 - florian@suse.de
* 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.