Bug 703814

Summary: AWS gem fails with "/usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/awsbase/utils.rb:109: undefined method `each_char' for "AZaz09 -_.!~*'()":String (NoMethodError)" on Ruby 1.8.6
Product: [Fedora] Fedora Reporter: Sascha Silbe <sascha-web-bugzilla.redhat.com>
Component: rubygem-awsAssignee: Michal Fojtik <mfojtik>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 13CC: mfojtik, mgoldman, sascha-web-bugzilla.redhat.com
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rubygem-aws-2.5.2-3.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 21:59:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Sascha Silbe 2011-05-11 10:25:30 UTC
Description of problem:
boxgrinder-build fails with an exception. Not even --help works.


Version-Release number of selected component (if applicable):
rubygem-boxgrinder-build-0.9.1-1.fc13.noarch


How reproducible:
Always

Steps to Reproduce:
1. boxgrinder-build --help
2. boxgrinder-build f14-base.appl
  
Actual results:
silbe@bender:~$ boxgrinder-build --help
/usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/awsbase/utils.rb:109: undefined method `each_char' for "AZaz09 -_.!~*'()":String (NoMethodError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/awsbase/require_relative.rb:8:in `require_relative'
        from /usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/awsbase/awsbase.rb:33
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/aws.rb:18
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
         ... 9 levels...
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.1/bin/boxgrinder-build:25
        from /usr/bin/boxgrinder-build:19:in `load'
        from /usr/bin/boxgrinder-build:19
1!silbe@bender:~$ boxgrinder-build f14-base.appl
/usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/awsbase/utils.rb:109: undefined method `each_char' for "AZaz09 -_.!~*'()":String (NoMethodError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/awsbase/require_relative.rb:8:in `require_relative'
        from /usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/awsbase/awsbase.rb:33
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/lib/ruby/gems/1.8/gems/aws-2.5.2/lib/aws.rb:18
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
         ... 9 levels...
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /usr/lib/ruby/gems/1.8/gems/boxgrinder-build-0.9.1/bin/boxgrinder-build:25
        from /usr/bin/boxgrinder-build:19:in `load'
        from /usr/bin/boxgrinder-build:19
1!silbe@bender:~$ 


Expected results:
Show instructions and CLI options resp. build an appliance.


Additional info:
silbe@bender:~$ rpm -q rubygem-aws
rubygem-aws-2.5.2-1.fc13.noarch

Comment 1 Marek Goldmann 2011-05-12 17:46:23 UTC
Hi Sascha,

It seems that rubygem-aws 2.5.2 is broken on Fedora 13.

What ruby version you have installed? rpm -q ruby

Comment 2 Marek Goldmann 2011-05-12 18:02:45 UTC
It seems this is a ruby-1.8.6/rubygem-aws bug.

We need to add require 'jcode' to utils.rb from rubygem-aws gem which exposes then each_char method for String.

For ruby 1.8.7 it is available by default.

Changing component as it is not really a rubygem-boxgrinder-build bug.

Comment 3 Sascha Silbe 2011-05-12 19:27:14 UTC
You answered that question yourself already, but for completeness:

silbe@bender:~$ rpm -q ruby
ruby-1.8.6.420-2.fc13.x86_64
silbe@bender:~$

Comment 4 Fedora Update System 2011-05-18 14:33:17 UTC
rubygem-aws-2.5.2-3.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/rubygem-aws-2.5.2-3.fc13

Comment 5 Fedora Update System 2011-05-19 04:29:48 UTC
Package rubygem-aws-2.5.2-3.fc13:
* should fix your issue,
* was pushed to the Fedora 13 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing rubygem-aws-2.5.2-3.fc13'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/rubygem-aws-2.5.2-3.fc13
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2011-05-19 21:59:27 UTC
rubygem-aws-2.5.2-3.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.