[Pkg-tcltk-commits] r1885 - in expect/trunk/debian: . patches

sgolovan at alioth.debian.org sgolovan at alioth.debian.org
Thu Oct 26 08:36:48 UTC 2017


Author: sgolovan
Date: 2017-10-26 08:36:48 +0000 (Thu, 26 Oct 2017)
New Revision: 1885

Added:
   expect/trunk/debian/patches/28-cross.patch
Removed:
   expect/trunk/debian/patches/23-memmove.patch
   expect/trunk/debian/patches/25-matchlen.patch
   expect/trunk/debian/patches/27-exp_chan.patch
Modified:
   expect/trunk/debian/changelog
   expect/trunk/debian/compat
   expect/trunk/debian/control
   expect/trunk/debian/patches/10-manpage.patch
   expect/trunk/debian/patches/13-implicit-defs.patch
   expect/trunk/debian/patches/26-eof-handling.patch
   expect/trunk/debian/patches/series
   expect/trunk/debian/rules
   expect/trunk/debian/tcl-expect-dev.links.in
   expect/trunk/debian/tcl-expect.links.in
Log:
[expect]
  * New upstream release.
  * Remove patches which are were taken from upstream.
  * Demote tk8.6 from recommended to suggested in the expect dependencies
    list (closes: #876018).
  * Apply patch by Helmut Grohne which replaces a few calls to AC_TRY_RUN
    in the configure.in script to make the package cross compilable
    (closes: #873730).
  * Bumped the debhelper compatibility version to 10.
  * Remove the now useless build-dependency on autotools-dev.
  * Bumped standards version to 4.1.1.


Modified: expect/trunk/debian/changelog
===================================================================
--- expect/trunk/debian/changelog	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/changelog	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1,8 +1,17 @@
-expect (5.45-9) UNRELEASED; urgency=medium
+expect (5.45.3-1) unstable; urgency=medium
 
-  * NOT RELEASED YET
+  * New upstream release.
+  * Remove patches which are were taken from upstream.
+  * Demote tk8.6 from recommended to suggested in the expect dependencies
+    list (closes: #876018).
+  * Apply patch by Helmut Grohne which replaces a few calls to AC_TRY_RUN
+    in the configure.in script to make the package cross compilable
+    (closes: #873730).
+  * Bumped the debhelper compatibility version to 10.
+  * Remove the now useless build-dependency on autotools-dev.
+  * Bumped standards version to 4.1.1.
 
- -- Sergei Golovan <sgolovan at debian.org>  Sat, 15 Jul 2017 08:37:32 +0300
+ -- Sergei Golovan <sgolovan at debian.org>  Thu, 26 Oct 2017 11:14:59 +0300
 
 expect (5.45-8) unstable; urgency=medium
 

Modified: expect/trunk/debian/compat
===================================================================
--- expect/trunk/debian/compat	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/compat	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1 +1 @@
-9
+10

Modified: expect/trunk/debian/control
===================================================================
--- expect/trunk/debian/control	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/control	2017-10-26 08:36:48 UTC (rev 1885)
@@ -2,10 +2,9 @@
 Section: interpreters
 Priority: optional
 Maintainer: Sergei Golovan <sgolovan at debian.org>
-Build-Depends: debhelper (>= 9.0.0), dpkg-dev (>= 1.16.1~), autotools-dev,
- autoconf, tcl8.6-dev
+Build-Depends: debhelper (>= 10.0.0), dpkg-dev (>= 1.16.1~), autoconf, tcl8.6-dev
 Build-Conflicts: autoconf2.13
-Standards-Version: 4.0.0
+Standards-Version: 4.1.1
 Homepage: http://sourceforge.net/projects/expect/
 
 Package: expect
@@ -14,7 +13,8 @@
 Conflicts: expect-dev
 Provides: expect-dev
 Replaces: expect-dev
-Recommends: tcl8.6, tk8.6
+Recommends: tcl8.6
+Suggests: tk8.6
 Multi-Arch: foreign
 Description: Automates interactive applications
  Expect is a tool for automating interactive applications according to a script.

Modified: expect/trunk/debian/patches/10-manpage.patch
===================================================================
--- expect/trunk/debian/patches/10-manpage.patch	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/patches/10-manpage.patch	2017-10-26 08:36:48 UTC (rev 1885)
@@ -17,17 +17,7 @@
  
  The
  .B \-c
-@@ -173,7 +173,8 @@
- .B \-b
- flag.
- (When using Expectk, this option is specified as
--.BR \-buffer .)  Note that stdio-buffering may still take place however this shouldn't cause problems when reading from a fifo or stdin.
-+.BR \-buffer .)  Note that stdio-buffering may still take place however this
-+shouldn't cause problems when reading from a fifo or stdin.
- .PP
- If the string "\-" is supplied as a filename, standard input is read instead.
- (Use "./\-" to read from a file actually named "\-".)
-@@ -207,7 +208,7 @@
+@@ -209,7 +209,7 @@
  original arguments (including the script name) in the variable
  .IR argv .
  
@@ -36,7 +26,7 @@
  
  Note that the usual getopt(3) and execve(2) conventions must be observed
  when adding arguments to the #! line.
-@@ -291,7 +292,7 @@
+@@ -293,7 +293,7 @@
  program.)
  .I
  .TP 6
@@ -45,7 +35,7 @@
  closes the connection to the current process.
  Most interactive programs will detect EOF on their stdin and exit;
  thus
-@@ -320,7 +321,7 @@
+@@ -322,7 +322,7 @@
  
  The 
  .B \-slave
@@ -54,7 +44,7 @@
  When the connection is closed, the slave is automatically closed as
  well if still open.
  
-@@ -337,7 +338,7 @@
+@@ -339,7 +339,7 @@
  .B wait
  below for more info.
  .TP
@@ -63,7 +53,7 @@
  controls a Tcl debugger allowing you to step through statements, set
  breakpoints, etc.
  
-@@ -355,7 +356,7 @@
+@@ -357,7 +357,7 @@
  The
  .B debug
  command does not change any traps.  Compare this to starting Expect with the 
@@ -72,7 +62,7 @@
  flag (see above).
  
  See the README file or SEE ALSO (below)
-@@ -385,7 +386,7 @@
+@@ -387,7 +387,7 @@
  .nf
  
      send_user "password?\\ "
@@ -81,7 +71,7 @@
      for {} 1 {} {
          if {[fork]!=0} {sleep 3600;continue}
          disconnect
-@@ -452,7 +453,7 @@
+@@ -454,7 +454,7 @@
  .B exit
  is implicitly executed if the end of the script is reached.
  .TP
@@ -90,7 +80,7 @@
  The command
  .B exp_continue
  allows
-@@ -462,7 +463,7 @@
+@@ -464,7 +464,7 @@
  default
  .B exp_continue
  resets the timeout timer. The
@@ -99,7 +89,7 @@
  flag prevents timer from being restarted. (See
  .B expect
  for more information.)
-@@ -625,8 +626,8 @@
+@@ -627,8 +627,8 @@
  be used to protect patterns that might otherwise match
  .B expect
  flags from doing so.
@@ -110,7 +100,7 @@
  
  .IP
  For example, the following fragment looks for a successful login.
-@@ -733,7 +734,7 @@
+@@ -735,7 +735,7 @@
  through
  .IR expect_out(9,string) .
  If the
@@ -119,7 +109,7 @@
  flag is used before a pattern,
  the starting and ending indices (in a form suitable for
  .BR lrange )
-@@ -780,7 +781,7 @@
+@@ -782,7 +782,7 @@
      set expect_out(buffer) abbbcabkkkk
  
  .fi
@@ -128,7 +118,7 @@
  flush the output buffer without reading any more output from the
  process.
  .IP
-@@ -788,7 +789,7 @@
+@@ -790,7 +790,7 @@
  This may be prevented by prefixing a pattern with the
  .B \-notransfer
  flag.  This flag is especially useful in experimenting (and can be
@@ -137,7 +127,7 @@
  
  The spawn id associated with the matching output (or eof or
  full_buffer) is stored in
-@@ -872,9 +873,9 @@
+@@ -874,9 +874,9 @@
  
      expect {
          Password: {
@@ -149,7 +139,7 @@
              send_user "\\n"
              send "$expect_out(1,string)\\r"
              stty echo
-@@ -889,7 +890,7 @@
+@@ -891,7 +891,7 @@
              send_user \\
                  "connection to host failed: $expect_out(buffer)"
              exit
@@ -158,7 +148,7 @@
      }
  
  .fi
-@@ -1021,14 +1022,14 @@
+@@ -1023,14 +1023,14 @@
  By default, it reports on the current spawn id.  An optional spawn id specification may be given for information on that spawn id.  For example
  .nf
  
@@ -176,7 +166,7 @@
  
  The output of the \-info flag can be reused as the argument to expect_before.
  .TP
-@@ -1121,7 +1122,7 @@
+@@ -1123,7 +1123,7 @@
  .ta \w'    interact 'u +\w'$CTRLZ  'u +\w'{'u
      set CTRLZ \\032
      interact {
@@ -185,7 +175,7 @@
          \\001   {send_user "you typed a control\-A\\n";
                  send "\\001"
                 }
-@@ -1150,8 +1151,8 @@
+@@ -1152,8 +1152,8 @@
  flag may be used to protect patterns that might otherwise match
  .B interact
  flags from doing so.
@@ -196,7 +186,7 @@
  
  The
  .B \-re
-@@ -1197,7 +1198,7 @@
+@@ -1199,7 +1199,7 @@
  messages:
  .nf
  
@@ -205,7 +195,7 @@
          $spawn_id 
  
  .fi
-@@ -1296,9 +1297,9 @@
+@@ -1298,9 +1298,9 @@
  .nf
  
      interact {
@@ -218,7 +208,7 @@
      }
  
  .fi
-@@ -1314,11 +1315,11 @@
+@@ -1316,11 +1316,11 @@
  .nf
  
      proc lognumber {} {
@@ -232,7 +222,7 @@
  
  .fi
  .IP
-@@ -1389,7 +1390,7 @@
+@@ -1391,7 +1391,7 @@
  command, except that any_spawn_id is not meaningful in
  .BR interact .)
  All following flags and
@@ -241,7 +231,7 @@
  If no
  .B \-input
  appears,
-@@ -1427,7 +1428,7 @@
+@@ -1429,7 +1429,7 @@
  It is possible to change the processes that are being interacted with
  by using indirect spawn ids.  (Indirect spawn ids are described in the
  section on the expect command.)  Indirect spawn ids may be specified
@@ -250,7 +240,7 @@
  .TP
  .B interpreter " [args]"
  causes the user to be interactively prompted for
-@@ -1513,18 +1514,18 @@
+@@ -1515,18 +1515,18 @@
  flag.
  
  The
@@ -272,7 +262,7 @@
  flag causes log_user to return a description of the
  most recent non-info arguments given.
  .TP
-@@ -1645,7 +1646,7 @@
+@@ -1647,7 +1647,7 @@
  Any string can be preceded by "\-\-" whether or not it actually looks
  like a flag.  This provides a reliable mechanism to specify variable strings
  without being tripped up by those that accidentally look like flags.
@@ -281,7 +271,7 @@
  
  The
  .B \-i
-@@ -1669,7 +1670,7 @@
+@@ -1671,7 +1671,7 @@
  The
  .B \-break
  flag generates a break condition.  This only makes sense if the spawn
@@ -290,7 +280,7 @@
  spawned a process such as tip, you should use tip's convention for
  generating a break.
  
-@@ -1772,7 +1773,7 @@
+@@ -1774,7 +1774,7 @@
  except that the output is sent to stderr rather than the current
  process.
  .TP
@@ -299,7 +289,7 @@
  is like
  .BR send ,
  except that the string is only sent to the log file (see
-@@ -1949,7 +1950,7 @@
+@@ -1951,7 +1951,7 @@
  The variable
  .I spawn_out(slave,fd)
  is set to a file identifier corresponding to the pty slave.
@@ -308,7 +298,7 @@
  
  The
  .B \-ignore
-@@ -1976,7 +1977,7 @@
+@@ -1978,7 +1978,7 @@
  .fi
  
  The
@@ -317,7 +307,7 @@
  flag causes strace to return a description of the
  most recent non-info arguments given.
  .TP
-@@ -2016,7 +2017,7 @@
+@@ -2018,7 +2018,7 @@
  
      stty \-echo
      send_user "Password: "
@@ -326,7 +316,7 @@
      set password $expect_out(1,string)
      stty echo
  
-@@ -2151,7 +2152,7 @@
+@@ -2153,7 +2153,7 @@
      trap exit {SIGINT SIGTERM}
  
  .fi
@@ -335,7 +325,7 @@
  to start the interactive debugger.  This is due to the following trap:
  .nf
  
-@@ -2192,9 +2193,9 @@
+@@ -2194,9 +2194,9 @@
  normally returns a list of four integers.
  The first integer is the pid of the process that was waited upon.
  The second integer is the corresponding spawn id.
@@ -347,7 +337,7 @@
  the value of errno set by the operating system.  The global variable
  errorCode is also set.
  
-@@ -2210,7 +2211,7 @@
+@@ -2212,7 +2212,7 @@
  flag declares the process to wait corresponding to the named spawn_id
  (NOT the process id).
  Inside a SIGCHLD handler,
@@ -356,7 +346,7 @@
  
  The
  .B \-nowait
-@@ -2221,7 +2222,7 @@
+@@ -2223,7 +2223,7 @@
  The
  .B wait
  command may also be used wait for a forked process using the arguments
@@ -365,7 +355,7 @@
  executed at any time.  There is no control over which process is
  reaped.  However, the return value can be checked for the process id.
  
-@@ -2372,7 +2373,7 @@
+@@ -2374,7 +2374,7 @@
  .nf
  
      set env(SHELL) /bin/sh
@@ -374,7 +364,7 @@
  
  .fi
  
-@@ -2425,7 +2426,7 @@
+@@ -2427,7 +2427,7 @@
  to set a flag in the trap code.  Then check the flag immediately after
  the command (i.e., sleep).
  
@@ -383,7 +373,7 @@
  concept of timeouts in general.
  
  .SH "EXPECT HINTS"
-@@ -2447,7 +2448,7 @@
+@@ -2449,7 +2449,7 @@
      set prompt "(%|#|\\\\$) $"          ;# default prompt
      catch {set prompt $env(EXPECT_PROMPT)}
  

Modified: expect/trunk/debian/patches/13-implicit-defs.patch
===================================================================
--- expect/trunk/debian/patches/13-implicit-defs.patch	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/patches/13-implicit-defs.patch	2017-10-26 08:36:48 UTC (rev 1885)
@@ -57,8 +57,8 @@
 +EXTERN void		exp_ecmd_remove_state_direct_and_indirect _ANSI_ARGS_((Tcl_Interp *interp,ExpState *esPtr));
  EXTERN void		expChannelInit _ANSI_ARGS_((void));
  EXTERN int		expChannelCountGet _ANSI_ARGS_((void));
- 
-@@ -337,6 +341,8 @@
+ EXTERN int              expChannelStillAlive _ANSI_ARGS_((ExpState *, char *));
+@@ -338,6 +342,8 @@
  EXTERN ExpState *	expStdinoutGet _ANSI_ARGS_((void));
  EXTERN ExpState *	expDevttyGet _ANSI_ARGS_((void));
  
@@ -67,7 +67,7 @@
  /* generic functions that really should be provided by Tcl */
  #if 0 /* Redefined as macros. */
  EXTERN int		expSizeGet _ANSI_ARGS_((ExpState *));
-@@ -348,6 +354,8 @@
+@@ -349,6 +355,8 @@
  
  #define EXP_CMDINFO_CLOSE  "expect/cmdinfo/close"
  #define EXP_CMDINFO_RETURN "expect/cmdinfo/return"

Deleted: expect/trunk/debian/patches/23-memmove.patch
===================================================================
--- expect/trunk/debian/patches/23-memmove.patch	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/patches/23-memmove.patch	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1,17 +0,0 @@
-Author: Per Cederqvist <ceder at lysator.liu.se>
-Description: Fix for copying overlapping memory area.
-Last-Modified: Mon, 04 Nov 2013 08:23:51 +0400
-Bug-Debian: http://bugs.debian.org/728663
-Bug: https://sourceforge.net/p/expect/patches/16/
-
---- a/expect.c
-+++ b/expect.c
-@@ -1094,7 +1094,7 @@
- 			/* shift remaining elements down */
- 			/* but only if there are any left */
- 			if (i+1 != ecmd->ecd.count) {
--				memcpy(&ecmd->ecd.cases[i],
-+				memmove(&ecmd->ecd.cases[i],
- 				       &ecmd->ecd.cases[i+1],
- 					((ecmd->ecd.count - i) - 1) * 
- 					sizeof(struct exp_cmd_descriptor *));

Deleted: expect/trunk/debian/patches/25-matchlen.patch
===================================================================
--- expect/trunk/debian/patches/25-matchlen.patch	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/patches/25-matchlen.patch	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1,19 +0,0 @@
-Author: Upstream
-Description: Report and fix by Mutsuhito Iikura. On finding a full buffer during
- matching the sliding window mechanism slides too far, truncating
- the whole buffer and preventing matches across the boundary. Fix
- is shortening the slide distance (slide only one 1/3).
-Last-Modified: Fri, 23 Oct 2015 11:07:19 +0300
-Bug: http://sourceforge.net/p/expect/bugs/76/
-
---- a/expect.c
-+++ b/expect.c
-@@ -979,7 +979,7 @@
- 	/* condition is (size >= max*2/3) <=> (size*3 >= max*2) */
- 	if (((expSizeGet(esPtr)*3) >= (esPtr->input.max*2)) && (numchars > 0)) {
- 	o->e = e;
--	    o->matchlen = numchars;
-+	    o->matchlen = numchars/3;
- 	    o->matchbuf = str;
- 	o->esPtr = esPtr;
- 	expDiagLogU(yes);

Modified: expect/trunk/debian/patches/26-eof-handling.patch
===================================================================
--- expect/trunk/debian/patches/26-eof-handling.patch	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/patches/26-eof-handling.patch	2017-10-26 08:36:48 UTC (rev 1885)
@@ -8,26 +8,12 @@
 
 --- a/expect.c
 +++ b/expect.c
-@@ -1860,19 +1860,11 @@
-     if (cc == EXP_DATA_NEW) {
+@@ -1861,7 +1861,7 @@
  	/* try to read it */
  	cc = expIRead(interp,esPtr,timeout,tcl_set_flags);
--	
--	/* the meaning of 0 from i_read means eof.  Muck with it a */
--	/* little, so that from now on it means "no new data arrived */
--	/* but it should be looked at again anyway". */
--	if (cc == 0) {
-+
+ 	
+-	if (Tcl_Eof(esPtr->channel)) {
 +	if (cc == 0 && Tcl_Eof(esPtr->channel)) {
  	    cc = EXP_EOF;
--	} else if (cc > 0) {
--	    /* successfully read data */
--	} else {
--	    /* failed to read data - some sort of error was encountered such as
--	     * an interrupt with that forced an error return
--	     */
  	}
-+
      } else if (cc == EXP_DATA_OLD) {
- 	cc = 0;
-     } else if (cc == EXP_RECONFIGURE) {

Deleted: expect/trunk/debian/patches/27-exp_chan.patch
===================================================================
--- expect/trunk/debian/patches/27-exp_chan.patch	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/patches/27-exp_chan.patch	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1,131 +0,0 @@
-Author: Upstream
-Description: Combination of 3 patches for unreleased Expect 5.45.1.
- 1) A patch sent in by Ogawa Hirofumi. The patch fixes a problem when
-    talking a tty where the writer has died. Some operating systems
-    report the condition as EIO with nothing read, while this
-    actually an EOF. Without the patch the returned data is
-    incomplete due to the error reported immediately and dropping
-    data in buffers.
- 2) A patch by Michael Cleverly fixing a problem with the
-    iteration over the expect channel list where the loop code may
-    modify the list, breaking the iterator.
- 3) A patch by Michael Cleverly fixing problem with an insufficient
-    test for a lost channel in exp_background_channelhandler().
-Last-Modified: Fri, 23 Oct 2015 11:24:33 +0300
-
---- a/expect.c
-+++ b/expect.c
-@@ -2495,8 +2495,12 @@
-      */
- 
-     /* First check that the esPtr is even still valid! */
--    /* This ought to be sufficient. */
--    if (0 == Tcl_GetChannel(interp,backup,(int *)0)) {
-+    /* 
-+     * It isn't sufficient to just check that 'Tcl_GetChannel' still knows about
-+     * backup since it is possible that esPtr was lost in the background AND
-+     * another process spawned and reassigned the same name. 
-+     */
-+    if (!expChannelStillAlive(esPtr, backup)) {
-       expDiagLog("expect channel %s lost in background handler\n",backup);
-       return;
-     }
---- a/exp_chan.c
-+++ b/exp_chan.c
-@@ -218,6 +218,11 @@
- 
-     bytesRead = read(esPtr->fdin, buf, (size_t) toRead);
-     /*printf("ExpInputProc: read(%d,,) = %d\r\n",esPtr->fdin,bytesRead);*/
-+
-+    /* Emulate EOF on tty for tcl */
-+    if ((bytesRead == -1) && (errno == EIO) && isatty(esPtr->fdin)) {
-+	bytesRead = 0;
-+    }
-     if (bytesRead > -1) {
- 	/* strip parity if requested */
- 	if (esPtr->parity == 0) {
-@@ -448,6 +453,34 @@
-     ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
-     return tsdPtr->channelCount;
- }
-+
-+int
-+expChannelStillAlive(esBackupPtr, backupName)
-+     ExpState *esBackupPtr;
-+     char *backupName;
-+{
-+    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
-+    ExpState *esPtr;
-+
-+    /* 
-+     * This utility function is called from 'exp_background_channelhandler'
-+     * and checks to make sure that backupName can still be found in the 
-+     * channels linked list at the same address as before.
-+     *
-+     * If it can't be (or if the memory address has changed) then it
-+     * means that it was lost in the background (and possibly another
-+     * channel was opened and reassigned the same name).
-+     */
-+
-+    for (esPtr = tsdPtr->firstExpPtr; esPtr; esPtr = esPtr->nextPtr) {
-+        if (0 == strcmp(esPtr->name, backupName)) 
-+            return (esPtr == esBackupPtr);
-+    }
-+        
-+    /* not found; must have been lost in the background */
-+    return 0;
-+}
-+
- #if 0 /* Converted to macros */
- int
- expSizeGet(esPtr)
-@@ -603,12 +636,38 @@
- {
-     ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
-     ExpState *esPtr;
-+    ExpState *esNextPtr;
-+    ExpState *esPriorPtr = 0;
- 
-     /* kick off any that already have input waiting */
--    for (esPtr = tsdPtr->firstExpPtr;esPtr;esPtr = esPtr->nextPtr) {
-+    for (esPtr = tsdPtr->firstExpPtr;esPtr; esPriorPtr = esPtr, esPtr = esPtr->nextPtr) {
- 	/* is bg_interp the best way to check if armed? */
- 	if (esPtr->bg_interp && !expSizeZero(esPtr)) {
-+            /* 
-+             * We save the nextPtr in a local variable before calling
-+             * 'exp_background_channelhandler' since in some cases
-+             * 'expStateFree' could end up getting called before it
-+             * returns, leading to a likely segfault on the next
-+             * interaction through the for loop.
-+             */
-+            esNextPtr = esPtr->nextPtr;
- 	    exp_background_channelhandler((ClientData)esPtr,0);
-+            if (esNextPtr != esPtr->nextPtr) {
-+                /* 
-+                 * 'expStateFree' must have been called from
-+                 * underneath us so we know that esPtr->nextPtr is
-+                 * invalid.  However, it is possible that either the
-+                 * original nextPtr and/or the priorPtr have been
-+                 * freed too.  If the esPriorPtr->nextPtr is now
-+                 * esNextPtr it seems safe to proceed.  Otherwise we
-+                 * break and end early for safety.
-+                 */
-+                if (esPriorPtr && esPriorPtr->nextPtr == esNextPtr) {
-+                    esPtr = esPriorPtr;
-+                } else {
-+                    break; /* maybe set esPtr = tsdPtr->firstExpPtr again? */
-+                }
-+            }
- 	}
-     }
- }
---- a/exp_command.h
-+++ b/exp_command.h
-@@ -248,6 +248,7 @@
- EXTERN void		exp_ecmd_remove_state_direct_and_indirect _ANSI_ARGS_((Tcl_Interp *interp,ExpState *esPtr));
- EXTERN void		expChannelInit _ANSI_ARGS_((void));
- EXTERN int		expChannelCountGet _ANSI_ARGS_((void));
-+EXTERN int              expChannelStillAlive _ANSI_ARGS_((ExpState *, char *));
- 
- EXTERN int		exp_tcl2_returnvalue _ANSI_ARGS_((int));
- EXTERN int		exp_2tcl_returnvalue _ANSI_ARGS_((int));

Added: expect/trunk/debian/patches/28-cross.patch
===================================================================
--- expect/trunk/debian/patches/28-cross.patch	                        (rev 0)
+++ expect/trunk/debian/patches/28-cross.patch	2017-10-26 08:36:48 UTC (rev 1885)
@@ -0,0 +1,265 @@
+From: Helmut Grohne <helmut at subdivi.de>
+Subject: make cross compilation work
+
+This patch essentially replaces most AC_TRY_RUN with something "better".
+Dependening on the use case that may be AC_TRY_COMPILE, AC_COMPUTE_INT or even
+AC_CHECK_TYPE. Uses beyond cross compilation:
+ * Significant simplification of the code.
+ * Some checks become cacheable.
+
+Index: expect-5.45/configure.in
+===================================================================
+--- expect-5.45.orig/configure.in
++++ expect-5.45/configure.in
+@@ -467,47 +467,32 @@
+ # and if so that WNOHANG is not defined.  The only place I've
+ # seen this is ISC.
+ AC_MSG_CHECKING([if WNOHANG requires _POSIX_SOURCE])
+-AC_TRY_RUN([
++AC_TRY_COMPILE([
+ #include <sys/wait.h>
+-main() {
++],[
+ #ifndef WNOHANG
+-	return 0;
+-#else
+-	return 1;
++#error WNOHANG missing
+ #endif
+-}],
+-	AC_MSG_RESULT(yes)
+-	AC_DEFINE(WNOHANG_REQUIRES_POSIX_SOURCE)
+-,
++],
+ 	AC_MSG_RESULT(no)
+ ,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
++	AC_MSG_RESULT(yes)
++	AC_DEFINE(WNOHANG_REQUIRES_POSIX_SOURCE)
+ )
+ 
+ AC_MSG_CHECKING([if any value exists for WNOHANG])
+ rm -rf wnohang
+-AC_TRY_RUN([
++AC_COMPUTE_INT(WNOHANG_BACKUP_VALUE, WNOHANG, [
+ #include <stdio.h>
+ #include <sys/wait.h>
+-main() {
+-#ifdef WNOHANG
+-	FILE *fp = fopen("wnohang","w");
+-	fprintf(fp,"%d",WNOHANG);
+-	fclose(fp);
+-	return 0;
+-#else
+-	return 1;
+-#endif
+-}],
+-	AC_MSG_RESULT(yes)
+-	AC_DEFINE_UNQUOTED(WNOHANG_BACKUP_VALUE, `cat wnohang`)
+-	rm -f wnohang
+-,
+-	AC_MSG_RESULT(no)
++],[WNOHANG_BACKUP_VALUE=no])
++if "$WNOHANG_BACKUP_VALUE" = "no"; then
+ 	AC_DEFINE(WNOHANG_BACKUP_VALUE, 1)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+-)
++	AC_MSG_RESULT(no)
++else
++	AC_DEFINE_UNQUOTED(WNOHANG_BACKUP_VALUE, [$WNOHANG_BACKUP_VALUE])
++	AC_MSG_RESULT(yes)
++fi
+ 
+ #
+ # check how signals work
+@@ -711,22 +696,12 @@
+ fi
+ 
+ # first check for the pure bsd
+-AC_MSG_CHECKING([for struct sgttyb])
+-AC_TRY_RUN([
+-#include <sgtty.h>
+-main()
+-{
+-  struct sgttyb tmp;
+-  exit(0);
+-}],
+-        AC_MSG_RESULT(yes)
++AC_CHECK_TYPE([struct sgttyb],[
+         AC_DEFINE(HAVE_SGTTYB)
+         PTY_TYPE=sgttyb
+-,
+-        AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+-)
++],[],[
++#include <sgtty.h>
++])
+ 
+ # mach systems have include files for unimplemented features
+ # so avoid doing following test on those systems
+@@ -736,109 +711,77 @@
+   # note that if we detect termio.h (only), we still set PTY_TYPE=termios
+   # since that just controls which of pty_XXXX.c file is use and
+   # pty_termios.c is set up to handle pty_termio.
+-  AC_MSG_CHECKING([for struct termio])
+-  AC_TRY_RUN([#include <termio.h>
+-  main()
+-  {
+-    struct termio tmp;
+-    exit(0);
+-  }],
++  AC_CHECK_TYPE([struct termio],[
+         AC_DEFINE(HAVE_TERMIO)
+         PTY_TYPE=termios
+-        AC_MSG_RESULT(yes)
+-,
+-        AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+-)
++],[],[
++#include <termio.h>
++])
+ 
+   # now check for the new style ttys (not yet posix)
+-  AC_MSG_CHECKING([for struct termios])
+-  AC_TRY_RUN([
++  AC_CHECK_TYPE([struct termios],[
++        AC_DEFINE(HAVE_TERMIOS)
++        PTY_TYPE=termios
++  ],[],[
+   /* including termios.h on Solaris 5.6 fails unless inttypes.h included */
+ #  ifdef HAVE_INTTYPES_H
+ #  include <inttypes.h>
+ #  endif
+ #  include <termios.h>
+-  main()
+-  {
+-    struct termios tmp;
+-    exit(0);
+-  }],
+-        AC_DEFINE(HAVE_TERMIOS)
+-        PTY_TYPE=termios
+-        AC_MSG_RESULT(yes)
+-  ,
+-        AC_MSG_RESULT(no)
+-  ,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+-  )
++  ])
+ fi
+ 
+ AC_MSG_CHECKING([if TCGETS or TCGETA in termios.h])
+-AC_TRY_RUN([
++AC_TRY_COMPILE([
+ /* including termios.h on Solaris 5.6 fails unless inttypes.h included */
+ #ifdef HAVE_INTTYPES_H
+ #include <inttypes.h>
+ #endif
+ #include <termios.h>
+-main() {
++],[
+ #if defined(TCGETS) || defined(TCGETA)
+-	return 0;
+ #else
+-	return 1;
++#error missing
+ #endif
+-}],
++],[
+ 	AC_DEFINE(HAVE_TCGETS_OR_TCGETA_IN_TERMIOS_H)
+ 	AC_MSG_RESULT(yes)
+-,
++],[
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+-)
++])
+ 
+ AC_MSG_CHECKING([if TIOCGWINSZ in termios.h])
+-AC_TRY_RUN([
++AC_TRY_COMPILE([
+ /* including termios.h on Solaris 5.6 fails unless inttypes.h included */
+ #ifdef HAVE_INTTYPES_H
+ #include <inttypes.h>
+ #endif
+ #include <termios.h>
+-main() {
+-#ifdef TIOCGWINSZ
+-	return 0;
+-#else
+-	return 1;
++],[
++#ifndef TIOCGWINSZ
++#error missing
+ #endif
+-}],
++],[
+ 	AC_DEFINE(HAVE_TIOCGWINSZ_IN_TERMIOS_H)
+ 	AC_MSG_RESULT(yes)
+-,
++],[
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+-)
++])
+ 
+ # finally check for Cray style ttys
+ AC_MSG_CHECKING([for Cray-style ptys])
+ SETUID=":"
+-AC_TRY_RUN([
+-main(){
+-#ifdef CRAY
+-	return 0;
+-#else
+-	return 1;
++AC_TRY_COMPILE([],[
++#ifndef CRAY
++#error missing
+ #endif
+-}
+-],
++],[
+ 	PTY_TYPE=unicos
+ 	SETUID="chmod u+s"
+ 	AC_MSG_RESULT(yes)
+-,
++],[
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+-)
++])
+ 
+ #
+ # Check for select and/or poll. If both exist, we prefer select.
+@@ -875,21 +818,16 @@
+ # check for timezones
+ #
+ AC_MSG_CHECKING([for SV-style timezone])
+-AC_TRY_RUN([
++AC_TRY_COMPILE([
+ extern char *tzname[2];
+ extern int daylight;
+-main()
+-{
++],[
+   int *x = &daylight;
+   char **y = tzname;
+-
+-  exit(0);
+-}],
++],
+ 	AC_DEFINE(HAVE_SV_TIMEZONE)
+ 	AC_MSG_RESULT(yes),
+ 	AC_MSG_RESULT(no)
+-,
+-	AC_MSG_ERROR([Expect can't be cross compiled])
+ )
+ 
+ 

Modified: expect/trunk/debian/patches/series
===================================================================
--- expect/trunk/debian/patches/series	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/patches/series	2017-10-26 08:36:48 UTC (rev 1885)
@@ -11,8 +11,6 @@
 16-logfile.patch
 18-non-linux.patch
 22-segfault-with-stubs.patch
-23-memmove.patch
 24-format.patch
-25-matchlen.patch
 26-eof-handling.patch
-27-exp_chan.patch
+28-cross.patch

Modified: expect/trunk/debian/rules
===================================================================
--- expect/trunk/debian/rules	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/rules	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1,6 +1,7 @@
 #!/usr/bin/make -f
 
 v = 5.45
+vv = 5.45.3
 tclv = 8.6
 
 DPKG_EXPORT_BUILDFLAGS = 1
@@ -14,7 +15,9 @@
 LINKS = debian/expect.links debian/tcl-expect.links debian/tcl-expect-dev.links
 
 debian/%.links: debian/%.links.in
-	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@
+	sed -e 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
+	    -e 's/@V@/$(v)/g' \
+	    -e 's/@VV@/$(vv)/g' $< > $@
 
 override_dh_auto_clean:
 	dh_auto_clean
@@ -63,13 +66,13 @@
 	cp debian/tmp/usr/share/man/man1/expect.1 debian/tmp/usr/share/man/man3/Expect.3tcl
 	sed -i -e's:\.TH EXPECT 1:.TH EXPECT 3tcl:' debian/tmp/usr/share/man/man3/Expect.3tcl
 	# Fix library name
-	mv debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/expect$(v)/libexpect$(v).so debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libexpect.so.$(v)
+	mv debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/expect$(vv)/libexpect$(vv).so debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libexpect.so.$(vv)
 	mkdir -p -m 755 debian/tmp/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)
-	mv debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/expect$(v) debian/tmp/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)
+	mv debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/expect$(vv) debian/tmp/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)
 	# Fix pkgIndex.tcl
-	sed -i -e's:usr lib:usr lib $(DEB_HOST_MULTIARCH):' debian/tmp/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)/expect$(v)/pkgIndex.tcl
+	sed -i -e's:usr lib:usr lib $(DEB_HOST_MULTIARCH):' debian/tmp/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)/expect$(vv)/pkgIndex.tcl
 	# Fix permissions
-	chmod 0644 debian/tmp/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)/expect$(v)/pkgIndex.tcl
+	chmod 0644 debian/tmp/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)/expect$(vv)/pkgIndex.tcl
 
 override_dh_link: $(LINKS)
 	dh_link
@@ -78,8 +81,8 @@
 	dh_install --fail-missing
 
 get-orig-source:
-	wget -O expect_$(v).orig.tar.gz \
-	     http://prdownloads.sourceforge.net/expect/expect$(v).tar.gz
+	wget -O expect_$(vv).orig.tar.gz \
+	     http://prdownloads.sourceforge.net/expect/expect$(vv).tar.gz
 
 .PHONY: override_dh_auto_clean override_dh_auto_configure override_dh_auto_build \
 	override_dh_auto_install override_dh_install get-orig-source

Modified: expect/trunk/debian/tcl-expect-dev.links.in
===================================================================
--- expect/trunk/debian/tcl-expect-dev.links.in	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/tcl-expect-dev.links.in	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1 +1 @@
-/usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so.5.45 /usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so
+/usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so. at VV@ /usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so

Modified: expect/trunk/debian/tcl-expect.links.in
===================================================================
--- expect/trunk/debian/tcl-expect.links.in	2017-10-08 20:42:27 UTC (rev 1884)
+++ expect/trunk/debian/tcl-expect.links.in	2017-10-26 08:36:48 UTC (rev 1885)
@@ -1 +1,2 @@
-/usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so.5.45 /usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so.5
+/usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so. at VV@ /usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so. at V@
+/usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so. at VV@ /usr/lib/@DEB_HOST_MULTIARCH@/libexpect.so.5




More information about the Pkg-tcltk-commits mailing list