Squidをバージョンアップ

Squidの新バージョンが出ていたので各サーバでバージョンアップ作業。このバージョンアップ作業からchefで実施しています。
レシピはこんな感じ。tarballをダウンロードしてきて、configure,make。
その後サービスを再起動ってことであまり特別なことはしていません。

#
# Cookbook Name:: squid
# Recipe:: default
#
# Copyright 2014, YOUR_COMPANY_NAME
#
# All rights reserved - Do Not Redistribute
#

makedir = node['squid']['makedir']
version = node['squid']['version']
major_version = version[0,3]

service "squid" do
    supports :status => false, :restart => true, :reload => false
    action [ :enable, :start ]
end


script "make_squid" do
    not_if {File.exists?("#{makedir}/squid-#{version}")}
    interpreter "bash"
    user "hoge"
    group "fuga"
    cwd node['squid']['makedir']
    environment "http_proxy" => "http://proxy_server:8080/"
    code <<-EOH
        wget -nc http://www.squid-cache.org/Versions/v3/#{major_version}/squid-#{version}.tar.gz
        tar -zxvf squid-#{version}.tar.gz
        cd squid-#{version}
        ./configure
        make -j8
    EOH
    notifies :run , 'script[install_squid]'
    notifies :restart , 'service[squid]'
end

script "install_squid" do
    interpreter "bash"
    user "root"
    group "root"
    cwd node['squid']['makedir']
    code <<-EOH
        cd squid-#{version}
        make install
    EOH
    action :nothing
end

file "#{makedir}/squid-#{version}.tar.gz" do
    action :delete
end

template "/usr/local/squid/etc/squid.conf" do
    owner "root"
    group "root"
    mode 0644
    notifies :reload , 'service[squid]'
end

makdirやversionはattribute以下へ記述。makedirがソースを展開してconfigure,makeをするところ。versionはこれからインストールするsquidのバージョン。今回なら

default['squid'][:version] = "3.5.2"

こんな感じです。