- 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 Name: python-setuptools
Version: 0.6.13 Version: 0.6.13
Release: 3%{?dist} Release: 5%{?dist}
Summary: Easily build and distribute Python packages Summary: Easily build and distribute Python packages
Group: Applications/System Group: Applications/System
@ -18,6 +18,8 @@ Source0: http://pypi.python.org/packages/source/d/%{srcname}/%{srcname}-%
Source1: psfl.txt Source1: psfl.txt
Source2: zpl.txt Source2: zpl.txt
Patch0: distribute-0.6.13-tests.patch 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) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch BuildArch: noarch
@ -31,6 +33,8 @@ BuildRequires: python3-devel
Provides: python-setuptools-devel = %{version}-%{release} Provides: python-setuptools-devel = %{version}-%{release}
Obsoletes: python-setuptools-devel < 0.6.7-1 Obsoletes: python-setuptools-devel < 0.6.7-1
# Provide this since some people will request distribute by name
Provides: python-distribute = %{version}-%{release}
%description %description
Setuptools is a collection of enhancements to the Python distutils that allow Setuptools is a collection of enhancements to the Python distutils that allow
you to more easily build and distribute Python packages, especially ones that 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 %prep
%setup -q -n %{srcname}-%{version} %setup -q -n %{srcname}-%{version}
%patch0 -p1 %patch0 -p1
%patch1 -p1
%patch2 -p1
find -name '*.txt' | xargs chmod -x find -name '*.txt' | xargs chmod -x
find . -name '*.orig' -exec rm \{\} \;
%if 0%{?with_python3} %if 0%{?with_python3}
rm -rf %{pyver} rm -rf %{pyver}
@ -117,7 +124,7 @@ rm -rf %{buildroot}
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc psfl.txt zpl.txt docs %doc *.txt docs
%{python_sitelib}/* %{python_sitelib}/*
%{_bindir}/easy_install %{_bindir}/easy_install
%{_bindir}/easy_install-2.6 %{_bindir}/easy_install-2.6
@ -131,6 +138,14 @@ rm -rf %{buildroot}
%endif # with_python3 %endif # with_python3
%changelog %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 * Thu Jun 10 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 0.6.13-3
- Fix few more buildroot macros - Fix few more buildroot macros