Module: ReaperMan::Signer::Deb

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

Overview

Signing methods for deb 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/deb.rb', line 12

def package(*pkgs)
  pkgs = valid_packages(*pkgs)
  pkgs.each_slice(sign_chunk_size) do |pkgs|
    cmd = %(debsigs --sign="#{sign_type}" --default-key="#{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 (.deb extensions)

Parameters:

  • pkgs (String)

    list of file paths

Returns:

  • (Array<String>)


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

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