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

build the binaries on our own #15

Merged
merged 37 commits into from
Jan 13, 2016
Merged

build the binaries on our own #15

merged 37 commits into from
Jan 13, 2016

Conversation

whyrusleeping
Copy link
Member

This changes the build code to build the binaries from source ourselves for each platform.

@whyrusleeping whyrusleeping force-pushed the build-ourselves branch 4 times, most recently from 1be236c to d25d7e5 Compare December 10, 2015 18:32
@dignifiedquire
Copy link
Member

@whyrusleeping how ready is this? Need to change some of the build process to accommodate for the features in #14

@whyrusleeping
Copy link
Member Author

it works for building the go-ipfs binaries (and could be easily extended to other go binaries). but the paths referencing the binary locations will need to be updated. What do you need?

@jbenet
Copy link
Member

jbenet commented Dec 11, 2015

@whyrusleeping rebase over @dignifiedquire's merged PR?

@jbenet
Copy link
Member

jbenet commented Dec 11, 2015

@whyrusleeping this LGTM.

@dignifiedquire
Copy link
Member

@whyrusleeping need to change some things around how the json files are generated and moved.

@dignifiedquire
Copy link
Member

@whyrusleeping just checked, looks usable so far, but missing file extensions in the links

@whyrusleeping
Copy link
Member Author

Binaries (except on windows) don't have file extensions.

@dignifiedquire
Copy link
Member

@whyrusleeping but the file you ship has, e.g. .zip, .tar.gz (or at least it should)

@dignifiedquire
Copy link
Member

@whyrusleeping what's the current state of this?

@@ -0,0 +1,10 @@
darwin 386
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need these? As far as I know 32 bit is not used on any current OS X system that is able to run these binaries (and pretty much nobody, not even go-lang or node.js, gives you 32 bit binaries for OS X)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This applies for ipfs and other binaries as well

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, okay. I just picked a few that seemed reasonable, i'll remove it. But all of these binaries are supported by the go compiler. Which do you think should be kept?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hold on, i think we do need darwin 386. I remember running into problems in pre-Yosemite with the mac mini and having to recompile as 386.

If the go team has it there still, it's there for a reason. Let's keep it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(to be clear, i understand that osx has been supposed to run only on amd64 for years now, but have seen this specific problem. Until golang disallows darwin 386 as a target, I think we should continue to have it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(there is also the possibility of suppressing it from the distributions page, if we think "almost all users wont need it and it will be confusing". i twill still be available in the version file listing itself)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mmkay, i left it in.

@dignifiedquire
Copy link
Member

@whyrusleeping I'm afraid not all is working yet, fs-repo-migrations and ipfs-update don't build at all for me, also some of the builds for go-ipfs are failed for me. See the attached gist for details https://gist.github.com/Dignifiedquire/8e8da57025f2377d05c9

if [ -z "$repopath" ]
then
fail "checkoutVersion: no repo to check out specified"
fi

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's more idiomatic to write something like:

test -n "$repopath" || fail "checkoutVersion: no repo to check out specified"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome, i knew there had to be a better way

@dignifiedquire
Copy link
Member

@dignifiedquire
Copy link
Member

@whyrusleeping as you can see the platforms is empty for ipfs-update though in dist.json. Also there is a lot of garbage added when running make (things like gopath and dist.json.tmp that's not cleaned up or gitignored)

@dignifiedquire
Copy link
Member

@dignifiedquire
Copy link
Member

ipfs-update is working, after I told my computer to go and f*** itself

@dignifiedquire
Copy link
Member

@ralphtheninja
Copy link

Ready for the first round? http://v04x.ipfs.io/ipfs/QmUCqDJ2dVkdfiMrkgsM7PYNVL91GY8LdvpitxKL71biRp/

🎉

@jbenet
Copy link
Member

jbenet commented Jan 13, 2016

@dignifiedquire awesome :)

@dignifiedquire
Copy link
Member

@jbenet @whyrusleeping can we merge this to master for now? I'd rather do the rest in smaller PRs

whyrusleeping added a commit that referenced this pull request Jan 13, 2016
build the binaries on our own
@whyrusleeping whyrusleeping merged commit d00e95d into master Jan 13, 2016
@whyrusleeping whyrusleeping deleted the build-ourselves branch January 13, 2016 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants