--- aeolus-conductor.spec.in | 21 ++++++++++++++++++--- src/Gemfile | 4 +++- src/app/models/instance.rb | 3 ++- src/config/application.rb | 2 +- 4 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/aeolus-conductor.spec.in b/aeolus-conductor.spec.in index 93af028..cabe83c 100644 --- a/aeolus-conductor.spec.in +++ b/aeolus-conductor.spec.in @@ -1,6 +1,14 @@ %global app_root %{_datadir}/%{name} %global doc_root %{_datadir}/%{name}-doc
+%if 0%{?fedora} > 16 +%global rubyver 1.9.3 +%global rubyabi 1.9.1 +%else +%global rubyver 1.8.1 +%global rubyabi 1.8 +%endif + Name: aeolus-conductor Version: @VERSION@ Release: 0%{?dist} @@ -17,8 +25,8 @@ URL: http://aeolusproject.org # cp aeolus-conductor-0.3.0.tar.gz ~/rpmbuild/SOURCES Source0: aeolus-conductor-%{version}.tar.gz
-Requires: ruby >= 1.8.1 -Requires: ruby(abi) = 1.8 +Requires: ruby >= %{rubyver} +Requires: ruby(abi) = %{rubyabi} Requires: rubygem(rails) >= 3.0.7 Requires: rubygem(haml) >= 3.1 Requires: rubygem(nokogiri) >= 1.4.0 @@ -41,6 +49,13 @@ Requires: postgresql Requires: postgresql-server Requires: system-logos
+%if 0%{?fedora} > 16 +Requires: rubygem(net-ldap) +%else +Requires: rubygem(fastercsv) +Requires: rubygem(ruby-net-ldap) +%endif + # to ensure the service is actually started # and is accessible in the init script Requires: curl @@ -79,7 +94,6 @@ Summary: Aeolus Conductor development and testing files Group: Applications/Internet Requires: %{name} = %{version}-%{release} Requires: rubygem(cucumber) -Requires: rubygem(rspec) Requires: rubygem(timecop) Requires: rubygem(cucumber-rails) Requires: rubygem(rspec-rails) >= 2.6.1 @@ -90,6 +104,7 @@ Requires: rubygem(vcr) Requires: rubygem(factory_girl_rails) Requires: rubygem(webmock) Requires: rubygem(launchy) +Requires: rubygem(minitest)
%description devel Tests and other development tools for the Aeolus Conductor. diff --git a/src/Gemfile b/src/Gemfile index 2d8e8df..7f26313 100644 --- a/src/Gemfile +++ b/src/Gemfile @@ -17,11 +17,13 @@ gem 'pg' gem 'thin' gem 'json' gem 'railties' -gem 'fastercsv' gem 'rails_warden' gem 'ruby-net-ldap' gem 'aeolus-image' gem 'oauth' +platforms :ruby_18 do + gem 'fastercsv' +end group :development, :test do gem 'rspec-rails' gem 'rspec-core' diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb index ee5b8df..2c79b31 100644 --- a/src/app/models/instance.rb +++ b/src/app/models/instance.rb @@ -420,7 +420,8 @@ class Instance < ActiveRecord::Base
def self.csv_export(instances) - csv_string = FasterCSV.generate(:col_sep => ";", :row_sep => "\r\n") do |csv| + csvm = Object.const_defined?(:FasterCSV) ? FasterCSV : CSV + csv_string = csvm.generate(:col_sep => ";", :row_sep => "\r\n") do |csv| event_attributes = Event.new.attributes.keys.reject {|key| key if key == "created_at" || key == "updated_at"}
csv << event_attributes.map {|event| event.capitalize } diff --git a/src/config/application.rb b/src/config/application.rb index d1c2a7b..8aaf5df 100644 --- a/src/config/application.rb +++ b/src/config/application.rb @@ -39,7 +39,7 @@ else require 'pg' require 'thin' require 'json' - require 'fastercsv' + require 'fastercsv' if RUBY_VERSION =~ /1.8..*/ # no longer needed in ruby 1.9+ require 'nokogiri' #require 'railties'