class FPM::Fry::Plugin::Apt
Allows adding a debian repository.
@note experimental
@example in a recipe
plugin 'apt' do |apt| apt.repository "https://repo.varnish-cache.org/#{distribution}", "trusty", "varnish-4.1" end
Public Class Methods
apply(builder, &block)
click to toggle source
# File lib/fpm/fry/plugin/apt.rb, line 33 def self.apply(builder, &block) if builder.flavour != "debian" builder.logger.info('skipped apt plugin') return end dsl = self.new(builder) if block.arity == 1 block.call(dsl) else dsl.instance_eval(&block) end end
new(builder)
click to toggle source
# File lib/fpm/fry/plugin/apt.rb, line 48 def initialize(builder) @builder = builder end
Public Instance Methods
repository(url, distribution, components, options = {} )
click to toggle source
Adds a debian repository
@param [String] url @param [String] distribution @param [String,Array<String>] components @param [Hash] options
# File lib/fpm/fry/plugin/apt.rb, line 21 def repository(url, distribution, components, options = {} ) name = "#{url}-#{distribution}".gsub(/[^a-zA-Z0-9_\-]/,'-') source = ['deb'] source << '[trusted=yes]' source << url source << distribution source << Array(components).join(' ') @builder.before_dependencies do @builder.bash "echo '#{source.join(' ')}' >> /etc/apt/sources.list.d/#{name}.list && apt-get update -o Dir::Etc::sourcelist='sources.list.d/#{name}.list' -o Dir::Etc::sourceparts='-' -o APT::Get::List-Cleanup='0'" end end