class Requirements
Constants
- CONFIG_FILES
Public Class Methods
valid?()
click to toggle source
# File lib/requirements.rb, line 10 def valid? config_files && packages end
Private Class Methods
config_files()
click to toggle source
# File lib/requirements.rb, line 16 def config_files CONFIG_FILES.each do |config_file| file = "debian/#{ config_file }" unless File.exist?(file) puts "There are no such file #{ file }" return false end end end
packages()
click to toggle source
# File lib/requirements.rb, line 26 def packages # Читаем control и ставим зависимости Build-Depends: depends,not_installed = [], [] lines = File.readlines('debian/control') lines.each do |line| if line.start_with?('Build-Depends:') depends = (line.sub('Build-Depends:', '').gsub(/\(.*\)/, '').split(',')) end end depends.each do |package| command = "dpkg-query -l #{ package.strip } 2>&1 |awk 'END { if($1==\"ii\") exit 0; else exit 1; }'" unless SystemGateway.perform_with_exit_code(command) not_installed.push(package) end end if not_installed.any? puts "Installing packages...." not_installed.each do |package| command = "apt-get install -y -q #{ package }" unless SystemGateway.perform_with_exit_code(command) puts "Error occurred during install package: #{ package }" return false end end end true end