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'