Module: ReaperMan::Signer::Rpm

Defined in:
lib/reaper-man/signer/rpm.rb

Overview

Signing methods for rpm files

Instance Method Summary collapse

Instance Method Details

#package(*pkgs) ⇒ TrueClass

Sign given files

Parameters:

  • pkgs (String)

    list of file paths

Returns:

  • (TrueClass)


12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/reaper-man/signer/rpm.rb', line 12

def package(*pkgs)
  pkgs = valid_packages(*pkgs)
  pkgs.each_slice(sign_chunk_size) do |pkgs|
    cmd = %(rpmsign --resign --key-id="#{key_id}" #{pkgs.join(" ")})
    if key_password
      shellout(
        "#{Signer::HELPER_COMMAND} #{cmd}",
        :environment => {
          "REAPER_KEY_PASSWORD" => key_password,
        },
      )
    else
      shellout(cmd)
    end
  end
  true
end

#valid_packages(*pkgs) ⇒ Array<String>

Filter only valid paths for signing (.rpm extensions)

Parameters:

  • pkgs (String)

    list of file paths

Returns:

  • (Array<String>)


34
35
36
37
38
# File 'lib/reaper-man/signer/rpm.rb', line 34

def valid_packages(*pkgs)
  pkgs.find_all do |pkg|
    File.extname(pkg) == ".rpm"
  end
end