Hello community,
here is the log from the commit of package ncurses
checked in at Fri Feb 2 01:32:54 CET 2007.
--------
--- ncurses/ncurses.changes 2006-11-17 16:36:03.000000000 +0100
+++ /mounts/work_src_done/STABLE/ncurses/ncurses.changes 2007-01-31 19:27:19.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Jan 31 19:27:11 CET 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)
+
+-------------------------------------------------------------------
Old:
----
ncurses-5.4-wide.dif
ncurses-5.5-20060513-patch.tar.bz2
ncurses-5.5.dif
ncurses-5.5-pthread.dif
ncurses-5.5.tar.bz2
ncurses-5.5-valist.dif
New:
----
ncurses-5.6-20070128-patch.tar.bz2
ncurses-5.6.dif
ncurses-5.6-pthread.dif
ncurses-5.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ncurses.spec ++++++
--- /var/tmp/diff_new_pack.m29544/_old 2007-02-02 01:32:05.000000000 +0100
+++ /var/tmp/diff_new_pack.m29544/_new 2007-02-02 01:32:05.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package ncurses (Version 5.5)
+# spec file for package ncurses (Version 5.6)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 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.
#
@@ -15,21 +15,19 @@
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
+License: X11/MIT
Group: System/Libraries
Autoreqprov: on
-Version: 5.5
-Release: 40
+Version: 5.6
+Release: 1
Summary: New curses Libraries
Source0: ncurses-%{version}.tar.bz2
Url: http://invisible-island.net/ncurses/ncurses.html
-Source1: ncurses-%{version}-20060513-patch.tar.bz2
+Source1: ncurses-%{version}-20070128-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
+Patch2: ncurses-5.6-pthread.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -45,34 +43,38 @@
--------
Zeyd M. Ben-Halim
Eric S. Raymond
- Thomas Dickey
+ Thomas E. Dickey
Juergen Pfeifer
+ Pavel Curtis
%package -n terminfo
Summary: A terminal descriptions database
+License: Public Domain, Freeware
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.
+This is the terminfo reference database, maintained in the ncurses
+package. 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
+ Thomas E. Dickey
%package -n ncurses-devel
Summary: Include Files and Libraries mandatory for Development
+License: X11/MIT
Group: Development/Libraries/C and C++
Provides: ncurses:/usr/include/ncurses.h
-Requires: ncurses = %{version}-%{release}
+Requires: ncurses = %{version}-%{release}, /usr/bin/tack
Autoreqprov: on
%description -n ncurses-devel
@@ -85,16 +87,37 @@
--------
Zeyd M. Ben-Halim
Eric S. Raymond
- Thomas Dickey
+ Thomas E. Dickey
Juergen Pfeifer
+ Pavel Curtis
+
+%package -n tack
+Summary: Terminfo action checker
+License: GNU General Public License (GPL)
+Group: Development/Tools/Building
+Provides: ncurses-devel:/usr/bin/tack
+Requires: ncurses = %{version}-%{release}
+Autoreqprov: on
+
+%description -n tack
+This package contains the tack utility to help to build a new terminfo
+entry describing an unknown terminal. It can also be used to test the
+correctness of an existing entry, and to develop the correct pad
+timings needed to ensure that screen updates do not fall behind the
+incoming data stream.
+
+
+
+Authors:
+--------
+ Daniel Weaver
+ Eric S. Raymond
%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 2 -p0 -b .pt
%patch -P 0 -p0
%build
@@ -138,6 +161,10 @@
# No --enable-xmc-glitch because this seems to break yast2
# on console/konsole (no magic cookie support on those?)
#
+ # No --with-termlib=tinfo because libncurses depend on
+ # libtinfo (is linked with) and therefore there is no
+ # advantage about splitting of a libtinfo (IMHO).
+ #
touch --reference=README config.sub config.guess
%{?suse_update_config:%{suse_update_config}}
./configure --build ${RPM_ARCH}-suse-linux \
@@ -170,6 +197,7 @@
--mandir=${MANDIR} \
--includedir=${INCDIR} \
"${WITHCHTYPE}" \
+ --with-ticlib=tic \
--with-install-prefix=${RPM_BUILD_ROOT}
#
# This is a hack to be able to boot strap
@@ -317,10 +345,10 @@
%files -n ncurses-devel
%defattr(-,root,root)
+/usr/bin/ncurses*-config
/usr/bin/captoinfo
/usr/bin/infocmp
/usr/bin/infotocap
-/usr/bin/tack
/usr/bin/tic
/usr/include/*.h
/usr/%{_lib}/lib*.a
@@ -328,15 +356,23 @@
%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 -n tack
+%defattr(-,root,root)
+/usr/bin/tack
+%doc %{_mandir}/man1/tack.1.gz
+
%files -f extension.list -n terminfo
%defattr(-,root,root)
%changelog -n ncurses
+* 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
- Revert broken change for rxvt from patchlevel 20051015 (#221259)
* Wed Nov 15 2006 - werner@suse.de
++++++ ncurses-5.5-20060513-patch.tar.bz2 -> ncurses-5.6-20070128-patch.tar.bz2 ++++++
++++ 81704 lines of diff (skipped)
++++++ ncurses-5.4-wide.dif -> ncurses-5.6.dif ++++++
++++ 998 lines (skipped)
++++ between ncurses/ncurses-5.4-wide.dif
++++ and /mounts/work_src_done/STABLE/ncurses/ncurses-5.6.dif
++++++ ncurses-5.5-pthread.dif -> ncurses-5.6-pthread.dif ++++++
--- ncurses/ncurses-5.5-pthread.dif 2006-05-18 17:51:22.000000000 +0200
+++ /mounts/work_src_done/STABLE/ncurses/ncurses-5.6-pthread.dif 2007-02-01 11:27:13.443662000 +0100
@@ -1,15 +1,31 @@
--- ncurses/SigAction.h
-+++ ncurses/SigAction.h 2006-05-18 14:31:29.000000000 +0200
-@@ -55,6 +55,36 @@
++++ ncurses/SigAction.h 2007-01-31 12:39:37.000000000 +0100
+@@ -55,6 +55,53 @@
typedef struct sigaction sigaction_t;
#endif
-+#if defined _REENTRANT || defined _THREAD_SAFE
++#if defined(__GNUC__) && defined(linux)
++# if defined __USE_ISOC99
++# define _cat_pragma(exp) _Pragma(#exp)
++# define _weak_pragma(exp) _cat_pragma(weak name)
++# else
++# define _weak_pragma(exp)
++# endif
++# define _declare(name) __extension__ extern __typeof__(name) name
++# define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
++#else
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
++# error The ncurses library has to be NPTL thread safe (requires the GCC)
++# endif
++#endif
++
++#if defined(linux) && (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));
++
++weak_symbol(pthread_sigmask);
++weak_symbol(pthread_kill);
++weak_symbol(pthread_self);
++weak_symbol(pthread_equal);
+
+static inline int _nc__sigprocmask(int how, const sigset_t *newmask, sigset_t *oldmask)
+{
@@ -18,7 +34,8 @@
+ else
+ return sigprocmask(how, newmask, oldmask);
+}
-+#define sigprocmask _nc__sigprocmask
++# undef sigprocmask
++# define sigprocmask _nc__sigprocmask
+
+static inline void _nc_kill(SCREEN *scan, int signal)
+{
@@ -38,56 +55,86 @@
#if HAVE_SIGVEC
--- ncurses/curses.priv.h
-+++ ncurses/curses.priv.h 2006-05-18 14:31:29.000000000 +0200
++++ ncurses/curses.priv.h 2007-01-31 12:40:37.000000000 +0100
@@ -48,6 +48,10 @@
#include
-+#if defined _REENTRANT || defined _THREAD_SAFE
++#if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+# include
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
-@@ -538,6 +542,12 @@
+@@ -594,6 +598,11 @@ struct screen {
#define _nc_windows SP->_nc_sp_windows
- bool _sig_winch;
+ bool _sig_winch;
+#if USE_SIGWINCH
-+ bool _unblock_sigwinch;
-+#if defined _REENTRANT || defined _THREAD_SAFE
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ pthread_t _read_thread;
++# endif
+#endif
-+#endif
- SCREEN *_next_screen;
+ SCREEN *_next_screen;
/* hashes for old and new lines */
-@@ -1143,6 +1153,9 @@
+@@ -1214,6 +1223,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);
+#if USE_SIGWINCH
-+extern NCURSES_EXPORT(void) _nc_unblock (SCREEN *, int);
++extern NCURSES_EXPORT(void) _nc_thread(SCREEN *);
+#endif
extern NCURSES_EXPORT(void) _nc_synchook (WINDOW *);
- extern NCURSES_EXPORT(void) _nc_trace_tries (struct tries *);
+ extern NCURSES_EXPORT(void) _nc_trace_tries (TRIES *);
--- ncurses/base/lib_getch.c
-+++ ncurses/base/lib_getch.c 2006-05-18 14:31:29.000000000 +0200
-@@ -237,6 +237,10 @@
++++ ncurses/base/lib_getch.c 2007-01-31 12:41:27.000000000 +0100
+@@ -237,6 +237,10 @@ _nc_wgetch(WINDOW *win,
if (win == 0 || SP == 0)
returnCode(ERR);
+#if USE_SIGWINCH
-+ _nc_unblock(SP, SIGWINCH);
++ _nc_thread(SP);
+#endif
+
if (cooked_key_in_fifo()) {
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
+@@ -144,6 +144,12 @@ delscreen(SCREEN *sp)
+ free(sp->_setbuf);
+ }
+
++#if USE_SIGWINCH
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
++ sp->_read_thread = (pthread_t)0;
++# endif
++#endif
++
+ free(sp);
+
+ /*
+@@ -559,6 +565,15 @@ _nc_setupscreen(int slines,
+ returnCode(ERR);
+ SP->_stdscr = stdscr;
+
++#if USE_SIGWINCH
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
++ if (&pthread_self)
++ SP->_read_thread = pthread_self();
++ else
++ SP->_read_thread = (pthread_t)0;
++# endif
++#endif
++
+ returnCode(OK);
+ }
+
--- ncurses/tinfo/lib_setup.c
-+++ ncurses/tinfo/lib_setup.c 2006-05-18 15:24:54.000000000 +0200
++++ ncurses/tinfo/lib_setup.c 2007-01-31 11:46:17.000000000 +0100
@@ -42,6 +42,7 @@
#include
#include /* for MAX_NAME_SIZE */
@@ -96,11 +143,11 @@
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
-@@ -119,6 +120,13 @@
+@@ -119,6 +120,13 @@ _nc_handle_sigwinch(int enable)
default:
/* record a SIGWINCH */
have_sigwinch = 1;
-+# if defined _REENTRANT || defined _THREAD_SAFE
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ scan = _nc_screen_chain;
+ while (scan) {
+ _nc_kill(scan, SIGWINCH);
@@ -111,69 +158,58 @@
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 @@
++++ ncurses/tty/lib_tstp.c 2007-01-31 13:14:40.000000000 +0100
+@@ -142,6 +142,11 @@ tstp(int dummy GCC_UNUSED)
#ifdef SIGTTOU
int sigttou_blocked;
#endif
-+#if defined _REENTRANT || defined _THREAD_SAFE
++#if USE_SIGWINCH
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ pthread_t reader = (pthread_t)0;
++# endif
+#endif
T(("tstp() called"));
-@@ -169,6 +172,10 @@
+@@ -169,6 +174,10 @@ tstp(int dummy GCC_UNUSED)
(void) sigaddset(&mask, SIGALRM);
#if USE_SIGWINCH
(void) sigaddset(&mask, SIGWINCH);
-+#if defined _REENTRANT || defined _THREAD_SAFE
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ reader = SP->_read_thread;
+ SP->_read_thread = (pthread_t)0;
-+#endif
++# endif
#endif
(void) sigprocmask(SIG_BLOCK, &mask, &omask);
-@@ -214,6 +221,10 @@
+@@ -214,6 +223,12 @@ tstp(int dummy GCC_UNUSED)
sigaction(SIGTSTP, &oact, NULL);
flushinp();
-+#if defined _REENTRANT || defined _THREAD_SAFE
++#if USE_SIGWINCH
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
+ SP->_read_thread = reader;
++# endif
+#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 @@
+@@ -386,6 +401,13 @@ _nc_signal_handler(bool enable)
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;
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
++ if (&pthread_self && &pthread_equal) {
++ pthread_t current = pthread_self();
++ if (!pthread_equal(SP->_read_thread, current))
++ SP->_read_thread = current;
++ }
+# endif
CatchIfDefault(SIGWINCH, sigwinch);
#endif
initialized = TRUE;
-@@ -393,3 +419,29 @@
+@@ -393,3 +415,25 @@ _nc_signal_handler(bool enable)
}
returnVoid;
}
@@ -186,20 +222,16 @@
+ */
+
+NCURSES_EXPORT(void)
-+_nc_unblock(SCREEN *scan, int signal)
++_nc_thread(SCREEN *scan)
+{
-+ 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();
++# if defined(linux) && (defined(_REENTRANT) || defined(_THREAD_SAFE))
++ if (&pthread_self && &pthread_equal) {
++ pthread_t current = pthread_self();
++ if (pthread_equal(SP->_read_thread, current))
++ return;
++ /* Remember the terminal reading thread */
++ scan->_read_thread = current;
++ }
+# endif
-+ scan->_unblock_sigwinch = true;
+}
+#endif
++++++ ncurses-5.5-20060513-patch.tar.bz2 -> ncurses-5.6.tar.bz2 ++++++
++++ 355985 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org