LucidSoftwareCenterHistory

Differences between revisions 1 and 2
Revision 1 as of 2009-11-26 21:43:38
Size: 2200
Editor: p5B09ED5B
Comment:
Revision 2 as of 2009-11-26 21:45:11
Size: 2253
Editor: p5B09ED5B
Comment:
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
Upgrade: synaptic (0.5+svn20091028r30374-0ubuntu1~ucd2, 0.5+svn20091028r30374-0ubuntu1~ucd3) Upgrade: synaptic (0.5+svn20091028r30374-0ubuntu1~ucd2, 0.5+svn20091028r30374-0ubuntu1~ucd3), foo (1.0, 2.0)
Line 41: Line 41:
The parser needs to be robust against missing End-Data, Error or Result. Those may be missing because apt could not finish the transaction (power down etc). The Transaction-ID must also be written to the /var/log/apt/term.log so that the history feature can find the corresponding term.log section (for details/error inspections). The log should be rotated (monthly?). The parser needs to be robust against missing End-Data, Error or Result. Those may be missing because apt could not finish the transaction (power down etc). All version information is optional. The Transaction-ID must also be written to the /var/log/apt/term.log so that the history feature can find the corresponding term.log section (for details/error inspections). The log should be rotated (monthly?).

Summary

We currently have a bunch of logs but no good overview about the what packages got installed when. This should be changed by adding code to libapt that writes out a package-transactions logfile when it spawns dpkg. And by providing a UI for this in software-center (and possibly synaptic).

Release Note

SoftwareCenter shows a complete history of all package transactions now.

Rationale

To understand why certain packages got installed/removed its important to see why something changed. The history provides such a mechanism.

User stories

Joe installed a new game yesterday but can't remember the name. He looks into the history and figure based on that what the name of the game was.

Design

This spec needs to be split into two parts. The backend implementation in libapt that writes out a logfile to /var/log/apt/apt.log when apt-pkg/deb/dpkgpm.cc spawns dpkg. The backend should look like this:

Start-Date: 2009-11-26 08:46:45
Transaction-ID: aa3423daf342adfsdf323
Remove: chromium chromium-bsu
Upgrade: synaptic (0.5+svn20091028r30374-0ubuntu1~ucd2, 0.5+svn20091028r30374-0ubuntu1~ucd3), foo (1.0, 2.0)
Install: 2vcard (1.0)
Result: False
Error: Sub-process exit with status 1
End-Date: 2009-11-26 09:46:45

Start-Date: ...
...

The parser needs to be robust against missing End-Data, Error or Result. Those may be missing because apt could not finish the transaction (power down etc). All version information is optional. The Transaction-ID must also be written to the /var/log/apt/term.log so that the history feature can find the corresponding term.log section (for details/error inspections). The log should be rotated (monthly?).

A frontend in software-center is added that reads this logfile and shows it in a nice UI to the user.

Implementation

See work items of the blueprint.

UI Changes

The UI needs to be defined by the design team.


CategorySpec

FoundationsTeam/Specs/LucidSoftwareCenterHistory (last edited 2009-12-26 18:57:45 by c-4f668560-74736162)