class FPM::Scriptable::RPM

Constants

TYPE

Public Instance Methods

build_inputs() click to toggle source
# File lib/fpm/scriptable/plugin/rpm.rb, line 55
def build_inputs
  srcdir.each do |src|
    @fpm.attributes[:chdir] = src
    @fpm.input '.'
  end

  if !srcrpm.nil? && srcrpm.size > 0
    t = Time.now.to_i
    tmp_dir = "/tmp/#{@name}_rpm_#{t.to_s}"
    Dir.mkdir tmp_dir

    srcrpm.each do |rpm|
      rpm_data = rpm.split(/\//)
      rpm_name = rpm_data.last

      Dir.chdir(tmp_dir) do
        open(rpm_name, "w") do |f|
          c = Curl.get rpm
          f.write c.body_str
        end

        fpm_rpm = FPM::Package::RPM.new
        fpm_rpm.input rpm_name

        @fpm.attributes[:chdir] = fpm_rpm.staging_path
        @fpm.input '.'

        File.delete rpm_name
      end
    end

    Dir.delete tmp_dir
  end
end
fpm_convert() click to toggle source
# File lib/fpm/scriptable/plugin/rpm.rb, line 29
def fpm_convert
  obj = FPM::Package.types[TYPE]
  @fpm.convert(obj)
end
fpm_obj() click to toggle source
# File lib/fpm/scriptable/plugin/rpm.rb, line 25
def fpm_obj
  FPM::Package::Dir.new
end
plugin_init() click to toggle source
# File lib/fpm/scriptable/plugin/rpm.rb, line 34
def plugin_init
  @compression  = 'gzip'
  @digest       = 'md5'
  @user         = 'root'
  @group        = 'root'
end
plugin_setup() click to toggle source
# File lib/fpm/scriptable/plugin/rpm.rb, line 41
def plugin_setup
  @fpm.attributes[:rpm_compression] = compression
  @fpm.attributes[:rpm_digest]      = digest
  @fpm.attributes[:rpm_user]        = user
  @fpm.attributes[:rpm_group]       = group

  # TODO
  #@fpm.attributes[:rpm_defattrfile] = '-'
  #@fpm.attributes[:rpm_defattrdir] = '-'
  #@fpm.scripts[:rpm_verifyscript] =
  #@fpm.scripts[:rpm_posttrans] =
  #@fpm.scripts[:rpm_pretrans] =
end