# 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
+# https://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,
default_action :create
-property :name, String, :name_property => true
+property :source_name, String, :name_property => true
property :source_template, String, :default => "default.list.erb"
property :url, String, :required => true
property :key, String
end
action :create do
- if key
- execute "apt-key-#{key}-clean" do
+ if new_resource.key
+ execute "apt-key-#{new_resource.key}-clean" do
command "/usr/bin/apt-key adv --batch --delete-key --yes #key}"
- only_if "/usr/bin/apt-key adv --list-keys #{key} | fgrep expired"
+ only_if "/usr/bin/apt-key adv --list-keys #{new_resource.key} | fgrep expired"
end
- if key_url
- execute "apt-key-#{key}-install" do
- command "/usr/bin/apt-key adv --fetch-keys #{key_url}"
- not_if "/usr/bin/apt-key adv --list-keys #{key}"
- notifies :run, "execute[apt-update-#{new_resource.name}]"
+ if new_resource.key_url
+ execute "apt-key-#{new_resource.key}-install" do
+ command "/usr/bin/apt-key adv --fetch-keys #{new_resource.key_url}"
+ not_if "/usr/bin/apt-key adv --list-keys #{new_resource.key}"
+ notifies :run, "execute[apt-update-#{new_resource.source_name}]"
end
else
- execute "apt-key-#{key}-install" do
- command "/usr/bin/apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys #{key}"
- not_if "/usr/bin/apt-key adv --list-keys #{key}"
- notifies :run, "execute[apt-update-#{new_resource.name}]"
+ execute "apt-key-#{new_resource.key}-install" do
+ command "/usr/bin/apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys #{new_resource.key}"
+ not_if "/usr/bin/apt-key adv --list-keys #{new_resource.key}"
+ notifies :run, "execute[apt-update-#{new_resource.source_name}]"
end
end
end
template source_path do
- source source_template
+ source new_resource.source_template
owner "root"
group "root"
mode 0o644
- variables :url => url
- notifies :run, "execute[apt-update-#{new_resource.name}]"
+ variables :url => new_resource.url
+ notifies :run, "execute[apt-update-#{new_resource.source_name}]"
end
- execute "apt-update-#{name}" do
- action update ? :run : :nothing
+ execute "apt-update-#{new_resource.source_name}" do
+ action new_resource.update ? :run : :nothing
command "/usr/bin/apt-get update --no-list-cleanup -o Dir::Etc::sourcelist='#{source_path}' -o Dir::Etc::sourceparts='-'"
end
end
end
end
-def source_path
- "/etc/apt/sources.list.d/#{name}.list"
+action_class do
+ def source_path
+ "/etc/apt/sources.list.d/#{new_resource.source_name}.list"
+ end
end