ncurses 6.1 - patch 20180825
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 26 Aug 2018 00:49:33 +0000 (00:49 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 26 Aug 2018 00:49:33 +0000 (00:49 +0000)
+ add a section to tput manual page clarifying how it determines the
  terminal size (prompted by discussion with Grant Jenks).
+ add "--disable-relink" to rpm test-packages, for consistency with the
  deb test-packages.
+ split spec-file into ncurses6.spec and ncursest6.spec to work around
  toolset breakage in Fedora 28.
+ drop mention of "--disable-touching", which was not in the final
  20180818 updates.

28 files changed:
MANIFEST
NEWS
VERSION
dist.mk
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
man/tput.1
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec [new file with mode: 0644]

index b4d978cc9dac7a3213192b4f54fd9942a65d8065..04000f6a297744f71697fd0e375b5f6f016c15be 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
 ./package/ncurses.spec
 ./package/ncurses.sym
 ./package/ncursest.map
+./package/ncursest.spec
 ./package/ncursest.sym
 ./package/ncursestw.map
 ./package/ncursestw.sym
diff --git a/NEWS b/NEWS
index 8d00334de14a2d4c1d4a0ee605de3ed3a735d412..d351f12248ff1926141c8bac3215dc0176d56af6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3173 2018/08/19 00:25:22 tom Exp $
+-- $Id: NEWS,v 1.3176 2018/08/25 23:32:32 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,16 @@ 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.
 
+20180825
+       + add a section to tput manual page clarifying how it determines the
+         terminal size (prompted by discussion with Grant Jenks).
+       + add "--disable-relink" to rpm test-packages, for consistency with the
+         deb test-packages.
+       + split spec-file into ncurses6.spec and ncursest6.spec to work around
+         toolset breakage in Fedora 28.
+       + drop mention of "--disable-touching", which was not in the final
+         20180818 updates.
+
 20180818
        + build-fix for PDCurses with ncurses-examples.
        + improved CF_CC_ENV_FLAGS.
@@ -55,8 +65,6 @@ it is not possible to add this information.
          + modify scripts which use "--disable-relink" to add a 1-second
            sleep to work around tools which use whole-second timestamps, e.g.,
            in utime() rather than the actual file system resolution.
-       + add "--disable-touching" option for using "install -p" option during
-         the install, e.g., so that header-files have a predictable timestamp.
 
 20180804
        + improve logic for clear with E3 extension, in case the terminal
diff --git a/VERSION b/VERSION
index ed360b5da82deff4afdd66f0a05b01da66b10a92..0a05d7d430c5d6a72a9abd9b187f5322ec15ce9f 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.1     20180818
+5:0:10 6.1     20180825
diff --git a/dist.mk b/dist.mk
index 7c503114c82134ec53c85ef343d00c1f74e85b54..1f4d548aa20113a77d2d11e4b1acbffce12615fb 100644 (file)
--- 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.1237 2018/08/18 16:14:17 tom Exp $
+# $Id: dist.mk,v 1.1238 2018/08/25 15:59:35 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 = 6
 NCURSES_MINOR = 1
-NCURSES_PATCH = 20180818
+NCURSES_PATCH = 20180825
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 6f2ff4394ddb185ee012c09fce0d0f58195092e5..4b564105980129dd18e165b537bdfba3ac12609f 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index 78475dfd0bf096f7504d4c7ac045d4bb10d54fcf..5a4bc2e8eadd21118e8f24c16c01ff235025b2c0 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 172afcfc796c1545657d2df61b6a3910e1717bc6..dfbaab94d9bf7ea33f8728a329d75edb9b7d67cc 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index 56d362ae156cd01849ddc368d2a3c58c96f0c52b..d06a7ecc1b54defbe5cf3e15b3b9fc6aaa8bbbdb 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index 861ffb1c4c07e812bc1acbbce13c6756615c0f5c..d24282c8e4cbbf18b2f409557e8b072c7b2baee3 100644 (file)
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 783fcec1650def525fd9184d5bdf5bf64d541d60..731e945fed317c1ea7acca79da39078c40f7f6c9 100644 (file)
@@ -85,7 +85,7 @@
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index f1065bb57c019d25aa84f5df7858b5fe3ab2fa1e..765c2052cbe6c40c37f4444a19ec940b0f8e6afb 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index ef4eda0418dae158e826a32e7cd8b73ed86ff638..e8f736185b7b6c3f790e20cd7ca550ae7ec1c8cd 100644 (file)
@@ -59,7 +59,7 @@
        method of updating  character  screens  with  reasonable  optimization.
        This  implementation  is  "new  curses"  (ncurses)  and is the approved
        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
index 40b276d20e51258eeae4b12ecbfce886531f0f40..a31eff118c16a7069c99525c6fd8b3d58896c06a 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index 8fcf533bdcb235b8af2d63ce3d2ad09f988539dd..f18a17dc2fb33f6ddca5ca98873705c1bebe4837 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 874ee1a28a91d5ff3f6573546fda4d3b1509e906..fe71152782277b0765673e1ff19e1463527bdcd1 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index d5001efddf81fb392a2393ca1b06ab6ff005d896..1b79adbe1e1d0cfd10235da5125dd640adc988c3 100644 (file)
@@ -74,7 +74,7 @@
        <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
        have, by specifying how to perform screen operations, and by specifying
        padding  requirements  and  initialization  sequences.   This describes
-       <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index 8cd38311eee972c28411cc55c12be2c57dbe8e0f..447141636054fe2b47e4bef1d2faf7e2cf863e97 100644 (file)
        <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
        <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index e3b26341ae2705a8c5969c3153e3c02cc2985ab0..ce6753397ead5aec15d9aeea7d235b50e5b75959 100644 (file)
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,  <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG>ter-</STRONG>
        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index cbfe3660ed214ce3dc15a506352720f66fd5a399..8d0f34fac73a312bfc48b7606e51c121536e2c26 100644 (file)
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tput.1,v 1.59 2018/07/28 21:30:27 tom Exp @
+  * @Id: tput.1,v 1.61 2018/08/25 23:28:12 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        program named <STRONG>init</STRONG> has a more well-established use.
 
 
+</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
+       Besides  the  special  commands (e.g., <STRONG>clear</STRONG>), tput treats certain ter-
+       minfo  capabilities  specially:  <STRONG>lines</STRONG>   and   <STRONG>columns</STRONG>.    tput   calls
+       <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the terminal size:
+
+       <STRONG>o</STRONG>   first, it gets the size from the terminal database (which generally
+           is not provided for terminal emulators which do not  have  a  fixed
+           window size)
+
+       <STRONG>o</STRONG>   then  it  asks  the operating system for the terminal's size (which
+           generally works, unless connecting via a serial line which does not
+           support <EM>NAWS</EM>: negotiations about window size).
+
+       <STRONG>o</STRONG>   finally,  it  inspects  the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
+           which may override the terminal size.
+
+       If the <STRONG>-T</STRONG> option is given tput ignores  the  environment  variables  by
+       calling   <STRONG>use_tioctl(TRUE)</STRONG>,  relying  upon  the  operating  system  (or
+       finally, the terminal database).
+
+
 </PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
        <STRONG>tput</STRONG> <STRONG>init</STRONG>
-            Initialize  the  terminal according to the type of terminal in the
-            environmental variable <STRONG>TERM</STRONG>.  This command should be  included  in
+            Initialize the terminal according to the type of terminal  in  the
+            environmental  variable  <STRONG>TERM</STRONG>.  This command should be included in
             everyone's .profile after the environmental variable <STRONG>TERM</STRONG> has been
             exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page.
 
        <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
-            Reset an AT&amp;T 5620 terminal, overriding the type  of  terminal  in
+            Reset  an  AT&amp;T  5620 terminal, overriding the type of terminal in
             the environmental variable <STRONG>TERM</STRONG>.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
             Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper
-            left corner of the screen, usually  known  as  the  "home"  cursor
+            left  corner  of  the  screen,  usually known as the "home" cursor
             position).
 
        <STRONG>tput</STRONG> <STRONG>clear</STRONG>
             Print the number of columns for the 450 terminal.
 
        <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
-            Set  the  shell  variables <STRONG>bold</STRONG>, to begin stand-out mode sequence,
+            Set the shell variables <STRONG>bold</STRONG>, to begin  stand-out  mode  sequence,
             and <STRONG>offbold</STRONG>, to end standout mode sequence, for the current termi-
             nal.  This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG> <STRONG>type</STRONG>
             <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
 
        <STRONG>tput</STRONG> <STRONG>hc</STRONG>
-            Set exit code to indicate if the current terminal is a  hard  copy
+            Set  exit  code to indicate if the current terminal is a hard copy
             terminal.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
             Send the sequence to move the cursor to row 23, column 4.
 
        <STRONG>tput</STRONG> <STRONG>cup</STRONG>
-            Send  the  terminfo string for cursor-movement, with no parameters
+            Send the terminfo string for cursor-movement, with  no  parameters
             substituted.
 
        <STRONG>tput</STRONG> <STRONG>longname</STRONG>
-            Print the long name from the <STRONG>terminfo</STRONG> database  for  the  type  of
+            Print  the  long  name  from the <STRONG>terminfo</STRONG> database for the type of
             terminal specified in the environmental variable <STRONG>TERM</STRONG>.
 
             <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
             <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
             <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
 
-            This  example  shows  <STRONG>tput</STRONG>  processing several capabilities in one
-            invocation.  It clears the screen, moves the  cursor  to  position
-            10,  10 and turns on bold (extra bright) mode.  The list is termi-
+            This example shows <STRONG>tput</STRONG> processing  several  capabilities  in  one
+            invocation.   It  clears  the screen, moves the cursor to position
+            10, 10 and turns on bold (extra bright) mode.  The list is  termi-
             nated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
 
 
               compiled terminal description database
 
        <STRONG>/usr/share/tabset/*</STRONG>
-              tab settings for some terminals, in a format appropriate  to  be
-              output  to  the  terminal (escape sequences that set margins and
-              tabs); for more information, see the  <EM>Tabs</EM>  <EM>and</EM>  <EM>Initialization</EM>,
+              tab  settings  for some terminals, in a format appropriate to be
+              output to the terminal (escape sequences that  set  margins  and
+              tabs);  for  more  information, see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>,
               section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 </PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
        If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if
-       any errors are found, will set the exit code to 4 plus  the  number  of
-       lines  with  errors.   If  no errors are found, the exit code is <STRONG>0</STRONG>.  No
-       indication of which line failed can be given so exit code <STRONG>1</STRONG> will  never
-       appear.   Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation.  If
-       the <STRONG>-S</STRONG> option is not used, the exit code depends on the  type  of  <EM>cap-</EM>
+       any  errors  are  found, will set the exit code to 4 plus the number of
+       lines with errors.  If no errors are found, the exit  code  is  <STRONG>0</STRONG>.   No
+       indication  of which line failed can be given so exit code <STRONG>1</STRONG> will never
+       appear.  Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation.   If
+       the  <STRONG>-S</STRONG>  option  is not used, the exit code depends on the type of <EM>cap-</EM>
        <EM>name</EM>:
 
           <EM>boolean</EM>
                  a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
 
           <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined for this termi-
-                 nal <EM>type</EM> (the value of <EM>capname</EM> is returned on  standard  out-
-                 put);  a value of <STRONG>1</STRONG> is set if <EM>capname</EM> is not defined for this
+                 nal  <EM>type</EM>  (the value of <EM>capname</EM> is returned on standard out-
+                 put); a value of <STRONG>1</STRONG> is set if <EM>capname</EM> is not defined for  this
                  terminal <EM>type</EM> (nothing is written to standard output).
 
           <EM>integer</EM>
                  a value of <STRONG>0</STRONG> is always set, whether or not <EM>capname</EM> is defined
-                 for  this  terminal <EM>type</EM>.  To determine if <EM>capname</EM> is defined
-                 for this terminal <EM>type</EM>, the user must test the value  written
-                 to  standard output.  A value of <STRONG>-1</STRONG> means that <EM>capname</EM> is not
+                 for this terminal <EM>type</EM>.  To determine if <EM>capname</EM>  is  defined
+                 for  this terminal <EM>type</EM>, the user must test the value written
+                 to standard output.  A value of <STRONG>-1</STRONG> means that <EM>capname</EM> is  not
                  defined for this terminal <EM>type</EM>.
 
-          <EM>other</EM>  <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their  respective  files.   In
+          <EM>other</EM>  <STRONG>reset</STRONG>  or  <STRONG>init</STRONG>  may fail to find their respective files.  In
                  that case, the exit code is set to 4 + <STRONG>errno</STRONG>.
 
        Any other exit code indicates an error; see the DIAGNOSTICS section.
 
 
 </PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       <STRONG>tput</STRONG>  prints  the  following  error messages and sets the corresponding
+       <STRONG>tput</STRONG> prints the following error messages  and  sets  the  corresponding
        exit codes.
 
        exit code   error message
        ---------------------------------------------------------------------
-       <STRONG>0</STRONG>           (<EM>capname</EM> is a numeric variable that is not specified  in
-                   the  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  database  for this terminal type, e.g.
+       <STRONG>0</STRONG>           (<EM>capname</EM>  is a numeric variable that is not specified in
+                   the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this  terminal  type,  e.g.
                    <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
        <STRONG>1</STRONG>           no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
        <STRONG>2</STRONG>           usage error
 
 
 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980.   The  initial  version
+       The  <STRONG>tput</STRONG>  command  was begun by Bill Joy in 1980.  The initial version
        only cleared the screen.
 
-       AT&amp;T  System  V provided a different <STRONG>tput</STRONG> command, whose <STRONG>init</STRONG> and <STRONG>reset</STRONG>
-       subcommands (more than half the program)  were  incorporated  from  the
+       AT&amp;T System V provided a different <STRONG>tput</STRONG> command, whose <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>
+       subcommands  (more  than  half  the program) were incorporated from the
        <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
 
        Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new implemen-
        tation based on the AT&amp;T System V program <STRONG>tput</STRONG>.  Like the AT&amp;T program,
-       Bostic's  version accepted some parameters named for <EM>terminfo</EM> <EM>capabili-</EM>
-       <EM>ties</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he  had  only
-       termcap  available),  it accepted <EM>termcap</EM> <EM>names</EM> for other capabilities.
-       Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O  modes  as  the
+       Bostic's version accepted some parameters named for <EM>terminfo</EM>  <EM>capabili-</EM>
+       <EM>ties</EM>  (<STRONG>clear</STRONG>,  <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>).  However (because he had only
+       termcap available), it accepted <EM>termcap</EM> <EM>names</EM> for  other  capabilities.
+       Also,  Bostic's  BSD  <STRONG>tput</STRONG> did not modify the terminal I/O modes as the
        earlier BSD <STRONG>tset</STRONG> had done.
 
        At the same time, Bostic added a shell script named "clear", which used
        Both of these appeared in 4.4BSD, becoming the "modern" BSD implementa-
        tion of <STRONG>tput</STRONG>.
 
-       This  implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T or
-       BSD: Ross Ridge's <EM>mytinfo</EM> package, published  on  <EM>comp.sources.unix</EM>  in
+       This implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T  or
+       BSD:  Ross  Ridge's  <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in
        December 1992.  Ridge's program made more sophisticated use of the ter-
-       minal capabilities than the BSD program.  Eric Raymond  used  the  <STRONG>tput</STRONG>
-       program  (and  other  parts of <EM>mytinfo</EM>) in ncurses in June 1995.  Using
-       the portions dealing with terminal capabilities almost without  change,
-       Raymond  made  improvements to the way the command-line parameters were
+       minal  capabilities  than the BSD program.  Eric Raymond used that <STRONG>tput</STRONG>
+       program (and other parts of <EM>mytinfo</EM>) in ncurses in  June  1995.   Using
+       the  portions dealing with terminal capabilities almost without change,
+       Raymond made improvements to the way the command-line  parameters  were
        handled.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation of <STRONG>tput</STRONG> differs from AT&amp;T  <STRONG>tput</STRONG>  in  two  important
+       This  implementation  of  <STRONG>tput</STRONG>  differs from AT&amp;T <STRONG>tput</STRONG> in two important
        areas:
 
-       <STRONG>o</STRONG>   <STRONG>tput</STRONG>  <EM>capname</EM>  writes  to  the standard output.  That need not be a
+       <STRONG>o</STRONG>   <STRONG>tput</STRONG> <EM>capname</EM> writes to the standard output.  That  need  not  be  a
            regular terminal.  However, the subcommands which manipulate termi-
            nal modes may not use the standard output.
 
-           The  AT&amp;T  implementation's  <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  commands use the BSD
-           (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal modes.   It  succes-
+           The AT&amp;T implementation's <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>  commands  use  the  BSD
+           (4.1c)  <STRONG>tset</STRONG>  source, which manipulates terminal modes.  It succes-
            sively tries standard output, standard error, standard input before
            falling back to "/dev/tty" and finally just assumes a 1200Bd termi-
            nal.  When updating terminal modes, it ignores errors.
 
-           Until  changes made after ncurses 6.0, <STRONG>tput</STRONG> did not modify terminal
+           Until changes made after ncurses 6.0, <STRONG>tput</STRONG> did not modify  terminal
            modes.  <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
-           <STRONG>tset</STRONG>  (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is not able
+           <STRONG>tset</STRONG> (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>).  If it is not  able
            to open a terminal, e.g., when running in <STRONG>cron</STRONG>, <STRONG>tput</STRONG> will return an
            error.
 
            of the characters are numeric, or not.
 
            Most implementations which provide support for <EM>capname</EM> operands use
-           the  <EM>tparm</EM>  function  to  expand  parameters  in it.  That function
-           expects a mixture of numeric and string parameters, requiring  <STRONG>tput</STRONG>
+           the <EM>tparm</EM> function to  expand  parameters  in  it.   That  function
+           expects  a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
            to know which type to use.
 
-           This  implementation  uses a table to determine the parameter types
+           This implementation uses a table to determine the  parameter  types
            for the standard <EM>capname</EM> operands, and an internal library function
            to analyze nonstandard <EM>capname</EM> operands.
 
-       This  implementation  (unlike  others) can accept both <EM>termcap</EM> and <EM>ter-</EM>
+       This implementation (unlike others) can accept both  <EM>termcap</EM>  and  <EM>ter-</EM>
        <EM>minfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled in.
        However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two ambiguities
        in this case (and the <EM>terminfo</EM> name is assumed):
 
-       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM>  name  <STRONG>dl1</STRONG>  (delete
+       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name  <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete
            one line).
-           The  <EM>terminfo</EM>  name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
+           The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG>  (delete  a
            given number of lines).
 
-       <STRONG>o</STRONG>   The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to  the  <EM>terminfo</EM>  name  <STRONG>rmdc</STRONG>  (end
+       <STRONG>o</STRONG>   The  <EM>termcap</EM>  name  <STRONG>ed</STRONG>  corresponds  to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end
            delete mode).
-           The  <EM>terminfo</EM>  name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
+           The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG>  (clear  to
            end of screen).
 
-       The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and  the  parameter-substitution  features
-       used  in  the  <STRONG>cup</STRONG>  example,  were  not  supported in BSD curses before
+       The  <STRONG>longname</STRONG>  and  <STRONG>-S</STRONG> options, and the parameter-substitution features
+       used in the <STRONG>cup</STRONG> example,  were  not  supported  in  BSD  curses  before
        4.3reno (1989) or in AT&amp;T/USL curses before SVr4 (1988).
 
-       IEEE  Std  1003.1/The  Open  Group    Base   Specifications   Issue   7
-       (POSIX.1-2008)  documents  only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
+       IEEE   Std   1003.1/The   Open   Group   Base  Specifications  Issue  7
+       (POSIX.1-2008) documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG>  and  <STRONG>reset</STRONG>.
        There are a few interesting observations to make regarding that:
 
-       <STRONG>o</STRONG>   In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support.   The
-           others  (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal capabili-
+       <STRONG>o</STRONG>   In  this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support.  The
+           others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal  capabili-
            ties.
 
        <STRONG>o</STRONG>   Other  implementations  of  <STRONG>tput</STRONG>  on  SVr4-based  systems  such  as
-           Solaris,  IRIX64  and  HPUX as well as others such as AIX and Tru64
+           Solaris, IRIX64 and HPUX as well as others such as  AIX  and  Tru64
            provide support for <EM>capname</EM> operands.
 
        <STRONG>o</STRONG>   A few platforms such as FreeBSD recognize termcap names rather than
            terminfo capability names in their respective <STRONG>tput</STRONG> commands.  Since
-           2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names.   Before  that,  it  (like
+           2010,  NetBSD's  <STRONG>tput</STRONG>  uses  terminfo names.  Before that, it (like
            FreeBSD) recognized termcap names.
 
        Because (apparently) <EM>all</EM> of the certified Unix systems support the full
-       set of capability names, the reasoning for documenting only a  few  may
+       set  of  capability names, the reasoning for documenting only a few may
        not be apparent.
 
-       <STRONG>o</STRONG>   X/Open  Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM> and
+       <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM>  and
            the other features used in this implementation.
 
-       <STRONG>o</STRONG>   That is, there are two standards for <STRONG>tput</STRONG>:  POSIX  (a  subset)  and
-           X/Open  Curses (the full implementation).  POSIX documents a subset
+       <STRONG>o</STRONG>   That  is,  there  are  two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
+           X/Open Curses (the full implementation).  POSIX documents a  subset
            to avoid the complication of including X/Open Curses and the termi-
            nal capabilities database.
 
-       <STRONG>o</STRONG>   While  it  is  certainly  possible  to write a <STRONG>tput</STRONG> program without
-           using curses, none of the systems which have a  curses  implementa-
+       <STRONG>o</STRONG>   While it is certainly possible to  write  a  <STRONG>tput</STRONG>  program  without
+           using  curses,  none of the systems which have a curses implementa-
            tion provide a <STRONG>tput</STRONG> utility which does not provide the <EM>capname</EM> fea-
            ture.
 
+       X/Open  Curses  Issue  7 (2009) is the first version to document utili-
+       ties.  However that part of X/Open  Curses  does  not  follow  existing
+       practice (i.e., Unix features documented in SVID 3):
+
+       <STRONG>o</STRONG>   It  assigns exit code 4 to "invalid operand", which may be the same
+           as <EM>unknown</EM> <EM>capability</EM>.  For instance, the source code for  Solaris'
+           xcurses uses the term "invalid' in this case.
+
+       <STRONG>o</STRONG>   It  assigns  exit code 255 to a numeric variable that is not speci-
+           fied in the terminfo database.   That  likely  is  a  documentation
+           error,  confusing  the  <STRONG>-1</STRONG>  written  to  the standard output for an
+           absent or cancelled numeric value versus an (unsigned) exit code.
+
+       The various Unix systems (AIX, HPUX, Solaris) use the  same  exit-codes
+       as ncurses.
+
+       NetBSD curses documents different exit codes which do not correspond to
+       either ncurses or X/Open.
+
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
 <li><a href="#h3-Options">Options</a></li>
 <li><a href="#h3-Commands">Commands</a></li>
 <li><a href="#h3-Aliases">Aliases</a></li>
+<li><a href="#h3-Terminal-Size">Terminal Size</a></li>
 </ul>
 </li>
 <li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
index fe4478b78c7775a489226f313c5633646ff3934e..fe3d5f4a1e33de184f358a5a94265972afce3679 100644 (file)
        <STRONG>csh(1)</STRONG>,  <STRONG>sh(1)</STRONG>,  <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,   <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
        <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180728).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180825).
 
 
 
index 44cedbfcc3532dae27646a46b0a489288e26c64c..62fa9ebcb305e0919f5d25c40d7bf7e2e61feaa7 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: tput.1,v 1.59 2018/07/28 21:30:27 tom Exp $
+.\" $Id: tput.1,v 1.61 2018/08/25 23:28:12 tom Exp $
 .TH @TPUT@ 1 ""
 .ds d @TERMINFO@
 .ds n 1
@@ -271,6 +271,27 @@ If \fB@TPUT@\fR is invoked by a link named \fBinit\fR, this has the
 same effect as \fB@TPUT@ init\fR.
 Again, you are less likely to use that link because another program
 named \fBinit\fP has a more well-established use.
+.SS Terminal Size
+.PP
+Besides the special commands (e.g., \fBclear\fP),
+@TPUT@ treats certain terminfo capabilities specially:
+\fBlines\fP and \fBcolumns\fP.
+@TPUT@ calls \fBsetupterm\fP(3X) to obtain the terminal size:
+.bP
+first, it gets the size from the terminal database
+(which generally is not provided for terminal emulators
+which do not have a fixed window size)
+.bP
+then it asks the operating system for the terminal's size
+(which generally works, unless connecting via a serial line which
+does not support \fINAWS\fP: negotiations about window size).
+.bP
+finally, it inspects the environment variables \fBLINES\fP and \fBCOLUMNS\fP
+which may override the terminal size.
+.PP
+If the \fB\-T\fP option is given
+@TPUT@ ignores the environment variables by calling \fBuse_tioctl(TRUE)\fP,
+relying upon the operating system (or finally, the terminal database).
 .SH EXAMPLES
 .TP 5
 \fB@TPUT@ init\fR
@@ -441,7 +462,7 @@ AT&T or BSD: Ross Ridge's \fImytinfo\fP package, published on
 \fIcomp.sources.unix\fP in December 1992.
 Ridge's program made more sophisticated use of the terminal capabilities
 than the BSD program.
-Eric Raymond used the \fBtput\fP program
+Eric Raymond used that \fBtput\fP program
 (and other parts of \fImytinfo\fP) in ncurses in June 1995.
 Using the portions dealing with terminal capabilities
 almost without change,
@@ -542,6 +563,27 @@ While it is certainly possible to write a \fBtput\fP program
 without using curses,
 none of the systems which have a curses implementation provide
 a \fBtput\fP utility which does not provide the \fIcapname\fP feature.
+.PP
+X/Open Curses Issue 7 (2009) is the first version to document utilities.
+However that part of X/Open Curses does not follow existing practice
+(i.e., Unix features documented in SVID 3):
+.bP
+It assigns exit code 4 to \*(``invalid operand\*('',
+which may be the same as \fIunknown capability\fP.
+For instance, the source code for Solaris' xcurses uses the term
+\*(``invalid\*'' in this case.
+.bP
+It assigns exit code 255 to a numeric variable that is not specified in
+the terminfo database.
+That likely is a documentation error,
+confusing the \fB\-1\fP written to the standard output for an absent
+or cancelled numeric value versus an (unsigned) exit code.
+.PP
+The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
+as ncurses.
+.PP
+NetBSD curses documents different exit codes which do not correspond
+to either ncurses or X/Open.
 .SH SEE ALSO
 \fB@CLEAR@\fR(\*n),
 \fBstty\fR(1),
index 2e7776982b60fa0bbc3168f5a78027e0c539c4b1..68b26ea94d7a00f1cc9ab076634f27cbd9f73522 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180818) unstable; urgency=low
+ncurses6 (6.1+20180825) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 18 Aug 2018 12:14:17 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 25 Aug 2018 11:59:35 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 2e7776982b60fa0bbc3168f5a78027e0c539c4b1..68b26ea94d7a00f1cc9ab076634f27cbd9f73522 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180818) unstable; urgency=low
+ncurses6 (6.1+20180825) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 18 Aug 2018 12:14:17 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 25 Aug 2018 11:59:35 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 8f1d442ad4b9dc1dfc6bae9b72a1786709479c74..f7bbf9d0a05645a0e87f7e956c05436cd6aad274 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20180818) unstable; urgency=low
+ncurses6 (6.1+20180825) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 18 Aug 2018 12:14:17 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 25 Aug 2018 11:59:35 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 0bd5359f7a3a6a8e362ccedcbeb12b383182d811..7dd46a3d3fad4d17b7f5a15017001a162d24a2d8 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.284 2018/08/18 16:14:17 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.285 2018/08/25 15:59:35 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "1"\r
 !define VERSION_YYYY  "2018"\r
-!define VERSION_MMDD  "0818"\r
+!define VERSION_MMDD  "0825"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 2a4cdf1d8dc281bcb0e2f2dd48a3d050db50fb5a..807a8a37549b0059dca200c5bc9398b17b226965 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.1
-Release: 20180818
+Release: 20180825
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index a6d5ecd217006584ed6734a66ee28364ddd840b9..af0d18dae03757c2c5dcedf5b762dedff4118a03 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.1
-Release: 20180818
+Release: 20180825
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
@@ -27,15 +27,6 @@ updating character screens with reasonable optimization.
 
 This package is used for testing ABI %{MY_ABI}.
 
-%package -n ncursest6
-Summary:        Curses library with POSIX thread support.
-
-%description -n ncursest6
-The ncurses library routines are a terminal-independent method of
-updating character screens with reasonable optimization.
-
-This package is used for testing ABI %{MY_ABI} with POSIX threads.
-
 %prep
 
 %global is_mandriva %(test -f /etc/mandriva-release && echo 1 || echo 0)
@@ -69,6 +60,7 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
        --disable-leaks \\\
        --disable-macros  \\\
        --disable-overwrite  \\\
+       --disable-relink  \\\
        --disable-termcap \\\
        --enable-hard-tabs \\\
        --enable-opaque-curses \\\
@@ -102,79 +94,33 @@ This package is used for testing ABI %{MY_ABI} with POSIX threads.
        --without-debug \\\
        --without-normal
 
-%global _configure ../configure
-
-mkdir BUILD-ncurses6
-pushd BUILD-ncurses6
 CFLAGS="%{CC_NORMAL}" \
 RPATH_LIST=../lib:%{_libdir} \
-CONFIGURE_TOP=%{my_srcdir} \
 %configure %{CFG_OPTS}
 make
-popd
-
-mkdir BUILD-ncursest6
-pushd BUILD-ncursest6
-CFLAGS="%{CC_NORMAL}" \
-RPATH_LIST=../lib:%{_libdir} \
-CONFIGURE_TOP=%{my_srcdir} \
-%configure %{CFG_OPTS} \
-       --enable-interop \
-       --enable-sp-funcs \
-       --program-suffix=t%{MY_ABI} \
-       --with-pthread
-make
-popd
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-pushd BUILD-ncurses6
 make install.libs install.progs
 rm -f test/ncurses
 ( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncurses%{MY_ABI} )
-popd
-
-pushd BUILD-ncursest6
-make install.libs install.progs
-rm -f test/ncurses
-( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncursest%{MY_ABI} )
-popd
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%files -n ncurses6
+%files
 %defattr(-,root,root,-)
 %{_bindir}/*
 %{_includedir}/*
 %{_libdir}/*
-%exclude %{_bindir}/tict6
-%exclude %{_bindir}/toet6
-%exclude %{_bindir}/tabst6
-%exclude %{_bindir}/resett6
-%exclude %{_bindir}/???*tt6
-%exclude %{_bindir}/?????*t6
-%exclude %{_bindir}/*tw6*
-%exclude %dir %{_includedir}/*tw6*
-%exclude %{_includedir}/*tw6*/*
-%exclude %{_libdir}/*tw6*
-%exclude %{_libdir}/pkgconfig/*tw6*
-
-%files -n ncursest6
-%defattr(-,root,root,-)
-%{_bindir}/tict6
-%{_bindir}/toet6
-%{_bindir}/tabst6
-%{_bindir}/???*tt6
-%{_bindir}/?????*t6
-%{_bindir}/*tw6*
-%{_includedir}/*tw6*
-%{_libdir}/*tw6*
-%{_libdir}/pkgconfig/*tw6*
 
 %changelog
 
+* Sat Aug 25 2018 Thomas E. Dickey
+- split spec-file into ncurses6 and ncursest6 to work around toolset breakage
+  in Fedora 28
+
 * Sat Jun 02 2018 Thomas E. Dickey
 - build-fix for Mageia
 
diff --git a/package/ncursest.spec b/package/ncursest.spec
new file mode 100644 (file)
index 0000000..12d4670
--- /dev/null
@@ -0,0 +1,158 @@
+Summary: Curses library with POSIX thread support.
+Name: ncursest6
+Version: 6.1
+Release: 20180825
+License: X11
+Group: Development/Libraries
+Source: ncurses-%{version}-%{release}.tgz
+# URL: https://invisible-island.net/ncurses/
+
+%define CC_NORMAL -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
+%define CC_STRICT %{CC_NORMAL} -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
+
+%global MY_ABI 6
+
+# save value before redefining
+%global sys_libdir %{_libdir}
+
+# was redefined...
+#global _prefix /usr/local/ncurses#{MY_ABI}
+
+%global MY_PKG %{sys_libdir}/pkgconfig
+%define MYDATA /usr/local/ncurses/share/terminfo
+
+%description
+The ncurses library routines are a terminal-independent method of
+updating character screens with reasonable optimization.
+
+This package is used for testing ABI %{MY_ABI} with POSIX threads.
+
+%prep
+
+%global is_mandriva %(test -f /etc/mandriva-release && echo 1 || echo 0)
+%global is_redhat   %(test -f /etc/redhat-release && echo 1 || echo 0)
+%global is_suse     %(test -f /etc/SuSE-release && echo 1 || echo 0)
+
+# nor are debug-symbols
+%define debug_package %{nil}
+
+%if %{is_mandriva}
+%define _disable_ld_as_needed 1
+%define _disable_ld_no_undefined 1
+# libtool is not used here...
+%define _disable_libtoolize 1
+%define _disable_ld_build_id 1
+%endif
+
+%setup -q -n ncurses-%{version}-%{release}
+
+%build
+%define my_srcdir ..
+%define CFG_OPTS \\\
+       --target %{_target_platform} \\\
+       --prefix=%{_prefix} \\\
+       --bindir=%{_bindir} \\\
+       --includedir=%{_includedir} \\\
+       --libdir=%{_libdir} \\\
+       --includedir='${prefix}/include' \\\
+       --disable-echo \\\
+       --disable-getcap \\\
+       --disable-leaks \\\
+       --disable-macros  \\\
+       --disable-overwrite  \\\
+       --disable-relink  \\\
+       --disable-termcap \\\
+       --enable-hard-tabs \\\
+       --enable-opaque-curses \\\
+       --enable-opaque-form \\\
+       --enable-opaque-menu \\\
+       --enable-opaque-panel \\\
+       --enable-pc-files \\\
+       --enable-rpath \\\
+       --enable-warnings \\\
+       --enable-wgetch-events \\\
+       --enable-widec \\\
+       --enable-xmc-glitch \\\
+       --program-suffix=%{MY_ABI} \\\
+       --verbose \\\
+       --with-abi-version=%{MY_ABI} \\\
+       --with-config-suffix=dev \\\
+       --with-cxx-shared \\\
+       --with-default-terminfo-dir=%{MYDATA} \\\
+       --with-develop \\\
+       --with-extra-suffix=%{MY_ABI} \\\
+       --with-install-prefix=$RPM_BUILD_ROOT \\\
+       --with-pkg-config-libdir=%{MY_PKG} \\\
+       --with-shared \\\
+       --with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \\\
+       --with-termlib \\\
+       --with-ticlib \\\
+       --with-trace \\\
+       --with-versioned-syms \\\
+       --with-xterm-kbs=DEL \\\
+       --without-ada \\\
+       --without-debug \\\
+       --without-normal
+
+CFLAGS="%{CC_NORMAL}" \
+RPATH_LIST=../lib:%{_libdir} \
+%configure %{CFG_OPTS} \
+       --enable-interop \
+       --enable-sp-funcs \
+       --program-suffix=t%{MY_ABI} \
+       --with-pthread
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make install.libs install.progs
+rm -f test/ncurses
+( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncursest%{MY_ABI} )
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%{_bindir}/*
+%{_includedir}/*
+%{_libdir}/*
+
+%changelog
+
+* Sat Aug 25 2018 Thomas E. Dickey
+- split spec-file into ncurses6 and ncursest6 to work around toolset breakage
+  in Fedora 28
+
+* Sat Jun 02 2018 Thomas E. Dickey
+- build-fix for Mageia
+
+* Sat May 26 2018 Thomas E. Dickey
+- use predefined configure-macro
+- separate ncurses6/ncursest6 packages
+
+* Sat Feb 10 2018 Thomas E. Dickey
+- add ncursest6 package
+- add several development features
+
+* Mon Jan 01 2018 Thomas E. Dickey
+- drop redundant files pattern for "*.pc"
+
+* Tue Dec 26 2017 Thomas E. Dickey
+- add --with-config-suffix option
+
+* Sun Apr 26 2015 Thomas E. Dickey
+- move package to /usr
+
+* Sun Apr 12 2015 Thomas E. Dickey
+- factor-out MY_ABI
+
+* Sat Mar 09 2013 Thomas E. Dickey
+- add --with-cxx-shared option to demonstrate c++ binding as shared library
+
+* Sat Oct 27 2012 Thomas E. Dickey
+- add ncurses program as "ncurses6" to provide demonstration.
+
+* Fri Jun 08 2012 Thomas E. Dickey
+- initial version.