https://www.aeolusproject.org/redmine/issues/3455
This patch changes the default on checkout of conductor to be
consistent with expectations of upstream ruby community. This means
we once more have a Gemfile instead of Gemfile.in. Developers
wishing to use system rpms can simply:
mv Gemfile Gemfile.in.
Those wishing to switch back and forth can do the above for 'system
dev', and to use system ruby, but separate gemset:
bundle install --path bundle
Of course, you can also use rvm/gemsets or rbenv as desired to test on
a wider array of ruby vms, or to test against various dependency
versions.
---
aeolus-conductor.spec.in | 2 +-
src/.gitignore | 3 ++-
src/{Gemfile.in => Gemfile} | 0
src/config/application.rb | 10 +++++-----
src/config/boot.rb | 11 ++++++-----
5 files changed, 14 insertions(+), 12 deletions(-)
rename src/{Gemfile.in => Gemfile} (100%)
diff --git a/aeolus-conductor.spec.in b/aeolus-conductor.spec.in
index fccbcae..7908acc 100644
--- a/aeolus-conductor.spec.in
+++ b/aeolus-conductor.spec.in
@@ -296,7 +296,7 @@ popd
# misc files
%{__cp} src/Rakefile %{buildroot}%{app_root}
%{__cp} src/config.ru %{buildroot}%{app_root}
-%{__cp} src/Gemfile.in %{buildroot}%{app_root}
+%{__cp} src/Gemfile %{buildroot}%{app_root}/Gemfile.in
%{__cp} src/spec/fixtures/Gemfile.in %{buildroot}%{app_root}/spec/fixtures
%{__cp} src/lib/aeolus/debug/aeolus-debug %{buildroot}%{_bindir}
diff --git a/src/.gitignore b/src/.gitignore
index 6697edd..98c34fb 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -2,6 +2,7 @@
db/*.sqlite3
log/*.log
tmp/**/*
+bundle/**/*
config/oauth.json
-Gemfile
+Gemfile.in
*.rbc
diff --git a/src/Gemfile.in b/src/Gemfile
similarity index 100%
rename from src/Gemfile.in
rename to src/Gemfile
diff --git a/src/config/application.rb b/src/config/application.rb
index cbc26f2..88d6d1d 100644
--- a/src/config/application.rb
+++ b/src/config/application.rb
@@ -18,14 +18,14 @@ require File.expand_path('../boot', __FILE__)
require 'rails/all'
-require File.join(File.dirname(__FILE__), '..', 'lib', 'aeolus',
'ext')
-if ENV['USE_BUNDLER'] == 'yes'
+if File.exist?(File.expand_path('../../Gemfile.in', __FILE__))
+ require File.join(File.dirname(__FILE__), '..', 'lib',
'aeolus', 'ext')
+ puts 'Using gem require instead of bundler'
+ Aeolus::Ext::BundlerExt.system_require(File.expand_path('../../Gemfile.in',
__FILE__),:default, Rails.env)
+else
ENV['BUNDLE_GEMFILE'] = File.expand_path('../../Gemfile', __FILE__)
puts "===== application.rb will try and use bundler ========="
Bundler.require(:default, Rails.env) if defined?(Bundler)
-else
- puts 'Using gem require instead of bundler'
- Aeolus::Ext::BundlerExt.system_require(File.expand_path('../../Gemfile.in',
__FILE__),:default, Rails.env)
end
$: << File.join(File.dirname(__FILE__), "../app")
diff --git a/src/config/boot.rb b/src/config/boot.rb
index cac1610..ed4cf1f 100644
--- a/src/config/boot.rb
+++ b/src/config/boot.rb
@@ -16,15 +16,16 @@
require 'rubygems'
-if ENV['USE_BUNDLER'] == 'yes'
+gemfile = File.expand_path('../../Gemfile', __FILE__)
+if File.exist?(gemfile)
puts "===== boot.rb will try and use bundler ========="
- ENV['BUNDLE_GEMFILE'] = File.expand_path('../../Gemfile', __FILE__)
- require 'bundler' if File.exists?(ENV['BUNDLE_GEMFILE'])
+ ENV['BUNDLE_GEMFILE'] = gemfile
+ require 'bundler'
begin
Bundler.setup
rescue Bundler::GemNotFound => e
STDERR.puts e.message
- STDERR.puts "Try running `bundle install`."
+ STDERR.puts "Try running `bundle install --path bundle`."
exit!
- end # if File.exist?(gemfile)
+ end
end
--
1.7.7.6