From cecf06633520e80b392644f66fe362009583fedb Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 8 May 2011 00:57:14 +0000 Subject: [PATCH] ncurses 5.9 - patch 20110507 + update discussion of MKfallback.sh script in INSTALL; normally the script is used automatically via the configured makefiles. However there are still occasions when it might be used directly by packagers (report by Gunter Schaffler). + modify misc/ncurses-config.in to omit the "-L" option from the "--libs" output if the library directory is /usr/lib. + change order of tests for curses.h versus ncurses.h headers in the configure scripts for Ada95 and test-directories, to look for ncurses.h, from fixes to tin -TD + modify ncurses/tinfo/access.c to account for Tandem's root uid (report by Joachim Schmitz). --- Ada95/aclocal.m4 | 12 ++++++------ Ada95/configure | 16 ++++++++-------- INSTALL | 27 ++++++++++++++++++++++----- NEWS | 17 +++++++++++++++-- dist.mk | 4 ++-- misc/ncurses-config.in | 13 ++++++++++--- ncurses/tinfo/access.c | 15 ++++++++++++--- test/aclocal.m4 | 12 ++++++------ test/configure | 20 ++++++++++---------- 9 files changed, 91 insertions(+), 45 deletions(-) diff --git a/Ada95/aclocal.m4 b/Ada95/aclocal.m4 index 22313645..f9fdb9f8 100644 --- a/Ada95/aclocal.m4 +++ b/Ada95/aclocal.m4 @@ -28,7 +28,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey dnl -dnl $Id: aclocal.m4,v 1.25 2011/04/23 15:30:49 tom Exp $ +dnl $Id: aclocal.m4,v 1.26 2011/05/07 15:35:16 tom Exp $ dnl Macros used in NCURSES Ada95 auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -593,7 +593,7 @@ if test ".$system_name" != ".$cf_cv_system_name" ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16 +dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45 dnl ---------------- dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common dnl variations of ncurses' installs. @@ -603,10 +603,10 @@ AC_DEFUN([CF_CURSES_HEADER],[ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ cf_cv_ncurses_header=none for cf_header in ifelse($1,,,[ \ - $1/curses.h \ - $1/ncurses.h]) \ - curses.h \ - ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h]) + $1/ncurses.h \ + $1/curses.h]) \ + ncurses.h \ + curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h]) do AC_TRY_COMPILE([#include <${cf_header}>], [initscr(); tgoto("?", 0,0)], diff --git a/Ada95/configure b/Ada95/configure index 4db6f1f9..2c5dc205 100644 --- a/Ada95/configure +++ b/Ada95/configure @@ -4519,10 +4519,10 @@ else cf_cv_ncurses_header=none for cf_header in \ - ncursesw/curses.h \ - ncursesw/ncurses.h \ - curses.h \ - ncurses.h + ncursesw/ncurses.h \ + ncursesw/curses.h \ + ncurses.h \ + curses.h do cat >conftest.$ac_ext <<_ACEOF #line 4528 "configure" @@ -5889,10 +5889,10 @@ else cf_cv_ncurses_header=none for cf_header in \ - ncurses/curses.h \ - ncurses/ncurses.h \ - curses.h \ - ncurses.h + ncurses/ncurses.h \ + ncurses/curses.h \ + ncurses.h \ + curses.h do cat >conftest.$ac_ext <<_ACEOF #line 5898 "configure" diff --git a/INSTALL b/INSTALL index eb26ab10..d4d1e881 100644 --- a/INSTALL +++ b/INSTALL @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: INSTALL,v 1.155 2011/03/31 08:27:24 tom Exp $ +-- $Id: INSTALL,v 1.156 2011/05/07 19:39:37 tom Exp $ --------------------------------------------------------------------- How to install Ncurses/Terminfo on your system --------------------------------------------------------------------- @@ -1726,20 +1726,37 @@ CONFIGURING FALLBACK ENTRIES: By default, there are no entries on the fallback list. After you have built the ncurses suite for the first time, you can change the list (the process needs infocmp(1)). To do so, use the script - ncurses/tinfo/MKfallback.sh. A configure script option + ncurses/tinfo/MKfallback.sh. The configure script option --with-fallbacks does this (it accepts a comma-separated list of the names you wish, and does not require a rebuild). If you wanted (say) to have linux, vt100, and xterm fallbacks, you - would use the commands + might use the commands cd ncurses; - tinfo/MKfallback.sh linux vt100 xterm >fallback.c + tinfo/MKfallback.sh \ + $TERMINFO \ + ../misc/terminfo.src \ + `which tic` \ + linux vt100 xterm >fallback.c + + The first three parameters of the script are normally supplied by + the configured makefiles via the "--with-fallbacks" option. They + are + + 1) the location of the terminfo database + 2) the source for the terminfo entries + 3) the location of the tic program, used to create a terminfo + database. Then just rebuild and reinstall the library as you would normally. You can restore the default empty fallback list with - tinfo/MKfallback.sh >fallback.c + tinfo/MKfallback.sh \ + $TERMINFO \ + ../misc/terminfo.src \ + `which tic` \ + >fallback.c The overhead for an empty fallback list is one trivial stub function. Any non-empty fallback list is const-ed and therefore lives in sharable diff --git a/NEWS b/NEWS index 253a67d9..fbf1b517 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1695 2011/04/30 21:58:29 tom Exp $ +-- $Id: NEWS,v 1.1699 2011/05/07 19:51:09 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,6 +45,19 @@ See the AUTHORS file for the corresponding full names. Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20110507 + + update discussion of MKfallback.sh script in INSTALL; normally the + script is used automatically via the configured makefiles. However + there are still occasions when it might be used directly by packagers + (report by Gunter Schaffler). + + modify misc/ncurses-config.in to omit the "-L" option from the + "--libs" output if the library directory is /usr/lib. + + change order of tests for curses.h versus ncurses.h headers in the + configure scripts for Ada95 and test-directories, to look for + ncurses.h, from fixes to tin -TD + + modify ncurses/tinfo/access.c to account for Tandem's root uid + (report by Joachim Schmitz). + 20110430 + modify rules in Ada95/src/Makefile.in to ensure that the PIC option is not used when building a static library (report by Nicolas @@ -61,7 +74,7 @@ it is not possible to add this information. + add check in test/configure for some legacy curses types of the function pointer passed to tputs(). + modify init_pair() to accept -1's for color value after - assume_default_colors() has been called (Debian #337905). + assume_default_colors() has been called (Debian #337095). + modify test/background.c, adding commmand-line options to demonstrate assume_default_colors() and use_default_colors(). diff --git a/dist.mk b/dist.mk index c93773f1..56943975 100644 --- a/dist.mk +++ b/dist.mk @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.814 2011/04/30 18:20:40 tom Exp $ +# $Id: dist.mk,v 1.815 2011/05/07 14:12:36 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -37,7 +37,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 5 NCURSES_MINOR = 9 -NCURSES_PATCH = 20110430 +NCURSES_PATCH = 20110507 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in index a9c0ac53..74a45107 100644 --- a/misc/ncurses-config.in +++ b/misc/ncurses-config.in @@ -1,5 +1,5 @@ #!@SHELL@ -# $Id: ncurses-config.in,v 1.25 2011/03/19 22:43:38 tom Exp $ +# $Id: ncurses-config.in,v 1.26 2011/05/07 19:23:01 tom Exp $ ############################################################################## # Copyright (c) 2006-2010,2011 Free Software Foundation, Inc. # # # @@ -83,13 +83,19 @@ while test $# -gt 0; do ENDECHO ;; --libs) + if test "$libdir" = /usr/lib + then + LIBDIR= + else + LIBDIR=-L$libdir + fi if test @TINFO_NAME@ = @LIB_NAME@ ; then sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO - -L$libdir @EXTRA_LDFLAGS@ -l${THIS} @LIBS@ + $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} @LIBS@ ENDECHO else sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO - -L$libdir @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@ + $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@ ENDECHO fi ;; @@ -163,4 +169,5 @@ ENDHELP esac shift done +# vi:ts=4 sw=4 # vile:shmode diff --git a/ncurses/tinfo/access.c b/ncurses/tinfo/access.c index 87c4f462..6dd1d69b 100644 --- a/ncurses/tinfo/access.c +++ b/ncurses/tinfo/access.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. * + * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -37,7 +37,15 @@ #include -MODULE_ID("$Id: access.c,v 1.16 2010/01/23 17:57:43 tom Exp $") +MODULE_ID("$Id: access.c,v 1.17 2011/05/07 15:02:03 tom Exp $") + +#ifdef __TANDEM +#define ROOT_UID 65535 +#endif + +#ifndef ROOT_UID +#define ROOT_UID 0 +#endif #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c)) @@ -170,6 +178,7 @@ _nc_env_access(void) || getgid() != getegid()) return FALSE; #endif - return getuid() != 0 && geteuid() != 0; /* ...finally, disallow root */ + /* ...finally, disallow root */ + return (getuid() != ROOT_UID) && (geteuid() != ROOT_UID); } #endif diff --git a/test/aclocal.m4 b/test/aclocal.m4 index 893b288b..82f19c2b 100644 --- a/test/aclocal.m4 +++ b/test/aclocal.m4 @@ -26,7 +26,7 @@ dnl sale, use or other dealings in this Software without prior written * dnl authorization. * dnl*************************************************************************** dnl -dnl $Id: aclocal.m4,v 1.59 2011/04/23 23:26:44 tom Exp $ +dnl $Id: aclocal.m4,v 1.60 2011/05/07 15:34:44 tom Exp $ dnl dnl Author: Thomas E. Dickey dnl @@ -602,7 +602,7 @@ ${cf_cv_main_return:-return}(foo == 0); done ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16 +dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45 dnl ---------------- dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common dnl variations of ncurses' installs. @@ -612,10 +612,10 @@ AC_DEFUN([CF_CURSES_HEADER],[ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ cf_cv_ncurses_header=none for cf_header in ifelse($1,,,[ \ - $1/curses.h \ - $1/ncurses.h]) \ - curses.h \ - ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h]) + $1/ncurses.h \ + $1/curses.h]) \ + ncurses.h \ + curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h]) do AC_TRY_COMPILE([#include <${cf_header}>], [initscr(); tgoto("?", 0,0)], diff --git a/test/configure b/test/configure index c39e52f2..8f083feb 100755 --- a/test/configure +++ b/test/configure @@ -4835,8 +4835,8 @@ else cf_cv_ncurses_header=none for cf_header in \ - curses.h \ - ncurses.h ncurses/curses.h ncurses/ncurses.h + ncurses.h \ + curses.h ncurses/ncurses.h ncurses/curses.h do cat >conftest.$ac_ext <<_ACEOF #line 4842 "configure" @@ -5947,10 +5947,10 @@ else cf_cv_ncurses_header=none for cf_header in \ - ncurses/curses.h \ - ncurses/ncurses.h \ - curses.h \ - ncurses.h + ncurses/ncurses.h \ + ncurses/curses.h \ + ncurses.h \ + curses.h do cat >conftest.$ac_ext <<_ACEOF #line 5956 "configure" @@ -7886,10 +7886,10 @@ else cf_cv_ncurses_header=none for cf_header in \ - ncursesw/curses.h \ - ncursesw/ncurses.h \ - curses.h \ - ncurses.h + ncursesw/ncurses.h \ + ncursesw/curses.h \ + ncurses.h \ + curses.h do cat >conftest.$ac_ext <<_ACEOF #line 7895 "configure" -- 2.45.0