diff --git a/distribute-b045d0750c13.diff b/distribute-b045d0750c13.diff new file mode 100644 index 0000000..c7147d4 --- /dev/null +++ b/distribute-b045d0750c13.diff @@ -0,0 +1,66 @@ +# HG changeset patch -- Bitbucket.org +# Project distribute +# URL http://bitbucket.org/tarek/distribute/overview +# User David Cournapeau +# Date 1274351504 -32400 +# Node ID b045d0750c13d83ef577593b8bb267a10e803aca +# Parent ab666b0eacbb5523ffb42a412451550f55347fcc +BUG: Fix #142 - easy_install ignore locally installed packages. + +Backport from setuptools 0.6c10. + +--- a/setuptools/command/easy_install.py ++++ b/setuptools/command/easy_install.py +@@ -565,7 +565,8 @@ Please make the appropriate changes for + + self.check_editable(spec) + dist = self.package_index.fetch_distribution( +- spec, tmpdir, self.upgrade, self.editable, not self.always_copy ++ spec, tmpdir, self.upgrade, self.editable, not self.always_copy, ++ self.local_index + ) + + if dist is None: + +--- a/setuptools/package_index.py ++++ b/setuptools/package_index.py +@@ -418,7 +418,8 @@ class PackageIndex(Environment): + + + def fetch_distribution(self, +- requirement, tmpdir, force_scan=False, source=False, develop_ok=False ++ requirement, tmpdir, force_scan=False, source=False, develop_ok=False, ++ local_index=None + ): + """Obtain a distribution suitable for fulfilling `requirement` + +@@ -440,11 +441,14 @@ class PackageIndex(Environment): + # process a Requirement + self.info("Searching for %s", requirement) + skipped = {} ++ dist = None + +- def find(req): ++ def find(req, env=None): ++ if env is None: ++ env = self + # Find a matching distribution; may be called more than once + +- for dist in self[req.key]: ++ for dist in env[req.key]: + + if dist.precedence==DEVELOP_DIST and not develop_ok: + if dist not in skipped: +@@ -461,8 +465,11 @@ class PackageIndex(Environment): + if force_scan: + self.prescan() + self.find_packages(requirement) ++ dist = find(requirement) + +- dist = find(requirement) ++ if local_index is not None: ++ dist = dist or find(requirement, local_index) ++ + if dist is None and self.to_scan is not None: + self.prescan() + dist = find(requirement) diff --git a/distribute-tests-race.patch b/distribute-tests-race.patch new file mode 100644 index 0000000..d2dd2aa --- /dev/null +++ b/distribute-tests-race.patch @@ -0,0 +1,23 @@ +# HG changeset patch +# User Toshio Kuratomi +# Date 1276227950 14400 +# Branch 0.6-maintenance +# Node ID ce279b5609b90c55c365043db02bfaa3b305d1ce +# Parent 99b0b605bfbd00f0752da34cfa15bb2eddfbf302 +Fix race condition with the http server used in unittests + +diff -r 99b0b605bfbd -r ce279b5609b9 setuptools/tests/server.py +--- a/setuptools/tests/server.py Thu Jun 10 19:47:48 2010 -0400 ++++ b/setuptools/tests/server.py Thu Jun 10 23:45:50 2010 -0400 +@@ -32,7 +32,10 @@ + def stop(self): + """self.shutdown is not supported on python < 2.6""" + self._run = False +- urllib2.urlopen('http://127.0.0.1:%s/' % self.server_port) ++ try: ++ urllib2.urlopen('http://127.0.0.1:%s/' % self.server_port, None, 5) ++ except urllib2.URLError: ++ pass + self.thread.join() + + def base_url(self): diff --git a/python-setuptools.spec b/python-setuptools.spec index ddce812..0c3c36b 100644 --- a/python-setuptools.spec +++ b/python-setuptools.spec @@ -8,7 +8,7 @@ Name: python-setuptools Version: 0.6.13 -Release: 3%{?dist} +Release: 5%{?dist} Summary: Easily build and distribute Python packages Group: Applications/System @@ -18,6 +18,8 @@ Source0: http://pypi.python.org/packages/source/d/%{srcname}/%{srcname}-% Source1: psfl.txt Source2: zpl.txt Patch0: distribute-0.6.13-tests.patch +Patch1: distribute-tests-race.patch +Patch2: http://bitbucket.org/tarek/distribute/changeset/b045d0750c13/raw/distribute-b045d0750c13.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -31,6 +33,8 @@ BuildRequires: python3-devel Provides: python-setuptools-devel = %{version}-%{release} Obsoletes: python-setuptools-devel < 0.6.7-1 +# Provide this since some people will request distribute by name +Provides: python-distribute = %{version}-%{release} %description Setuptools is a collection of enhancements to the Python distutils that allow you to more easily build and distribute Python packages, especially ones that @@ -56,8 +60,11 @@ execute the software that requires pkg_resources.py. %prep %setup -q -n %{srcname}-%{version} %patch0 -p1 +%patch1 -p1 +%patch2 -p1 find -name '*.txt' | xargs chmod -x +find . -name '*.orig' -exec rm \{\} \; %if 0%{?with_python3} rm -rf %{pyver} @@ -117,7 +124,7 @@ rm -rf %{buildroot} %files %defattr(-,root,root,-) -%doc psfl.txt zpl.txt docs +%doc *.txt docs %{python_sitelib}/* %{_bindir}/easy_install %{_bindir}/easy_install-2.6 @@ -131,6 +138,14 @@ rm -rf %{buildroot} %endif # with_python3 %changelog +* Sat Jul 3 2010 Toshio Kuratomi - 0.6.13-5 +- Upstream patch for compatibility problem with setuptools +- Minor spec cleanups +- Provide python-distribute for those who see an import distribute and need + to get the proper package. + +* Thu Jun 10 2010 Toshio Kuratomi - 0.6.13-4 +- Fix race condition in unittests under the python-2.6.x on F-14. * Thu Jun 10 2010 Toshio Kuratomi - 0.6.13-3 - Fix few more buildroot macros