Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide binaries for popular OSes #85

Open
davecgh opened this issue Feb 4, 2014 · 6 comments
Open

Provide binaries for popular OSes #85

davecgh opened this issue Feb 4, 2014 · 6 comments

Comments

@davecgh
Copy link
Member

davecgh commented Feb 4, 2014

Currently the only pre-compiled binaries that are offered are for Windows. It would be nice to offer them for popular OSes such as OSX, Fedora, Mint, Ubuntu, Debian, FreeBSD, and OpenBSD.

@davecgh davecgh added build and removed enhancement labels Feb 4, 2014
@esbullington
Copy link

In response to this issue (and my own wishes), I've at least addressed 1 OS by offering signed binaries and apt repository for Linux users for the latest 0.8 release.

I'm hosting them for now at bitcoin-gateway.com, which I had lying around. However, I'm working on automating the build process, so once I finish that and do more testing -- and assuming conformal wants this -- I'd be happy to move them to you all's servers and/or domain.

All the binaries and deb files are signed using my signing key, all available at:
https://bitcoin-gateway.com/downloads

The binaries are hosted over SSL connection, and the apt repo is signed. I'm putting all this info and related files up at http://github.com/esbullington/btcd-packaging

Once I've got the process automated and organized, I can either make a PR if you wish to include the build tools here in this repo, or I can continue to host it separately.

Eventually, if there's interest, I'd also like to establish gitian builds for btcd like bitcoin core does, which makes it possible for multiple team members to separately and securely sign a release.

I'd like to do a little more testing before these downloads and repo are advertised. This is just a heads-up in case you saw the repo and wondered what exactly I was doing.

@davecgh
Copy link
Member Author

davecgh commented May 30, 2014

@esbullington That's awesome news! Thanks for the heads up and your work on this.

We are interested in hosting the binaries, but we'd need to discuss what all it entails. I realize it's trivial to cross-compile btcd with Go to other Operating Systems, but unfortunately that doesn't help with the packaging part for each distro. Feel free to drop by IRC once you have automated things to hash out the details.

@esbullington
Copy link

Thanks @davecgh for your input. And yes, compiling the binaries in Go is quite easy, and even making the debs is easy with goxc, but getting those deb binaries to work in a signed apt repo was pretty tricky. Lots of little details to get right.

But the good thing is that now users of Ubuntu, Debian, Mint, and related distros can now easily install btcd without having to install Go.

My opinion is that for Linux, the idea setup is a apt repo for Debian/Ubuntu, an RPM repo for Fedora/RHL/etc, and a signed binary tarball for all the other distros. I've now taken care of 2/3 of those, and I also plan to host an RPM repo, too.

I'll drop by IRC to discuss things in greater detail.

@EgorMatirov
Copy link

Hi.
I have made PKGBUILD for git version. Now Archlinux users can simply install it from AUR: https://aur.archlinux.org/packages/btcd-git/

davecgh added a commit to davecgh/btcd that referenced this issue Aug 16, 2017
This refactors the notification state mutex out of the state itself to
the client.  This is being done since the code makes a copy of the
notification state and accesses that copy immutably, and therefore there
is no need for it to have its own mutex.
@l0k18
Copy link
Contributor

l0k18 commented Nov 24, 2018

It is extremely easy to use gox to make the binaries for every platform. With the current latest go version btcd builds (previously it did not due to some integer math issue with 64 bit integers) every possible target. Plan9, freebsd, netbsd, openbsd, even NaCl and a few others.

The only irritating bit then is building the installers. I am working on a fork of btcd and btcwallet for Parallelcoin, and for me the easy auto-configuration of btcctl seems like the way all of the binaries should configure. So I have made them do it this way in my code.

@monperrus
Copy link

up to v0.22.0-beta, the Github releases contained binaries (https://github.com/btcsuite/btcd/releases/tag/v0.22.0-beta), which is great.

the more recent Github releases do not contain any binary, but only the source tarball.

Is that on purpose?

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

No branches or pull requests

5 participants