[Aptitude-devel] Plans for aptitude 0.5.0 - 0.6.0.

Daniel Burrows dburrows at debian.org
Wed Oct 29 16:29:50 UTC 2008


  I just pushed a big chunk of code to post-lenny; you might want to
update your trees:

 b/src/generic/util/refcounted_wrapper.h     |   52 ++++
 src/cmdline/cmdline_do_action.cc            |    5 
 src/cmdline/cmdline_upgrade.cc              |    5 
 src/cmdline/cmdline_util.cc                 |   15 +
 src/download_list.cc                        |   20 -
 src/download_list.h                         |   14 -
 src/download_thread.cc                      |  124 +++++------
 src/download_thread.h                       |   17 +
 src/generic/apt/download_install_manager.cc |   41 ++-
 src/generic/apt/download_install_manager.h  |   91 ++++----
 src/generic/apt/download_manager.h          |   33 ++-
 src/generic/apt/download_update_manager.cc  |   30 +-
 src/generic/apt/download_update_manager.h   |    7 
 src/generic/apt/pkg_changelog.cc            |   13 -
 src/gtk/changelog.cc                        |   20 -
 src/gtk/download.cc                         |  295 ++++++++++++++++------------
 src/gtk/download.h                          |   95 +++------
 src/gtk/dpkg_terminal.cc                    |   92 ++++----
 src/gtk/dpkg_terminal.h                     |   12 -
 src/gtk/gui.cc                              |  208 ++++++++-----------
 src/gtk/gui.h                               |   33 +++
 src/gtk/pkgview.cc                          |    7 
 src/gtk/progress.cc                         |   19 +
 src/gtk/progress.h                          |   30 +-
 src/main.cc                                 |    6 
 src/pkg_item.cc                             |    2 
 src/pkg_tree.cc                             |    2 
 src/pkg_ver_item.cc                         |    2 
 src/progress.cc                             |   33 ++-
 src/progress.h                              |   48 ++++
 src/ui.cc                                   |  106 +++++++---
 src/ui.h                                    |    9 
 src/ui_download_manager.cc                  |   66 ++----
 src/ui_download_manager.h                   |  174 +++++++++++++++-
 src/view_changelog.cc                       |   36 +++
 35 files changed, 1080 insertions(+), 682 deletions(-)

On Fri, Sep 05, 2008 at 08:15:48PM -0700, Daniel Burrows <dburrows at debian.org> was heard to say:
>   Major TODOs for 0.6.0:
> 
>     * Show dpkg interaction inside the program instead of in the
>       controlling terminal.
> 
>       + For 0.5.0: pop up dpkg in a new tab.  Estimated hack time: 4-8
>         hours; we just need to integrate support for libvte.

  That was a wildly optimistic estimate.  The main problem was that I had
to completely redesign the entire process of invoking dpkg, bottom to top,
in all frontends, in order to acheive this in a reasonable way.  I also,
along the way, fixed the GTK+ frontend to run its downloads in a
background thread.  The new code should be a lot more stable, plus it
runs dpkg in a tab!

  There's probably some work left on the design of this code; some bits
are ad hoc and a little hairy.  I don't have better ideas right now,
though, and it's better than a lot of the intermediate states that I
went through on the way to the final version.

>       + For 0.6.0: display a progress bar showing what dpkg is
>         up to in a notification bar, with a button to open the dpkg
>         output.  Estimated hack time: unknown, probably <8 hours.

  I left room in the new code to do this, but it's currently a stub (it
reads the dpkg status output and throws it away without parsing it).
Since that output is AFAIk undocumented, the tasks left here are: (a)
reverse-engineer it by reading the synaptic source code, (b) design a
reasonable generic wrapper for this stuff, (c) implement that wrapper,
and (d) hook the wrapper (probably via signals/slots) up to the main
program.  Should be a 4-8 hour job.

>       + For 0.5.0, if possible: write a UI to let the user build complex
>         queries.  Some sort of an "Edit..." button next to "Find" that
>         causes the editor to appear; the editor will change the search
>         that's being used and replace the text in the sesarch box.

  I think this should probably be deferred.

>     * Upgrade planner.
> 
>       + For 0.5.0, if possible: design and implement a tab that brings
>         together the tools that are useful in an upgrade: a list of
>         upgraded packages, a dependency resolver, and changelog viewing.
>         (what else / how to put them together?)

  I've set this aside for now, because I'm not sure how to do it;
instead, I just substituted an Upgrade button on the dashboard that
plans an upgrade and opens a preview tab.

>     * Dashboard.
> 
>       + For 0.5.0: The "dashboard" tab should contain some useful
>         content.  Either that, or we should just hide it.  Estimated
>         hack time: 1-2 hours.

  The dashboard has a search box, a list of upgradeable packages, and
the aforementioned button.  I also want to download and display the
changelogs for all the upgradeable packages (shouldn't be too
complicated).

>     * Package list.
> 
>       + For 0.5.0: there should be an easy way for users to display
>         more or fewer columns (for instance, right-clicking on row
>         headers?)  This of course means we'll have to generate more
>         columns. ;-)  Estimated hack time: 4 hours.

  I may postpone this to a future release, useful though it would be.

>     * Package information.
> 
>       + Already implemented: support for displaying changelogs.
> 
>       + For 0.5.0: changelog downloads should happen in the background.

  This works, except that I broke the part where we actually display
them.  It should just be a matter of a little debugging to track down
what's happening here.

  Daniel



More information about the Aptitude-devel mailing list