bernd / fpm-cookery

A tool for building software packages with fpm.
Other
460 stars 88 forks source link

Always exists with 0 #59

Closed haf closed 10 years ago

haf commented 10 years ago

E.g.

[16:38:05][Execute build] ######################################################################## 100.0%
[16:38:10][Execute build] /opt/teamcity-agent/work/8d6339da32842a9d/teamcity-server/recipe.rb:31:in `install': undefined method `mkdir' for "lib/teamcity-server":String (NoMethodError)
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:122:in `block (2 levels) in dispense'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:104:in `chdir'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:104:in `block in dispense'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:101:in `chdir'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:101:in `dispense'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:104:in `exec'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:68:in `block in execute'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/book.rb:16:in `call'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/book.rb:16:in `load_recipe'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:64:in `execute'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/clamp-0.6.3/lib/clamp/command.rb:67:in `run'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/clamp-0.6.3/lib/clamp/subcommand/execution.rb:11:in `execute'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/clamp-0.6.3/lib/clamp/command.rb:67:in `run'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/clamp-0.6.3/lib/clamp/command.rb:125:in `run'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/fpm-cookery-0.16.2/bin/fpm-cook:7:in `<top (required)>'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/bin/fpm-cook:23:in `load'
[16:38:10][Execute build] from /opt/teamcity-agent/.rbenv/versions/1.9.3-p484/bin/fpm-cook:23:in `<main>'
[16:38:10][Execute build] ===> Building in /opt/teamcity-agent/work/8d6339da32842a9d/teamcity-server/tmp-build/TeamCity
[16:38:10][Execute build] ===> Installing into /opt/teamcity-agent/work/8d6339da32842a9d/teamcity-server/tmp-dest
[16:38:10][Execute build]
[16:38:10][Step 1/1] Process exited with code 0
bernd commented 10 years ago

I'm unable to reproduce that. Can you show me an example recipe which triggers the error? Thank you for the report!

===> Installing into /opt/fpm-recipes/clamz/tmp-dest
/opt/fpm-recipes/clamz/recipe.rb:24:in `install': undefined method `mkdir' for "foo":String (NoMethodError)
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:122:in `block (2 levels) in dispense'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:104:in `chdir'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:104:in `block in dispense'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:101:in `chdir'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:101:in `dispense'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:104:in `exec'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:68:in `block in execute'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/book.rb:16:in `call'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/book.rb:16:in `load_recipe'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:64:in `execute'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/clamp-0.6.3/lib/clamp/command.rb:67:in `run'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/clamp-0.6.3/lib/clamp/subcommand/execution.rb:11:in `execute'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/clamp-0.6.3/lib/clamp/command.rb:67:in `run'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/clamp-0.6.3/lib/clamp/command.rb:125:in `run'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/gems/fpm-cookery-0.16.2/bin/fpm-cook:7:in `<top (required)>'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/bin/fpm-cook:23:in `load'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/bin/fpm-cook:23:in `<main>'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `eval'
    from /home/bernd/.rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>'
$ echo $?
1
$
haf commented 10 years ago

Scripts are here: https://github.com/haf/fpm-recipes

I will dig deeper into this to get more info.

bernd commented 10 years ago

The problem is that rake swallows the return code from the system call and exits with 0.

bernd commented 10 years ago

Closing this. Please re-open or create a new issue if you still have problems with this. Thank you!