[Rpm-maint] rpm feature request

Panu Matilainen pmatilai at redhat.com
Tue Jul 31 06:47:43 UTC 2007


On Mon, 30 Jul 2007, seth vidal wrote:

> Would it be possible in some future rpm python interface to get rid of
> the horrible setVsFLAGS bitmask and just have the items be attributes
> you set or unset in the ts object?
>
> ts = rpm.TransactionSet()
> ts.gpgcheck = False
> ts.hdrcheck = True
> ts.installroot = '/some/place'
> etc. etc
>
> I know 'being pythonic' isn't really a needed feature of rpm - but it
> would make finding out what things are set and how the are set much
> easier.

This being rpm doesn't need to mean unpythonic either, but ...

There are a number of other places as well where bitfield is used:
tsflags, vsflags, verifyflags (once the verification api gets done) etc, 
if something is to be done about them I think it should be a generic 
bitfield wrapper object that supports nicer set/get methods than the raw 
bitfield. The above would instead become something like

ts = rpm.ts()
ts.vsflags.set(rpm.RPMVSF_NOHDRCHK, True)
flag = ts.vsflags.get(<item>) # return boolean

Of course those flags are negative so .. maybe it'd want some extra 
wrapping to turn it into something like
ts.vsflags.set('gpgcheck', True)

Another possibility might be some kind of set object. Whatever it ends up 
being, it has to internally work directly on the actual bitfield, 
otherwise we'll end up having to keep extra state information around here 
and there for no good reason.

 	- Panu -




More information about the Rpm-maint mailing list