Class: Assemblyline::Ruby::Provider::Alpine
- Inherits:
-
Object
- Object
- Assemblyline::Ruby::Provider::Alpine
- Defined in:
- lib/assemblyline/ruby/provider/alpine.rb
Instance Method Summary collapse
- #current_packages ⇒ Object
- #install(packages) ⇒ Object
- #remove(packages) ⇒ Object
- #required_packages ⇒ Object
Instance Method Details
#current_packages ⇒ Object
5 6 7 |
# File 'lib/assemblyline/ruby/provider/alpine.rb', line 5 def current_packages `apk info -s`.split("\n") end |
#install(packages) ⇒ Object
9 10 11 |
# File 'lib/assemblyline/ruby/provider/alpine.rb', line 9 def install(packages) fail unless system "apk add --no-cache #{packages.join(" ")}" end |
#remove(packages) ⇒ Object
13 14 15 |
# File 'lib/assemblyline/ruby/provider/alpine.rb', line 13 def remove(packages) fail unless system "apk del #{packages.join(" ")}" end |
#required_packages ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/assemblyline/ruby/provider/alpine.rb', line 17 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 |