[Rpm-maint] Python "rpm --verify"

Mike Brady mike.brady at devnull.net.nz
Tue Feb 27 08:45:53 UTC 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



seth vidal wrote:
> On Sun, 2007-02-25 at 14:34 +1300, Mike Brady wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Thanks for the quick response.  I am working on the bcfg2 project
>> http://trac.mcs.anl.gov/projects/bcfg2.
> 
> A useful project to work on from what I've heard about it. Some people
> whose opinions I respect have spoken very well of it.

I have only been involved for a few months and have mainly just been
documentation and testing.  This would be my first coding contribution.

> 
> 
>> The client side has drivers that support various aspects of a client's
>> configuration.  One of the areas to cover is package management. There
>> are RPM and YUM drivers, but they need to be reworked because they have
>> a number of issues.
>>
>> Functionality is nothing earth shattering:
>> query (rpm -qa) for inventory
>> verify (rpm -V)
>> add (rpm -i and rpm -U)
>> remove (rpm -e)
>>
>> I have already done quite a bit of research and playing around with
>> code.  I was hoping someone else may already done some of the work.
>> Never mind, I guess I will have to start coding for real now.
> 
> If you want some help looking at some of this code or any advice I'll be
> glad to take a look if you'd like me to. It's an area that needs some
> fleshing out, imo and a worthwhile thing to work on. The only thing I'd
> recommend is trying to make it as generic as possible so it can be used
> outside of bcfg2, as well.
> 

Thank you for the offer of help.  I will take you up on it. Should we do
this on or off list?

I think that I have gotten to the stage where I know, what I don't know
and just need to start working through the list of outstanding items.

The first thing I need to make a decision on is what approach to take.
Do everything in Python?  Meaning for the verify at least just recoding
what is in lib/verify.c. Or add the verify functionality to rpm-python?

I think that the later is technically the better solution, but I know
nothing about adding extensions to Python and it has been many years
since I did any C programming.  I am also a little surprised that it
hasn't already been done.  Do you know if there are technical reasons
for this? Or is it just that no one has time and/or sufficient need to
do it before?

I am reasonably sure that I can do the whole thing in Python, but have
some concerns about performance. I have heard that bitwise operations in
Python aren't the best performance wise and this will need a few of
them.  I haven't done enough to know.  Any ideas on this front?

At the moment I intend to do some work on both approaches, but will need
to make a call one way or the other with in the next week or so.

Thanks

Mike

- --

Mike Brady
GPG Key ID: 0x9C777DA4

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFF4+/B6xLAi5x3faQRAklPAKCK5TThSwu7yjJ3M4q3qgbfsJMABQCgjeF1
ZwToILrUmzj2nZcTw5KXhZg=
=EIkx
-----END PGP SIGNATURE-----



More information about the Rpm-maint mailing list