State of the Aptitude (week 7)

ObeyArthurLiu's picture

New status update!
Here’s what Aptitude looks like:
aptitude-20080709-9
(more screenshots after the break)
I’ve been exploring how the APT libraries work and how to interact with the aptitude back-end and here’s what it can do now:

  • Update package lists
  • Display package lists
  • Basic package search
  • Mark packages for install/remove/purge/keep/hold
  • Display package actions for execution
  • Display conflicts
  • Display and navigate between package conflict solutions
  • Apply them
  • Execute package actions (ie. actually install stuff)

What’s missing:

  • A real user interface
  • Being reliable…
  • Packages dependencies, pre-dependencies, etc.
  • Hyperlinks between packages
  • Advanced package search
  • Tags support (tag clouds ?)
  • Linking with interesting data sources like popcon
  • A lot of interesting things

Basic functions of a package manager are already covered. We’re still at the APT API exploration phase although we’re almost done with it. I will soon start working on the final user interface and the real code design.
The current code is about 2000 lines of hastily hacked together C++ and XML. I’ll have to restart the coding with a more elaborate Object design. Something that will be easier to work with in the future.
The code is on http://dev.graffit.net/aptitude/trac. You can try to compile it and play with it. On the other hand I’m going to scrape most of the code soon for the restart so if you’re bored..
A walkthrough and more screenshots after the break.

Here’s a walkthrough of what you can do right now:
aptitude-20080709-2
aptitude-20080709-3
aptitude-20080709-4
aptitude-20080709-5
aptitude-20080709-6
aptitude-20080709-7
aptitude-20080709-7
aptitude-20080709-9

Organization: Debian Original: Source