(#15464) Exclude gem command from bundler

This patch simply excludes the `gem` command from the dependency
handling of Bundler with the `rubygems-bundler` gem installed.

This patch also updates the README to describe the resolution to the
spec test failures we've been seeing when Puppet contains a Gemfile in
the project root.

To summarize: Use of RVM is considered dangerous

We're able to work around the problem, but the hijacking of shell
builtin commands is a maintenance burden we're not willing to shoulder,
hence RVM being considered a dangerous tool.
This commit is contained in:
Jeff McCune 2012-08-20 15:25:22 -07:00
Родитель 54ea4feb40
Коммит 48a9cc2a9a
2 изменённых файлов: 23 добавлений и 0 удалений

Просмотреть файл

@ -1,4 +1,5 @@
---
exclude:
- gem
- rake
- rspec

Просмотреть файл

@ -3,6 +3,28 @@
This file is intended to provide a place for developers and contributors to
document what other developers need to know about changes made to Puppet.
# Use of RVM considered dangerous #
Use of RVM in production situations, e.g. running CI tests against this
repository, is considered dangerous. The reason we consider RVM to be
dangerous is because the default behavior of RVM is to hijack the builtin
behavior of the shell, causing Gemfile files to be loaded and evaluated when
the shell changes directories into the project root.
This behavior causes the CI Job execution environment that runs with `set -e`
to be incompatible with RVM.
We work around this issue by disabling the per-project RC file parsing using
if ! grep -qx rvm_project_rvmrc=0 ~/.rvmrc; then
echo rvm_project_rvmrc=0 >> ~/.rvmrc
fi
When we setup CI nodes, but this is not standard or expected behavior.
Please consider rbenv instead of rvm. The default behavior of rvm is difficult
to maintain with `set -e` shell environments.
# Dependencies #
Puppet is considered an Application as it relates to the recommendation of