Sha256: 7352f53df043ef695ff411ffb22a0b8534fa8f296d15f157e0ab371ee1a4efbe
Contents?: true
Size: 1.66 KB
Versions: 6
Compression:
Stored size: 1.66 KB
Contents
# # Cookbook Name:: apt # Library:: helpers # # Copyright 2013 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. # module Apt # Helpers for apt module Helpers # Determines if apt is installed on a system. # # @return [Boolean] def apt_installed? !which('apt-get').nil? end # Determines whether we need to run `apt-get update` # # @return [Boolean] def apt_up_to_date? if ::File.exist?('/var/lib/apt/periodic/update-success-stamp') && ::File.mtime('/var/lib/apt/periodic/update-success-stamp') > Time.now - node['apt']['periodic_update_min_delay'] true else false end end # Finds a command in $PATH # # @return [String, nil] def which(cmd) ENV['PATH'] = '' if ENV['PATH'].nil? paths = (ENV['PATH'].split(::File::PATH_SEPARATOR) + %w(/bin /usr/bin /sbin /usr/sbin)) paths.each do |path| possible = File.join(path, cmd) return possible if File.executable?(possible) end nil end end end Chef::Recipe.send(:include, ::Apt::Helpers) Chef::Resource.send(:include, ::Apt::Helpers) Chef::Provider.send(:include, ::Apt::Helpers)
Version data entries
6 entries across 6 versions & 1 rubygems