[Aptitude-devel] Plans for aptitude 0.5.0 - 0.6.0.
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
> * 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.
More information about the Aptitude-devel