gpg: combine detection logic

This commit is contained in:
Dominyk Tiller 2016-08-10 16:46:58 +01:00
parent 2c81083f3c
commit 3005582f15
No known key found for this signature in database
GPG Key ID: FE19AEFCF658C6F6

View File

@ -1,32 +1,26 @@
require "utils" require "utils"
class Gpg class Gpg
# Should ideally be using `GPGRequirement.new.gpg2`, etc to get path here but def self.find_gpg(executable)
# calling that directly leads to: which_all(executable).detect do |gpg|
# requirement.rb:139:in `which_all': uninitialized constant Requirement::ORIGINAL_PATHS (NameError)
# when i.e. including the gpg syntax in wget. Not problematic if not used by formula code.
# For now, the path determination blob of code has been semi-modified for here.
# Look into this more.
def self.gpg
which("gpg") do |gpg|
gpg_short_version = Utils.popen_read(gpg, "--version")[/\d\.\d/, 0] gpg_short_version = Utils.popen_read(gpg, "--version")[/\d\.\d/, 0]
next unless gpg_short_version next unless gpg_short_version
Version.create(gpg_short_version.to_s) == Version.create("2.0") Version.create(gpg_short_version.to_s) == Version.create("2.0")
end end
end end
def self.gpg2 def self.gpg
which("gpg2") do |gpg2| find_gpg("gpg")
gpg2_short_version = Utils.popen_read(gpg2, "--version")[/\d\.\d/, 0]
next unless gpg2_short_version
Version.create(gpg2_short_version.to_s) == Version.create("2.0")
end end
def self.gpg2
find_gpg("gpg2")
end end
GPG_EXECUTABLE = gpg2 || gpg GPG_EXECUTABLE = gpg2 || gpg
def self.available? def self.available?
File.exist?(GPG_EXECUTABLE.to_s) && File.executable?(GPG_EXECUTABLE) File.exist?(GPG_EXECUTABLE.to_s) && File.executable?(GPG_EXECUTABLE.to_s)
end end
def self.create_test_key(path) def self.create_test_key(path)