- 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.
This commit is contained in:
Toshio くらとみ 2010-07-03 19:10:22 +00:00
parent 546e3694b6
commit 801f3c05d0
3 changed files with 106 additions and 2 deletions

View File

@ -0,0 +1,66 @@
# HG changeset patch -- Bitbucket.org
# Project distribute
# URL http://bitbucket.org/tarek/distribute/overview
# User David Cournapeau <david@silveregg.co.jp>
# 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)

View File

@ -0,0 +1,23 @@
# HG changeset patch
# User Toshio Kuratomi <toshio@fedoraproject.org>
# 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):

View File

@ -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 <toshio@fedoraproject.org> - 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 <toshio@fedoraproject.org> - 0.6.13-4
- Fix race condition in unittests under the python-2.6.x on F-14.
* Thu Jun 10 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 0.6.13-3
- Fix few more buildroot macros