You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
984 B
50 lines
984 B
require 'ffi'
|
|
|
|
module RPM
|
|
module C
|
|
extend ::FFI::Library
|
|
|
|
begin
|
|
ffi_lib ['rpm',
|
|
'librpm.so.9',
|
|
'librpm.so.8', # Tumbleweed
|
|
'librpm.so.7', # fedora 23
|
|
'librpm.so.3', 'librpm.so.2', 'librpm.so.1']
|
|
rescue LoadError => e
|
|
raise(
|
|
"Can't find rpm libs on your system: #{e.message}"
|
|
)
|
|
end
|
|
end
|
|
end
|
|
|
|
require 'rpm/c/rpmtypes'
|
|
require 'rpm/c/rpmcallback'
|
|
require 'rpm/c/rpmtag'
|
|
require 'rpm/c/rpmlib'
|
|
|
|
module RPM
|
|
module C
|
|
|
|
def self.rpm_version_code
|
|
ver = ::RPM::C.RPMVERSION.split('.', 3)
|
|
return (ver[0].to_i<<16) + (ver[1].to_i<<8) + (ver[2].to_i<<0)
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
require 'rpm/c/rpmlog'
|
|
require 'rpm/c/rpmmacro'
|
|
require 'rpm/c/rpmio'
|
|
require 'rpm/c/header'
|
|
require 'rpm/c/rpmprob'
|
|
require 'rpm/c/rpmps'
|
|
require 'rpm/c/rpmfi'
|
|
require 'rpm/c/rpmdb'
|
|
require 'rpm/c/rpmcallback'
|
|
require 'rpm/c/rpmcli'
|
|
require 'rpm/c/rpmts'
|
|
require 'rpm/c/rpmds'
|
|
require 'rpm/c/rpmtd'
|