melezhik / cookbooks

perl chef cookbooks
https://github.com/melezhik/cookbooks
21 stars 27 forks source link

CPAN cookbook iconv #2

Closed laradji closed 11 years ago

laradji commented 11 years ago

It seem we need to have the iconv gem

elevant File Content:

/var/chef/cache/cookbooks/cpan/providers/client.rb:

1>> require 'iconv' 2:
3: def load_current_resource 4:
5: @installer = Chef::Resource::CpanClient.new(new_resource.name) 6: @installer.name(new_resource.name) 7: @installer.module_name(new_resource.module_name) 8: @installer.install_base(new_resource.install_base) 9: @installer.dry_run(new_resource.dry_run) 10: @installer.reload_cpan_index(new_resource.reload_cpan_index)

laradji commented 11 years ago

Okay it seem , your cookbook is not compatible with the chef ominibus version. Here more : LoadError: cannot load such file -- iconv /opt/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require' /opt/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' /var/chef/cache/cookbooks/cpan/providers/client.rb:1:in class_from_file' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/mixin/from_file.rb:42:inclass_eval' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/mixin/from_file.rb:42:in class_from_file' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/provider.rb:213:inblock in build_from_file' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/provider.rb:193:in initialize' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/provider.rb:193:innew' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/provider.rb:193:in build_from_file' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:164:inblock in load_lwrp_providers' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:230:in call' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:230:inblock (2 levels) in foreach_cookbook_load_segment' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:229:in each' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:229:inblock in foreach_cookbook_load_segment' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:227:in each' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:227:inforeach_cookbook_load_segment' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:161:in load_lwrp_providers' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:155:inload_lwrps' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:64:in load' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/client.rb:198:insetup_run_context' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/client.rb:418:in do_run' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/client.rb:176:inrun' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application/client.rb:283:in block in run_application' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application/client.rb:270:inloop' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application/client.rb:270:in run_application' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application.rb:70:inrun' /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/bin/chef-client:26:in <top (required)>' /usr/bin/chef-client:23:inload' /usr/bin/chef-client:23:in `

'

melezhik commented 11 years ago

I replace Iconv by ecode! and force_encoding methods from String Class, which only works for ruby 1.9.*. So it would work with omnibus chef. But I need to rewrite it in a future so code be compatible with any ruby. Fixed in version 0.0.22

laradji commented 11 years ago

Thanks !