Skip to content

AI-5683 - Specify a bundle_path so bins/gems are only installed in ~/.aigems

Steve Traylen requested to merge nobinstubs into master

While the default for BUNDLE_PATH is ~/.gems if you explicitly set BUNDLE_PATH to ~/.aigems then binstubs are also installed within in ~/.aigem as opposed to ~/bin.

The result is that:

  • ~/bin is not populated with junk.
  • ~/.gems is not populated with junk.

The actual stubs appear at:

LANG=en_US.UTF-8 BUNDLE_GEMFILE=../ci/Gemfile PUPPET_VERSION='~> 5.0' \
    scl enable rh-ruby24 'bundle exec which puppet rspec'
/afs/cern.ch/user/s/straylen/.aigems/ruby/2.4.0/bin/puppet
/afs/cern.ch/user/s/straylen/.aigems/ruby/2.4.0/bin/rspec

The actual configuration is to deploy a file ci/.bundle/config containing

---
BUNDLE_PATH: "~/.aigem"
BUNDLE_DISABLE_SHARED_GEMS: "true"

Consequently ci/.bundle must not be in the deployed .gitignore so remove from this template.

Users should be advised via the CHANGELOG to clean up and after consideration

rm ~/.gems
...
rwinrm:                     Ruby script, ASCII text executable
rwinrmcp:                   Ruby script, ASCII text executable
rxgettext:                  Ruby script, ASCII text executable
semver:                     Ruby script, ASCII text executable
serverspec-init:            Ruby script, ASCII text executable
setup:                      Ruby script, ASCII text executable
ship:                       Ruby script, ASCII text executable
sign:                       Ruby script, ASCII text executable
stompcat:                   Ruby script, ASCII text executable
term_cdiff:                 Ruby script, ASCII text executable
term_colortab:              Ruby script, ASCII text executable
term_decolor:               Ruby script, ASCII text executable
term_display:               Ruby script, ASCII text executable
term_mandel:                Ruby script, ASCII text executable
term_snow:                  Ruby script, ASCII text executable
thor:                       Ruby script, ASCII text executable
tilt:                       Ruby script, ASCII text executable
travis:                     Ruby script, ASCII text executable
...

Fixes AI-5683

Edited by Steve Traylen

Merge request reports