On September 29, 2014 at 9:25:37 AM, Wichert Akkerman (wich...@wiggy.net) wrote:

On 29 Sep 2014, at 15:21, Donald Stufft <don...@stufft.io> wrote:

On September 29, 2014 at 8:54:26 AM, Wichert Akkerman (wich...@wiggy.net) wrote:
On 29 Sep 2014, at 13:58, Nick Coghlan <ncogh...@gmail.com> wrote:
Right, this is my perspective as well. The point that the wheel format already 
includes a build ordering field was significant because that file naming scheme 
has an official specification.

Other commands like bdist_egg, bdist_dumb and bdist_wininst aren't as strict 
about the expected file names, although it would be good to define a suggested 
optional build numbering convention at least for bdist_egg, such that 
easy_install will do the right thing, even if the full source level version 
number isn't bumped.

This is just as relevant for sdists as well. It is quite common to see a broken 
release due to a missing or wrong MANIFEST.in.


Test them prior to uploading them.

You can make the exact same argument about binary distributions, so I don’t 
understand what you’re trying to say here? Mistakes are made everywhere - I’m 
just trying to point out that a packaging error is not unique to binary 
distributions.

Wichert.


The difference is that a binary distribution is a produced *from* a source 
distribution. 

This means that if a source distribution is incorrect then any binary 
distributions built from that source distribution needs to be regenerated. This 
affects the Wheels which are placed on PyPI, Wheels created “downstream” (e.g. 
a Wheel cache on a user’s machine, a shared wheel builder via devpi + 
devpi-builder), and it affects other packaging systems such as the OS package 
tools like apt-get, FreeBSD ports, Homebrew etc.

However if a Wheel is incorrect that really only effects direct consumers of 
that Wheel. It’s not a generally supported to take a binary distribution and 
repack it into another form, however even if someone was doing so, the “build 
number” metadata in the Wheel tag signifies that a new version *of that wheel* 
has been created.

Another way of looking at it, is that the version number identifies the source 
distribution, while the version number, build number, and platform tags 
identifies the wheel files. This is reflected in their respective filenames and 
since this proposal is simply boiled down to “there should exist, at all points 
in time only one set of bytes per uniquely identified file”.

---
Donald Stufft
PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to