From 336970ea6049450655a3c9deae0c7b74e4919794 Mon Sep 17 00:00:00 2001 From: Andrew McNabb Date: Wed, 21 Nov 2012 07:21:50 -0700 Subject: Switch to pexpect-u upstream with support for python 3 --- .gitignore | 1 + pexpect.spec | 141 -------------------------------- python-pexpect.spec | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- 4 files changed, 229 insertions(+), 142 deletions(-) delete mode 100644 pexpect.spec create mode 100644 python-pexpect.spec diff --git a/.gitignore b/.gitignore index 5934123..e1e28b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ pexpect-2.3.tar.gz +/pexpect-u-2.5.1.tar.gz diff --git a/pexpect.spec b/pexpect.spec deleted file mode 100644 index f462b3a..0000000 --- a/pexpect.spec +++ /dev/null @@ -1,141 +0,0 @@ -%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} - -Summary: Pure Python Expect-like module -Name: pexpect -Version: 2.3 -Release: 8%{?dist} -License: MIT -Group: Development/Languages -URL: http://pexpect.sourceforge.net/ -Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz -BuildRequires: python-devel -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -%description -Pexpect is a pure Python module for spawning child applications; controlling -them; and responding to expected patterns in their output. Pexpect works like -Don Libes' Expect. Pexpect allows your script to spawn a child application and -control it as if a human were typing commands. - -Pexpect can be used for automating interactive applications such as ssh, ftp, -passwd, telnet, etc. It can be used to automate setup scripts for duplicating -software package installations on different servers. And it can be used for -automated software testing. Pexpect is in the spirit of Don Libes' Expect, but -Pexpect is pure Python. Unlike other Expect-like modules for Python, Pexpect -does not require TCL or Expect nor does it require C extensions to be compiled. -It should work on any platform that supports the standard Python pty module. - -%prep -%setup -q - -%build -%{__python} setup.py build - -%install -rm -rf $RPM_BUILD_ROOT -%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT - -# Correct some permissions -find examples -type f -exec chmod a-x \{\} \; -chmod 755 $RPM_BUILD_ROOT%{python_sitelib}/FSM.py - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%defattr(-,root,root) -%doc README doc examples LICENSE -%{python_sitelib}/* - -%changelog -* Fri Jul 20 2012 Fedora Release Engineering - 2.3-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jan 14 2012 Fedora Release Engineering - 2.3-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Wed Feb 09 2011 Fedora Release Engineering - 2.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Jul 21 2010 David Malcolm - 2.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Sun Jul 26 2009 Fedora Release Engineering - 2.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Mon Feb 23 2009 Robert Scheck 2.3-3 -- Rebuild for gcc 4.4 and rpm 4.6 - -* Fri Dec 5 2008 Jeremy Katz - 2.3-2 -- Rebuild for python 2.6 - -* Tue Jan 08 2008 Robert Scheck 2.3-1 -- Upgrade to 2.3 -- Updated the source URL to match with the guidelines - -* Wed Aug 29 2007 Robert Scheck 2.1-5 -- Rebuilt (and some minor spec file tweaks) - -* Sat Dec 09 2006 Toshio Kuratomi - 2.1-4 -- Bump and rebuild because I forgot to cvs up before the last build. - -* Sat Dec 09 2006 Toshio Kuratomi - 2.1-3 -- Bump and rebuild for python 2.5 on devel. -- Add BR: python-devel as it provides a header necessary for python modules - on python 2.5. - -* Fri Sep 01 2006 Toshio Kuratomi - 2.1-2 -- Remove pyver define as it's not needed with the automatic python(abi). -- Stop ghosting .pyos. -- Let automatic python compilation take care of creating pyos. -- Rebuild for FC6. - -* Mon Jul 17 2006 Toshio Kuratomi - 2.1-1 -- Update to 2.1. - -* Thu Feb 16 2006 Toshio Kuratomi - 2.0-2 -- Bump and rebuild for FC5. -- Convert from python-abi to python(abi) requires. - -* Thu Nov 17 2005 Toshio Kuratomi - 2.0-1 -- Update to 2.0. - -* Sat Sep 3 2005 Toshio Kuratomi 0.99999b-2 -- Add LICENSE File. -- Make noarch. -- Remove executable permissions from the modules copied to examples. - -* Fri Sep 2 2005 Toshio Kuratomi 0.99999b -- Update to version 0.99999b. -- Add dist tag. - -* Fri Apr 7 2005 Michael Schwendt -- rebuilt - -* Thu Feb 03 2005 Toshio Kuratomi 0.999-2 -- Use python_sitelib macro to resolve build issues on x86_64. -- %%ghost *.pyo -- Install ANSI.py, screen.py, and FSM.py into the examples. These are intended - to suplement pexpect eventually but they are currently much less robust and - not installed to by default. But they are needed by some examples. -- Use __python macro in build/install for consistency. -- Add --skip-build to the invocation of setup.py in install. - -* Mon May 31 2004 Panu Matilainen 0.999-0.fdr.1 -- get rid of distrel munging, buildsys does that... -- update to 0.999 -- update doc and example tarballs -- fix build on python <> 2.2 -- use -O1 in install to generate .pyo files instead of manually creating the files -- require python-abi = pyver to get dependencies right - -* Sun Jul 27 2003 Panu Matilainen 0.98-0.fdr.3 -- own .pyo files too as suggested by Ville (#517) - -* Sat Jul 26 2003 Panu Matilainen 0.98-0.fdr.2 -- fixes by Ville (bug #517) applied - -* Sat Jul 26 2003 Panu Matilainen -- Initial Fedora packaging - diff --git a/python-pexpect.spec b/python-pexpect.spec new file mode 100644 index 0000000..1ebf685 --- /dev/null +++ b/python-pexpect.spec @@ -0,0 +1,227 @@ +%if 0%{?fedora} > 15 +%global with_python3 1 +%else +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} +%endif + +Summary: Unicode-aware Pure Python Expect-like module +Name: python-pexpect +Version: 2.5.1 +Release: 5%{?dist} +License: MIT +Group: Development/Languages +URL: http://pypi.python.org/pypi/pexpect-u +Source0: http://pypi.python.org/packages/source/p/pexpect-u/pexpect-u-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildArch: noarch +BuildRequires: python2-devel python-nose ed +%if 0%{?with_python3} +BuildRequires: python3-devel python3-nose +Provides: pexpect = %{version}-%{release} +Obsoletes: pexpect <= 2.3-9 +%endif # if with_python3 + +%description +Pexpect is a pure Python module for spawning child applications; controlling +them; and responding to expected patterns in their output. Pexpect works like +Don Libes' Expect. Pexpect allows your script to spawn a child application and +control it as if a human were typing commands. + +Pexpect can be used for automating interactive applications such as ssh, ftp, +passwd, telnet, etc. It can be used to automate setup scripts for duplicating +software package installations on different servers. And it can be used for +automated software testing. Pexpect is in the spirit of Don Libes' Expect, but +Pexpect is pure Python. Unlike other Expect-like modules for Python, Pexpect +does not require TCL or Expect nor does it require C extensions to be +compiled. It should work on any platform that supports the standard Python +pty module. + +%if 0%{?with_python3} +%package -n python3-pexpect +Summary: Unicode-aware Pure Python Expect-like module for Python 3 +Group: Development/Languages + +%description -n python3-pexpect +Pexpect is a pure Python module for spawning child applications; controlling +them; and responding to expected patterns in their output. Pexpect works like +Don Libes' Expect. Pexpect allows your script to spawn a child application and +control it as if a human were typing commands. This package contains the +python3 version of this module. + +Pexpect can be used for automating interactive applications such as ssh, ftp, +passwd, telnet, etc. It can be used to automate setup scripts for duplicating +software package installations on different servers. And it can be used for +automated software testing. Pexpect is in the spirit of Don Libes' Expect, but +Pexpect is pure Python. Unlike other Expect-like modules for Python, Pexpect +does not require TCL or Expect nor does it require C extensions to be +compiled. It should work on any platform that supports the standard Python +pty module. +%endif # with_python3 + +%prep +%setup -q -n pexpect-u-%{version} + +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' +%endif # with_python3 + +%build +%{__python} setup.py build + +%if 0%{?with_python3} +pushd %{py3dir} +CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build +popd +%endif # with_python3 + +%check +PYTHONSTARTUP="" nosetests + +%if 0%{?with_python3} +pushd %{py3dir}/build/lib +PYTHONSTARTUP="" nosetests-%{python3_version} +popd +%endif # with_python3 + +%install +rm -rf %{buildroot} + +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py install --skip-build \ + --root $RPM_BUILD_ROOT --install-lib %{python3_sitelib} + +# Correct some permissions +find examples -type f -exec chmod a-x \{\} \; + +rm -rf %{buildroot}%{python3_sitelib}/pexpect/tests +popd +%endif # with_python3 + +%{__python} setup.py install --skip-build \ + --root $RPM_BUILD_ROOT --install-lib %{python_sitelib} + +rm -rf ${buildroot}%{python_sitelib}/setuptools/tests + +# Correct some permissions +find examples -type f -exec chmod a-x \{\} \; + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc README doc examples LICENSE +%{python_sitelib}/* +%exclude %{python_sitelib}/pexpect/tests/ + +%if 0%{?with_python3} +%files -n python3-pexpect +%doc README doc examples LICENSE +%{python3_sitelib}/* +%exclude %{python3_sitelib}/pexpect/tests/ +%endif # with_python3 + +%changelog +* Tue Nov 20 2012 Andrew McNabb - 2.5.1-5 +- Exclude test scripts from the files list + +* Tue Nov 20 2012 Andrew McNabb - 2.5.1-4 +- Moved unit tests to a check section + +* Tue Nov 20 2012 Andrew McNabb - 2.5.1-3 +- Added unit tests and fixed metadata fields + +* Tue Nov 20 2012 Andrew McNabb - 2.5.1-2 +- Added versions to the obsoletes and provides fields + +* Tue Nov 20 2012 Andrew McNabb - 2.5.1-1 +- Updated to version 2.5.1 (pexpect-u fork) and added support for Python 3 + +* Wed Feb 09 2011 Fedora Release Engineering - 2.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jul 21 2010 David Malcolm - 2.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Sun Jul 26 2009 Fedora Release Engineering - 2.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Feb 23 2009 Robert Scheck 2.3-3 +- Rebuild for gcc 4.4 and rpm 4.6 + +* Fri Dec 5 2008 Jeremy Katz - 2.3-2 +- Rebuild for python 2.6 + +* Tue Jan 08 2008 Robert Scheck 2.3-1 +- Upgrade to 2.3 +- Updated the source URL to match with the guidelines + +* Wed Aug 29 2007 Robert Scheck 2.1-5 +- Rebuilt (and some minor spec file tweaks) + +* Sat Dec 09 2006 Toshio Kuratomi - 2.1-4 +- Bump and rebuild because I forgot to cvs up before the last build. + +* Sat Dec 09 2006 Toshio Kuratomi - 2.1-3 +- Bump and rebuild for python 2.5 on devel. +- Add BR: python-devel as it provides a header necessary for python modules + on python 2.5. + +* Fri Sep 01 2006 Toshio Kuratomi - 2.1-2 +- Remove pyver define as it's not needed with the automatic python(abi). +- Stop ghosting .pyos. +- Let automatic python compilation take care of creating pyos. +- Rebuild for FC6. + +* Mon Jul 17 2006 Toshio Kuratomi - 2.1-1 +- Update to 2.1. + +* Thu Feb 16 2006 Toshio Kuratomi - 2.0-2 +- Bump and rebuild for FC5. +- Convert from python-abi to python(abi) requires. + +* Thu Nov 17 2005 Toshio Kuratomi - 2.0-1 +- Update to 2.0. + +* Sat Sep 3 2005 Toshio Kuratomi 0.99999b-2 +- Add LICENSE File. +- Make noarch. +- Remove executable permissions from the modules copied to examples. + +* Fri Sep 2 2005 Toshio Kuratomi 0.99999b +- Update to version 0.99999b. +- Add dist tag. + +* Fri Apr 7 2005 Michael Schwendt +- rebuilt + +* Thu Feb 03 2005 Toshio Kuratomi 0.999-2 +- Use python_sitelib macro to resolve build issues on x86_64. +- %%ghost *.pyo +- Install ANSI.py, screen.py, and FSM.py into the examples. These are intended + to suplement pexpect eventually but they are currently much less robust and + not installed to by default. But they are needed by some examples. +- Use __python macro in build/install for consistency. +- Add --skip-build to the invocation of setup.py in install. + +* Mon May 31 2004 Panu Matilainen 0.999-0.fdr.1 +- get rid of distrel munging, buildsys does that... +- update to 0.999 +- update doc and example tarballs +- fix build on python <> 2.2 +- use -O1 in install to generate .pyo files instead of manually creating the files +- require python-abi = pyver to get dependencies right + +* Sun Jul 27 2003 Panu Matilainen 0.98-0.fdr.3 +- own .pyo files too as suggested by Ville (#517) + +* Sat Jul 26 2003 Panu Matilainen 0.98-0.fdr.2 +- fixes by Ville (bug #517) applied + +* Sat Jul 26 2003 Panu Matilainen +- Initial Fedora packaging + diff --git a/sources b/sources index 997a89a..5bea84c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bf107cf54e67bc6dec5bea1f3e6a65c3 pexpect-2.3.tar.gz +7c916a9f42d636ec6aec39f7cdd96eb5 pexpect-u-2.5.1.tar.gz -- cgit