A set of build scripts on top of gitian and vagrant for automating gitian builds... #1597

pull maaku wants to merge 1 commits into bitcoin:master from maaku:vagrant-build changing 16 files +1079 −0
  1. maaku commented at 6:16 PM on July 13, 2012: contributor

    ...on any platform using Oracle VirtualBox. A minimum number of host dependencies are required.

    The gitian build process produces deterministic builds and living documentation of the build process. However gitian only runs within a Linux host environment, and has proven somewhat tricky to setup and maintain. The purpose of this pull-request is to provide a platform-independent set of scripts for creating a gitian build environment and launching builds for all platforms using Oracle VirtualBox, Vagrant (for recording configurations of VirtualBox; see http://vagrantup.com/), and gitian LXC containers.

    See “contrib/vagrant/README.md” for details.

  2. luke-jr commented at 9:04 PM on July 13, 2012: member

    Gitian is currently Ubuntu-only; how does this attempt to address that?

    Vagrant is also Ruby, which is itself not a platform-independent dependency.

  3. maaku commented at 9:12 PM on July 13, 2012: contributor

    By "platform-independent" I meant any platform where the bitcoin reference client currently runs. Vagrant is a tool for specifying the state of VirtualBox instances, so this is necessarily limited to platforms that VirtualBox run on (Mac OS X, Windows, Linux, and Solaris on x86_64). Ruby runs on all of those platforms too.

    What these scripts do is build a VirtualBox instance containing Ubuntu 12.04, then calls Gitian with USE_LXC=1. It also patches gitian and the gitian build scripts as needed to run within VirtualBox, downloads the various dependencies, etc.

  4. luke-jr commented at 10:11 PM on July 13, 2012: member

    I see, that does sound possibly useful.

  5. laanwj commented at 7:51 AM on July 14, 2012: member

    Great development! At least Virtualbox runs on more platforms than KVM, which is Linux-only. @luke-jr How is Ruby not platform independent? AFAIK it has been ported to neigh everything, just like Python.

  6. luke-jr commented at 8:26 AM on July 14, 2012: member

    @laanwj I meant in terms of it not being a standard component of most operating systems. But it occurred to me that I'm not the audience for this patch anyway, and the audience it's intended for probably couldn't care less whether they have Ruby installed or not.

  7. TheBlueMatt commented at 7:29 PM on July 15, 2012: member

    I think this is awesome, but I'm not so sure about putting it in bitcoin itself, would it not make more sense to put this in gitian-builder and then let it read the gitian descriptors?

  8. A set of scripts built on top of gitian and vagrant (http://vagrantup.com) for automating gitian builds on any platform using Oracle VirtualBox. A minimum number of host dependencies are required. See “contrib/vagrant/README.md” for details. aac4cfa93d
  9. devrandom commented at 3:32 AM on July 18, 2012: none

    I'd be up for merging the appropriate parts into gitian-builder. Pull request welcome.

  10. maaku commented at 4:14 PM on July 18, 2012: contributor

    Just to be clear, very little of this pull request has anything to do with gitian. @BlueMatt and I had a discussion about this on IRC, and I agree now that it would have been better if I had never mentioned gitian.

    The purpose of these scripts is to enable a developer on Windows to create Windows binaries, or a Mac developer to generate Linux binaries (two actual use cases I encountered), as well as any other combination of build-host system. Gitian is being used simply because it is the most reliable process for doing cross-platform builds of bitcoind and Bitcoin-Qt.

    Included are are a handful of fixes required to get gitian running within an already-virtualized environment, and in time (aka, when I or someone else has time) those patches will be generalized and submitted upstream to gitian-builder. But that should be a minor footnote. This is really about doing cross-platform or local builds without complicated dedicated build servers.

  11. BitcoinPullTester commented at 7:09 AM on August 9, 2012: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/aac4cfa93d4dae1941ac71233d824da00552069d for binaries and test log.

  12. gavinandresen commented at 9:42 PM on October 1, 2012: contributor

    I gitian-built the 0.7.0 release on my Mac inside a VirtualBox (running Ubuntu) -- see the last part of contrib/gitian-descriptors/README for what worked for me.

    Keeping the contrib/vagrant/patch/*.patch files up-to-date with any changes to the gitian-builder/ files looks like something we're very likely to forget to do, and I'm hesitant to have Yet Another Way to build (we've already got gitian-KVM and gitian-LXC).

  13. jgarzik commented at 2:48 AM on November 16, 2012: contributor

    meh due to maintenance burden as @gavinandresen points out (but pointedly not NAK'ing, in case somebody else disagrees, and wants to pull)

  14. gavinandresen commented at 7:51 PM on January 14, 2013: contributor

    We can't keep up with the pull requests and features we've already got. Closing this, because we don't have bandwidth to test/maintain.

  15. gavinandresen closed this on Jan 14, 2013

  16. suprnurd referenced this in commit 82595b1b91 on Dec 5, 2017
  17. lateminer referenced this in commit 72595d7692 on May 6, 2020
  18. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 15:16 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me