Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 0.9.4
-
Fix Version/s: 0.10.4
-
Component/s: Chef Client
-
Labels:None
-
Environment:
FreeBSD 8.0-RELEASE-p3
Description
When I perform the cookbook which contains 'package' resource, I get exception "Unexpected form for PKGNAME variable in ..."
FreeBSD make needs '-f /path/to/Makefile' argument and not needs 'cwd => port_path' in chef-0.9.4/lib/chef/provider/package/freebsd.rb
because 'cwd' isn't performed correctly
def ports_makefile_variable_value(variable)
- make_v = shell_out!("make -V #{variable}", :cwd => port_path, :env => nil, :returns => [0,1])
+ make_v = shell_out!("make -V #{variable} -f #{port_path}/Makefile", :env => nil, :returns => [0,1])
make_v.stdout.strip.split($).first # $\ is the line separator, i.e., newline
end
I think that to make better use PACKAGEROOT instead of PACKEAGESITE
- shell_out!("pkg_add -r #{package_name}", :env => { "PACKAGESITE" => @new_resource.source, 'LC_ALL' => nil }).status
+ shell_out!("pkg_add -r #{package_name}", :env => { "PACKAGEROOT" => @new_resource.source, 'LC_ALL' => nil }).status
Issue Links
- duplicates
-
CHEF-2634
FreeBSD packages: fail to build when using ports - incorrect use of port Makefile and working dir?
-
Also happening in:
Chef: 0.9.8
FreeBSD sfeserv34.splunk.com 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 04:45:45 UTC 2008 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386
[Wed, 15 Sep 2010 14:31:00 -0700] INFO: Starting Chef Run (Version 0.9.8)
[Wed, 15 Sep 2010 14:31:02 -0700] ERROR: package[sudo] (/var/chef/cache/cookbooks/sudo/recipes/default.rb:20:in `from_file') had an error:
Unexpected form for PKGNAME variable in /usr/ports/security/sudo/Makefile
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:89:in `package_name'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:36:in `current_installed_version'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:71:in `load_current_resource'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:43:in `build_provider'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:50:in `run_action'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:109:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `each'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:82:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:304:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:106:in `run'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:212:in `run_application'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `loop'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `run_application'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application.rb:62:in `run'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/chef-client:26
/usr/local/bin/chef-client:19:in `load'
/usr/local/bin/chef-client:19
[Wed, 15 Sep 2010 14:31:02 -0700] ERROR: Running exception handlers
[Wed, 15 Sep 2010 14:31:02 -0700] ERROR: Exception handlers complete
[Wed, 15 Sep 2010 14:31:02 -0700] ERROR: Re-raising exception: Chef::Exceptions::Package - Unexpected form for PKGNAME variable in /usr/ports/security/sudo/Makefile
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:89:in `package_name'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:36:in `current_installed_version'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:71:in `load_current_resource'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:43:in `build_provider'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:50:in `run_action'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:109:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `each'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:89:in `package_name': Unexpected form for PKGNAME variable in /usr/ports/security/sudo/Makefile (Chef::Exceptions::Package)
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:36:in `current_installed_version'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/package/freebsd.rb:71:in `load_current_resource'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:43:in `build_provider'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:50:in `run_action'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:109:in `converge'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `each'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `converge'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
... 12 levels...
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application.rb:62:in `run'
from /usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/chef-client:26
from /usr/local/bin/chef-client:19:in `load'
from /usr/local/bin/chef-client:19
116:in `call_iterator_block'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:82:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:304:in `converge'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:106:in `run'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:212:in `run_application'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `loop'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `run_application'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application.rb:62:in `run'
/usr/local/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/chef-client:26
/usr/local/bin/chef-client:19:in `load'
/usr/local/bin/chef-client:19