Compare commits

..

No commits in common. "2c2bc178957f080845b526a36333a5f41a4a55d0" and "4c77537557ca5fcd48fbce157c5a083045fcf64e" have entirely different histories.

4 changed files with 37 additions and 132 deletions

View File

@ -1,101 +0,0 @@
From 86ec3d495e8c1a0ed8eaf14e7f6d5411517b676a September 20 00:00:00 2010
From: Mike Frysinger <vapier@gmail.com>
Date: Thu, 7 May 2020 10:08:02 +0800
Subject: [PATCH] #80 missing headers in some filesmp
https://sourceforge.net/p/expect/bugs/80/
Reference:https://sourceforge.net/p/expect/bugs/80/
Conflict:NA
---
exp_chan.c | 1 +
exp_clib.c | 7 +++++++
exp_trap.c | 1 +
exp_tty.h | 1 +
pty_termios.c | 3 +++
5 files changed, 13 insertions(+)
diff --git a/exp_chan.c b/exp_chan.c
index 79f486c..ba1fa80 100644
--- a/exp_chan.c
+++ b/exp_chan.c
@@ -34,6 +34,7 @@
#include "exp_rename.h"
#include "exp_prog.h"
#include "exp_command.h"
+#include "exp_event.h"
#include "exp_log.h"
#include "tcldbg.h" /* Dbg_StdinMode */
diff --git a/exp_clib.c b/exp_clib.c
index a4bed39..949638c 100644
--- a/exp_clib.c
+++ b/exp_clib.c
@@ -15,6 +15,12 @@ would appreciate credit if this program or parts of it are used.
#endif
#include <sys/types.h>
#include <sys/ioctl.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
#ifdef TIME_WITH_SYS_TIME
# include <sys/time.h>
@@ -1949,6 +1955,7 @@ expDiagLogU(str)
#include "expect.h"
#include "exp_int.h"
+EXTERN void exp_init_tty _ANSI_ARGS_((void));
/* exp_glob.c - expect functions for doing glob
*
diff --git a/exp_trap.c b/exp_trap.c
index 390e0e3..a55a74d 100644
--- a/exp_trap.c
+++ b/exp_trap.c
@@ -13,6 +13,7 @@ would appreciate credit if this program or parts of it are used.
#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
+#include <string.h>
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
diff --git a/exp_tty.h b/exp_tty.h
index 3013838..7b55f0e 100644
--- a/exp_tty.h
+++ b/exp_tty.h
@@ -17,6 +17,7 @@ extern int exp_stdout_is_tty;
void exp_tty_raw(int set);
void exp_tty_echo(int set);
+int exp_tty_cooked_echo(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo);
void exp_tty_break(Tcl_Interp *interp, int fd);
int exp_tty_raw_noecho(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo);
int exp_israw(void);
diff --git a/pty_termios.c b/pty_termios.c
index c605b23..e832b2f 100644
--- a/pty_termios.c
+++ b/pty_termios.c
@@ -9,6 +9,8 @@ would appreciate credit if you use this file or parts of it.
#include <stdio.h>
#include <signal.h>
+#include <string.h>
+#include <pty.h>
#if defined(SIGCLD) && !defined(SIGCHLD)
#define SIGCHLD SIGCLD
@@ -101,6 +103,7 @@ with openpty which supports 4000 while ptmx supports 60. */
#include "exp_tty_in.h"
#include "exp_rename.h"
+#include "exp_int.h"
#include "exp_pty.h"
void expDiagLog();
--
2.23.0

View File

@ -0,0 +1,29 @@
diff -up expect5.45/example/passmass.orig expect5.45/example/passmass
--- expect5.45/example/passmass.orig 2011-07-27 16:09:31.013843393 +0200
+++ expect5.45/example/passmass 2011-07-27 16:10:55.667843578 +0200
@@ -107,6 +107,10 @@ for {set i 0} {$i<$argc} {incr i} {
set login "ssh"
continue
} "-telnet" {
+ if {[file executable /usr/bin/telnet] == 0} {
+ send_user "It seems that telnet is not installed. Please install telnet in order to use the script with this option.\n"
+ exit 1
+ }
set login "telnet"
continue
} "-program" {
diff -up expect5.45/example/weather.orig expect5.45/example/weather
--- expect5.45/example/weather.orig 2011-07-27 15:49:57.878843862 +0200
+++ expect5.45/example/weather 2011-07-27 16:08:48.067843491 +0200
@@ -33,6 +33,11 @@ set timeout 60
set env(TERM) vt100 ;# actual value doesn't matter, just has to be set
+if {[file executable /usr/bin/telnet] == 0} {
+ send_user "It seems that telnet is not installed. Please install telnet in order to use this script.\n"
+ exit 1
+}
+
spawn telnet rainmaker.wunderground.com 3000
while {1} {
expect timeout {

View File

@ -1,5 +1,5 @@
--- expect5.45.4/exp_clib.c 2017-03-24 10:34:37.269183513 -0400 --- exp_clib.c.orig 2017-03-24 10:34:37.269183513 -0400
+++ expect5.45.4/exp_clib.c 2017-03-24 10:34:41.171117943 -0400 +++ exp_clib.c 2017-03-24 10:34:41.171117943 -0400
@@ -1938,8 +1938,8 @@ @@ -1938,8 +1938,8 @@
char *str; char *str;
{ {

View File

@ -4,12 +4,12 @@
Name: expect Name: expect
Epoch: 1 Epoch: 1
Version: 5.45.4 Version: 5.45.4
Release: 9 Release: 4
Summary: A tool for automating interactive applications Summary: A tool for automating interactive applications
License: Public Domain License: Public Domain
URL: https://core.tcl.tk/expect/index URL: https://core.tcl.tk/expect/index
Source0: http://downloads.sourceforge.net/%{name}/%{name}%{version}.tar.gz Source0: http://downloads.sourceforge.net/%{name}/%{name}%{version}.tar.gz
Buildrequires: gcc tcl-devel autoconf automake chrpath Buildrequires: gcc git tcl-devel autoconf automake chrpath
Provides: expectk Provides: expectk
Obsoletes: expectk Obsoletes: expectk
@ -35,6 +35,9 @@ Patch7: expect-5.45-fd-leak.patch
Patch100: expect-5.32.2-random.patch Patch100: expect-5.32.2-random.patch
# Patch101: fixes bz674184 - mkpasswd fails randomly # Patch101: fixes bz674184 - mkpasswd fails randomly
Patch101: expect-5.45-mkpasswd-dash.patch Patch101: expect-5.45-mkpasswd-dash.patch
# Patch102: fixes bz703702 - let user know that telnet is needed for
# running some examples
Patch102: expect-5.45-check-telnet.patch
# Patch103: use full path to 'su', it's safer # Patch103: use full path to 'su', it's safer
Patch103: expect-5.45-passmass-su-full-path.patch Patch103: expect-5.45-passmass-su-full-path.patch
# Patch104: rhbz 963889, fixes inaccuracy in mkpasswd man page # Patch104: rhbz 963889, fixes inaccuracy in mkpasswd man page
@ -42,8 +45,6 @@ Patch104: expect-5.45-mkpasswd-man.patch
# Patch105: Fix error with -Werror=format-security # Patch105: Fix error with -Werror=format-security
Patch105: expect-5.45-format-security.patch Patch105: expect-5.45-format-security.patch
Patch6000: backport-expect-5.45-headers.patch
%description %description
Expect is a tool for automating interactive applications Expect is a tool for automating interactive applications
such as telnet, ftp, passwd, fsck, rlogin, tip, etc. such as telnet, ftp, passwd, fsck, rlogin, tip, etc.
@ -74,7 +75,7 @@ Expect is also useful for testing these same applications.
This package contains man pages and other related documents for expect. This package contains man pages and other related documents for expect.
%prep %prep
%autosetup -n %{name}%{version} -p1 %autosetup -n %{name}%{version} -S git
%build %build
%configure \ %configure \
@ -102,14 +103,7 @@ rm -f "$RPM_BUILD_ROOT"%{_mandir}/man1/{cryptdir,decryptdir}.1*
# remove rpath # remove rpath
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/libexpect%{version}.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/libexpect%{version}.so
chrpath --delete $RPM_BUILD_ROOT%{_bindir}/expect
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
echo "%{_libdir}" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files %files
%doc ChangeLog FAQ HISTORY NEWS README %doc ChangeLog FAQ HISTORY NEWS README
@ -117,7 +111,6 @@ echo "%{_libdir}" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%dir %{tcl_sitearch}/expect%{version} %dir %{tcl_sitearch}/expect%{version}
%{tcl_sitearch}/expect%{version}/pkgIndex.tcl %{tcl_sitearch}/expect%{version}/pkgIndex.tcl
%{_libdir}/libexpect*.so %{_libdir}/libexpect*.so
%config(noreplace) /etc/ld.so.conf.d/*
%files devel %files devel
%{_includedir}/* %{_includedir}/*
@ -127,22 +120,6 @@ echo "%{_libdir}" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%{_mandir}/man3/libexpect.3* %{_mandir}/man3/libexpect.3*
%changelog %changelog
* Wed Jul 31 2024 hongjinghao <hongjinghao@huawei.com> - 1:5.45.4-9
- sync patch from upstream
backport-expect-5.45-headers.patch
* Thu Feb 22 2024 hongjinghao <hongjinghao@huawei.com> - 1:5.45.4-8
- remove rpath and runpath of exec files and libraries
* Thu Jun 9 2022 yangzhao1 <yangzhao1@kylinos.cn> - 1:5.45.4-7
- Remove unnecessary Buildrequires git
* Thu Sep 9 2021 wangchen <wangchen137@huawei.com> - 1:5.45.4-6
- Delete -S git from %autosetup
* Tue Jun 22 2021 panxiaohe <panxiaohe@huawei.com> - 1:5.45.4-5
- Delete the telnet patch to remove the dependency on telnet
* Mon Apr 20 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:5.45.4-4 * Mon Apr 20 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:5.45.4-4
- Type:bugfix - Type:bugfix
- ID:NA - ID:NA