-Summary: tcl extension
-Summary(de): tcl-Erweiterung
-Summary(fr): Extension tcl
-Summary(pl): Rozszerzenie TCL
-Summary(ru): òÁÓÛÉÒÅÎÉÅ tcl ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÐÒÏÇÒÁÍÍÁÍÉ ÉÚ ÓËÒÉÐÔÏ×
-Summary(tr): Programlar arasý etkileþimi mümkün kýlan tcl geniþletmesi
-Summary(uk): òÏÚÛÉÒÅÎÎÑ tcl ÄÌÑ ËÅÒÕ×ÁÎÎÑ ÐÒÏÇÒÁÍÁÍÉ Ú¦ ÓËÒÉÐÔ¦×
+#
+# BIG FAT WARNING:
+# - expect requires mounted /dev/pts to avoid `spawn failed' errors.
+#
+%bcond_without tests
+Summary: Tcl expect extension
+Summary(de.UTF-8): Tcl-Erweiterung
+Summary(fr.UTF-8): Extension 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
-Version: 5.37
+Version: 5.45.4
Release: 1
License: BSD
Group: Development/Languages/Tcl
-Source0: http://expect.nist.gov/%{name}.tar.gz
+Source0: http://downloads.sourceforge.net/expect/%{name}%{version}.tar.gz
+# Source0-md5: 00fce8de158422f5ccd2666512329bd2
Patch0: %{name}-pty.patch
-Patch1: %{name}-alpha.patch
-Patch2: %{name}-bug7869.patch
-Patch3: %{name}-fixcat.patch
-Patch4: %{name}-jbj.patch
-Icon: tcl.gif
+Patch1: %{name}-bug7869.patch
+Patch2: %{name}-soname.patch
+Patch3: %{name}-format.patch
+Patch4: %{name}-5.43.0-log_file.patch
+Patch5: %{name}-5.45-match-gt-numchars-segfault.patch
+Patch6: %{name}-5.45-re-memleak.patch
+Patch7: %{name}-5.45-exp-log-buf-overflow.patch
+Patch8: %{name}-5.45-segfault-with-stubs.patch
+Patch9: %{name}-5.45-fd-leak.patch
+Patch10: %{name}-5.32.2-random.patch
+Patch11: %{name}-5.45-mkpasswd-dash.patch
+Patch12: %{name}-5.45-check-telnet.patch
+Patch13: %{name}-5.45-passmass-su-full-path.patch
URL: http://expect.nist.gov/
-BuildRequires: glibc-static
-BuildRequires: tcl-devel >= 8.3.2
-BuildRequires: tk-devel >= 8.3.2
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: tcl-devel >= 8.5.0
+BuildRequires: tk-devel >= 8.5.0
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXScrnSaver-devel
+BuildRequires: xorg-lib-libXext-devel
+Requires: tcl >= 8.5.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _ulibdir /usr/lib
+
%description
Expect is a tool for automating interactive applications such as
telnet, ftp, passwd, fsck, rlogin, tip, etc. It makes it easy for a
script to control another program and interact with it.
-%description -l pl
-Expect to narzêdzie do automatyzacji interakcji z aplikacjami takimi
-jak telnet, ftp, passwd, fsck, rlogin, tip itp. Expect pozwala w ³atwy
-sposób przy pomocy skryptu kontrolowaæ inny program.
+%description -l pl.UTF-8
+Expect to narzędzie do automatyzacji interakcji z aplikacjami takimi
+jak telnet, ftp, passwd, fsck, rlogin, tip itp. Expect pozwala w łatwy
+sposób przy pomocy skryptu kontrolować inny program.
-%description -l de
+%description -l de.UTF-8
Expect ist ein Tool zur Automatisierung interaktiver Applikationen wie
telnet, ftp, passwd, fsck, rlogin, tip usw. Mit seiner Hilfe kann ein
Skript ein anderes Programm sehr leicht steuern oder damit
interagieren.
-%description -l fr
+%description -l fr.UTF-8
expect est un un outil pour automatiser les applications interactives
comme telnet, ftp, passwd, fsck, rlogin, tip, etc. Il est alors facile
-pour un script de contrôler un autre programme et d'interagir avec
+pour un script de contrôler un autre programme et d'interagir avec
lui.
-%description -l tr
-Expect telnet, ftp, passwd, fsck, rlogin, tip gibi etkileþimli
-uygulamalarý otomatize etmeye yarayan bir araçtýr. Bir uygulamanýn bir
-diðer uygulamayý denetlemesini kolaylaþtýrýr.
+%description -l tr.UTF-8
+Expect telnet, ftp, passwd, fsck, rlogin, tip gibi etkileşimli
+uygulamaları otomatize etmeye yarayan bir araçtır. Bir uygulamanın bir
+diğer uygulamayı denetlemesini kolaylaştırır.
-%description -l ru
-Expect - ÜÔÏ ÉÎÓÔÒÕÍÅÎÔ ÄÌÑ Á×ÔÏÍÁÔÉÚÁÃÉÉ ÉÎÔÅÒÁËÔÉ×ÎÙÈ ÐÒÏÇÒÁÍÍ,
-ÔÁËÉÈ ËÁË telnet, ftp, passwd, fsck, rlogin, tip, É Ô.Ð. ðÏÚ×ÏÌÑÅÔ
-ÕÐÒÁ×ÌÑÔØ ÐÒÏÇÒÁÍÍÁÍÉ É ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó ÎÉÍÉ ÉÚ ÓËÒÉÐÔÏ×.
+%description -l ru.UTF-8
+Expect - это инструмент для автоматизации интерактивных программ,
+таких как telnet, ftp, passwd, fsck, rlogin, tip, и т.п. Позволяет
+управлять программами и взаимодействовать с ними из скриптов.
-%description -l uk
-Expect - ÃÅ ¦ÎÓÔÒÕÍÅÎÔ ÄÌÑ Á×ÔÏÍÁÔÉÚÁæ§ ¦ÎÔÅÒÁËÔÉ×ÎÉÈ ÐÒÏÇÒÁÍ, ÔÁËÉÈ
-ÑË telnet, ftp, passwd, fsck, rlogin, tip, ¦ Ô.¦. äÏÚ×ÏÌѤ ËÅÒÕ×ÁÔÉ
-ÐÒÏÇÒÁÍÁÍÉ ÔÁ ×ÚÁ¤ÍÏĦÑÔÉ Ú ÎÉÍÉ Ú¦ ÓËÒÉÐÔ¦×.
+%description -l uk.UTF-8
+Expect - це інструмент для автоматизації інтерактивних програм, таких
+Ñ\8fк telnet, ftp, passwd, fsck, rlogin, tip, Ñ\96 Ñ\82.Ñ\96. Ð\94озволÑ\8fÑ\94 кеÑ\80Ñ\83ваÑ\82и
+пÑ\80огÑ\80амами Ñ\82а взаÑ\94модÑ\96Ñ\8fÑ\82и з ними зÑ\96 Ñ\81кÑ\80ипÑ\82Ñ\96в.
%package X11
-Summary: tk extension
-Summary(pl): rozszerzenie tk
+Summary: Tk extension
+Summary(pl.UTF-8): Rozszerzenie Tk
Group: Development/Languages/Tcl
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description X11
This package contains expectk, which is an Tk extension, just as
expect Tcl extension.
-%description X11 -l pl
-Ten pakiet zawiera expectk, który jest rozszerzeniem dla Tk takim jak
+%description X11 -l pl.UTF-8
+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): 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}
-Requires: tcl-devel
+Requires: %{name} = %{version}-%{release}
+Requires: tcl-devel >= 8.5.0
+Obsoletes: expect-static
%description devel
-Tcl extension language header files and develppment documentation.
-
-%description devel -l pl
-Pliki nag³ówkowe i dokumentacja do rozszerzenie jêzyka TCL.
-
-%package static
-Summary: tcl extension static library
-Summary(pl): Biblioteka statyczna rozszerzenia jêzyka TCL
-Group: Development/Languages/Tcl
-Requires: %{name}-devel = %{version}
+Tcl expect extension language header files and development
+documentation.
-%description static
-Tcl extension language static library.
-
-%description static -l pl
-Biblioteka statyczna rozszerzenia jêzyka TCL.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja do rozszerzenia expect języka Tcl.
%prep
-%setup -q
+%setup -q -n %{name}%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
chmod +w {.,testsuite}/configure
%build
install /usr/share/automake/config.* .
-aclocal
+# only local macros, don't call aclocal
%{__autoconf}
cd testsuite
-# aclocal doesn't work
-cp ../aclocal.m4 .
-%{__autoconf}
-cd -
+%{__autoconf} -I ..
+cd ..
+CFLAGS="%{rpmcflags} -I%{_includedir}/tcl-private/unix"
%configure \
+%if "%{_lib}" == "lib64"
+ --enable-64bit \
+%endif
--enable-gcc \
--enable-shared \
- --with-tclconfig=%{_libdir} \
- --with-tkconfig=%{_libdir} \
+ --with-tclconfig=%{_ulibdir} \
+ --with-tkconfig=%{_ulibdir} \
--with-tclinclude=%{_includedir} \
--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}
+%{?with_tests:%{__make} test TCLSH_PROG=tclsh}
+
%install
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
-( cd $RPM_BUILD_ROOT%{_bindir}; mv -f rftp rftp-expect )
+mv -f $RPM_BUILD_ROOT%{_bindir}/{rftp,rftp-expect}
-gzip -9nf FAQ README ChangeLog
-
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+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
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%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
%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}/libe*.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)
-%attr(755,root,root) %{_bindir}/expectk
+%attr(755,root,root) %{_bindir}/multixterm
%attr(755,root,root) %{_bindir}/tknewsbiff
%attr(755,root,root) %{_bindir}/tkpasswd
%attr(755,root,root) %{_bindir}/xkibitz
%attr(755,root,root) %{_bindir}/xpstat
-%{_mandir}/man1/expectk.*
-%{_mandir}/man1/tknewsbiff.*
-%{_mandir}/man1/xkibitz.*
+%{_mandir}/man1/multixterm.1*
+%{_mandir}/man1/tknewsbiff.1*
+%{_mandir}/man1/xkibitz.1*
%files devel
%defattr(644,root,root,755)
-%doc *.gz
-%{_includedir}/*
-%{_mandir}/man3/*
-
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/*.a
+%attr(755,root,root) %{_libdir}/libexpect.so
+%{_includedir}/expect*.h
+%{_includedir}/tcldbg.h
+%{_mandir}/man3/libexpect.3*