On 6/12/13 6:27 PM, Alexander Hansen wrote:
On 6/12/13 6:19 PM, Kurt Schwehr wrote:
Yup.  Suggestions on a solution?

On Jun 12, 2013, at 6:13 PM, Daniel Johnson
<daniel.johnso...@gmail.com> wrote:


On Jun 12, 2013, at 11:15 AM, Kurt Schwehr <kurtschw...@yahoo.com>
wrote:

The author of distribute merged distribute back into setuptools 0.7
and took over as lead of setuptools.  Please convert python packages
that use distribute back to setuptools.

Just committed setuptools 0.7.2 to 10.[78] and 10.[56].

https://pypi.python.org/pypi/setuptools/0.7.2#id3
https://bitbucket.org/pypa/setuptools/src/tip/docs/merge.txt

This is causing a bit of a dependency problem. Some packages Depend
on distribute-py rather than just BuildDepend, such as my
modernize-py. Since setuptools and distribute are mutually exclusive,
I now can't install setuptools at all without removing modernize
first. I can update modernize to use setuptools but the
already-installed version prevents the update from happening since
distribute has to be uninstalled first, which causes a dependency loop.

Daniel




If the new setuptools is drop-in compatible with our current distribute,
then how about making a dummy upgrade distribute which Depends on
setuptools (>= 0.7.2)?


I found something which looks like it works.  The gist is:

1) Make distribute a real package again but have it really be setuptools-0.7.2. This has the following:
Conflicts: setuptools-py%type_pkg[python] (<< 0.7.2-3)
Replaces: setuptools-py%type_pkg[python]
Provides: setuptools-py%type_pkg[python]

The unversioned Replaces: will allow it to replace setuptools (>= 0.7.2-3) without removing the package entry, and the Provides: keeps current users of setuptools (via the prior Provides from the old distribute) happy.

2) Do the following in setuptools:

Conflicts: distribute-py%type_pkg[python] (<< 0.7.2-3)
Replaces: distribute-py%type_pkg[python]
Provides: distribute-py%type_pkg[python]

This allows folks who update distribute automatically to get setuptools (under the distribute label) without any nasty dependency hell.

Then, if setuptools is updated and installed, it overwrites the overlapping files from distribute with identical ones, but does _not_ remove the distribute package (since there is no Conflict), so packages with dependencies on it are happy.

It's not a complete solution, probably, but at least we can tell users to update distribute first.

.infos attached.
--
Alexander Hansen, Ph.D.
Fink User Liaison
My package updates: http://finkakh.wordpress.com/
Info2: << 
DescDetail: <<
As of 2013-Jun-09, distribute has been merged into
setuptools 0.7.  This package exists to provide 
compatibility, but is subject to discontinuation at 
any time.

NOTE: At PyCon 2013, the maintainer of the upstream of 
distribute and setuptools (now the same guy) are going
to be merged: He says, "Distribute will be going away, but
use distribute for now until it's fully merged back into
setuptools.  -4/2013

Easily download, build, install, upgrade, and uninstall Python
packages.

See also: pip and virtualenv
<< 

Package: distribute-py%type_pkg[python]
Type: python (2.6 2.7 3.1 3.2 3.3)
Version: 0.7.2
Revision: 3
Source: http://pypi.python.org/packages/source/s/setuptools/setuptools-%v.tar.gz
Source-MD5: de44cd90f8a1c713d6c2bff67bbca65d

Depends: python%type_pkg[python]
Conflicts: setuptools-py%type_pkg[python] (<< 0.7.2-3)
Replaces: setuptools-py%type_pkg[python]
Provides: setuptools-py%type_pkg[python]

Description: EasyInstall and python eggs (deprecated)
Maintainer: Kurt Schwehr <goat...@users.sourceforge.net>
DocFiles: CHANGES.txt DEVGUIDE.txt README.txt docs
CompileScript: echo Skipping compile stage
InstallScript: <<
  %p/bin/python%type_raw[python] setup.py install --root=%d 
--single-version-externally-managed
  rm %i/bin/easy_install
<<
LICENSE: OSI-Approved
HomePage: https://pypi.python.org/pypi/setuptools

# Does not pass on macosx with /tmp really being /private/tmp
# http://bugs.python.org/setuptools/issue125
#InfoTest: <<
#    TestScript: <<
#      %p/bin/python%type_raw[python] setup.py test  || exit 2
#    <<
#<<

# Info2
<<
Info2: << 
Package: setuptools-py%type_pkg[python]
Type: python (2.6 2.7 3.1 3.2 3.3)
Version: 0.7.2
Revision: 3
Source: http://pypi.python.org/packages/source/s/setuptools/setuptools-%v.tar.gz
Source-MD5: de44cd90f8a1c713d6c2bff67bbca65d

Depends: python%type_pkg[python]
Conflicts: distribute-py%type_pkg[python] (<< 0.7.2-3)
Replaces: distribute-py%type_pkg[python]
Provides: distribute-py%type_pkg[python]

Description: EasyInstall and python eggs
Maintainer: Kurt Schwehr <goat...@users.sourceforge.net>
DocFiles: CHANGES.txt DEVGUIDE.txt README.txt docs
CompileScript: echo Skipping compile stage
InstallScript: <<
  %p/bin/python%type_raw[python] setup.py install --root=%d 
--single-version-externally-managed
  rm %i/bin/easy_install
<<
LICENSE: OSI-Approved
HomePage: https://pypi.python.org/pypi/setuptools

# Does not pass on macosx with /tmp really being /private/tmp
# http://bugs.python.org/setuptools/issue125
#InfoTest: <<
#    TestScript: <<
#      %p/bin/python%type_raw[python] setup.py test  || exit 2
#    <<
#<<

DescDetail: <<
Distribute has been merged back into setuptools 0.7.  setuptools
should now be used rather than distribute.

Easily download, build, install, upgrade, and uninstall Python
packages.

See also: pip and virtualenv
<<


# Info2
<<
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to