diff --git a/README.md b/README.md index 9719c70e..51df2bbf 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Attributes ========== * `node['yum']['epel_release']` - Set the epel release version based on `node['platform_version']`. +* `node['yum']['ius_release']` - Set the IUS release to install. Recipes ======= @@ -37,6 +38,13 @@ epel Installs the EPEL repository via RPM. Uses the `node['yum']['epel_release']` attribute to select the right version of the repository package to install. Also uses the node's platform version (as an integer) for the major release of EL. +ius +---- + +Installs the [IUS Community repositories](http://iuscommunity.org/Repos) via RPM. Uses the `node['yum']['ius_release']` attribute to select the right versino of the package to install. + +The IUS repository requires EPEL, and the recipe includes `yum::epel` to install this. + Resources/Providers =================== diff --git a/attributes/default.rb b/attributes/default.rb index 20a129b6..93570fc4 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -22,7 +22,6 @@ default[:yum][:exclude] default[:yum][:installonlypkgs] - default['yum']['epel_release'] = case node['platform_version'].to_i when 6 "6-5" @@ -31,3 +30,4 @@ when 4 "4-10" end +default['yum']['ius_release'] = '1.0-8' diff --git a/recipes/epel.rb b/recipes/epel.rb index 3ffc0dfd..ccc3cffd 100644 --- a/recipes/epel.rb +++ b/recipes/epel.rb @@ -25,7 +25,7 @@ remote_file "#{Chef::Config[:file_cache_path]}/epel-release-#{epel}.noarch.rpm" do source "http://download.fedoraproject.org/pub/epel/#{major}/i386/epel-release-#{epel}.noarch.rpm" - not_if "rpm -qa | grep -qx 'epel-release-#{epel}'" + not_if "rpm -qa | grep -qx '^epel-release-#{epel}.noarch$'" end diff --git a/recipes/ius.rb b/recipes/ius.rb new file mode 100644 index 00000000..5c0dd186 --- /dev/null +++ b/recipes/ius.rb @@ -0,0 +1,32 @@ +# +# Author:: Joshua Timberman () +# Cookbook Name:: yum +# Recipe:: ius +# +# Copyright:: Copyright (c) 2011 Opscode, 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. + +include_recipe "yum::epel" + +major = node['platform_version'].to_i +ius = node['yum']['ius_release'] + +remote_file "#{Chef::Config[:file_cache_path]}/ius-release-#{ius}.ius.el#{major}.noarch.rpm" do + source "http://dl.iuscommunity.org/pub/ius/stable/Redhat/#{major}/i386/ius-release-#{ius}.ius.el#{major}.noarch.rpm" + not_if "rpm -qa | grep -qx 'ius-release-#{ius}'" +end + +rpm_package "ius-release" do + source "#{Chef::Config[:file_cache_path]}/ius-release-#{ius}.ius.el#{major}.noarch.rpm" +end