Update ark cookbook
This commit is contained in:
parent
943b4ace1f
commit
180b3f5df0
2
Batali
2
Batali
@ -35,7 +35,7 @@ Batali.define do
|
|||||||
cookbook 'chef_client_updater', '~> 1.0.2'
|
cookbook 'chef_client_updater', '~> 1.0.2'
|
||||||
cookbook 'timezone-ii'
|
cookbook 'timezone-ii'
|
||||||
cookbook 'nodejs', '~> 3.0.0'
|
cookbook 'nodejs', '~> 3.0.0'
|
||||||
cookbook 'ark'
|
cookbook 'ark', '~> 3.0.0'
|
||||||
cookbook 'logrotate'
|
cookbook 'logrotate'
|
||||||
cookbook 'openssl', '~> 7.0.1'
|
cookbook 'openssl', '~> 7.0.1'
|
||||||
end
|
end
|
||||||
|
@ -1035,6 +1035,18 @@
|
|||||||
"version": "3.0.0"
|
"version": "3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "homebrew",
|
||||||
|
"dependencies": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"version": "3.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "Batali::Source::Site",
|
||||||
|
"url": "https://supermarket.chef.io:443/api/v1/cookbooks/homebrew/versions/3.0.0/download",
|
||||||
|
"version": "3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "ark",
|
"name": "ark",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
@ -1050,23 +1062,11 @@
|
|||||||
"seven_zip",
|
"seven_zip",
|
||||||
">= 0.0.0"
|
">= 0.0.0"
|
||||||
]
|
]
|
||||||
],
|
|
||||||
"version": "2.2.1",
|
|
||||||
"source": {
|
|
||||||
"type": "Batali::Source::Site",
|
|
||||||
"url": "https://supermarket.chef.io:443/api/v1/cookbooks/ark/versions/2.2.1/download",
|
|
||||||
"version": "2.2.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "homebrew",
|
|
||||||
"dependencies": [
|
|
||||||
|
|
||||||
],
|
],
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "Batali::Source::Site",
|
"type": "Batali::Source::Site",
|
||||||
"url": "https://supermarket.chef.io:443/api/v1/cookbooks/homebrew/versions/3.0.0/download",
|
"url": "https://supermarket.chef.io:443/api/v1/cookbooks/ark/versions/3.0.0/download",
|
||||||
"version": "3.0.0"
|
"version": "3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
1
cookbooks/ark/.foodcritic
Normal file
1
cookbooks/ark/.foodcritic
Normal file
@ -0,0 +1 @@
|
|||||||
|
~FC016
|
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
This file is used to list changes made in each version of the ark cookbook.
|
This file is used to list changes made in each version of the ark cookbook.
|
||||||
|
|
||||||
|
## 3.0.0 (2017-04-05)
|
||||||
|
- Rewrite of resource to custom resources.
|
||||||
|
- Remove EOL platforms from testing.
|
||||||
|
- Update zlib URL
|
||||||
|
-
|
||||||
## 2.2.1 (2016-12-16)
|
## 2.2.1 (2016-12-16)
|
||||||
- Use Ohai root_group attribute to avoid trying to set the group to root on BSD/macOS.
|
- Use Ohai root_group attribute to avoid trying to set the group to root on BSD/macOS.
|
||||||
- Add missing accessor for owner property
|
- Add missing accessor for owner property
|
||||||
|
@ -16,7 +16,7 @@ ark 'pig' do
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
The provider will:
|
The `ark` resource will:
|
||||||
|
|
||||||
- fetch it to to `/var/cache/chef/`
|
- fetch it to to `/var/cache/chef/`
|
||||||
- unpack it to the default path (`/usr/local/pig-0.8.0`)
|
- unpack it to the default path (`/usr/local/pig-0.8.0`)
|
||||||
@ -44,7 +44,7 @@ Should work on common Unix/Linux systems with typical userland utilities like ta
|
|||||||
|
|
||||||
### Chef
|
### Chef
|
||||||
|
|
||||||
- Chef 12.1+
|
- Chef 12.5+
|
||||||
|
|
||||||
### Cookbooks
|
### Cookbooks
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ Customize the attributes to suit site specific conventions and defaults.
|
|||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
- `ark` - does the extract/build/configure dance
|
- `ark` - does the extract/build/configure
|
||||||
|
|
||||||
### Actions
|
### Actions
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ You can also supply the file extension in case the file extension can not be det
|
|||||||
- Copyright: 2011, Philip (flip) Kromer - Infochimps, Inc
|
- Copyright: 2011, Philip (flip) Kromer - Infochimps, Inc
|
||||||
- Copyright: 2012, Bryan W. Berry
|
- Copyright: 2012, Bryan W. Berry
|
||||||
- Copyright: 2012, Denis Barishev
|
- Copyright: 2012, Denis Barishev
|
||||||
- Copyright: 2013-2016, Chef Software, Inc
|
- Copyright: 2013-2017, Chef Software, Inc
|
||||||
- Copyright: 2014, Bloomberg L.P.
|
- Copyright: 2014, Bloomberg L.P.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Cookbook Name:: ark
|
# Cookbook:: ark
|
||||||
# Attributes:: default
|
# Attributes:: default
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,503 +0,0 @@
|
|||||||
#
|
|
||||||
# Cookbook Name:: ark
|
|
||||||
# Provider:: Ark
|
|
||||||
#
|
|
||||||
# Author:: Bryan W. Berry <bryan.berry@gmail.com>
|
|
||||||
# Author:: Sean OMeara <someara@chef.io
|
|
||||||
# Author:: John Bellone <jbellone@bloomberg.net>
|
|
||||||
# Copyright 2012, Bryan W. Berry
|
|
||||||
# Copyright 2013-2016, Chef Software, Inc.
|
|
||||||
# Copyright 2014, Bloomberg L.P.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
|
|
||||||
use_inline_resources
|
|
||||||
include ::Ark::ProviderHelpers
|
|
||||||
|
|
||||||
#################
|
|
||||||
# action :install
|
|
||||||
#################
|
|
||||||
action :install do
|
|
||||||
show_deprecations
|
|
||||||
set_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug('DEBUG: new_resource.release_file')
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
backup new_resource.backup
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unpack_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# usually on windows there is no central directory with executables where the applications are linked
|
|
||||||
unless node['platform_family'] == 'windows'
|
|
||||||
# symlink binaries
|
|
||||||
new_resource.has_binaries.each do |bin|
|
|
||||||
link ::File.join(new_resource.prefix_bin, ::File.basename(bin)) do
|
|
||||||
to ::File.join(new_resource.path, bin)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# action_link_paths
|
|
||||||
link new_resource.home_dir do
|
|
||||||
to new_resource.path
|
|
||||||
end
|
|
||||||
|
|
||||||
# Add to path for interactive bash sessions
|
|
||||||
template "/etc/profile.d/#{new_resource.name}.sh" do
|
|
||||||
cookbook 'ark'
|
|
||||||
source 'add_to_path.sh.erb'
|
|
||||||
owner 'root'
|
|
||||||
group node['root_group']
|
|
||||||
mode '0755'
|
|
||||||
cookbook 'ark'
|
|
||||||
variables(directory: "#{new_resource.path}/bin")
|
|
||||||
only_if { new_resource.append_env_path }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Add to path for the current chef-client converge.
|
|
||||||
bin_path = ::File.join(new_resource.path, 'bin')
|
|
||||||
ruby_block "adding '#{bin_path}' to chef-client ENV['PATH']" do
|
|
||||||
block do
|
|
||||||
ENV['PATH'] = bin_path + ':' + ENV['PATH']
|
|
||||||
end
|
|
||||||
only_if do
|
|
||||||
new_resource.append_env_path && ENV['PATH'].scan(bin_path).empty?
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
##############
|
|
||||||
# action :put
|
|
||||||
##############
|
|
||||||
action :put do
|
|
||||||
show_deprecations
|
|
||||||
set_put_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# download
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
backup new_resource.backup
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unpack_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
###########################
|
|
||||||
# action :dump
|
|
||||||
###########################
|
|
||||||
action :dump do
|
|
||||||
show_deprecations
|
|
||||||
set_dump_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# download
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug("DEBUG: new_resource.release_file #{new_resource.release_file}")
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command dump_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
###########################
|
|
||||||
# action :unzip
|
|
||||||
###########################
|
|
||||||
action :unzip do
|
|
||||||
show_deprecations
|
|
||||||
set_dump_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# download
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug("DEBUG: new_resource.release_file #{new_resource.release_file}")
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unzip_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
#####################
|
|
||||||
# action :cherry_pick
|
|
||||||
#####################
|
|
||||||
action :cherry_pick do
|
|
||||||
show_deprecations
|
|
||||||
set_dump_paths
|
|
||||||
Chef::Log.debug("DEBUG: new_resource.creates #{new_resource.creates}")
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[cherry_pick #{new_resource.creates} from #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# download
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[cherry_pick #{new_resource.creates} from #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "cherry_pick #{new_resource.creates} from #{new_resource.release_file}" do
|
|
||||||
command cherry_pick_command
|
|
||||||
creates "#{new_resource.path}/#{new_resource.creates}"
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
###########################
|
|
||||||
# action :install_with_make
|
|
||||||
###########################
|
|
||||||
action :install_with_make do
|
|
||||||
show_deprecations
|
|
||||||
set_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug('DEBUG: new_resource.release_file')
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unpack_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[autogen #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[configure #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[make #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[make install #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "autogen #{new_resource.path}" do
|
|
||||||
command './autogen.sh'
|
|
||||||
only_if { ::File.exist? "#{new_resource.path}/autogen.sh" }
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
ignore_failure true
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "configure #{new_resource.path}" do
|
|
||||||
command "./configure #{new_resource.autoconf_opts.join(' ')}"
|
|
||||||
only_if { ::File.exist? "#{new_resource.path}/configure" }
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "make #{new_resource.path}" do
|
|
||||||
command "make #{new_resource.make_opts.join(' ')}"
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "make install #{new_resource.path}" do
|
|
||||||
command "make install #{new_resource.make_opts.join(' ')}"
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
action :setup_py_build do
|
|
||||||
show_deprecations
|
|
||||||
set_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug('DEBUG: new_resource.release_file')
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unpack_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[python setup.py build #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "python setup.py build #{new_resource.path}" do
|
|
||||||
command "python setup.py build #{new_resource.make_opts.join(' ')}"
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
action :setup_py_install do
|
|
||||||
show_deprecations
|
|
||||||
set_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug('DEBUG: new_resource.release_file')
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unpack_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[python setup.py install #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "python setup.py install #{new_resource.path}" do
|
|
||||||
command "python setup.py install #{new_resource.make_opts.join(' ')}"
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
action :setup_py do
|
|
||||||
show_deprecations
|
|
||||||
set_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug('DEBUG: new_resource.release_file')
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unpack_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[python setup.py #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "python setup.py #{new_resource.path}" do
|
|
||||||
command "python setup.py #{new_resource.make_opts.join(' ')}"
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
action :configure do
|
|
||||||
show_deprecations
|
|
||||||
set_paths
|
|
||||||
|
|
||||||
directory new_resource.path do
|
|
||||||
recursive true
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
remote_file new_resource.release_file do
|
|
||||||
Chef::Log.debug('DEBUG: new_resource.release_file')
|
|
||||||
source new_resource.url
|
|
||||||
checksum new_resource.checksum if new_resource.checksum
|
|
||||||
action :create
|
|
||||||
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
|
||||||
end
|
|
||||||
|
|
||||||
# unpack based on file extension
|
|
||||||
execute "unpack #{new_resource.release_file}" do
|
|
||||||
command unpack_command
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
notifies :run, "execute[set owner on #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[autogen #{new_resource.path}]"
|
|
||||||
notifies :run, "execute[configure #{new_resource.path}]"
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
# set_owner
|
|
||||||
execute "set owner on #{new_resource.path}" do
|
|
||||||
command owner_command
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "autogen #{new_resource.path}" do
|
|
||||||
command './autogen.sh'
|
|
||||||
only_if { ::File.exist? "#{new_resource.path}/autogen.sh" }
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
ignore_failure true
|
|
||||||
end
|
|
||||||
|
|
||||||
execute "configure #{new_resource.path}" do
|
|
||||||
command "./configure #{new_resource.autoconf_opts.join(' ')}"
|
|
||||||
only_if { ::File.exist? "#{new_resource.path}/configure" }
|
|
||||||
cwd new_resource.path
|
|
||||||
environment new_resource.environment
|
|
||||||
action :nothing
|
|
||||||
end
|
|
||||||
end
|
|
@ -1,9 +1,9 @@
|
|||||||
#
|
#
|
||||||
# Cookbook Name:: ark
|
# Cookbook:: ark
|
||||||
# Recipe:: default
|
# Recipe:: default
|
||||||
#
|
#
|
||||||
# Author:: Bryan W. Berry <bryan.berry@gmail.com>
|
# Author:: Bryan W. Berry <bryan.berry@gmail.com>
|
||||||
# Copyright 2012, Bryan W. Berry
|
# Copyright:: 2012-2017, Bryan W. Berry
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
#
|
#
|
||||||
# Cookbook Name:: ark
|
# Cookbook:: ark
|
||||||
# Resource:: Ark
|
# Resource:: Ark
|
||||||
#
|
#
|
||||||
# Author:: Bryan W. Berry <bryan.berry@gmail.com>
|
# Author:: Bryan W. Berry <bryan.berry@gmail.com>
|
||||||
# Copyright 2012, Bryan W. Berry
|
# Copyright:: 2012-2017, Bryan W. Berry
|
||||||
|
# Copyright:: 2016-2017, Chef Software Inc.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
@ -18,53 +19,510 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
actions(
|
property :owner, String
|
||||||
:cherry_pick,
|
property :group, [String, Integer], default: 0
|
||||||
:configure,
|
property :url, String, required: true
|
||||||
:dump,
|
property :path, String
|
||||||
:install,
|
property :full_path, String
|
||||||
:install_with_make,
|
property :append_env_path, [true, false], default: false
|
||||||
:put,
|
property :checksum, regex: /^[a-zA-Z0-9]{64}$/, default: nil
|
||||||
:setup_py,
|
property :has_binaries, Array, default: []
|
||||||
:setup_py_build,
|
property :creates, String
|
||||||
:setup_py_install,
|
property :release_file, String, default: ''
|
||||||
:unzip
|
property :strip_leading_dir, [true, false, NilClass]
|
||||||
)
|
property :strip_components, Integer, default: 1
|
||||||
|
property :mode, [Integer, String], default: 0755
|
||||||
|
property :prefix_root, String
|
||||||
|
property :prefix_home, String
|
||||||
|
property :prefix_bin, String
|
||||||
|
property :version, String
|
||||||
|
property :home_dir, String
|
||||||
|
property :win_install_dir, String
|
||||||
|
property :environment, Hash, default: {}
|
||||||
|
property :autoconf_opts, Array, default: []
|
||||||
|
property :make_opts, Array, default: []
|
||||||
|
property :home_dir, String
|
||||||
|
property :autoconf_opts, Array, default: []
|
||||||
|
property :extension, String
|
||||||
|
property :backup, [FalseClass, Integer], default: 5
|
||||||
|
|
||||||
default_action :install
|
#################
|
||||||
|
# action :install
|
||||||
|
#################
|
||||||
|
action :install do
|
||||||
|
show_deprecations
|
||||||
|
set_paths
|
||||||
|
|
||||||
attr_accessor :extension,
|
directory new_resource.path do
|
||||||
:home_dir,
|
recursive true
|
||||||
:owner,
|
action :create
|
||||||
:path,
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
:prefix_bin,
|
end
|
||||||
:prefix_root,
|
|
||||||
:release_file,
|
|
||||||
:version
|
|
||||||
|
|
||||||
attribute :owner, kind_of: String, default: nil
|
remote_file new_resource.release_file do
|
||||||
attribute :group, kind_of: [String, Integer], default: 0
|
Chef::Log.debug('DEBUG: new_resource.release_file')
|
||||||
attribute :url, kind_of: String, required: true
|
source new_resource.url
|
||||||
attribute :path, kind_of: String, default: nil
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
attribute :full_path, kind_of: String, default: nil
|
action :create
|
||||||
attribute :append_env_path, kind_of: [TrueClass, FalseClass], default: false
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
attribute :checksum, regex: /^[a-zA-Z0-9]{64}$/, default: nil
|
backup new_resource.backup
|
||||||
attribute :has_binaries, kind_of: Array, default: []
|
end
|
||||||
attribute :creates, kind_of: String, default: nil
|
|
||||||
attribute :release_file, kind_of: String, default: ''
|
# unpack based on file extension
|
||||||
attribute :strip_leading_dir, kind_of: [TrueClass, FalseClass, NilClass]
|
execute "unpack #{new_resource.release_file}" do
|
||||||
attribute :strip_components, kind_of: Integer, default: 1
|
command unpack_command
|
||||||
attribute :mode, kind_of: Integer, default: 0755
|
cwd new_resource.path
|
||||||
attribute :prefix_root, kind_of: String, default: nil
|
environment new_resource.environment
|
||||||
attribute :prefix_home, kind_of: String, default: nil
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
attribute :prefix_bin, kind_of: String, default: nil
|
action :nothing
|
||||||
attribute :version, kind_of: String, default: nil
|
end
|
||||||
attribute :home_dir, kind_of: String, default: nil
|
|
||||||
attribute :win_install_dir, kind_of: String, default: nil
|
# set_owner
|
||||||
attribute :environment, kind_of: Hash, default: {}
|
execute "set owner on #{new_resource.path}" do
|
||||||
attribute :autoconf_opts, kind_of: Array, default: []
|
command owner_command
|
||||||
attribute :make_opts, kind_of: Array, default: []
|
action :nothing
|
||||||
attribute :home_dir, kind_of: String, default: nil
|
end
|
||||||
attribute :autoconf_opts, kind_of: Array, default: []
|
|
||||||
attribute :extension, kind_of: String
|
# usually on windows there is no central directory with executables where the applications are linked
|
||||||
attribute :backup, kind_of: [FalseClass, Integer], default: 5
|
unless node['platform_family'] == 'windows'
|
||||||
|
# symlink binaries
|
||||||
|
new_resource.has_binaries.each do |bin|
|
||||||
|
link ::File.join(new_resource.prefix_bin, ::File.basename(bin)) do
|
||||||
|
to ::File.join(new_resource.path, bin)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# action_link_paths
|
||||||
|
link new_resource.home_dir do
|
||||||
|
to new_resource.path
|
||||||
|
end
|
||||||
|
|
||||||
|
# Add to path for interactive bash sessions
|
||||||
|
template "/etc/profile.d/#{new_resource.name}.sh" do
|
||||||
|
cookbook 'ark'
|
||||||
|
source 'add_to_path.sh.erb'
|
||||||
|
owner 'root'
|
||||||
|
group node['root_group']
|
||||||
|
mode '0755'
|
||||||
|
cookbook 'ark'
|
||||||
|
variables(directory: "#{new_resource.path}/bin")
|
||||||
|
only_if { new_resource.append_env_path }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Add to path for the current chef-client converge.
|
||||||
|
bin_path = ::File.join(new_resource.path, 'bin')
|
||||||
|
ruby_block "adding '#{bin_path}' to chef-client ENV['PATH']" do
|
||||||
|
block do
|
||||||
|
ENV['PATH'] = bin_path + ':' + ENV['PATH']
|
||||||
|
end
|
||||||
|
only_if do
|
||||||
|
new_resource.append_env_path && ENV['PATH'].scan(bin_path).empty?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
##############
|
||||||
|
# action :put
|
||||||
|
##############
|
||||||
|
action :put do
|
||||||
|
show_deprecations
|
||||||
|
set_put_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# download
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
backup new_resource.backup
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command unpack_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# action :dump
|
||||||
|
###########################
|
||||||
|
action :dump do
|
||||||
|
show_deprecations
|
||||||
|
set_dump_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# download
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
Chef::Log.debug("DEBUG: new_resource.release_file #{new_resource.release_file}")
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command dump_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# action :unzip
|
||||||
|
###########################
|
||||||
|
action :unzip do
|
||||||
|
show_deprecations
|
||||||
|
set_dump_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# download
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
Chef::Log.debug("DEBUG: new_resource.release_file #{new_resource.release_file}")
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command unzip_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
#####################
|
||||||
|
# action :cherry_pick
|
||||||
|
#####################
|
||||||
|
action :cherry_pick do
|
||||||
|
show_deprecations
|
||||||
|
set_dump_paths
|
||||||
|
Chef::Log.debug("DEBUG: new_resource.creates #{new_resource.creates}")
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[cherry_pick #{new_resource.creates} from #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# download
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[cherry_pick #{new_resource.creates} from #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "cherry_pick #{new_resource.creates} from #{new_resource.release_file}" do
|
||||||
|
command cherry_pick_command
|
||||||
|
creates "#{new_resource.path}/#{new_resource.creates}"
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# action :install_with_make
|
||||||
|
###########################
|
||||||
|
action :install_with_make do
|
||||||
|
show_deprecations
|
||||||
|
set_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
Chef::Log.debug('DEBUG: new_resource.release_file')
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command unpack_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[autogen #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[configure #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[make #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[make install #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "autogen #{new_resource.path}" do
|
||||||
|
command './autogen.sh'
|
||||||
|
only_if { ::File.exist? "#{new_resource.path}/autogen.sh" }
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
ignore_failure true
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "configure #{new_resource.path}" do
|
||||||
|
command "./configure #{new_resource.autoconf_opts.join(' ')}"
|
||||||
|
only_if { ::File.exist? "#{new_resource.path}/configure" }
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "make #{new_resource.path}" do
|
||||||
|
command "make #{new_resource.make_opts.join(' ')}"
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "make install #{new_resource.path}" do
|
||||||
|
command "make install #{new_resource.make_opts.join(' ')}"
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
action :setup_py_build do
|
||||||
|
show_deprecations
|
||||||
|
set_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
Chef::Log.debug('DEBUG: new_resource.release_file')
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command unpack_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[python setup.py build #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "python setup.py build #{new_resource.path}" do
|
||||||
|
command "python setup.py build #{new_resource.make_opts.join(' ')}"
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
action :setup_py_install do
|
||||||
|
show_deprecations
|
||||||
|
set_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
Chef::Log.debug('DEBUG: new_resource.release_file')
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command unpack_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[python setup.py install #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "python setup.py install #{new_resource.path}" do
|
||||||
|
command "python setup.py install #{new_resource.make_opts.join(' ')}"
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
action :setup_py do
|
||||||
|
show_deprecations
|
||||||
|
set_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
Chef::Log.debug('DEBUG: new_resource.release_file')
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command unpack_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[python setup.py #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "python setup.py #{new_resource.path}" do
|
||||||
|
command "python setup.py #{new_resource.make_opts.join(' ')}"
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
action :configure do
|
||||||
|
show_deprecations
|
||||||
|
set_paths
|
||||||
|
|
||||||
|
directory new_resource.path do
|
||||||
|
recursive true
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
remote_file new_resource.release_file do
|
||||||
|
Chef::Log.debug('DEBUG: new_resource.release_file')
|
||||||
|
source new_resource.url
|
||||||
|
checksum new_resource.checksum if new_resource.checksum
|
||||||
|
action :create
|
||||||
|
notifies :run, "execute[unpack #{new_resource.release_file}]"
|
||||||
|
end
|
||||||
|
|
||||||
|
# unpack based on file extension
|
||||||
|
execute "unpack #{new_resource.release_file}" do
|
||||||
|
command unpack_command
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
notifies :run, "execute[set owner on #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[autogen #{new_resource.path}]"
|
||||||
|
notifies :run, "execute[configure #{new_resource.path}]"
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# set_owner
|
||||||
|
execute "set owner on #{new_resource.path}" do
|
||||||
|
command owner_command
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "autogen #{new_resource.path}" do
|
||||||
|
command './autogen.sh'
|
||||||
|
only_if { ::File.exist? "#{new_resource.path}/autogen.sh" }
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
ignore_failure true
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "configure #{new_resource.path}" do
|
||||||
|
command "./configure #{new_resource.autoconf_opts.join(' ')}"
|
||||||
|
only_if { ::File.exist? "#{new_resource.path}/configure" }
|
||||||
|
cwd new_resource.path
|
||||||
|
environment new_resource.environment
|
||||||
|
action :nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
action_class.class_eval do
|
||||||
|
include ::Ark::ProviderHelpers
|
||||||
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user