From cf1b63c80f243c683d3acd242ddb353ffdf89885 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sat, 2 Oct 2010 10:45:15 +0000 Subject: [PATCH] - updated to 5.44.1.15 - updated soname patch (no .0.0 suffix, just set soname) - removed obsolete alpha,lib64,build,tcl85 patches - dropped static package (not built if shared library is built) Changed files: expect-alpha.patch -> 1.3 expect-build.patch -> 1.2 expect-lib64.patch -> 1.3 expect-soname.patch -> 1.3 expect-tcl85.patch -> 1.2 expect.spec -> 1.71 --- expect-alpha.patch | 11 ---- expect-build.patch | 15 ------ expect-lib64.patch | 12 ----- expect-soname.patch | 47 ++++------------- expect-tcl85.patch | 105 -------------------------------------- expect.spec | 119 +++++++++++++++++--------------------------- 6 files changed, 56 insertions(+), 253 deletions(-) delete mode 100644 expect-alpha.patch delete mode 100644 expect-build.patch delete mode 100644 expect-lib64.patch delete mode 100644 expect-tcl85.patch diff --git a/expect-alpha.patch b/expect-alpha.patch deleted file mode 100644 index 622ca63..0000000 --- a/expect-alpha.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- expect-5.39/exp_command.c.orig 2003-07-31 20:21:42.000000000 +0200 -+++ expect-5.39/exp_command.c 2003-08-07 22:11:03.000000000 +0200 -@@ -801,7 +801,7 @@ - rfd = (int) rfdc; - } - if (mode & TCL_WRITABLE) { -- if (TCL_ERROR == Tcl_GetChannelHandle(channel, TCL_WRITABLE, (ClientData) &wfdc)) { -+ if (TCL_ERROR == Tcl_GetChannelHandle(channel, TCL_WRITABLE, (ClientData *) &wfdc)) { - return TCL_ERROR; - } - wfd = (int) wfdc; diff --git a/expect-build.patch b/expect-build.patch deleted file mode 100644 index c5e3454..0000000 --- a/expect-build.patch +++ /dev/null @@ -1,15 +0,0 @@ -fix compilation error: - -/usr/include/tclUnixPort.h:112:33: error: -../compat/unistd.h: No such file or directory - ---- expect-5.42/Dbg.c.orig 2002-03-23 05:11:54.000000000 +0100 -+++ expect-5.42/Dbg.c 2005-06-06 22:27:01.000000000 +0200 -@@ -22,6 +22,7 @@ - #endif - - -+#include "expect_cf.h" - #include "tclInt.h" - /*#include tclInt.h drags in varargs.h. Since Pyramid */ - /* objects to including varargs.h twice, just */ diff --git a/expect-lib64.patch b/expect-lib64.patch deleted file mode 100644 index 87f9178..0000000 --- a/expect-lib64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -durN expect-5.39.orig/configure.in expect-5.39/configure.in ---- expect-5.39.orig/configure.in 2004-12-28 16:49:51.000000000 +0000 -+++ expect-5.39/configure.in 2004-12-28 16:53:24.019681264 +0000 -@@ -1132,7 +1132,7 @@ - fi - - EXP_BUILD_LIB_SPEC="-L`pwd` -lexpect${EXP_LIB_VERSION}${DBGX}" --EXP_LIB_SPEC="-L\${INSTALL_ROOT}\${exec_prefix}/lib -lexpect${EXP_LIB_VERSION}${DBGX}" -+EXP_LIB_SPEC="-L\${INSTALL_ROOT}\${exec_prefix}/lib64 -lexpect${EXP_LIB_VERSION}${DBGX}" - EXP_UNSHARED_LIB_FILE=libexpect${EXP_LIB_VERSION}${DBGX}.a - - # The TCL_SHARED_LIB_SUFFIX macro below relies on the DBGX macro, diff --git a/expect-soname.patch b/expect-soname.patch index e741d83..ebf8c45 100644 --- a/expect-soname.patch +++ b/expect-soname.patch @@ -1,38 +1,11 @@ ---- expect-5.38/Makefile.in.orig 2002-07-18 18:07:41.000000000 +0200 -+++ expect-5.38/Makefile.in 2003-06-17 20:51:03.000000000 +0200 -@@ -412,7 +412,8 @@ - expect-shared-lib-file :: $(EXP_SHARED_LIB_FILE) - $(EXP_SHARED_LIB_FILE): $(OFILES) - -rm -f $(EXP_SHARED_LIB_FILE) -- @TCL_SHLIB_LD@ -o $(EXP_SHARED_LIB_FILE) $(SHARED_OFILES) @EXP_LD_SEARCH_FLAGS@ @EXP_SHLIB_LD_LIBS@ -+ @TCL_SHLIB_LD@ -o $(EXP_SHARED_LIB_FILE) $(SHARED_OFILES) @EXP_SHLIB_LD_LIBS@ -Wl,-soname,@EXP_SHARED_LIB_SONAME@ -+ ln -s $(EXP_SHARED_LIB_FILE) libexpect${VERSION}@SHLIB_SUFFIX@ +--- expect-5.44.1.15/tclconfig/tcl.m4.orig 2010-03-11 20:06:30.000000000 +0100 ++++ expect-5.44.1.15/tclconfig/tcl.m4 2010-10-02 12:25:10.095738529 +0200 +@@ -3149,7 +3149,7 @@ + MAKE_STUB_LIB="\${STLIB_LD} -out:\[$]@ \$(PKG_STUB_OBJECTS)" + else + MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(PKG_OBJECTS)" +- MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS}" ++ MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(PKG_OBJECTS) \${SHLIB_LD_LIBS} -Wl,-soname,\[$]@" + MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \$(PKG_STUB_OBJECTS)" + fi - .PHONY: install-info install info - install-info: ---- expect-5.38/configure.in.orig 2002-07-18 17:51:06.000000000 +0200 -+++ expect-5.38/configure.in 2003-06-17 20:59:20.000000000 +0200 -@@ -1143,7 +1143,11 @@ - AC_MSG_CHECKING([for type of library to build]) - if test "$enable_shared" = "yes" && test "x${TCL_SHLIB_SUFFIX}" != "x" ; then - EXP_SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS -- eval "EXP_SHARED_LIB_FILE=libexpect${TCL_SHARED_LIB_SUFFIX}" -+ EXP_SHLIB_SOMAJOR=".0" -+ EXP_SHLIB_SOVERSION="${EXP_SHLIB_SOMAJOR}.0" -+ eval "EXP_SHARED_LIB_FILE=libexpect${TCL_SHARED_LIB_SUFFIX}${EXP_SHLIB_SOVERSION}" -+ eval "EXP_SHARED_LIB_SONAME=libexpect${TCL_SHARED_LIB_SUFFIX}${EXP_SHLIB_SOMAJOR}" -+ AC_SUBST(EXP_SHARED_LIB_SONAME) - EXP_LIB_FILE=$EXP_SHARED_LIB_FILE - EXP_LIB_FILES="$EXP_SHARED_LIB_FILE $EXP_UNSHARED_LIB_FILE" - AC_MSG_RESULT(both shared and unshared) -@@ -1216,8 +1216,8 @@ - - # now broken out into EXP_AND_TCL_LIBS and EXP_AND_TK_LIBS. Had to do this - # in order to avoid repeating lib specs to which some systems object. --EXP_AND_TCL_LIBS="$EXP_AND_TCL_LIBS $EXP_CC_SEARCH_FLAGS" --EXP_AND_TK_LIBS="$EXP_AND_TK_LIBS $EXP_CC_SEARCH_FLAGS" -+EXP_AND_TCL_LIBS="$EXP_AND_TCL_LIBS" -+EXP_AND_TK_LIBS="$EXP_AND_TK_LIBS" - - # - # Set up makefile substitutions diff --git a/expect-tcl85.patch b/expect-tcl85.patch deleted file mode 100644 index bdee084..0000000 --- a/expect-tcl85.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff -ur expect-5.43.orig/exp_command.c expect-5.43/exp_command.c ---- expect-5.43.orig/exp_command.c 2004-08-20 19:18:01.000000000 +0200 -+++ expect-5.43/exp_command.c 2008-01-19 17:40:20.000000000 +0100 -@@ -2265,6 +2265,8 @@ - /*NOTREACHED*/ - } - -+static struct exp_cmd_data cmd_data[]; -+ - /*ARGSUSED*/ - static int - Exp_CloseObjCmd(clientData, interp, objc, objv) -@@ -2311,12 +2313,23 @@ - /* Historical note: we used "close" long before there was a */ - /* Tcl builtin by the same name. */ - -+ /* The code that registered this function as the handler for */ -+ /* the "close" command stored away the old handler in the */ -+ /* exp_cmd_data for the "close" command. */ -+ -+ struct exp_cmd_data *cmd_ptr; - Tcl_CmdInfo info; -+ -+ for(cmd_ptr = &cmd_data[0]; cmd_ptr->name; cmd_ptr++) { -+ if(strncmp(cmd_ptr->name, "close", 5) == 0) -+ break; -+ } -+ - Tcl_ResetResult(interp); - if (0 == Tcl_GetCommandInfo(interp,"close",&info)) { - info.clientData = 0; - } -- return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig)); -+ return(cmd_ptr->old_objProc(info.clientData,interp,objc_orig,objv_orig)); - } - - if (chanName) { -@@ -2961,7 +2974,10 @@ - /* if successful (i.e., TCL_RETURN is returned) */ - /* modify the result, so that we will handle it specially */ - -- int result = Tcl_ReturnObjCmd(clientData,interp,objc,objv); -+ Tcl_CmdInfo info; -+ Tcl_GetCommandInfo(interp, "return", &info); -+ -+ int result = info.objProc(clientData,interp,objc,objv); - if (result == TCL_RETURN) - result = EXP_TCL_RETURN; - return result; -@@ -3062,8 +3078,7 @@ - - for (;c->name;c++) { - /* if already defined, don't redefine */ -- if ((c->flags & EXP_REDEFINE) || -- !(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || -+ if (!(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || - Tcl_FindHashEntry(&currNsPtr->cmdTable,c->name))) { - if (c->objproc) - Tcl_CreateObjCommand(interp,c->name, -@@ -3072,6 +3087,21 @@ - Tcl_CreateCommand(interp,c->name,c->proc, - c->data,exp_deleteProc); - } -+ else if (c->flags & EXP_REDEFINE) { /* unless the REDEFINE flag is present */ -+ Tcl_CmdInfo info; -+ -+ if (Tcl_GetCommandInfo(interp, c->name, &info)) { -+ c->old_proc = info.proc; -+ c->old_objProc = info.objProc; -+ } -+ -+ if (c->objproc) -+ Tcl_CreateObjCommand(interp,c->name, -+ c->objproc,c->data,exp_deleteObjProc); -+ else -+ Tcl_CreateCommand(interp,c->name,c->proc, -+ c->data,exp_deleteProc); -+ } - if (!(c->name[0] == 'e' && - c->name[1] == 'x' && - c->name[2] == 'p') -diff -ur expect-5.43.orig/exp_command.h expect-5.43/exp_command.h ---- expect-5.43.orig/exp_command.h 2004-07-30 17:35:28.000000000 +0200 -+++ expect-5.43/exp_command.h 2008-01-19 17:40:20.000000000 +0100 -@@ -295,6 +295,8 @@ - Tcl_CmdProc *proc; - ClientData data; - int flags; -+ Tcl_CmdProc *old_proc; /* these store the procedure for the old command, */ -+ Tcl_ObjCmdProc *old_objProc; /* if any */ - }; - - EXTERN void exp_create_commands _ANSI_ARGS_((Tcl_Interp *, -diff -ur expect-5.43.orig/exp_inter.c expect-5.43/exp_inter.c ---- expect-5.43.orig/exp_inter.c 2004-08-18 04:03:00.000000000 +0200 -+++ expect-5.43/exp_inter.c 2008-01-19 17:40:01.000000000 +0100 -@@ -35,7 +35,7 @@ - - #include - --#include "tcl.h" -+#include "tclInt.h" - #include "string.h" - - #include "exp_tty_in.h" diff --git a/expect.spec b/expect.spec index 71804d1..315640b 100644 --- a/expect.spec +++ b/expect.spec @@ -2,29 +2,24 @@ # BIG FAT WARNING: # - expect requires mounted /dev/pts to avoid `spawn failed' errors. # -Summary: Tcl extension +Summary: Tcl expect extension Summary(de.UTF-8): Tcl-Erweiterung Summary(fr.UTF-8): Extension Tcl -Summary(pl.UTF-8): Rozszerzenie Tcl +Summary(pl.UTF-8): Rozszerzenie Tcl expect Summary(ru.UTF-8): Расширение Tcl для управления программами из скриптов Summary(tr.UTF-8): Programlar arası etkileşimi mümkün kılan Tcl genişletmesi Summary(uk.UTF-8): Розширення Tcl для керування програмами зі скриптів Name: expect -%define major 5.43 -Version: %{major}.0 -Release: 2 +Version: 5.44.1.15 +Release: 1 License: BSD Group: Development/Languages/Tcl -Source0: http://expect.nist.gov/src/%{name}-%{version}.tar.gz -# Source0-md5: 230400129630335b3060a42f66fec11d +Source0: http://downloads.sourceforge.net/expect/%{name}-%{version}.tar.bz2 +# Source0-md5: 9307bbf67e19125036ce34544a78dadf Patch0: %{name}-pty.patch -Patch1: %{name}-alpha.patch -Patch2: %{name}-bug7869.patch -Patch3: %{name}-fixcat.patch -Patch4: %{name}-soname.patch -Patch5: %{name}-lib64.patch -Patch6: %{name}-build.patch -Patch7: %{name}-tcl85.patch +Patch1: %{name}-bug7869.patch +Patch2: %{name}-fixcat.patch +Patch3: %{name}-soname.patch URL: http://expect.nist.gov/ BuildRequires: autoconf BuildRequires: automake @@ -90,42 +85,26 @@ Ten pakiet zawiera expectk, który jest rozszerzeniem dla Tk takim jak expect jest dla Tcl. %package devel -Summary: Tcl extension header files and development documentation -Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do rozszerzenia języka Tcl +Summary: Tcl expect extension header files and development documentation +Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do rozszerzenia expect języka Tcl Group: Development/Languages/Tcl Requires: %{name} = %{version}-%{release} -Requires: tcl-devel >= 8.4.6 +Requires: tcl-devel >= 8.5.0 +Obsoletes: expect-static %description devel -Tcl extension language header files and develppment documentation. +Tcl expect extension language header files and development +documentation. %description devel -l pl.UTF-8 -Pliki nagłówkowe i dokumentacja do rozszerzenie języka Tcl. - -%package static -Summary: Tcl extension static library -Summary(pl.UTF-8): Biblioteka statyczna rozszerzenia języka Tcl -Group: Development/Languages/Tcl -Requires: %{name}-devel = %{version}-%{release} - -%description static -Tcl extension language static library. - -%description static -l pl.UTF-8 -Biblioteka statyczna rozszerzenia języka Tcl. +Pliki nagłówkowe i dokumentacja do rozszerzenia expect języka Tcl. %prep -%setup -q -n %{name}-%{major} +%setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 -%if "%{_lib}" == "lib64" -%patch5 -p1 -%endif -%patch6 -p1 -%patch7 -p1 chmod +w {.,testsuite}/configure @@ -134,9 +113,8 @@ install /usr/share/automake/config.* . # only local macros, don't call aclocal %{__autoconf} cd testsuite -cp ../aclocal.m4 . -%{__autoconf} -cd - +%{__autoconf} -I .. +cd .. CFLAGS="%{rpmcflags} -I%{_includedir}/tcl-private/unix" %configure \ --enable-gcc \ @@ -146,9 +124,6 @@ CFLAGS="%{rpmcflags} -I%{_includedir}/tcl-private/unix" --with-tclinclude=%{_includedir}/tcl-private \ --with-tkinclude=%{_includedir} -cat expect_cf.h | sed "s|.*SETPGRP_VOID.*|\#define SETPGRP_VOID 1|" > expect_cf.h.new -mv -f expect_cf.h{.new,} - %{__make} %install @@ -156,14 +131,14 @@ rm -rf $RPM_BUILD_ROOT LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} \ %{__make} install \ - INSTALL_ROOT=$RPM_BUILD_ROOT + DESTDIR=$RPM_BUILD_ROOT \ + TCLSH_PROG=tclsh mv -f $RPM_BUILD_ROOT%{_bindir}/{rftp,rftp-expect} -ln -sf $(cd $RPM_BUILD_ROOT%{_libdir} ; echo libexpect%{major}.so.*.*) \ - $RPM_BUILD_ROOT%{_libdir}/libexpect%{major}.so -ln -sf $(cd $RPM_BUILD_ROOT%{_libdir} ; echo libexpect%{major}.so.*.*) \ - $RPM_BUILD_ROOT%{_libdir}/libexpect.so +mv -f $RPM_BUILD_ROOT%{_libdir}/expect%{version}/libexpect%{version}.so $RPM_BUILD_ROOT%{_libdir} +ln -sf ../libexpect%{version}.so $RPM_BUILD_ROOT%{_libdir}/expect%{version}/libexpect%{version}.so +ln -sf libexpect%{version}.so $RPM_BUILD_ROOT%{_libdir}/libexpect.so %clean rm -rf $RPM_BUILD_ROOT @@ -173,6 +148,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) +%doc ChangeLog FAQ HISTORY NEWS README %attr(755,root,root) %{_bindir}/autoexpect %attr(755,root,root) %{_bindir}/autopasswd %attr(755,root,root) %{_bindir}/cryptdir @@ -190,18 +166,19 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/timed-run %attr(755,root,root) %{_bindir}/unbuffer %attr(755,root,root) %{_bindir}/weather -%dir %{_libdir}/expect* -%attr(755,root,root) %{_libdir}/expect*/pkgIndex.tcl -%attr(755,root,root) %{_libdir}/libexpect*.so.*.* -%{_mandir}/man1/autoexpect.* -%{_mandir}/man1/cryptdir.* -%{_mandir}/man1/decryptdir.* -%{_mandir}/man1/dislocate.* -%{_mandir}/man1/expect.* -%{_mandir}/man1/kibitz.* -%{_mandir}/man1/mkpasswd.* -%{_mandir}/man1/passmass.* -%{_mandir}/man1/unbuffer.* +%attr(755,root,root) %{_libdir}/libexpect%{version}.so +%dir %{_libdir}/expect%{version} +%attr(755,root,root) %{_libdir}/expect%{version}/pkgIndex.tcl +%attr(755,root,root) %{_libdir}/expect%{version}/libexpect%{version}.so +%{_mandir}/man1/autoexpect.1* +%{_mandir}/man1/cryptdir.1* +%{_mandir}/man1/decryptdir.1* +%{_mandir}/man1/dislocate.1* +%{_mandir}/man1/expect.1* +%{_mandir}/man1/kibitz.1* +%{_mandir}/man1/mkpasswd.1* +%{_mandir}/man1/passmass.1* +%{_mandir}/man1/unbuffer.1* %files X11 %defattr(644,root,root,755) @@ -211,18 +188,14 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/tkpasswd %attr(755,root,root) %{_bindir}/xkibitz %attr(755,root,root) %{_bindir}/xpstat -%{_mandir}/man1/expectk.* -%{_mandir}/man1/multixterm.* -%{_mandir}/man1/tknewsbiff.* -%{_mandir}/man1/xkibitz.* +%{_mandir}/man1/expectk.1* +%{_mandir}/man1/multixterm.1* +%{_mandir}/man1/tknewsbiff.1* +%{_mandir}/man1/xkibitz.1* %files devel %defattr(644,root,root,755) -%doc ChangeLog FAQ HISTORY NEWS README -%attr(755,root,root) %{_libdir}/libexpect*.so -%{_includedir}/*.h -%{_mandir}/man3/* - -%files static -%defattr(644,root,root,755) -%{_libdir}/libexpect*.a +%attr(755,root,root) %{_libdir}/libexpect.so +%{_includedir}/expect*.h +%{_includedir}/tcldbg.h +%{_mandir}/man3/libexpect.3* -- 2.44.0