[packagekit] Changing the Package signal

Richard Hughes hughsient at gmail.com
Sun Sep 30 07:28:59 PDT 2007


>From TODO: convert the magic number in Package to a string type

I've just committed to master a change in the callback of Signal. The
old callback relied on a magic number to mean different things for
different situations, and was very fragile and against the spirit of the
dbus interface as it was not self documenting.

The new callback is exactly the same, but uses enumerated types. You can
see what I mean looking at the commit
50f55e02c2bd35a39b5425f08eec2e5d94223606 - basically the compiled
backends just use PK_INFO_ENUM_INSTALLED rather than "1" and the helper
backends now have to return "available" rather than "0".

I've converted the compiled backends (still, probably a good idea to
check) and had a stab at the yum backend (probably wrong) - I've not
touched the conary backend as it looked more complicated. It will
probably take about 2 minutes to convert this - sorry - my python skills
are very limited.

So basically, the old mapping to new mapping is thus:

When searching:
1	installed	PK_INFO_ENUM_INSTALLED
0	available	PK_INFO_ENUM_AVAILABLE

When getting updates:
0	normal		PK_INFO_ENUM_NORMAL
1	security	PK_INFO_ENUM_SECURITY
2	important	PK_INFO_ENUM_IMPORTANT
3	low		PK_INFO_ENUM_LOW

When processing packages:
0	downloading	PK_INFO_ENUM_DOWNLOADING
1	installing	PK_INFO_ENUM_INSTALLING
x	removing	PK_INFO_ENUM_REMOVING

Ken/Elliot - can you yell when you've made the few changes to the conary
backend, and also Tim/Whoever for the yum backend. You can use the
INFO_* defines I've added in packagekit.py. When these are done I'll
push to fd.o.

Thanks,

Richard.

p.s. this is hopefully the last API change before 0.1.0 - there will be
one more signal added, but nothing that requires backend changes.





More information about the PackageKit mailing list