chef / appbundler

Generate locked binstubs for ruby applications
Apache License 2.0
14 stars 10 forks source link

Allow one bundle to appbundle multiple gems' binstubs #27

Closed jkeiser closed 8 years ago

mwrock commented 8 years ago

Back compat aside, this looks good to me but I think back compat may need to be addressed before merging. Two possible options:

lamont-granquist commented 8 years ago

i think its going to have to be option 2 one way or another...

jkeiser commented 8 years ago

I don't believe there are backcompat issues here. But we can talk. I only updated the name of BUNDLE_DIR, not its meaning--BUNDLE_DIR just happens to be a little more accurate as far as what it's actually used for.

mwrock commented 8 years ago

yeah looking over appbundle-updater again, it does seem this "should work" but would be good to validate. Assuming thats done, I'm :+1:

jkeiser commented 8 years ago

I've verified that appbundle-updater test-kitchen v1.4.0 does indeed update /opt/chefdk/bin/kitchen correctly, and that it is using this patched version of appbundler to do so (raise statements inside cause it to fail, so it's using what I think it's using).

lamont-granquist commented 8 years ago

can you install something like omnibus-chef 12.5.1 and then install this appbundler and appbundle-updater and successfully upgrade chef? if that works, that is mostly what i think i care about working...

jkeiser commented 8 years ago

I'll give it a shot!

ksubrama commented 8 years ago

:+1:

jkeiser commented 8 years ago

@lamont-granquist it looks right:

~/s/appbundler>
sudo /opt/chef/embedded/bin/appbundle-updater chef chef master
-----> Cleaning chef checkout
-----> Installing Packages
i do not know how to install compilers and git on this platform...
-----> Cloning chef from https://github.com/chef/chef.git
    running: git clone https://github.com/chef/chef.git /opt/chef/embedded/apps/chef
-----> Checking out chef to master
    running: git checkout master
-----> Installing dependencies
    running: /opt/chef/embedded/bin/ruby /opt/chef/embedded/bin/bundle install --without server docgen test development
-----> Installing gem
    running: /opt/chef/embedded/bin/ruby /opt/chef/embedded/bin/bundle exec /opt/chef/embedded/bin/rake install
-----> Updating appbundler binstubs for chef
    running: /opt/chef/embedded/bin/ruby /opt/chef/embedded/bin/appbundler /opt/chef/embedded/apps/chef /opt/chef/bin
-----> Finished!
jkeiser@Ettores-MacBook-Pro-4 ~/s/appbundler> /opt/chef/bin/chef-client -v
Chef: 12.9.13
jkeiser commented 8 years ago

Also of note:

/opt/chef/embedded/bin/appbundler -v
Appbundler Version: 0.8.0
lamont-granquist commented 8 years ago

:+1: