Vendor the external cookbooks
Knife-Zero doesn't include Berkshelf support, so vendoring everything in the repo is convenient again
This commit is contained in:
38
cookbooks/nginx/libraries/helpers.rb
Normal file
38
cookbooks/nginx/libraries/helpers.rb
Normal file
@@ -0,0 +1,38 @@
|
||||
#
|
||||
# Cookbook:: nginx
|
||||
# Library:: helpers
|
||||
#
|
||||
# Author:: Tim Smith (<tsmith@chef.io>)
|
||||
#
|
||||
# Copyright:: 2016-2017, Chef Software, Inc.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# simple helper module for the nginx cookbook
|
||||
module NginxRecipeHelpers
|
||||
# pidfile is hard to determine on Debian systems.
|
||||
# Upstream packages and older distro releases use '/var/run/nginx.pid'
|
||||
# systemd based distros and Ubuntu 14.04 use '/run/nginx.pid' for their
|
||||
# packages
|
||||
def pidfile_location
|
||||
if (node['nginx']['repo_source'].nil? || %w(distro passenger).include?(node['nginx']['repo_source'])) &&
|
||||
(node['init_package'] == 'systemd' || node['platform_version'].to_f == 14.04)
|
||||
'/run/nginx.pid'
|
||||
else
|
||||
'/var/run/nginx.pid'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Chef::Resource.send(:include, NginxRecipeHelpers)
|
||||
37
cookbooks/nginx/libraries/nginx_version.rb
Normal file
37
cookbooks/nginx/libraries/nginx_version.rb
Normal file
@@ -0,0 +1,37 @@
|
||||
class NginxVersion
|
||||
include Comparable
|
||||
|
||||
attr_reader :version
|
||||
|
||||
def initialize(version)
|
||||
@version = version
|
||||
end
|
||||
|
||||
def <=>(other)
|
||||
lhsegments = segments
|
||||
rhsegments = other.segments
|
||||
|
||||
parts = [lhsegments.size, rhsegments.size].max
|
||||
|
||||
(0..(parts - 1)).each do |index|
|
||||
lhs = lhsegments[index] || 0
|
||||
rhs = rhsegments[index] || 0
|
||||
|
||||
next if lhs == rhs
|
||||
|
||||
return lhs <=> rhs
|
||||
end
|
||||
|
||||
0
|
||||
end
|
||||
|
||||
def to_s
|
||||
version
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def segments
|
||||
version.split('.').map { |part| Integer(part) }
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user