copycopter/copycopter-server

Gemspec error while migrating to copycopter 2.0 with new server

Closed this issue · 5 comments

Using Rails 2.3 with Ruby 1.8.7, Bundler version 1.1.3

When doing a rake deploy to a Heroku Bamboo stack, after Rake Db:migrate, I get the following error:

WARNING:  #<ArgumentError: Illformed requirement
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"]>
# -*- encoding: utf-8 -*-


Gem::Specification.new do |s|
 s.name = %q{copycopter_client}
 s.version = "2.0.0"

 s.required_rubygems_version = Gem::Requirement.new(">= 0") if
s.respond_to? :required_rubygems_version=
 s.authors = ["thoughtbot"]
 s.date = %q{2012-03-16}
 s.email = %q{support@thoughtbot.com}
 s.files = [".gitignore", ".rspec", ".travis.yml", "Appraisals",
"Gemfile", "Gemfile.lock", "MIT-LICENSE", "README.md", "Rakefile",
"copycopter_client.gemspec", "features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb", "gemfiles/2.3.gemfile",
"gemfiles/2.3.gemfile.lock", "gemfiles/3.0.gemfile",
"gemfiles/3.0.gemfile.lock", "gemfiles/3.1.gemfile",
"gemfiles/3.1.gemfile.lock", "init.rb", "lib/copycopter_client.rb",
"lib/copycopter_client/cache.rb", "lib/copycopter_client/client.rb",
"lib/copycopter_client/configuration.rb",
"lib/copycopter_client/errors.rb",
"lib/copycopter_client/i18n_backend.rb",
"lib/copycopter_client/poller.rb",
"lib/copycopter_client/prefixed_logger.rb",
"lib/copycopter_client/process_guard.rb",
"lib/copycopter_client/rails.rb", "lib/copycopter_client/railtie.rb",
"lib/copycopter_client/request_sync.rb",
"lib/copycopter_client/version.rb",
"lib/tasks/copycopter_client_tasks.rake",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb",
"tmp/projects.json"]
 s.homepage = %q{http://github.com/copycopter/copycopter-ruby-client}
 s.require_paths = ["lib"]
 s.rubygems_version = %q{1.3.7}
 s.summary = %q{Client for the Copycopter copy management service}
 s.test_files = ["features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb"]

 if s.respond_to? :specification_version then
   current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
   s.specification_version = 3

   if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
     s.add_runtime_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_runtime_dependency(%q<json>, [">= 0"])
     s.add_development_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_development_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_development_dependency(%q<bourne>, [">= 0"])
     s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_development_dependency(%q<i18n>, [">= 0"])
     s.add_development_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_development_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_development_dependency(%q<rspec>, ["~> 2.3"])
     s.add_development_dependency(%q<sham_rack>, [">= 0"])
     s.add_development_dependency(%q<sinatra>, [">= 0"])
     s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_development_dependency(%q<thin>, [">= 0"])
     s.add_development_dependency(%q<webmock>, [">= 0"])
     s.add_development_dependency(%q<yard>, [">= 0"])
   else
     s.add_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_dependency(%q<json>, [">= 0"])
     s.add_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_dependency(%q<bourne>, [">= 0"])
     s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_dependency(%q<i18n>, [">= 0"])
     s.add_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_dependency(%q<rspec>, ["~> 2.3"])
     s.add_dependency(%q<sham_rack>, [">= 0"])
     s.add_dependency(%q<sinatra>, [">= 0"])
     s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_dependency(%q<thin>, [">= 0"])
     s.add_dependency(%q<webmock>, [">= 0"])
     s.add_dependency(%q<yard>, [">= 0"])
   end
 else
   s.add_dependency(%q<i18n>, [">= 0.5.0"])
   s.add_dependency(%q<json>, [">= 0"])
   s.add_dependency(%q<appraisal>, ["~> 0.4"])
   s.add_dependency(%q<aruba>, ["~> 0.3.2"])
   s.add_dependency(%q<bourne>, [">= 0"])
   s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
   s.add_dependency(%q<i18n>, [">= 0"])
   s.add_dependency(%q<rails>, ["~> 3.1.0"])
   s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
   s.add_dependency(%q<rspec>, ["~> 2.3"])
   s.add_dependency(%q<sham_rack>, [">= 0"])
   s.add_dependency(%q<sinatra>, [">= 0"])
   s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
   s.add_dependency(%q<thin>, [">= 0"])
   s.add_dependency(%q<webmock>, [">= 0"])
   s.add_dependency(%q<yard>, [">= 0"])
 end
end
WARNING:  Invalid .gemspec format in
'/app/.bundle/gems/ruby/1.8/specifications/copycopter_client-2.0.0.gemspec'
WARNING:  #<ArgumentError: Illformed requirement
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"]>
# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|
 s.name = %q{copycopter_client}
 s.version = "2.0.0"

 s.required_rubygems_version = Gem::Requirement.new(">= 0") if
s.respond_to? :required_rubygems_version=
 s.authors = ["thoughtbot"]
 s.date = %q{2012-03-16}
 s.email = %q{support@thoughtbot.com}
 s.files = [".gitignore", ".rspec", ".travis.yml", "Appraisals",
"Gemfile", "Gemfile.lock", "MIT-LICENSE", "README.md", "Rakefile",
"copycopter_client.gemspec", "features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb", "gemfiles/2.3.gemfile",
"gemfiles/2.3.gemfile.lock", "gemfiles/3.0.gemfile",
"gemfiles/3.0.gemfile.lock", "gemfiles/3.1.gemfile",
"gemfiles/3.1.gemfile.lock", "init.rb", "lib/copycopter_client.rb",
"lib/copycopter_client/cache.rb", "lib/copycopter_client/client.rb",
"lib/copycopter_client/configuration.rb",
"lib/copycopter_client/errors.rb",
"lib/copycopter_client/i18n_backend.rb",
"lib/copycopter_client/poller.rb",
"lib/copycopter_client/prefixed_logger.rb",
"lib/copycopter_client/process_guard.rb",
"lib/copycopter_client/rails.rb", "lib/copycopter_client/railtie.rb",
"lib/copycopter_client/request_sync.rb",
"lib/copycopter_client/version.rb",
"lib/tasks/copycopter_client_tasks.rake",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb",
"tmp/projects.json"]
 s.homepage = %q{http://github.com/copycopter/copycopter-ruby-client}
 s.require_paths = ["lib"]
 s.rubygems_version = %q{1.3.7}
 s.summary = %q{Client for the Copycopter copy management service}
 s.test_files = ["features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb"]

 if s.respond_to? :specification_version then
   current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
   s.specification_version = 3

   if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
     s.add_runtime_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_runtime_dependency(%q<json>, [">= 0"])
     s.add_development_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_development_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_development_dependency(%q<bourne>, [">= 0"])
     s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_development_dependency(%q<i18n>, [">= 0"])
     s.add_development_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_development_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_development_dependency(%q<rspec>, ["~> 2.3"])
     s.add_development_dependency(%q<sham_rack>, [">= 0"])
     s.add_development_dependency(%q<sinatra>, [">= 0"])
     s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_development_dependency(%q<thin>, [">= 0"])
     s.add_development_dependency(%q<webmock>, [">= 0"])
     s.add_development_dependency(%q<yard>, [">= 0"])
   else
     s.add_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_dependency(%q<json>, [">= 0"])
     s.add_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_dependency(%q<bourne>, [">= 0"])
     s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_dependency(%q<i18n>, [">= 0"])
     s.add_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_dependency(%q<rspec>, ["~> 2.3"])
     s.add_dependency(%q<sham_rack>, [">= 0"])
     s.add_dependency(%q<sinatra>, [">= 0"])
     s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_dependency(%q<thin>, [">= 0"])
     s.add_dependency(%q<webmock>, [">= 0"])
     s.add_dependency(%q<yard>, [">= 0"])
   end
 else
   s.add_dependency(%q<i18n>, [">= 0.5.0"])
   s.add_dependency(%q<json>, [">= 0"])
   s.add_dependency(%q<appraisal>, ["~> 0.4"])
   s.add_dependency(%q<aruba>, ["~> 0.3.2"])
   s.add_dependency(%q<bourne>, [">= 0"])
   s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
   s.add_dependency(%q<i18n>, [">= 0"])
   s.add_dependency(%q<rails>, ["~> 3.1.0"])
   s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
   s.add_dependency(%q<rspec>, ["~> 2.3"])
   s.add_dependency(%q<sham_rack>, [">= 0"])
   s.add_dependency(%q<sinatra>, [">= 0"])
   s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
   s.add_dependency(%q<thin>, [">= 0"])
   s.add_dependency(%q<webmock>, [">= 0"])
   s.add_dependency(%q<yard>, [">= 0"])
 end
end
WARNING:  Invalid .gemspec format in
'/app/.bundle/gems/ruby/1.8/specifications/copycopter_client-2.0.0.gemspec'

I believe this is the issue:

http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html

And this is the solution:

gem uninstall bundler
gem update --system
gem install bundler
bundle

If you're using RVM gemsets, it should be:

gem uninstall bundler
rvm gemset empty
gem update --system
gem install bundler
rvm @global gem install bundler
bundle

Unfortunately, this does not solve my problem-- which is on the heroku bamboo stack, not local.

The Copycopter-Server application isn't a Rails 2.3 app.

I think this issue belongs on copycopter-ruby-client. My fault, I pointed Lindsey hear.

From Boston Ruby mailing list:

This issue can be resolved by the owner of the gem. They need to
update their rubygems (gem update --system) and push another version.
For a background on this problem, see

http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html

It's possible that the 2.0.0 gem doesn't work on Ruby 1.8. We could either follow the instructions above or you could decide you don't want to support Ruby 1.8, which is what we've done with Factory Girl 3.0 and Paperclip 3.0. Those projects have older versions which work with 1.8, though.

@lindseymysse & @croaky:

I've opened an issue for the appropriate repo here:
copycopter/copycopter-ruby-client#22

Let's use that for future discussion.