[zeromq-dev] ZeroMQ 4.2 release, planning
Ewen McNeill
zeromq at ewen.mcneill.gen.nz
Tue May 3 23:02:26 CEST 2016
On 4/05/16 8:21, Luca Boccassi wrote:
> But most importantly, the tarball will ship stuff that shouldn't be
> shipped, which is a huge problem for distribution packagers.
To echo this: if there are things in the upstream tarball that they
shouldn't ship, they have to undo things from the upstream tarball,
rather than just having some patches adding to it. In the worst case
(licensing problems) they have to build a "replacement upstream"
tarball, which is just painful for everyone.
Personally I think it should be possible for anyone to "make a
distribution file" (eg, for their own use), and that the tooling to do
that should be in the repository. It stops that being magic special
sauce that is known only to a few people. Which means "make dist"
should continue to exist. (And it sounds like it's been fixed to work,
which IMHO is the solution to anything that "almost but not quite works"
:-) )
As for GitHub releases, AFAICT:
- if you tag a release commit, I think you get automagic tar.gz/zip
releases of what is in the git trees at that commit, which is probably
useful for distros. (And some distro systems, eg MacPorts, can also
clone git as of a release tag and build from that, so it is multi-use.)
- in addition to that, ie, with the tagged release commit, you can
_also_ upload "binary artefacts" (eg, your own tarballs, or binaries)
which may have some of the generated bits pre-generated (which removes
dependencies on some auto tooling/knowledge). These need to be attached
to the commit. AFAICT these bits then get served from Amazon S3 at present.
The combination of these two might give ZeroMQ projects the best of both
worlds (eg, providing the names didn't conflict). A "tarball of git"
_and_ a "ready to build, just run make" version as well, and people
could get what they wanted. There's an API for uploading these binary
artefacts, so it could potentially even come from the CI system (eg,
Kevin's work with Travis), based on seeing a release tag added.
All of the above depends on having git tags for the release commits.
Also FWIW, Doron and I have been talking about using Amazon S3
separately to host the existing downloads.zeromq.org tarballs (ie,
uploaded as binary artefacts). I think the main thing we'd need is some
way to translate the (long) S3 URLs into something friendly people can
find, hosted somewhere. For which my thought was maybe using
https://zeromq.github.io/libzmq/ (ie, the gh-pages branch in the
repository), since that doesn't currently seem to be used, and could be
auto-built given a list of S3 URLs and the tarballs that were uploaded.
I'd like to get _all_ of downloads.zeromq.org hosted somewhere else this
month (May 2016) _and_ to ensure that everything that's there (160
files) are still downloadable (just with new URLs) for posterity.
Ewen
PS: Someone adding release commit tags to the libzmq, etc history for
all previous releases (ie, as of that commit) would be great. Or at
least the recent ones. But I think that would be a manual process to
find them (eg, reviewing "git log" looking for changelog updates or
similar).
More information about the zeromq-dev
mailing list