RPM Community Forums

Mailing List Message of <rpm-users>

Re: rpm dependency checking via python

From: юрка олейников <yurkao@gmail.com>
Date: Sat 08 May 2010 - 18:07:50 CEST
Message-ID: <AANLkTimxywz5MkwPceQpg_6Sp6jLm9xD31cvwrpaq8bj@mail.gmail.com>
thanks, Jeff
i've got the point


2010/5/8 Jeff Johnson <n3npq@mac.com>

>
> On May 8, 2010, at 10:26 AM, Jeff Johnson wrote:
>
> >
> > On May 8, 2010, at 9:15 AM, юрка олейников wrote:
> >
> >> how do i check in python if rpmA has satisfied dependecies from rpmB if
> i do not want to use rpmdb?
> >>
> >
> > If you don't want to use an rpmdb, then you cannot check "added"
> > dependency assertions against "installed" packages. An rpmdb
> > is in fact where the "installed" package metadata lives.
> >
>
> The specific answer to your question (assuming you don't
> care whatsoever about "installed" package dependencies) is
>
> 1) Get a transaction
>
> 2) (counter intuitively) close the rpmdb using the ts.closedb() method.
>
> 3) add headers to the transaction as if you were going to install.
>
> 4) call the ts.check() method, and retrieve the dependency failures.
>
> What I believe you are going to find is that there are many
> failed "installed" dependency assertions that are normally satisfied
> by information contained in an rpmdb.
>
> To fix _THAT_ problem, just don't do step 2) let the transaction
> access an rpmdb as needed.
>
> hth
>
> 73 de
> Jeff______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> User Communication List                             rpm-users@rpm5.org
>



-- 
Be Secure, Stay Open - live w/ OpenBSD
Received on Sat May 8 18:08:12 2010
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.