[oclug] Extracting and verifying RPM dependency information

Gilles J. Seguin segg at infonet.ca
Thu Apr 28 04:56:58 EDT 2005


On Wed, 2005-04-27 at 15:15, Walt Sullivan wrote:
> I'm trying to set up MythTV for a friend who is at the end of a slow
> dialup. Therefore, I want to use my DSL connection to download the
> necessary, burn it to CD, and sneakernet it out to the boondocks.
> 
> However, I'm finding it difficult to find out what's "necessary".
> 
> I've fetched some .rpms:
> 
> libmyth-0.18-104.rhfc2.at.i386.rpm        mythtv-backend-0.18-104.rhfc2.at.i386.rpm
> libmyth-devel-0.18-104.rhfc2.at.i386.rpm  mythtv-frontend-0.18-104.rhfc2.at.i386.rpm
> mythtv-0.18-104.rhfc2.at.i386.rpm         mythtv-setup-0.18-104.rhfc2.at.i386.rpm
> mythtv-0.18-104.rhfc2.at.src.rpm          mythtv-themes-0.18-104.rhfc2.at.i386.rpm
> 
> and used "pm --query --requires --package xxxxxxx" to see what the
> .rpms depend on. 
> 
> How can I check this dependency information on a remote system? 
> 
> That is, I'd like to e-mail my friend a script/program he can run on
> his system (Fedora Core 2, I think, but I didn't install it, and I'm
> not sure what really got installed) to evaluate the dependencies
> there. His system (probably FC2) is not the same as mine, so my
> dependencies don't apply.
> 
> Also, given that the dependencies for (the "rpm --query --requires
> --package ..." output), say libmyth-devel-0.18-104.rhfc2.at.i386.rpm,
> look like this:
> 
> alsa-lib-devel
> arts-devel
> freetype-devel >= 2
> lame-devel
> libiec61883-devel >= 0.1.0svn49
> libmyth = 0.18
> lirc-lib-devel
> mysql-devel
> nvidia-graphics-devel
> qt-devel >= 3
> rpmlib(CompressedFileNames) <= 3.0.4-1
> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> 
> how can I check them without using rpm?
> 
> Is there a function I can invoke from Perl (or something) on the
> target system that will give a correct, valid. yes-or-no answer to
> "rpmlib(CompressedFileNames) <= 3.0.4-1"?

in following lines "needs rpmdb-redhat package"
                    ==========================
    
  --redhatprovides         find package name that contains a provided
                           capability (needs rpmdb-redhat package 
                           installed)
  --redhatrequires   find package name that contains a required
                     capability (needs rpmdb-redhat package    
                     installed)				



More information about the OCLUG mailing list