Skip to content
This repository has been archived by the owner on May 4, 2018. It is now read-only.

Make a release :) #354

Closed
dpaleino opened this issue Mar 21, 2012 · 14 comments
Closed

Make a release :) #354

dpaleino opened this issue Mar 21, 2012 · 14 comments

Comments

@dpaleino
Copy link

Hello,

I'd need to package libuv for Debian (since node-zipfile seems to need it), and it would be best if I did package a released tarball.

Could you please publish a 0.1 release? :)

Thanks,
David

@bnoordhuis
Copy link
Contributor

We don't really do releases (not yet anyway) but pick the v0.6 branch if you want a stable version. v0.6 has a frozen API and only receives bug fixes.

I'm curious though why you need a separate package. libuv is bundled with node and that's what node modules should build against.

@jbergstroem
Copy link

I'm curious as to why you've stepped away from the traditional approach to releasing versions of software. Libuv – to me – is an excellent example of software you'd want to version and release properly. I imagine libuv taking a central place in a wide range of software within a foreseeable future and can't imagine all these softwares doing git clone libuv/master and statically building it into their own. It also makes debugging of that built piece of software harder, in a scenario where the debian package Y 1.0 bundled some checkout of libuv and started hitting bugs.

Sorry if this feels aggressive ("stepped away") – that's not my intention; it's just that I don't understand why the choice of not having a stable ABI wouldn't benefit everyone, including yourself.

@bnoordhuis
Copy link
Contributor

I'm curious as to why you've stepped away from the traditional approach to releasing versions of software.

One word: Convenience. :-)

Releases done right are quite a bit of work (type up changelog, test on all supported platforms, put out release notes, etc.). The main user of libuv is node and node doesn't need ABI compatibility since both projects are developed in tandem.

We'll eventually do releases, now that other projects are starting to pick up libuv (rust, julia, lots of language bindings), but probably not before node v0.8 or v0.10 comes out.

@jbergstroem
Copy link

@bnoordhuis Thanks for keeping me/us updated. I could probably add freebsd, linux and illumos buildbots if wanted/needed.

@opoplawski
Copy link

Looks like more distributions will want to package this up with more users of it. Releases are very helpful.

@Leont
Copy link

Leont commented Sep 19, 2012

I'd need to package libuv for Debian (since node-zipfile seems to need it), and it would be best if I did package a released tarball.

A debian/ directory with in it all the information necessary to build a debian package would be most welcome though.

@tjfontaine
Copy link
Contributor

I wouldn't expect to see released binary libuv packages soon as the bundling the library is preferred to the shared library approach. That being said the debian structure isn't that difficult and you could adapt what @bnoordhuis did for node https://github.com/bnoordhuis/node/compare/debian

@sgallagher
Copy link
Contributor

I'd like to also request that libuv consider producing ABI-stable releases simultaneously with Node.JS releases. It makes it much easier for distributions to package the code.

Also, I wonder why you would claim that "bundling the library is preferred to the shared library approach". It has been shown time and again throughout history that bundling is BAD. When libraries are bundled, it becomes difficult if not impossible to keep them updated for security issues. Furthermore, it places the responsibility to do so on the application that is bundling it, rather than trusting the library maintainers to fix it once everywhere.

Many Linux distributions such as Fedora do not allow library bundling at all. As it stands, I'm currently working on stripping out the bundling in libuv and Node.JS to make it acceptable to package in Fedora. As a first strike at this, I've provided a working PoC of an autotools build that both links libev against a shared copy (instead of the internal copy) and also makes it easy to produce a distribution tarball. This approach is in addition to the gyp approach and need not replace it.

#577

@bnoordhuis
Copy link
Contributor

I'd like to also request that libuv consider producing ABI-stable releases simultaneously with Node.JS releases.

We're (unofficially) already doing that: the snapshot that ships with a node.js releases gets tagged (node-v0.8.11, node-v0.9.2, etc.).

The stable branch - that's v0.8 - is ABI frozen.

@sgallagher
Copy link
Contributor

Sure, but I guess what I'm trying to say is that it would be better if libuv did separate shared-library releases (timed alongside node.js releases). This would be a public statement of ABI stability, as well as making it easier to fix libuv-specific issues without doing a full node.js re-release (which I'm sure is quite expensive time-wise).

@ttilley
Copy link

ttilley commented Dec 23, 2012

the tag for node-v0.9.4 is missing.

should I assume that the correct commit is 4b115f8 ?

@bnoordhuis
Copy link
Contributor

the tag for node-v0.9.4 is missing.

I've added it. It points to commit dc559a5.

@ttilley
Copy link

ttilley commented Dec 23, 2012

thanks :)

@bnoordhuis
Copy link
Contributor

Okay, we're doing releases now and I've just landed a patch in 3eb6eb3 that assigns a proper soname to the shared library. I think that wraps up this issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants