default.rb 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #
  2. # Cookbook Name:: pkgng
  3. # Recipe:: default
  4. #
  5. # Copyright (C) 2013 Douglas Thrift
  6. #
  7. # Licensed under the Apache License, Version 2.0 (the "License");
  8. # you may not use this file except in compliance with the License.
  9. # You may obtain a copy of the License at
  10. #
  11. # http://www.apache.org/licenses/LICENSE-2.0
  12. #
  13. # Unless required by applicable law or agreed to in writing, software
  14. # distributed under the License is distributed on an "AS IS" BASIS,
  15. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. # See the License for the specific language governing permissions and
  17. # limitations under the License.
  18. #
  19. if ::File.executable? '/usr/sbin/pkg'
  20. execute '/usr/sbin/pkg info pkg' do
  21. environment 'ASSUME_ALWAYS_YES' => '1'
  22. not_if 'pkg info pkg', :env => {'TMPDIR' => '/dev/null', 'ASSUME_ALWAYS_YES' => '1', 'PACKAGESITE' => 'file:///nonexistent'}
  23. end
  24. else
  25. package 'pkg' do
  26. source 'ports'
  27. not_if 'pkg info pkg', :env => {'TMPDIR' => '/dev/null', 'ASSUME_ALWAYS_YES' => '1', 'PACKAGESITE' => 'file:///nonexistent'}
  28. end
  29. end
  30. execute 'pkg2ng' do
  31. only_if '[ -n "`pkg_info 2>/dev/null`" ]'
  32. end
  33. append_if_no_line '/etc/make.conf WITH_PKGNG=yes' do
  34. path '/etc/make.conf'
  35. line 'WITH_PKGNG=yes'
  36. end
  37. ruby_block 'set pkgng provider' do
  38. block do
  39. Chef::Platform.set :platform => :freebsd, :resource => :package, :provider => Chef::Provider::Package::Pkgng
  40. end
  41. end