Skip to content

Add rbenv module #13

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

Closed
wants to merge 3 commits into from
Closed

Add rbenv module #13

wants to merge 3 commits into from

Conversation

hsbt
Copy link

@hsbt hsbt commented Jan 12, 2013

We need to run test with any version of ruby. but Rails development box provided only system ruby. system ruby in precise32 is 1.9.3p0. this version is little old.

I added puppet manifest for rbenv and ruby-build. now vagrant user can use rbenv install 1.9.3-p327

Thanks.

@fxn
Copy link
Member

fxn commented Jan 12, 2013

The experience I want for the users of the dev box is: you run vagrant up and presto you are ready.

In particular the box provides by default the distro package because albeit it is an early version, it is 1.9.3, passes the test suite, and it is already compiled. So a download of the binaries is enough.

I don't want to preinstall any version manager "just in case", because people can install their preferred one easily. In the case of RVM that is basically a one-liner ahead so no need to bother.

One thing I would be willing to merge, though, is installing RVM with a compiled binary. When I built the dev box no binary seemed to be available for it, rvm downloaded the tarball for compilation, so it was discarded.

What I want to avoid is compilation, but it we can substitute the Ubuntu package with precompiled Ruby for RVM that is more recent then that would be an improvement.

@hsbt
Copy link
Author

hsbt commented Jan 13, 2013

@fxn I understand your opinion. but I think 1.9.3p0 have some exploit, such as http://www.ruby-lang.org/en/news/2012/11/09/ruby19-hashdos-cve-2012-5371/ . 1.9.3p0 doesn't use in production. We need to run test suite with real case.

So, I don't have solution that quick vagrant up yet. If possible to use rbenv and precompiled binary, I'll make it. Can I take the rbenv and precompiled binary?

@fxn
Copy link
Member

fxn commented Jan 13, 2013

@hsbt does rbenv provide precompiled binaries now? If it does rbenv is fine as well, my only concern is not to compile source code by default.

@hsbt
Copy link
Author

hsbt commented Jan 13, 2013

No, rbenv cann't provide binaries in official function.

I'll build to 1.9.3-p327 in dev box and adding this binary to repository. later I modified puppet manifests to use precompiled binary default. this solution have two problem:

  • To containing binary makes repository size bigger.
  • If ubuntu package updated, we re-build these binaries.

@fxn
Copy link
Member

fxn commented Jan 13, 2013

Yep, not really convinced by that approach. Think that in practice for the majority of PRs the patchlevel does not really matter for the developer, he hacks his patch, the suite passes, and issues a PR. Provisioning a better patchlevel is not worth the price of those compromises in my view. Also take into account that the project has Travis as a safety net.

A more modern Ruby would be preferable, but it should be provisioned in a similar quick and standard way.

@hsbt
Copy link
Author

hsbt commented Jan 13, 2013

I agreed. I'm going to develop to rbenv manifests in my fork. If I found any solutions, I pull request it.

rails-dev-box is good solution. I loved it.

Thanks.

@hsbt hsbt closed this Jan 13, 2013
@fxn
Copy link
Member

fxn commented Jan 13, 2013

Awesome :), I am in parallel exploring what is the state of binary install with rvm today.

@hsbt hsbt deleted the add-rbenv-module branch January 14, 2013 12:45
@fxn
Copy link
Member

fxn commented Jan 23, 2013

Went with RVM finally d5cae27, binary install, and recent patchlevel.

@hsbt
Copy link
Author

hsbt commented Jan 24, 2013

it looks awesome! thank you nudge me.

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.

2 participants