class Assemblyline::Ruby::Provider::Alpine
Attributes
system_packages[R]
Public Class Methods
new(system_packages = SystemPackages.new)
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 7 def initialize(system_packages = SystemPackages.new) @system_packages = system_packages end
Public Instance Methods
install()
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 11 def install add ".a10e.builddeps", system_packages.all + ["su-exec"] end
remove()
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 15 def remove add ".a10e.rundeps", rundeps del ".a10e.builddeps" end
Private Instance Methods
add(virtual_package, packages)
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 36 def add(virtual_package, packages) cmd "apk add --no-cache --virtual #{virtual_package} #{packages.join(" ")}" end
cmd(command)
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 44 def cmd(command) fail unless system command end
del(package)
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 40 def del(package) cmd "apk del #{package}" end
required_packages()
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 28 def required_packages `scanelf --needed --nobanner --recursive /usr/local/bundle`.split("\n") .map { |row| row.split[1].split(",") } .flatten .map { |file| `apk info --installed so:#{file}`.chomp } .uniq.sort end
rundeps()
click to toggle source
# File lib/assemblyline/ruby/provider/alpine.rb, line 24 def rundeps system_packages.runtime + required_packages end