GSoC status - Week 4

Matt Windsor mbw500 at
Sun Jul 14 16:53:23 UTC 2013

Hi again,

A slightly less productive week this time, in that RemovePackages has been 
implemented in its most basic form (none of the flags sent to the 
backend_remove_packages function work yet).  I'll probably investigate how 
to provide or properly step around the other functionality when the week I 
earmarked for remote updates comes up, as that was implemented last week.

Most of the work this week has been, as ever, shuffling what already 
exists to accommodate more functionality.  Jobs and searches are now 
somewhat abstracted (indeed, currently the main difference between 
installing and removing is changing around the job type and failure error 
enums, and the difference between group and name search is mainly passing 
a different match string and field requirements to the same "search and 
emit package matches via PackageKit" function.

Another notable changeset this week is the way group matches to port 
categories work:
 	- When matching against packages, the first pkg_category will be
 	  used if available, with a fallback to the old behaviour of
 	  snipping the port directory off the origin and matching that;
 	  (To be tested)
 	- The group-category mapping is now stored in a
 	  whitespace-delimited text file, backends/groups, as opposed to
 	  living in C source.  Currently, this is massaged by a sort/awk
 	  pipeline into becoming a C array; if I can figure out where to
 	  place the file in the filesystem, this could become a runtime
 	  read instead;
 	- The mapping is now bsearch'd instead of linearly searched,
 	  which probably saves precious nanoseconds of time =D

All in all, not an amazingly eventful week.  Here's to next week being 
hopefully more productive...

(Story so far: the PackageKit backend can currently search groups and 
names, retrieve details of packages by ID or name, install some packages 
with a few bugs, remove packages with no autoremove/other features 
implemented yet, list repositories, and list files of installed packages. 
Very little formal testing yet and lots of bugs and deficiencies here and 
there, hopefully the second term of GSoC will see a lot of testing and bug 


More information about the soc-status mailing list