[Distutils] patch: ez_setup.py: separate default version and minimum version of setuptools
zooko at zooko.com
Sat Sep 29 00:46:27 CEST 2007
>> Agreed. So in order to automatically satisfy our dependency on
>> simplejson using simplejson's source tarballs, we can either ask Bob
>> Ippolito (the author and packager of simplejson) to please switch to
>> the patched version of ez_setup.py and pass min_version="0.6a9" to
>> it, or else we can ask him to please set his version="0.6a9" and
>> start hosting setuptools 0.6a9 eggs for his users.
> So bear in mind that since it's already *possible* to do this, it's
> unlikely I'll accept a patch that makes it *easy* for people to
> keep using outdated alphas. :)
Oh yes, we too prefer for our users to use newer versions of
setuptools. I sympathize with your motivation. :-)
Actually I think this patch makes it easier in some cases for people
to gracefully upgrade to newer versions of setuptools.
Consider our case: we are required to service users of Ubuntu dapper
and to do so without requiring them to first upgrade their version of
setuptools. If we use standard ez_setup.py, then what happens is
that all of our users (not just the Ubuntu dapper using ones) get
setuptools v0.6a9 installed. Eventually, our users will upgrade from
Ubuntu dapper to a newer Ubuntu, and they will upgrade their version
of setuptools when they upgrade their operating system, but our other
users -- the ones whose version of setuptools is automatically
installed by our ez_setup.py script -- will be stuck with v0.6a9.
So in order to support our dapper users while also installing a newer
version of setuptools for non-dapper-users, we patched our
ez_setup.py. Now dapper users proceed as normal, but all our other
users get setuptools v0.6c7 installed.
This is already good enough for us -- we don't mind maintaining a
slightly different version of ez_setup.py than the official one. The
reason why this patch going into the official ez_setup.py would help
us is that if packages like simplejson used it (and allowed a
sufficiently old version of setuptools) then we could add simplejson
to the list of dependencies that are automatically satisfied by
setuptools even while satisfying the above-mentioned policies.
By the way, I'm separately submitting a patch which, if it can be
made to work, might allow us to automatically upgrade people to newer
versions of setuptools when they follow our installation procedure.
More information about the Distutils-SIG