module Evesync::OS::PackageManager

FIXME: pacman downgrading requires full url path

Manages package manager things TODO: trigger package_watcher event to update database

Public Class Methods

apt_get(cmd, name, version) click to toggle source
# File lib/evesync/os/linux/deb/package_manager.rb, line 25
def apt_get(cmd, name, version)
  Log.debug("Apt-get command: '#{cmd}' on #{name}=#{version}")
  system("apt-get --assume-yes #{cmd} #{name}=#{version}")
end
downgrade(*args) click to toggle source
# File lib/evesync/os/linux/arch/package_manager.rb, line 21
def downgrade(*args)
  pacman('-U', *args)
end
exist?(name, version) click to toggle source
# File lib/evesync/os/linux/deb/package_manager.rb, line 30
def exist?(name, version)
  Log.debug("Dpkg checking if exists: #{name}-#{version}")
  `dpkg-query -l #{name}`
  $CHILD_STATUS == 0
end
install(*args) click to toggle source
# File lib/evesync/os/linux/arch/package_manager.rb, line 8
def install(*args)
  pacman('-Sy', *args)
end
pacman(cmd, name, _version) click to toggle source
# File lib/evesync/os/linux/arch/package_manager.rb, line 25
def pacman(cmd, name, _version)
  `pacman #{cmd} #{name}` # FIXME: do smth with version
end
remove(*args) click to toggle source
# File lib/evesync/os/linux/arch/package_manager.rb, line 12
def remove(*args)
  pacman('-R', *args)
end
update(*args) click to toggle source

FIXME: update and downgrade specific version is not fine

# File lib/evesync/os/linux/arch/package_manager.rb, line 17
def update(*args)
  pacman('-U', *args)
end
yum(cmd, name, version) click to toggle source
# File lib/evesync/os/linux/rhel/package_manager.rb, line 33
def yum(cmd, name, version)
  Log.debug("Yum command: '#{cmd}' on #{name}-#{version}")
  system("yum --assumeyes #{cmd} #{name}-#{version}")
end