[Distutils] version scheme: a case for dropping ".devNNN" and ".postNNN"

Floris Bruynooghe floris.bruynooghe at gmail.com
Fri Jun 12 10:02:14 CEST 2009


On Thu, Jun 11, 2009 at 09:11:38PM -0400, Tres Seaver wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Trent Mick wrote:
> >>> - when I specify a dependency against a particular build_number of a
> >>> package, I don't care if that build_number happened to be a released
> >>> version or a dev version
> >> However, to specify that dependency you're going to need a way to represent
> >> the build number as part of a requirement string, at which point we're right
> >> back where we started.
> > 
> > Perhaps. I'm wondering if the separation of "version" (does not
> > include the ".dev") and "build_number" helps clear up some of the
> > cases.
> > 
> > If "1.2.3.dev456"-type version strings don't appear in packages
> > released to PyPI, then the job of the downstream RPM/.deb packagers is
> > easier (they then don't need to care about the spelling of the version
> > with the build number). Have a "RationalReleaseVersion()" that is just
> > the non-dev part of the proposal.
> > 
> > Yes, as you say, the requirement/dependency fields (presumably they
> > will be strings) need a way to spell the "build_number" part. However,
> > the large set of setup.py authors that don't need to understand or use
> > dependency strings don't need to see that.
> 
> Assuming that we add the requisite 'build_number' field to PKG_INFO,
> could we allow spelling a dependency on a combined version + build
> number using an "odd" spelling, such as: '1.2.3#4567' or '1.2.3 at 4567'?
> This spelling would be *disallowed* for "released" packages, but could
> still satisfy the folks who use such dependencies in internal-only
> development mode.

PyPI needs to allow any version anyway, so these things will end up
being used there and make the situation only worse.  The .devX and
.postX allow for both people counting up to and counting away from
releases and if combinations (.postX.devY) are disallowed I think it's
quite clear and straight forward.  Bear in mind no-one forces you to
use those suffixes.  If you never want to see them just don't use
them.  You can happily cope with just normal alpha, beta and release
candidate releases.

Regards
Floris


-- 
Debian GNU/Linux -- The Power of Freedom
www.debian.org | www.gnu.org | www.kernel.org


More information about the Distutils-SIG mailing list