[1/18/2009]
Version 0.5.1
One step at a time
New features:
[all] New match term:
?term-prefix(term). This is like?term, but it searches the Xapian database for any term which is an extension ofterm. For instance,?term-prefix(hour)matches any package that contains the terms
,hour
,hourglass
, etc.hourly[all] If the user asks for the changelog of a version of a package that's currently installed, aptitude will use the local copy instead of downloading a new copy off the network. If the local copy can't be used for some reason, aptitude will fall back to downloading a copy.
[all] Implemented resolver hints: you can now place options in
apt.confthat control how the aptitude resolver treats particular packages. For a full discussion see the user's manual, but here is a flavor:Aptitude::ProblemResolver::Hints { "reject pulseaudio"; // Prevent the "pulseaudio" // package from being installed // by the aptitude resolver. "approve ?name(emacs[0-9]*)"; // Always choose emacsNN over // any alternatives. "300 ?true /unstable"; // Give a 300-point bonus to // any version in the // "unstable" archive. };Currently these hints do not influence the choices made by the
immediate
dependency resolver (the one that runs as soon as you mark a package for installation).[gtk] aptitude now parses the dpkg status pipe, so it can show a progress bar while dpkg is running. Closing the terminal tab does not terminate the install; only destroying the progress bar does that.
[gtk] The search entry box's background will turn slightly red if the current text is not a valid search pattern.
[gtk] If the user enters an invalid search pattern into the search entry box, the error will be shown below the box (rather than being shoved onto the apt errors pane).
[gtk] aptitude prompts for confirmation before killing a download or a dpkg process. The download prompt might be superfluous, but considering the possible side-effects of killing off dpkg, that prompt will remain for the foreseeable future.
[gtk] aptitude will print a message to its embedded terminal before and after running dpkg.
img failed to resize: Exception 410: no images defined `Resize'
[gtk] A drop-down box of package filters is available under the text box where searches are entered. This lets you quickly filter a list of packages by some common criteria (showing only packages that aren't installed). This list should be configurable, but that feature is currently broken.
[gtk] The
automatically installed
flags of packages can be toggled from the Package menu or from buttons in the description pane.[gtk] Undo -> Undo works.
[gtk] When viewing a dependency solution, you can choose to see the actions in their
logical
order (equivalent to typing
in the curses front-end).o[gtk] In the version information tab (the one you get by double-clicking a package), selecting a different version in the list of versions causes information for that version to be shown instead.
[gtk] You can now change which columns are visible in a package list by selecting
View -> Edit Columns...
or by clicking the...
column heading.[gtk] New package list column:
automatically installed
.Each value in this column is displayed as a check-box, where the box is checked if the package is automatic. The check-box can't currently be clicked because I'm worried that people would click it by accident while trying to select a package. Most likely the rendering will be changed in the future to look less
clickable
.[gtk] New package list column:
archive
.
Crashes and serious errors:
Minor bugs:
[cmdline]
no longer crashes when the final argument is a virtual package.aptitude why-not[gtk] The
Download started
row in the Downloads page is no longer shown.[gtk] The dependency chains tab no longer misses some chains that
would show.aptitude why[gtk] Fix buffer problems due to
sprintfby using aptitude's safer variant of that function. (Closes: bug #511559)[gtk] When extracting just the part of a package's changelog that corresponds to versions that are newer than the currently installed version, truncate the changelog as soon as we see the version numbers go
backwards
-- that is, as soon as the previous version in the changelog isnewer
than the current version.This is important because some packages changed their version scheme over time. For instance,
g++-4.2lost its epoch in 2004 when the package name changed. But that doesn't mean that those earlier versions of the package should be displayed when we want to display the log for today's upgrade!
Cosmetic and UI bugs:
[all] The
--helpoutput now mentions--guiand--no-gui.[gtk] Many tweaks and improvements to the appearance of the UI; particular thanks to Luca Bruno for his patches. The program looks a lot
nicer
overall as a result of his work.[gtk] The RC style
tiny-button-style
is used for tab close buttons.[gtk] Use the
yes
icon (a green sphere) to indicate that a package is installed and OK. This is far more recognizable for me (dburrows) than the hard disk icon we were using before.[gtk] Not-yet-implemented menu options produce a
not implemented
message.[gtk] Some menu items are disabled if they don't apply to the
currently selected object
.[gtk] When the user performs an action on several packages at once, any packages they install will be marked as manually installed, and package states won't change to fulfill dependencies if those dependencies are already satisfied by the selected actions.
For instance, suppose that the user selects
A,B, andCfor installation.Adepends on
, andD | BBdepends onC. Previously aptitude might decide to installDto fulfillA's dependency, and would markCas automatically installed because ofB's dependency. Now, just the three selected packages will be installed, and they will all be marked as manually instsalled.
Documentation:
- [doc] Wrote a new section of the documentation describing the various dependency resolution mechanisms in aptitude. This includes the old section on resolving dependencies, but also describes the immediate resolver and how to configure the full resolver using resolver hints.
Internal changes:
[gtk] Redesigned the
dpkgterminal creation code to make it cleaner and more maintainable.[gtk] Redesigned the code for the buttons in the package description pane.
[gtk] Stopped using random bits of the glade file as templates for other GUI elements, in preparation for making each tab a separate top-level widget in the file.
Translation fixes:
Fix how
ngettextis used so that the plurals can be properly translated. (Closes: bug #505675)Slovak (Closes: bug #505676)












