Module: Evesync::OS::PackageManager

Defined in:
lib/evesync/os/linux/rhel/package_manager.rb,
lib/evesync/os/linux/deb/package_manager.rb,
lib/evesync/os/linux/arch/package_manager.rb

Overview

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

Class Method Summary collapse

Class Method Details

.apt_get(cmd, name, version) ⇒ Object



25
26
27
28
# 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) ⇒ Object



20
21
22
23
# File 'lib/evesync/os/linux/deb/package_manager.rb', line 20

def downgrade(*args)
  apt_get('install', *args)
  exist?(*args)
end

.exist?(name, version) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
33
34
# 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) ⇒ Object



5
6
7
8
# File 'lib/evesync/os/linux/deb/package_manager.rb', line 5

def install(*args)
  apt_get('install', *args)
  exist?(*args)
end

.pacman(cmd, name, _version) ⇒ Object



25
26
27
# 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) ⇒ Object



10
11
12
13
# File 'lib/evesync/os/linux/deb/package_manager.rb', line 10

def remove(*args)
  apt_get('remove', *args)
  !exist?(*args)
end

.update(*args) ⇒ Object

FIXME: update and downgrade specific version is not fine



17
18
19
20
# File 'lib/evesync/os/linux/arch/package_manager.rb', line 17

def update(*args)
  apt_get('upgrade', *args)
  exist?(*args)
end

.yum(cmd, name, version) ⇒ Object



33
34
35
36
# 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