[Aptitude-devel] Aptitude History Tracking progress report, Week 6

Cristian Porras porrascristian at gmail.com
Sat Jul 4 16:32:46 UTC 2009


In these two weeks, I focus on two points in the timeline:

a) Write code to add the history to a sqlite database, and code to
retrieve the history from the database.
b) Show the history of a particular package in the GUI and terminal.

I had thought about doing this after the Mid-term evaluation, but
Daniel suggested me to first work on this before implement the new
undo and the redo.

For a) I redefined the database draft that had been around for some
time to have a database schema like this:

            History Entries
           /                      \
Dpkg Changes         Aptitude State

In which History Entries is used to store basic information about a
change (package name, date, type of change, etc.) and the rest of the
details can be subdivided into tables, and depending on the type of
change, use some or other tables. Similarly, the retrieve of the
history from the database depends on the type of change.

In b) I added command line support, thus having the ability to view
history of a package as $ aptitude history [PACKAGE ...].

For the GUI, I have based on the code made to view the files and
folders (filesview), and added a subtab in the packet tab.
Following the Filesview scheme, I created the HistoryColumns class to
manage columns containing historical information, the HistoryTreeView
and HistoryView classes with which were implement to handle the
ListStore to view the data.
For now the details shown are few, but I hope to get the proper view
of the related changes (deps, suggested, etc). Besides working with
the cwidget/ncurses interface in future.

Screenshot: http://cristianporras.files.wordpress.com/2009/07/screen2.jpg?w=700&h=416

Apart from that, I was in Bogotá a few days doing the paperwork for
the visa, I get the answer the next Tuesday .

The outline for the DebConf could be something like this:

Deliverable 1: History Explorer/Viewer (What has been done so far and
what is missing)
Deliverable 2: Undo – Redo (What has been done so far and what is missing)

I hope we meet in Caceres.

Cristian Porras
Comunidad Universitaria de Software Libre, Cusol UIS

More information about the Aptitude-devel mailing list