Module Cft::RPM
In: lib/cft/rpm.rb

Methods

byfile   diff   genshadow   genstate   readshadow   readstate   shadow   transdiff   withdb  

Classes and Modules

Class Cft::RPM::PackageFile
Class Cft::RPM::PackageHandle

Public Class methods

Return a list of the packages that own the file fname The returned list consists of PackageFile objects

Compute the diff between the two package sets before and after, which must both be package lists as returned by readstate Returns the diff as a hash with three keys: +:installed+, +:erased+, and +:updated+; each of these keys is associated with a dict associating the +name.arch+ with a list of versions; for updated packages, the version(s) are the ones that are in after but weren‘t in before

Compute dependency information for packages that have been changed between before_file and after_file and store that in shadow_file

Generate the state of the RPM DB root in file fname The RPM database must be located in +/var/lib/rpm+ underneath root The output file fname is overwritten; the format of the file is internal to this module. Use readstate if you need to read the file

Return the shadow stored by genshadow in shadow_file as a hash mapping PackageHandle objects to lists of PackageHandle objects. The meaning of the hash is the same as the one returned by shadow

Read the state file fname generated by genstate Returns a hash, where each entry maps +name.arch+ to a list of RPM::Version

Compute which packages on packages shadow other packages on the list by requiring them. The packages must be a list of +RPM::Package+ objects. The result is a dict where the keys are +RPM::Package+ objects and the values are lists of +RPM::Package+ objects. The list contains all the packages in packages that are directly required by the key

Return the diff between the two package sets before and after as two TransBuckets. Each bucket contains package TransObjects

[Validate]