Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
[6/18/2010]
Version 0.6.3 "Sunlight, moonshadow"
This version of aptitude fixes some crashes that occurred when
exiting the program and overhauls how progress is displayed from the
command-line.
aptitude now requires google-test and google-mock; it will work with
newer versions of libept and older versions of boost; it no longer
requires log4cxx.
- New features:
* [cmdline] Modified the command-line progress counters so that
they're erased when they complete instead of leaving
cruft behind.
The old behavior and appearance can be recovered by
Aptitude::CmdLine::Progress::Retain-Completed and
Aptitude::CmdLine::Progress::Percent-On-Right to "true".
- Crashes and serious errors:
* [all] Ditching log4cxx will hopefully fix some of the crashes on
exit that people were seeing.
- Cosmetic and UI bugs:
* [cmdline, curses] Fixed the display of the archives associated
with a version so that duplicated archive names
are never displayed.
- Internal changes:
* [gtk] Started working on a redesign of the GTK+ interface, both
internal and external. The internal half involves
refactoring the code to better separate logic and
presentation and to improve testability and code reuse. The
external half adds the groundwork for a redesign of how the
UI is arranged at the top level.
This code is very incomplete and currently disabled by
default.
* [cmdline] The progress changes noted above included some
refactoring to make the command-line interface easier to
unit test. In particular, I created a terminal
abstraction that could be stubbed out for the purposes
of testing. Currently this is only used for the
progress code, but it's likely to become more widely
used as time goes on.
- Changes for build dependencies:
* [all] Stopped using log4cxx in favor of a homegrown module.
We're really only using it for debug output, so its most
powerful features aren't useful for aptitude. At the same
time, it appears to be behind some of the crashes on exit
that users have reported, and it's never really integrated
well into the program (the initialization process has always
been a hack). The new code is much better suited to
aptitude's requirements.
* [all] Added appropriate configure checks and conditionalization to
support building against either the current ept release or
the upcoming release. (Closes: #581009)
* [all] Write a proper configure check to detect the calling
convention used by boost::fusion::fold(); don't require
Boost 1.42 any more.
- Build system changes:
* [all] Added a build system based on scons. scons supports fully
parallel builds and variant builds without reconfiguration,
which should speed up the build process significantly on
multi-core machines.
* [all] Switch from automake 1.9 to automake 1.11.
[4/21/2010]
Version 0.6.2.1 "I didn't know it was a
real zebra!"
- Crashes and serious errors:
* Fixed a crash caused by being insufficiently careful about NULL
pointers in the resolver. (Closes: #578344)
* Boost 1.42 changed the order of arguments to fusion::fold(),
breaking aptitude. As an interim measure, I have modified
configure to require 1.42 or higher, and fixed the argument order.
The correct long-term fix here is to do a feature test to see
which order fold expects its arguments in.
- Backwards compatibility fixes:
* Restored the "conflict" safety level/tier.
* Fixed a bug that meant that the old configuration option names
(*-Tier instead of *-Level) could only be used to increase safety
levels, not to decrease them.
- Internal changes:
* Change the incremental_expression subsystem of the resolver to be
fully robust against NULL pointers and write unit tests for it.
* Reduced the number of explicit dependencies on log4cxx (using
indirection), in case I decide to resolve the random crashes it
causes by switching to some other framework or rolling my own.
[4/18/2010]
Version 0.6.2 "A costly proposition"
- New features:
+ [all] Resolver tiers are dead, long live resolver costs.
The resolver now supports a flexible system of multi-leveled
costs, in place of the fairly rigid tiers of previous
releases. The default behavior emulates how tiers worked,
but the resolver can also be configured with custom cost
vectors by setting Aptitude::ProblemResolver::SolutionCost
to something like this:
canceled-actions + 2*removals, ignored-recommends, installs
That says to minimize the number of packages kept at their
current version plus twice the number of removals (i.e., a
removal counts for two keeps). Within that group, ties are
broken by looking at the number of Recommends that were
ignored, and within that group, ties are broken by looking
at the number of new packages the resolver wants to install.
In addition to custom cost vectors, resolver hints can be
used to create completely custom costs.
See the reference manual for full details.
This is not optimized and I expect that pushing it to the
limits will show off all sorts of exponential explosions.
Have fun!
+ [cmdline] Implemented an "aptitude versions" command that I've
been kicking around for a while, to display and search
for individual package versions. Documented in the
manpage, but here are some highlights:
$ aptitude versions apt
i 0.7.25.3 unstable 500
p 0.7.26~exp3 experimental 1
$ aptitude versions '^apt$ ?installed'
Package apt
i 0.7.25.3 unstable 500
$ aptitude versions xserver-xorg udev
Package udev:
i 151-2 100
p 151-3 unstable 500
Package xserver-xorg:
i A 1:7.5+3 100
p A 1:7.5+5 unstable 500
$ aptitude versions --group-by=source-package '?name(aptitude)'
Source package aptitude:
i aptitude 0.6.1.5-2 100
p aptitude 0.6.1.5-3 unstable 500
i aptitude-dbg 0.6.1.5-2 100
p aptitude-dbg 0.6.1.5-3 unstable 500
i aptitude-doc-cs 0.6.1.5-2 100
p aptitude-doc-cs 0.6.1.5-3 unstable 500
(... many more lines of output snipped ...)
- Crashes and serious errors:
+ [cmdline] Don't crash if the user sets a rejection at the internal
command-line via package name and version rather than
using the new pick-by-numbers UI. (Closes: #567242)
+ [cmdline] Don't crash if the user asks to see information about a
removal.
+ [cmdline] Don't crash in "aptitude changelog" when the package
given on the command-line doesn't have a valid version
(Closes: #576318). Thinks to Dmitry Semyonov for the
patch.
- Cosmetic and UI bugs:
+ [curses] Don't leave a download progress bar hanging around after
downloading a changelog. (Closes: #566205)
- Internal changes:
+ [all] Replaced mktemp() with a custom function doing a similar
thing (albeit with slightly better randomness). This
eliminates the spurious linker warning I've been ignoring
for five years: the linker has no way to know that I only
use mktemp() to create names in a mode 0700 directory, which
is about the only way to use it safely.
[1/20/2010]
Version 0.6.1.5 "All around the dependency bush,
the monkey chased the weasel..."
- Crashes and serious errors:
+ [all] Changed the default resolver configuration so that removals
and "safe" actions are grouped together. Without this
change, aptitude was being too conservative and failing to
solve simple upgrades. (Closes: #565867)
The safe-upgrade resolver is unaffected by this change,
since it uses explicit constraints to prevent removals from
being installed.
- Cosmetic and UI bugs:
+ [test] Eliminated a spurious error message that was being printed
by the cppunit unit tests.
+ [curses] Fixed the progress display and error reporting for
changelog downloads.
- Documentation:
+ [doc] Added a note in the manpage explaining the principles of the
Linux command-line to hopefully forestall future bug reports
telling me that the manpage for "aptitude search"
contradicts the user manual. (Closes: #566003)
[1/17/2010]
Version 0.6.1.4 "You can't take the sky from me."
- New features:
+ [gtk] The status of each changelog download is now displayed in
the space where that changelog will appear.
+ [cmdline] When aptitude displays a resolver solution, it now
displays a number next to each entry in the solution.
This number can be used to manipulate the corresponding
entry (for instance, to reject it or to view information
about it). This makes it much more convenient to use
the command-line resolver interactively.
- Crashes and serious errors:
+ [all] Be paranoid about the sign of file offsets (on some
architectures they're apparently signed). (Closes: #557212)
+ [all] Fix various include and compilation errors revealed by the
new version of g++ being stricter. (Closes: #531687, #560517)
+ [all] Use pthread_sigmask() instead of sigprocmask() on startup to
avoid problems on architectures where sigprocmask() behaves
poorly in multi-threaded processes. (Closes: #559980)
+ [gtk] Fix a startup crash caused by not properly protecting the
call to Glib::thread_init(). (Closes: #555120)
- Cosmetic and UI bugs:
+ [cmdline] Document the flags that are shown after packages in the
preview.
+ [cmdline] Instead of showing broken packages in their own group,
show them in the group they would normally appear in but
with a "b" flag.
It was somewhat confusing that packages which were being
installed but had broken dependencies showed up in the
"broken" section instead of the "install" section.
Packages that are unchanged and have broken dependencies
won't show up in the preview any more, but they will
show up just below it, in the list of packages with
broken dependencies.
+ [all] Eliminate spurious error messages from log4cxx. (Closes: #557150)
- Internal changes:
+ [all] Download changelogs using the new internal download queue,
not the download_manager system. Fixes random crashes at
shutdown.
+ [gtk] Wrote the first draft of some harness code that will
underpin a redesign of the main window. Currently this is
unused.
[11/19/2009]
Version 0.6.1.3 "Too many cooks put lots of
beans in the soup."
- Build system fixes:
+ [doc] Fixed the Makefile for the Spanish translation of the
documentation so that it honors DESTDIR.
[11/19/2009]
Version 0.6.1.2 "I think I can, I think I can..."
- Crashes and serious erroors:
+ [all] Modified the new temporary file module so that it doesn't
rely on the order in which global destructors run. This was
causing an abort when the program exited if it was built
with optimizations.
- Internal changes:
+ [test] Wrote an additional unit test verifying that the program's
temporary directory is really deleted when it exits.
[11/19/2009]
Version 0.6.1.1 "Again with the bug-writing."
- Crashes and serious errors:
+ [test] Fixed the test code to actually compile against the new
temp API (major oops there).
+ [all] Fixed the temporary directory code to create directories in
$TMPDIR rather than ".".
[11/18/2009]
Version 0.6.1 "Instant toll logging."
- New features:
+ [gtk] Support for automatically downloading screenshots from
screenshot.debian.net. Eventually the screenshots will
probably show up in a few more places, such as the update
preview and package lists (but this will require careful
coding to only download screenshots that are visible).
- Internal changes:
+ [all] aptitude now has a generic global download queue. This is
actually implemented with the apt download queue object, but
it runs all downloads in the background, integrates with
aptitude's download cache, and provides support for getting
status information on individual downloads and canceling
them.
This new queue is used to implement screenshot support.
+ [all] Overhauled how temporary files are created. aptitude will
now create only one entry in $TMPDIR, and it will make a
stronger effort to delete all its temporary directories when
it exits normally. Abnormal exits (i.e., signals) will
still leave cruft behind, but at least it's only one file
and not dozens per run.
- Crashes and serious errors:
+ [all] Don't support trying to block the foreground thread while
dependencies are solved; doing so is very deadlock-prone and
was causing deadlocks in practice.
+ [all] Fix several places where the "why" code dereferenced version
iterators without checking whether they were valid, causing
a crash. (Closes: #546446)
+ [gtk] Fix several crashes in the resolver tab caused by trying to
generate tooltips using invalid version objects.
+ [gtk] Properly disconnect signals from the background thread in
the dashboard tab, instead of occasionally crashing when one
is delivered after they should have been disconnected.
+ [gtk] Fix a potential deadlock that could have occurred if the
main thread posted lots of thunks to itself.
- Minor bugs:
+ [all] The resolver will now ignore recommendations that are
already unresolved on the system, rather than trying to fix
them every time any dependency needs to be solved.
(Closes: #556042)
+ [curses] Fix becoming root with the "su" protocol. (Closes: #552471)
- Cosmetic and UI bugs:
+ [all] Correct how we decide when the resolver is out of solutions.
+ [all] Work around a spurious error message generated by apt.
(Closes: #526661)
+ [cmdline] The message that no packages are being installed,
removed or upgraded is more accurate now.
+ [cmdline] Another preview is shown after the resolver runs even if
-y was passed on the command-line.
+ [cmdline] Exit without prompting if the user tells the dependency
solver to cancel all of their changes. (Closes: #556866)
+ [gtk] Fix a typo in one of the resolver tab's tooltips.
+ [gtk] Fix the resolver tab to only show a new solution when the
user explicitly asked for one.
[10/25/2009]
Version 0.6.0.1 "Who's laughing now?"
- Build system fixes:
+ [all] Actually distribute the auxiliary data for the unit tests.
Hopefully this means that the unit tests can actually pass
in the distributed tarfile.
[10/25/2009]
Version 0.6.0 "Stick a fork in it,
it's done."
- Internal changes:
+ [all] The file cache now supports storing the last modification
time of cached files. Currently this isn't used (changelogs
are assumed to be up-to-date anyway), but future code will
need this.
+ [gtk] Factored out the common parts of the background threads that
handle changelog downloading into a generic utility class.
- Minor bugs:
+ [all] Load the download cache in apt_init() instead of
apt_preinit(). Avoids complaints from log4cxx if there are
errors, and also ensures that we have a download cache even
if the apt cache was closed and reopened.
+ [all] Add some missing #includes that showed up when NLS wasn't
enabled.
- Build system fixes:
+ [all] Don't include files in POTFILES.in that aren't distributed.
Hopefully this will prevent the unnecessary junk that was
getting into the Debian diff.
[10/12/2009]
Version 0.5.9rc4 "Trust me, you don't want
to know about the spork."
- New features:
+ [all] The test to see whether a changelog is in aptitude's
download cache now takes place in a background thread.
+ [gtk] When generating the upgrade summary, aptitude caches a
parsed version of the portion of each changelog that's
displayed. This makes the changelogs show up much faster
and with a lot less system load.
+ [gtk] The second tab in the upgrade view now displays information
about the currently selected package, rather than its full
changelog.
+ [gtk] "aptitude --version" prints the versions of GTK+ and GTK--
that it was compiled against.
- Crashes and serious errors:
+ [all] Fix how the background dependency solver thread communicates
with the foreground thread to eliminate at least one
deadlock.
- Cosmetic and UI bugs:
+ [curses] Don't print a spurious warning if we get --no-gui when
the GTK+ frontend was compiled out. (Closes: #550727)
- Build system fixes:
+ [gtk] Make "./configure --enable-gtk" enable GTK+ instead of
disabling it.
[10/8/2009]
Version 0.5.9rc3 "The stars, like little
starry things..."
- New features:
+ [cmdline] Package versions can be chosen by codename as well as by
archive. (Closes: #547707)
+ [all] Not exactly a new feature, but reverted from
dpkg-parsechangelog to parsechangelog: both of them require
extra dependencies, and parsechangelog is faster. (Closes:
#546280)
- Crashes and serious errors:
+ [all] Don't crash if the Xapian database fails to load. (Closes:
#512998)
+ [all] Recognize --no-gui even in non-GUI builds, so switching to
root can just always pass it. (Closes: #546406)
+ [all] Don't discard errors after dpkg fails. (Closes: #548879,
#548889)
+ [gtk] Don't crash when displaying the file list of a package
that's not installed.
- Cosmetic and UI bugs:
+ [curses] Block SIGWINCH by default so that cwidget can sigwait()
on it. (Closes: #547212)
+ [cmdline] Mention build-dep in "aptitude help". (Closes: #547151)
+ [cmdline] Consistently use a full-stop at the end of "--help"
lines.
+ [cmdline] Fix an incorrect message that stated that a package was
not installable, rather than that it was not going to be
installed.
+ [cmdline] Make --arch-only do what it should instead of the
opposite. (Closes: #547266)
+ [gtk] Make the "hold" command hold packages instead of deleting
them. (Closes: #549897)
+ [gtk] Use a single thread for all changelog downloads, to avoid
spawning as many instances of parsechangelog as there are
changelogs.
I really should move the extraction of changelogs from the
cache to a background thread as well; it takes ages to
extract every last changelog if there are a lot, and I
should be able to start parsing them as soon as the first
one is extracted.
- Documentation:
+ [doc] Mention Get-Root-Command in the section on "becoming
root". (Closes: #548657)
+ [doc] Correct the default value of Get-Root-Command to match the
code. (Closes: #550057)
- Translation updates:
+ Danish (Closes: #546497)
+ French
+ Portuguese (Closes: #522445)
+ Russian (Closes: #535806)
+ Spanish
[9/9/2009]
Version 0.5.9rc2 "Over five served."
- Crashes and serious errors:
+ [all] Fix a bug in the logic to filter package actions so that
only actions initiated by apt's greedy resolver are
affected, rather than all actions.
[9/8/2009]
Version 0.5.9rc1 "The only way to win
is not to play."
First release candidate for 0.6.0. Due to the length of time it's
taken me to prepare this and to the new Debian release cycle, I'm
releasing 0.6.0 before the GTK+ interface is really complete; it's
still in an experimental state. However, several of the other changes
in this release should really be rolled into the mainline before the
Debian release (particularly the improvements and optimizations to the
dependency solver).
This version disables the full-text Xapian search by default, although
it can still be accessed via ?term().
Version 0.5.9rc1
- New features:
+ [all] Internal file cache for auxiliary downloads, based on the
binary file engine SQLite and the Boost zlib wrapper. This
will substantially speed up the GTK+ interface's startup
time when it's just downloading the same thirty changelogs
it was showing before, and will be even more helpful once
aptitude can show screenshots. Hopefully it will also
reduce the load on the Debian network infrastructure.
+ [all] aptitude now uses the new hooks in apt to prevent the greedy
resolver from removing packages or breaking holds.
(Closes: #177374, #205049, #374353, #376802, #406506,
#430816, #434731, #442420, #452589)
+ [all] aptitude now uses dpkg-parsechangelog to parse changelogs
instead of parsechangelog, courtesy of Frank Lichtenheld's
patch in 2007. This means that it no longer requires
libparse-debianchangelog-perl to show changelogs.
+ [all] "aptitude update" now honors the configuration options
APT::Get::List-Cleanup and APT::List-Cleanup.
(Closes: #448958)
+ [cmdline] "aptitude safe-upgrade" now supports listing extra
actions on the command-line, just like "install",
"remove", etc. If any actions are listed, then only the
given actions are performed (the blanket upgrade is
skipped). Packages with no qualifications give a list
of the packages that should be upgraded; if they aren't
installed or aren't upgradable, they're ignored.
+ [curses] The commands to clean the package cache and to delete
obsolete files now support automatically becoming
root. (Closes: #492832)
- Crashes and serious errors:
+ [all] Fix some crashes that occurred when viewing dependency solutions.
+ [all] Make "aptitude update" correctly clean up the list
download directories. (Closes: #507603)
+ [all] Disable Xapian full-text search by default; it's still
available via the ?term pattern. Feedback on this "feature"
was uniformly negative; it seems to be flaky and not very
useful. Maybe it would be useful with more work, but it
won't be ready for Squeeze. (Closes: #527540, #538198,
#514625)
+ [cmdline] Fix a bug that caused lots of extra "unresolved
recommendations" to be displayed in dependency
solutions.
+ [curses] Fix a crash on exit that was caused by having dangling
boost::flyweight objects when the global destructor was
invoked (arguably this is a bug in Boost; we might want
to consider moving away from flyweights for this reason).
+ [curses] The auto-su-to-root code now passes --no-gui, so it
should actually work again (rather than popping up a
graphical UI).
- Cosmetic and UI bugs:
+ [all] Fix some corner cases in the serialization of search
patterns, such as the new "enhances" dependency type.
+ [curses] Hopefully fix pattern-based grouping in the curses UI.
+ [curses] Add descriptions of the new ftp sections to the default
sections file (thanks to Miroslav Kure).
+ [gtk] Make more of the UI translatable (thanks to Miroslav Kure).
+ [gtk] Don't attempt to translate the empty string when displaying
the state of a package that's unchanged.
- Documentation:
+ [doc] Document that full-upgrade and safe-upgrade take extra
actions on the command-line. (Closes: #268696)
+ [doc] Document that the "standard" apt options should be used
instead of Keep-Suggests and Keep-Recommends.
(Closes: #540230)
- Translation updates:
+ Czech (Closes: #545144)
+ French
+ Spanish
[7/21/2009]
Version 0.5.3.1 "Sky without end"
- Build system fixes:
+ Fixed the Spanish documentation Makefile to use DESTDIR.
- Translation updates:
+ Slovak (Closes: #521052)
[7/20/2009]
Version 0.5.3 "The Aardvark Contingency"
This version of aptitude now requires GTK+ 2.16 or greater and GTK--
2.16 or greater.
- Crashes and serious errors:
+ [gtk] Don't crash when displaying a solution that cancels the
installation of a package. (Closes: #525898)
- Internal changes:
+ [all] Rewrote the resolver code to trade memory for time. Large
dependency problems should be processed in about 20% of the
time that previous versions took.
- Cosmetic and UI bugs:
+ [gtk] Some redesigns to the GTK+ UI (Thanks to Arthur Liu).
+ [gtk] Display package short descriptions in the resolver tab.
+ [gtk] Display the search progress bar behind the text of the
search term (requires GTK+ 2.16 or greater).
- Translation updates:
+ Asturian (Closes: #521558)
+ Finnish (Closes: #531582)
+ Spanish: added translation of the user's manual.
[4/26/2009]
Version 0.5.2.1 "Albatross!"
- Crashes and serious errors:
+ Don't crash when tabs are closed from the menu or using Ctrl-W.
- Internal changes:
+ [gtk] Always use trampolines (via the main loop's idle handler) to
delete tabs, to hopefully avoid bad interactions when a tab
is closed as a side effect of some other action.
- Cosmetic and UI bugs:
+ [gtk] Eliminated some warnings that were caused by modifying a
tree model while iterating over its selection list.
+ [curses] Work around some buggy terminals so that the progress bar
doesn't get truncated or corrupted. (Closes: #455220)
+ [cmdline] Change the "last-package" summary mode to
"first-package". aptitude prints the package that's
selected by this option at the beginning of a chain, so
it seems counterintuitive to me to call it the "last"
package.
+ [cmdline] Renamed the configuration option
"Aptitude::Why-Display-Mode" to
"Aptitude::Show-Summary", to match the command-line flag
that it corresponds to (--show-summary).
+ [cmdline] Removed a stray space in the output of "aptitude why".
- Documentation:
+ [doc] Document --show-summary and Aptitude::CmdLine::Show-Summary.
+ [doc] Use rsvg instead of Inkscape to convert svg diagrams to png
files for the time being. Also cropped rsvg to the drawing
boundaries.
+ [doc] Add search-tier-diagram.svg to the distributed .tar.gz file.
- Translation updates:
+ French
[4/22/2009]
Version 0.5.2 "Ramparts of the Dawn"
This release merges in the work that was done on the lenny branch of
the program but not the post-lenny one (mostly translation work).
KNOWN BUGS:
+ Ctrl-W should close a tab, but instead it crashes the program. Do
not press Ctrl-W and you will be happier.
+ When you reject or accept a resolver choice, the corresponding row
in the solution might not update to reflect your change. If you
switch to another solution and back, it will update correctly.
- New features:
+ [all] aptitude now uses liblog4cxx to provide diagnostic logging
of much of the program.
+ [all] The aptitude dependency solver now supports a "tiered
search". Hopefully this will make dependency resolution
more predictable and allow more meaningful configuration.
In particular, removals are not attempted until all
solutions involving only keeps, installs and upgrades are
exhausted, and solutions involving versions that aren't the
default candidate are deferred until removals are exhausted.
See the user's manual for details.
Closes: #514820, #514930, #524221, #473296
+ [gtk] The resolver tab has been completely overhauled. It now
supports all the features of the backend dependency solver,
and it has an interface that is much more suitable for a
GTK+ program.
+ [gtk] The dpkg tab now attempts to detect when something is
waiting for input, by keeping track of how long it's been
since dpkg sent a status message. When input is available,
the "view details" button is flashed to hopefully get the
user's attention.
+ [gtk] The procedure for upgrading has been streamlined. aptitude
computes an upgrade in the background automatically using
the same algorithm that backs "safe-upgrade". The user can
either accept the solution or try to fix the remaining
dependencies manually.
+ [cmdline] Added a new command-line option, "--show-summary", to
the "why" command-line action. This option causes
aptitude to show a brief list of the first package in
each dependency chain that would have been displayed.
So combined with the "-v" option, you can easily get a
list of all the manually installed packages that require
a given package.
+ [gtk] When the user clicks on a package in the dashboard's list of
upgrades, the changelog display automatically scrolls to
that package.
+ [gtk] Some common notifications are now marked with the icon of
the task they're performing.
+ [gtk] Initial support for incremental search (currently you have
to click the "incremental" toggle button to enable it).
+ [gtk] Ctrl-PageDown and Ctrl-PageUp, or F7 and F6, now switch to
the next or previous tab, respectively.
+ [gtk] A link now exists below the package description to open all
the other packages from the same source package.
+ [all] The aptitude dependency resolver now continues searching for
a few steps after it finds a solution, in the hope that it
can find a better one. (Closes: #482825)
+ [all] The aptitude dependency resolver now adds a bonus to the
default apt resolution for a dependency (that is, the first
non-virtual package listed). The default bonus is 400 and
it may be configured via
Aptitude::ProblemResolver::DefaultResolutionScore.
+ [all] Setting the environment variable APT_ROOTDIR to a directory
name will cause aptitude to use the given directory as the
root for the purpose of locating apt files.
- Crashes and serious errors:
+ [gtk] Don't crash in the dependency chains tab. (Closes: #514714)
+ [gtk] Don't crash when the user views the information tab of a
virtual package.
+ [all] Fixed some serious inefficiencies in the algorithm used by
safe-upgrade. It's still a bit slow on very large upgrades,
but not as ridiculously slow as it was before.
+ [all] Fixed a bad interaction between the dependency solver and
reinstatement of unused packages, which could cause a
situation where a "solution" from the solver would actually
lead to broken dependencies, due to a conflict declared on
the newly reinstated package. (Closes: #522881, #524667)
- Cosmetic and UI bugs:
+ [gtk] Changelogs are now downloaded and parsed in the background.
aptitude still sets the download up in the foreground, and
this can take a long time if there are lots of available
upgrades.
+ [gtk] A background thread is used to find the packages that match
a search pattern and to build the list of matching packages
for display.
+ [gtk] Some work on the download screen, although more is needed.
+ [curses] Don't warn the user about removing an Essential package
if they're just purging the configuration files of one
they removed already. (Closes: #513472)
+ [curses] Don't compute an excessive amount of "why" information
every time a package is selected. Should make the curses
interface much less sluggish. (Closes: #516296)
+ [cmdline] Add a missing newline in the error message that
"aptitude why" prints if it has no arguments.
(Closes: #514676)
+ [cmdline] Fix some badly formatted messages that are displayed
when a build dependency can't be installed: they were
missing punctuation and newlines. (Closes: #492615)
+ [cmdline] Make the warning asking the user to use safe-upgrade
instead of upgrade a bit clearer.
+ [cmdline] Always display [held] next to the state of held
packages.
+ [cmdline] Pre-compute the column sizes needed to display "why", so
that columns don't wrap in Stupid Places[tm].
(Closes: #516389)
- Minor bugs:
+ [all] The dependency resolver's scoring of full package
replacement was not behaving as intended in the corner case
that the package was replaced due to a virtual package it
provided, and some other version of the replaced package
didn't provide that virtual package. The intent was to give
the non-providing package a bonus, but instead the versions
that got replaced were getting a bonus (more or less
negating the whole point of the full replacement score).
+ [all] The resolver should now more correctly obey approval
constraints set by the user (solutions that were previously
rejected and aren't rejected any more can be returned).
- Internal changes:
+ [all] The dependency resolver now supports "hypothetical
reasoning": it can calculate a solution to a dependency
problem from a starting state that isn't the "live" state of
the package cache. This is used, for instance, to compute
an upgrade before any packages are marked for upgrade.
+ [all] Implemented support in the dependency resolver for
propagating knowledge about dead-ends up the search tree.
Currently disabled as it turned out to greatly increase the
memory and CPU overhead of a search without significantly
decreasing the number of steps needed.
+ [all] The dependency resolver now stores solutions as sets of
"choices" rather than explicitly maintaining several lists
for the different types of choices a solution can contain
(for instance, installing a version vs leaving a Recommends
unresolved). This makes things a bit cleaner and should
make it easier to add new types of choices if that turns out
to be useful.
+ [gtk] The Glade file now stores each tab as a separate top-level
widget, which makes it a lot easier to edit and add tabs.
- Documentation:
+ [doc] Improve the documentation of --purge-unused.
+ [doc] Improved documentation of the resolver (in addition to
documenting the new features).
- Translation updates:
+ Asturian (Closes: #518981, #519693)
+ Danish (Closes: #512384)
+ German
+ Italian
+ Norwegian Bokmål (Closes: #510977)
+ Spanish (Closes: #517272)
+ Swedish (Closes: #511238, #514011)
[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 of ?term. For instance, ?term-prefix(hour)
matches any package that contains the terms "hour",
"hourglass", "hourly", etc.
+ [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.conf that 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.
+ [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).
+ [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
"o" in the curses front-end).
+ [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:
+ [gtk] Fix several crashes, including one at start-up, that were
caused by some unusual package states.
- Minor bugs:
+ [cmdline] "aptitude why-not" no longer crashes when the final
argument is a virtual package.
+ [gtk] The "Download started" row in the Downloads page is no
longer shown.
+ [gtk] The dependency chains tab no longer misses some chains that
"aptitude why" would show.
+ [gtk] Fix buffer problems due to sprintf by using aptitude's safer
variant of that function. (Closes: #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 is "newer" than the
current version.
This is important because some packages changed their
version scheme over time. For instance, g++-4.2 lost 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 --help output now mentions --gui and --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, and C for
installation. A depends on "D | B", and B depends on C.
Previously aptitude might decide to install D to fulfill A's
dependency, and would mark C as automatically installed
because of B'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 dpkg terminal 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 ngettext is used so that the plurals can be properly
translated. (Closes: #505675)
+ Slovak (Closes: #505676)
[11/10/2008]
Version 0.5.0 "Wheee!"
This version introduces the GTK+ frontend. Thanks are due to Obey
Arthur Liu for providing code, ideas and energy to the project, and to
Google for funding his work through their Summer of Code program in
2008.
This is an EXPERIMENTAL, DEVELOPMENT release. It can be used for
package management, but there may be bugs, there are probably places
that need improvement, and it is certainly incomplete.
- New features:
+ Integrated the GTK+ frontend written by Obey Arthur Liu for the
2008 Google Summer of Code. To manually suppress the GUI, run
"aptitude --no-gui" or set the option "Aptitude::Start-Gui" to
false.
+ Added Xapian support. Unadorned strings in search patterns now
search the apt Xapian database built by Enrico Zini. There is
also a new search term ?term that does the same thing.
+ Added the command-line option "--show-resolver-actions" to display
why aptitude made the decisions it did in "aptitude safe-upgrade".
- Known Regressions:
+ Incremental searching in the curses frontend is made much less
useful by introducing Xapian. It still works, but because Xapian
searches don't find substrings, the search will fail to match
anything until you finish typing the entire search string.
+ Documentation for the GTK+ frontend has not yet been written.
[11/19/2008]
Version 0.4.11.11 "And the moon be still as bright"
This is purely a translation release for Debian lenny.
- Translation fixes:
+ Catalan (Closes: #499464)
+ German (Closes: #500444)
+ Greek (Closes: #498583)
+ Italian
+ Romanian (Closes: #502413)
+ Slovak (Closes: #498910)
+ Spanish (Closes: #501096, #502695, #502696, #502697)
+ Traditional Chinese
[9/5/2008]
Version 0.4.11.10 "Upon the empty winds of time"
- Bug fixes:
+ Serious bugs:
* Never, ever remove an Essential package from the curses UI
without asking the user first. I chose a very simple
implementation for this patch because of the pending release of
lenny, and so users who are removing Essential packages will get
prompted twice. But I feel this is better than occasionally not
prompting at all; it will be cleanup up later, once lenny is
out.
+ Minor bugs:
* Fix displaying the section descriptions in non-UTF-8 locales.
(Closes: #483464)
* Add the ?task search term, which was documented in some areas
but not others, and wasn't actually implemented due to an
oversight.
- Documentation bugs:
+ A whole pile of minor improvements suggested by "jidanni".
(Closes: #497374, #497340, #496726, #471347, #496719, #496729,
#496732, #497333, #497336, #497726, #497969)
+ Give the right name for the preview limit configuration option:
it's Aptitude::UI::Preview-Limit, not Aptitude::Preview-Limit.
+ Generate the HTML documentation in a UTF-8 encoding.
- Translation fixes:
+ Brazilian Portuguese (Closes: #496613)
+ Czech (Closes: #497287)
+ Dutch (Closes: #497965)
+ Kurdish
+ Japanese (Closes: #494816)
+ Lithuanian (Closes: #496504)
+ Norwegian Bokmål
+ Simplified Chinese (Closes: #497550)
+ Ukranian
[8/3/2008]
Version 0.4.11.9 "This message brought to you
courtesy of the Friends of
Poland society."
- Bug fixes:
+ Minor bugs:
* Don't annoy every Polish user with a warning about a badly
formed string in the aptitude-defaults configuration file. Also
added some documentation for translators telling them about the
pitfall that led to this bug happening. (Closes: #483459)
* Fix some case fallthroughs that would cause the wrong
information to appear in the "archive" (%t) column for virtual
packages.
* Correctly handle install-and-mark-auto commands that are
targeted at a particular version, like "install foo/testing+M".
Previously aptitude would completely ignore the archive in this
case.
- Translation fixes:
+ German
+ Slovak
+ Swedish (Closes: #490782, #490818)
[7/4/2008]
Version 0.4.11.8 "Happy Fireworks Day."
- Bug fixes:
+ Minor bugs:
* Fix a long-standing and annoying bug that would cause aptitude
to sometimes delete package lists if downloading new copies
failed. (Closes: #201842, #479620)
[6/28/2008]
Version 0.4.11.7 "Yes I can"
- Internal changes:
* Fix several compilation errors on exotic architectures.
(Closes: #488132)
- Translation updates:
* Basque
* Portuguese (Closes: #482094)
* Thai
[6/21/2008]
Version 0.4.11.6 "Take two"
- Internal changes:
* Fixed several places where the code was a bit sloppy in ways that
were harmless at the moment but were turned up by -Wall -Werror.
[6/21/2008]
Version 0.4.11.5 "A tisket, a tasket"
- Bug fixes:
+ Crashes and serious errors:
* aptitude will no longer suggest removing Essential packages to
fulfill dependencies unless you explicitly allow it to. Also,
removing apt (if it is allowed) will be scored as if apt were an
Essential package, meaning that it should show up last in any
list of solutions. (Closes: #486748)
+ Minor bugs:
* "aptitude add-user-tag" and "aptitude remove-user-tag" will
return 0 instead of a random value when they succeed.
+ Translation updates:
* Dutch (Closes: #486858)
* Romanian (Closes: #486934)
- Internal changes:
* Consistently build with -Wall -Werror (it wasn't being used in all
subdirectories of the code).
* Clean up various minor and potential bugs turned up by increasing
the warning level.
[6/7/2008]
Version 0.4.11.4 "Turn down the suck."
- New features:
* "aptitude download" now properly handles both patterns and things
like version specifiers that contain a tilde.
* New option "--disable-columns" to "search" that prevents aptitude
from trying to reformat its output into columns. This should be
useful for people trying to call aptitude from scripts.
(Closes: #136874)
- Crashes and serious errors:
* Fix a problem with assigning scores in the dependency resolver
that severely distorted the relative weights of packages. If a
package conflicted with a virtual package that it also provided
and replaced, aptitude would randomly score some of its versions
as if they were full replacements of the current version. This
could lead to surprising and wrong resolver outputs.
(Closes: #483920)
- Documentation bugs:
* Fix some broken internal links.
* The manpage formatting of elements is correct now.
They're bolded, and literal file extensions don't get
misinterpreted as groff escapes. (Closes: #473580)
- Translation updates:
* Install defaults files for locales that contain an underscore,
like pt_BR. (Closes: #483620)
* Russian. (Closes: #483943)
[5/26/2008]
Version 0.4.11.3 "Not looking back."
- Crashes and serious errors:
* "unhold" should work now. (Closes: #477165)
* Fixed viewing changelogs at the command-line, which was almost
totally broken in recent releases. (Closes: #481458)
* Fix getting the changelogs of bin-nmued packages from the curses
interface. (Closes: #333468) For some reason when this was fixed
for the command-line mode, the equivalent change didn't make it
into the curses codebase.
* Don't die with an assertion error when --show-why is used in the
presence of impure virtual packages.
- Cosmetic and UI bugs:
* Always be at least as quiet as the user requested; when aptitude
automatically enabled quietness if its output wasn't a TTY, it
could actually become less quiet than otherwise! (Closes: #476749)
* If the user asks for the justification of a manually installed
package, try to find a nontrivial answer (some other package that
requires it) instead of just telling them that it's already
installed. (Closes: #477038)
* Remove an incorrect hyphen in the output of --help. (Closes: #476835)
* When the resolver is run several times in a row without user
interaction (for instance, in "safe-upgrade"), only print
"Resolving dependencies..." once.
* When listing the complete chains of dependencies that are holding
a package on the system, show "A provided by B" as "A <-P B", not
"AP<- B". (i.e., add a space after "A")
- Build system fixes:
* VPATH should be supported better in doc/.
* Most files will generate Doxygen output now (they were missing
\file tags).
- Documentation bugs:
* Clarify how aptitude's search language behaves in some syntactic
corner cases, like "~nname?installed": the "?" is part of the
string parameter to the first matcher, not the start of a new
match term "?installed".
* Change the documentation of "aptitude why": it shows why packages
should be installed, not why they can be installed, and be clearer
about what happens when "why" is called with a single argument.
* Fix the manpage to talk about Recommends-Important instead of
Install-Recommends. (Closes: #480533)
- Translation updates:
* Brazilian Portuguese (Closes: #481007)
* Danish (Closes: #476732)
* French
* Galician (Closes: #476837)
* German (Closes: #476344)
* Japanese
* Norwegian Bokmal (Closes: #480063)
* Polish (Closes: #480062)
* Simplified Chinese (Closes: #475740)
* Vietnamese (Closes: #477295)
[4/9/2008]
Version 0.4.11.2 "How far the sky,
how cold the night,
how still the flowing river.
How sharp the air --
so pure the light --
beneath Orion's quiver.
Beneath the frozen, staring,
starry sky we lay a-shiver."
- New features:
* The information area can display tabs for the alternative views it
supports. This is off by default because I found that it was too
intrusive (mainly because it appears between the short and the
long description of a package). If cwidget gets the ability to
put tabs at the bottom of multiplex widgets, I might change this.
- Documentation bugs:
* Fix several XML errors in the manpage source (Closes: #473722)
- Bug fixes:
+ Crashes and serious errors:
* Make the safe resolver not explode exponentially when new
Recommendations are present.
The root cause here was that the "mandate" mechanism the safe
resolver uses to ensure that it progresses monotonically towards
a solution doesn't work in the presence of Recommends, so the
resolver ended up exploring the entire space of possible
resolutions to packages' Recommendations. (Closes: #474680)
* Don't crash if a package's Section is empty. (Closes: #474115)
+ Cosmetic and UI bugs:
* The "why installed" information display in the package list will
now display an informative message when no package is selected,
the same way that the "related dependencies" display does.
* The "why installed" information display should work better for
newly installed packages now.
* "aptitude --version" prints more information about the libraries
it was compiled against.
* "Help -> About" prints a correct copyright date now.
* The status indicator has been rewritten so that it no longer
needs numeric conjugation (meaning it won't say "there are 1
update"). (Closes: #486186 and friends)
* "why" and "why-not" now appear in the list of commands in
"aptitude --help". (Closes: #454088)
+ Minor bugs:
* Use a 'latch' configuration option to migrate from
Recommends-Important, instead of just clobbering the old
option. (Closes: #473872)
* Treat packages that were removed but whose configuration files
remain on the system as if they're not installed in the output
of --show-why.
This fixes some cases where --show-why would hide the reasons
for some installations.
- Translation updates:
* Galician (Closes: #474672)
* Vietnamese (Closes: #473719)
[3/30/2008]
Version 0.4.11.1 "No, no, fool, I said bring
me the FLUFFY Bunny
Slippers of EXTREME
Dismemberment, not the
EXTREME Bunny Slippers
of FLUFFY dismemberment!
Does an evil overlord have
to do everything himself
around here?"
- New features:
* The command-line argument --show-why will cause all installation
and removal commands to display a brief summary of the
dependencies related to an installation or removal. For instance:
The following NEW packages will be installed:
libboost-iostreams1.34.1{a} (for wesnoth) wesnoth
wesnoth-data{a} (for wesnoth) wesnoth-music{a} (for wesnoth)
Note that wesnoth-music is a dependency of wesnoth-data, not
wesnoth. --show-why displays the manually installed package
behind each automatic installation. If -v is passed on the
command-line, it displays the entire chain of dependencies leading
to each manual package.
--show-why also handles upgrades:
The following packages will be upgraded:
klibc-utils libklibc (for klibc-utils)
--show-why is limited to the capabilities of the logic behind
"aptitude why". Although libklibc might be the package that was
originally marked for upgrade, --show-why has no knowledge of this
fact: it just knows that klibc-utils requires libklibc.
* In the ncurses interface, added a menu entry to cycle the display
in the lower pane (equivalent to pressing "i" but more
discoverable).
* The ncurses interface now displays the number of packages in a
tree next to the tree header, and in the information area when the
header is highlighted.
* The header for the list of versions in the ncurses interface now
reads "Versions of " instead of just "Versions".
* A new extract-cache-subset command that will create a reduced copy
of the package cache, removing all but a given list of packages
and all references to packages not in the list. It's intended
for, e.g., generating test cases for package managers.
- Bug fixes:
+ Crashes and serious errors:
* Handle exceptions thrown by the Debtags constructor (e.g., when
debtags has been purged and there are no data files) instead of
just crashing. (Closes: #472695)
* Eliminate a case where we would access uninitialized memory
while starting up, found thanks to valgrind.
+ Cosmetic and UI bugs:
* Correct the documentation within the on-line help of how to
leave the on-line help (it was never updated when the help went
from being a dialog to being a top-level view).
* Correctly save changes to string configuration options.
(Closes: #471315)
* Don't print an error on startup when debtags isn't
installed. (Closes: #472678)
* Use less technical language when "why" fails to find a
derivation for "A transitively requires B".
* Eliminated some cases where description signals for tree
headings weren't being connected. These weren't noticable in
the past because in most cases, the heading had no description
anyway.
- Translation updates:
* The aptitude-defaults.* files are now installed to
/usr/share/aptitude. (Closes: #472625)
* Simplified Chinese (Closes: #458162, #473363).
* Vietnamese (Closes: #473229)
[3/15/2008]
Version 0.4.11 "When you're tired of
being beat with a stick,
you're tired of Debian."
- New features:
* Search terms can be named with words instead of single-character
flags. Each new-style search expression starts with a question
mark ("?"), followed by the name of the matcher; for instance,
"?obsolete" is equivalent to the old-style expression "~o". At
the command-line, package names containing question marks are
treated as search expressions, just like package names containing
tildes ("~") are.
The old-style syntax is still present and works just like it did
previously. See the reference manual for complete documentation
of the new syntax.
This will hopefully make the search syntax more memorable and make
it clearer what a given search expression actually does. In
addition, this opens up the possibility of greatly expanding the
number of search patterns supported by aptitude (the requirement
to choose a meaningful and unique single character had become a
major limiting factor in the ability to add new search terms).
* New search terms:
+ ?source-package(expr) matches packages whose source package matches
the given regular expression.
+ ?source-version(expr) matches packages whose source version matches
the given regular expression.
+ ?all-versions(expr) matches a package if expr matches all versions
of that package.
+ ?any-version(expr) matches a package if expr matches any single
version of that package.
+ ?user-tag(pattern) matches a package if it has an attached
user-tag matching the given regexp (see below).
+ ?for var: expr binds var inside expr to the package or
version being tested.
+ ?bind(var, expr) matches anything if the package or version
bound to var matches expr.
+ ?=var matches the package or version bound to
var by an enclosing ?for.
For instance, "?for x: ?depends(?recommends(?=x))" will match any
package X that depends on a package that recommends X.
* aptitude now supports attaching arbitrary strings to packages,
known as "user tags" (to distinguish them from debtags tags). The
following commands will manipulate user tags:
aptitude add-user-tag tag package...
aptitude remove-user-tag tag package...
Each of these commands will add user tags to or remove them from
one or more packages (possibly selected using search expressions).
In addition, all command-line actions that modify package state
now take the following optional arguments:
--add-user-tag TAG
--add-user-tag-to TAG PATTERN
--remove-user-tag TAG
--remove-user-tag-from TAG PATTERN
The variants that take a PATTERN will add tags to or remove tags
from any packages that match the given PATTERN. (e.g.:
"--add-user-tag-to installed-for-build-dep ?action(install)").
The variants that do not take a PATTERN will affect any package
that is being modified (this is equivalent to using the pattern
"?not(?action(keep))").
The ?user-tag(tag) matcher will select packages with a tag
matching the given regular expression. User tags also show up at
the end of package descriptions, next to the list of debtags tags
for a package.
* All command-line actions that modify package state now accept the
arguments --safe-resolver and --full-resolver. --safe-resolver
forces the command to use the same resolver logic as
--safe-upgrade (e.g., "aptitude install --safe-resolver exim4" to
install exim4 as long as it can be installed without removing any
packages). --safe-resolver can be enabled in the config file by
setting Aptitude::Always-Use-Safe-Resolver to "true"; passing
--full-resolver will override this configuration option.
The option --no-new-installs and the new option --no-new-upgrades
will control whether the safe resolver attempts to install new
packages or upgrade installed packages.
Future versions of aptitude will enable this logic in the curses
UI as well, but I haven't decided how it should be exposed yet.
* The aptitude dependency resolver will now refuse to adjust held
packages or install forbidden versions unless you manually allow
it to. This behavior can be disabled by setting
Aptitude::ProblemResolver::Allow-Break-Holds to "false".
aptitude will still break holds when packages are being
automatically installed; there is a pending patch against apt that
eliminates this behavior.
* The aptitude dependency resolver will add a bonus to solutions
that remove a package and install another package that fully
replaces it by declaring a conflicts/provides/replaces
relationship. (Closes: #466374)
* aptitude now has a "build-dep" command that will install
build-dependencies from the command-line. (Closes: #243317)
* A new "subdirs" variant of the section grouping policy is
introduced in this release, courtesy of Paul Donahue, and is
enabled by default. This will behave just like the old sectioning
policy, except that if a section has several components (for
instance, games/arcade/space), they will all be realized as tree
levels in aptitude.
A side effect of this change is that section descriptions are no
longer hard-coded in the source (see the documentation of
Aptitude::Sections::Descriptions).
* Command-line updates in aptitude will now list packages that are
newly obsolete. This doesn't work when a source is removed and
all its packages become obsolete, for technical reasons.
* aptitude now uses libept to handle debtags information instead of
a slow and wrong internal implementation. (Closes: #397652,
#406201) "aptitude update" will merge new package information into
the debtags database automatically by running "debtags update --local".
- Bug fixes:
+ Cosmetic and UI bugs:
* The curses interface now uses a spinner to indicate download
progress, since the percentage measurement can't be made correct
in the current apt model.
* Remove some stray cw:: strings that made it into user-visible
messages (thanks to Jacobo Tarrio for pointing them out).
* Interpret %-escapes in the descriptions of configuration options
instead of displaying them to the user; thanks to Jens Seidel
for pointing this out.
* At the command-line prompt, don't list packages that aren't
being upgraded unless the user tried to upgrade them. e.g.,
"aptitude install foo" will no longer spew the entire list of
pending upgrades to the terminal.
* When displaying dependencies or version numbers at the
command-line (i.e., -D or -V is passed), add an extra space
between packages, to make it a little more obvious which tags
"belong" to which package.
* If the resolver is allowed to produce the solution 'cancel all
actions' (i.e., "Aptitude::ProblemResolver::Discard-Null-Solution"
is false), the brief indicator in the UI will say that it cancels
all the pending actions instead of counting its component actions.
* When displaying the packages that could satisfy a versioned
dependency, don't list packages that provide the package name
unless they declare a versioned provides that matches the
dependency's version restriction. (Closes: #464131)
* Don't try to generate and then parse a matcher when searching
for packages that look like what the user typed; instead, write
explicit code to compare against package names and descriptions.
This allows aptitude to find similar package names even if the
corresponding command-line argument is an invalid search pattern
(without having to write complex escaping logic); e.g.,
"aptitude install +5" does something sensible instead of
printing a confusing error message.
* If the user enters "q" during command-line dependency
resolution, quit the program instead of falling back to manual
resolution; manual resolution is only used if automatic
resolution hits a fatal error or if the user requests it by
typing "x". (Closes: #459629)
+ Translation bugs:
* Generate POTFILES.in automatically, so it stays up-to-date
without requiring manual intervention.
* Flag W_() as a translation marker; failure to do this caused a
lot of strings to be incorrectly left out of the translation
files; pointed out by Jens Seidel.
* Fix translation of strings displayed by the options editor (they
weren't getting translated at all); thanks to Jens Seidel for
reporting this.
+ Minor bugs:
* Fix task handling in the case that different versions of a
package are in different tasks. (Closes: #459348)
* "safe-upgrade" will now attempt to automatically maximize the
upgrade. Hopefully this will eliminate the situation where you
run "aptitude safe-upgrade" and then discover that there are
still some upgradable packages.
+ Crashes and serious errors:
* aptitude will now build with g++ 4.3, assuming that
4.3-compatible versions of cwidget and sigc++ are installed.
(Closes: #452204, #452540)
* Reduce the translation percent threshold for the various
versions of the manual until it compiles. (Closes: #470054)
* aptitude now uses Apt::Install-Recommends instead of
Aptitude::Recommends-Important to control whether
recommendations are automatically installed. (Closes: #458189,
#448561) Old configurations will be migrated to the new
configuration option, if possible.
Among other things, this means that --without-recommends works
again (it was broken when recommends handling moved to apt).
* Ensure the resolver state is always synchronized with the
package cache, eliminating some cases where the resolver would
break or produce wrong answers. (Closes: #421395, #432411)
* Don't crash at the command-line when displaying the version
numbers of packages being removed that don't have an
installation candidate; also, the version display for removed
packages is now meaningful. (Closes: #459336)
* Don't crash at the command-line when displaying the version
numbers of packages in the ConfigFiles state that are being
purged; instead, display "Config Files" as the removed
version. (Closes: #461669)
As a side note: the code in question has been adjusted to be
robust against bad version pointers, and should display "??"
instead. If you see this, it's a bug, but at least aptitude
won't crash in this case.
* Don't crash in "aptitude update" when the package lists can't be
parsed for some reason; instead just go ahead and download new
ones. (Closes: #468751)
+ Documentation bugs:
* Fix the documented default keybinding for PrevPage.
* The documentation of searching has been substantially rewritten,
and is hopefully much more useful now. In particular, there's
more information about how versions are handled, and a concise
table listing all the search expressions supported by aptitude.
* Document some of the files aptitude uses in a FILES section in
the manpage (Closes: #470839).
+ Translation updates:
* Basque
* French
- Christian Perrier: Fix the use of quote in the French
translation (Closes: #460808).
* Galician
* German (thanks to Jens Seidel)
* Japanese (thanks to Noritada Kobayashi)
* Norwegian Bokmål
* Portuguese
* Romanian (thanks to Eddy Petrișor)
* Russian
* Simplified Chinese
* Slovak
* Spanish
* Vietnamese
[12/15/2007]
Version 0.4.10 "Oscillating Reindeer"
- New features:
* In command-line mode, if the resolver fails to produce a solution
for whatever reason, then instead of aborting the program entirely
aptitude will now display a prompt at which you can fix the
dependency problems by hand. Enter "r" at this prompt to try to
automatically fix dependencies again.
* safe-upgrade will now install new packages to fulfill dependences
(but it will never remove packages, downgrade packages, or install
a version that's not the default). The option --no-new-installs
will disable this behavior.
* Updates and commands that install, remove, or upgrade packages
will now display a brief summary of what changed. For instance:
There are now 64 updates [+10], 3 new [+1].
Unfortunately, this change requires reading the cache after an
update is complete. Passing -q will disable this behavior, but
also make the update progress bar less attractive. More work on
resolving this tension between features and performance remains to
be done.
* Add an option --allow-untrusted to override trust warnings.
(Closes: #452201, #452541)
* Recommended packages are now hidden if quiet mode is enabled.
(Closes: #452202)
* The options Aptitude::ProblemResolver::Trace-File and
Aptitude::ProblemResolver::Trace-Directory allow you to generate a
minimal cut of the cache that allows a problem resolver run to be
reproduced. The eventual aim is both to simplify bug reporting
and to generate a corpus of automatic test cases for the resolver
(although more work needs to be done to accomplish the latter).
* When run in command-line mode, instead of displaying many separate
and sometimes duplicative groups of packages (e.g.: installed,
auto-installed, auto-installed in a light cream sauce, etc),
aptitude displays packages in a few exclusive categories and uses
tags (like the existing "purge" tag) to provide more state
information. For instance:
$ aptitude -s install wesnoth
The following NEW packages will be installed:
wesnoth wesnoth-data{a} wesnoth-music{a}
$ aptitude -s remove freeciv-data
(... dependency resolution ...)
The following packages will be REMOVED:
freeciv-client-gtk{a} freeciv-data freeciv-server{a} ggzcore-bin{u}
libggz-gtk1{u} libggz2{u} libggzcore9{u} libggzdmod6{u} libggzmod4{u}
Here {a} indicates that a package was automatically installed or
removed, and {u} indicates that a package is being removed because
it is unused. Hopefully this will be less confusing than the old
format.
- Bug fixes:
+ Crashes and serious errors:
* Track down and fix a SEGV triggered on the first action after a
cache reload (sometimes). There are multiple bugs where this
might have been the root cause, but it's confirmed that it was
the cause of at least #454695, #454700, #455349, and #453362.
Bug #455865 is almost certainly the same issue, and bug #352278
may be another manifestation of it.
* If StepLimit is set to 0, refuse to solve dependencies instead
of going into an infinite loop. (Closes: #451311)
+ Minor bugs:
* Return a failing exit code after jumping from the command-line
to visual mode if the last install run failed. (Closes: #282408)
* Return a failing exit code from "aptitude update" if any
download fails. (Closes: #233129)
+ Cosmetic and UI bugs:
* In addition to Enter, Space will now activate checkboxes and
radio buttons. (Closes: #451765)
* Abort the program if we get EOF at the resolver prompt instead
of claiming the resolver failed.
* Command-line searches will now only print each result once.
(Closes: #450798)
+ Documentation bugs:
* The options menu documentation now minimally describes the new
configuration interface.
* The documentation of the configuration file options has been
placed back in alphabetic order after apparently suffering
bitrot over the years.
* Corrected the documented default of Parse-Description-Bullets to
match reality.
* The manpages for aptitude-create-state-bundle and
aptitude-run-state-bundle are now generated using DocBook, which
should produce higher-quality and more consistent typesetting,
as well as making the manpages more maintainable and allowing
translators to easily produce localized versions of the manpages.
- Internal changes:
* Removed some unit tests that really tested cwidget.
- Translation updates:
* French (Christian Perrier)
[11/17/2007]
Version 0.4.9 "Ow. Ow. Ow. Ow. Ow."
- New features:
* Add a matcher ~o for obsolete/local packages. (Closes: #397547)
- Bug fixes:
* Correctly set the name, description, and long description
of radio options. (Closes: #449138)
* Don't remove *.gmo in distclean. Apparently this causes trouble
for translations. (Closes: #451584, #441696)
[11/15/2007]
Version 0.4.8 "The fun never stops!"
This change removes the internal widget set, instead using the cwidget
curses widget library (which just happens to provide all the same
functionality as the aptitude widget set, imagine that).
- Bug fixes:
+ Cosmetic and UI bugs:
* Interpret key names in the broken indicator as wide-character
strings; fixes actual display corruption on some platforms and
potential corruption on all platforms. (Closes: #448753)
[10/30/2007]
Version 0.4.7 "Where did all these
balloons come from?
And why am I wearing
a fake nose?"
- New features:
* The options dialogs have been completely replaced by a new
interface, based on a top-level list view. This fixes many
deficiencies of the old interface: it handles long strings more
gracefully, avoids many of the focus-handling bugs that the old
dialogs had, and should generally be better-behaved.
(Closes: #197976, #331200, #424708)
* Prompts that ask you to enter text will now wrap to multiple lines
when the text gets long, rather than hiding parts of the string.
* The online help and other Help-menu items are now top-level views,
which should make them somewhat more usable. (Closes: #434349)
* Support for the "Breaks" field and for trigger states (thanks to
Michael Vogt and Ian Jackson for patches and prodding).
(Closes: #438548)
* Two new styles, "PkgDowngraded" and "PkgDowngradedHighlighted",
are provided to control how downgraded packages look. By default
these packages look like any other installed package.
(Closes: #439924)
* aptitude can now display homepage URLs stored in the Homepage
field of packages. This requires a recent version of apt;
0.7.8 or better includes it.
- Bug fixes:
+ Crashes and serious errors:
* When applying the resolver's output, only set the packages that
are newly installed to be automatic, rather than making
everything the resolver touches automatic.
* Save and restore the automatic flag on packages that are not
not currently installed and that are being installed.
(Closes: #435079)
* Fix the help generated when the user presses '?' at the prompt
to not segfault, and rewrite the code to avoid this bug in the
future (it was using a format string with a huge number of
placeholders; now it builds a list of the output lines
explicitly).
* Eliminate a crash on startup caused by using a global pointer to
the cache in the package matching logic (which might be null)
instead of taking a valid pointer to the cache as a parameter.
This is necessary since the matcher might be invoked while the
cache is being loaded, e.g., to decide if a package should be
part of the root set.
+ Minor bugs:
* Fix the 'pattern' grouping policy: it was inserting packages
into all the trees that matched, not just the first one.
* Make removals and holds that occur later on the command-line
override earlier commands.
* The debugging output from "why" no longer tries to dereference
invalid pointers or display multibyte strings as single-byte
strings. (Closes: #447290)
+ Cosmetic and UI bugs:
* If the text in a column of the "why" output exceeds the column
width, the column will now wrap correctly onto the next line.
* Auto-held and unconfigured packages no longer generate ?????? in
the aptitude log.
+ Documentation bugs:
* Fix the documentation on aptitude development. It now gives the
correct URL and version control system for the upstream
repository, and somewhat more actively solicits contributions.
- Translation updates:
* Galician (Closes: #446620)
* Nepali
* Russian
* Spanish
* Swedish (Closes: #434643)
[7/25/2007]
Version 0.4.6.1
- Minor bugfix to include the new scripts/manpages that didn't get
distributed with the previous release.
[7/25/2007]
Version 0.4.6 "He who works and works
all day, gets to work
another day."
- New features:
* Added two programs, aptitude-create-state-bundle(1) and
aptitude-run-state-bundle(1), to eliminate some of the drudgery
involved in collecting apt state and running aptitude with a state
snapshot.
* "why" output is now available in visual mode (hit 'i' to cycle
through informational displays). The formatting and styling are
pretty awful in this release.
- Bug fixes:
+ Crashes and serious errors:
* Handle EINTR from select() better; thanks to Jiří Paleček for
tracking this down. (Closes: #431054, #431688, #432323)
Note that there is still a race condition lurking here, although
it's almost impossible to trigger it. The next release should
eliminate it, though.
* Run mark-and-sweep on startup, to initialize apt's auto flags.
This should prevent aptitude from losing the auto flag when a
package is marked for upgrade. (Closes: #432017)
* Don't crash on startup when something goes wrong early in the
initialization process (e.g., when the cache is locked;
Closes: #430061).
+ Minor bugs:
* Disable unused-package removal if Delete-Unused is false.
(Closes: #431716)
+ Cosmetic and UI bugs:
* Don't garble descriptions in non-UTF8 locales. (Closes: #432911)
* Hopefully fixed the problem that was garbling the startup
progress indicator.
* Eliminate another bogus error about a supposedly locked cache.
(Closes: #431909)
+ Documentation bugs:
* Fix the manpage's metainformation so that the footer gets
generated.
+ Potential bugs:
* Handle some unusual cases where the resolver could dereference
invalid pointers (no bugs reported).
* Added code to recover with an error if apt improperly marks a
dependency as broken.
- Translation updates:
* Basque (Closes: #432535)
* Dzongkha
* French
* Vietnamese (Closes: #432283)
[7/3/2007]
Version 0.4.5.4 "Oh my God,
THEY KILLED LENNY!
(actually, it was sid,
but I wanted to say that)"
- New features:
* Expose the "why" command from the command-line Y/n prompt. Typing
"w " will invoke "why ". The resolver prompt doesn't
support this, maybe it should?
- Bug fixes:
+ Crashes and serious errors:
* Eliminate a bounds error that was crashing the vs_editline.
(Closes: #429673)
+ Minor bugs:
* Force aptitude to write out a state cache the first time it
runs. Without this change, it won't know which packages are
"new" until after the first time the user installs something.
(Closes: #429732)
+ Build system fixes:
* Add a configure check for the new apt, so users get more
sensible build errors with incompatible apts.
* Have 'make clean' remove autogenerated XML files, so they don't
show up in the Debian diff.
- Translation updates:
* Basque (Closes: #418862)
* Galician (Closes: #429504)
* Vietnamese (Closes: #429447)
[6/17/2007]
Version 0.4.5.3 "The Long Dark Tea-Time
Of The Code"
- New features:
* Added two commands "aptitude why" and "aptitude why-not" that
provide explanations of why a package is, must be, should be, or
must not be installed on your system. They are not complete, by
which I mean that they can't always provide the most useful
justification, but they should answer a lot of questions that I
hear people asking regularly.
- Bug fixes:
+ Crashes and serious errors:
* Eliminate a nasty race that was probably the cause of corrupted
output on some dual-core systems. (Closes: #414838, #406193)
* Fix a bug that could cause aptitude to try to remove a package
that it had already removed. (Closes: #429388) This can't be
totally eliminated without help from dpkg, but hopefully this
fix will make the problem much more difficult to trigger.
Unfortunately, the fix also means that aptitude has to perform a
save/load cycle after installing packages to make sure that
everything is consistent.
* Allow "keep" actions to be undone.
* Don't consider every removed package to be an unused package.
* Clear the broken package indicator when the user undoes an
action.
* Fix build errors on other architectures. (Closes: #429348)
* Set packages to manual mode when the user cancels their removal.
(Closes: #429271)
* Fix compile bugs with g++-4.3. (Closes: #413488)
[6/15/2007]
Version 0.4.5.2 "To ook is human,
to meow feline"
- Bug fixes:
* Multiple minor bugs introduced by the patches to support apt's
auto-marking were fixed.
- Packages kept at their current version by applying a solution
no longer get their hold flags turned on.
- Packages that are installed by a solution get their auto-installed
flag set.
- Applying a solution updates the resolver state (so the error
bar doesn't stick around until you change a package's state
by hand).
* Fixed a broken cross-reference in the manpage.
[6/15/2007]
Version 0.4.5.1 "Nothing could possibly go
wrAAAAAAAAAAaaaa..."
- New features:
* aptitude now uses apt's central database to track which packages
are auto-installed. Aptitude's own list of automatic packages
will be merged into the global list the first time that aptitude
is run.
* Packages that are not fully configured are now listed in aptitude's
preview, and aptitude will let you do an install run if there are
unconfigured packages but nothing to install/remove. (Closes: #424709)
- Translation updates:
* French (Closes: #428585, #428826)
* Portuguese (Closes: #425779)
* Vietnamese (Closes: #426976)
[5/14/2007]
Version 0.4.5 "Confused Cockroach"
- New features:
* For standard string prompts, the default is now initially
displayed, but erased if the user starts out by inserting a new
character.
* 'N' now repeats the last search in the opposite direction (as
opposed to 'n', which repeats it in the same direction).
(Closes: #414020, #397880)
* aptitude now recognizes Apt::Get::AllowUnauthenticated as a
synonym for Aptitude::Ignore-Trust-Violations. (Closes: #411927)
* Fix the handling of dselect/dpkg state. Previously, mixing the
command-line and visual modes of operation could result in
aptitude thinking it should remove a package that was actually
installed on your system. This was especially nasty since the
Debian installer tripped this condition, leaving people with a
broken initial system. Ow. (Closes: #411123)
* Added a config option "Aptitude::CmdLine::Resolver-Show-Steps",
which causes the dependency resolver to default to displaying its
output as a list of individual resolutions, rather than a list
organized by the type of change that will be made. (equivalent to
pressing "o" at the first resolver prompt)
* Added "safe-upgrade" and "full-upgrade" as synonyms for "upgrade"
and "dist-upgrade" respectively. The goal here is to eliminate
massive confusion about what these commands actually do.
"upgrade", in particular, is now deprecated ("dist-upgrade"
probably has too much currency to kill off, but hopefully people
will at least be rid of the notion that it's exclusively for
whole-distribution upgrades).
* The option "Aptitude::Get-Root-Command" can be used to choose how
aptitude tries to gain root privileges. It defaults to "su";
setting it to "sudo" will choose that program, and other programs
can also be chosen (see the user's manual for details).
- Bug fixes:
+ Crashes and serious errors:
* Improve the internal consistency of aptitude's reduction of the
apt dependency graph. As part of this change, a new
(undocumented, primarily for debug purposes) command-line action
"check-resolver" was added; it verifies empirically that the
dependency structure obeys the invariants that it's expected to
obey (for instance, that all forward dependencies have a
corresponding reverse dependency).
In addition to a number of harmless discrepancies, this flushed
out the forward/reverse dependency mismatch that was causing
crashes in the resolver. (Closes: #420358, #420381, #420407).
Note that check-resolver only verifies *internal* properties of
the resolver's model; it doesn't verify that the model
faithfully represents the dependency problem posed by the apt
package database.
* Don't crash on amd64 and other architectures where va_args
structures can't be reused. This is an old bug; it was turned
up by a new test for ssprintf.
* Increase the default value of StepScore to 70 and improve its
documentation. This should make it much less likely that the
resolver wanders off into lala land trying to solve dependency
problems. (Closes: #418385)
* When --without-recommends is passed at the command-line,
automatically enable Keep-Recommends at the same time we disable
Recommends-Important, so we don't automatically remove half the
user's system. (Closes: #143532)
* Fix an internal sprintf variant to produce correct output (the
previous code was safe, just wrong; it safely produced a buffer
of the correct size, then truncated it to its initial buffer
size).
* If the dependency resolver throws an exception, catch it and
handle it as cleanly as possible, rather than unceremoniously
exploding.
* Don't block signals when running dpkg after a package install
failed, and tell dpkg not to use TSTP in this circumstance.
This tended to cause horrible breakage of dpkg's
auto-backgrounding (the "Z" conffile prompt option).
(Closes: #367052)
* Fix a crash that occurred when generating a revdep-count column
for some virtual packages. (Closes: #420405)
* Don't abort() if something tries to display a progress
percentage that's not strictly between 0 and 100. (Closes: #425145)
+ Cosmetic and UI bugs:
* If a package is both "new" and "upgradable", place it in the
"upgradable packages" list instead of the "new packages list",
since this seems to be the path of least confusion. (Closes:
#419999)
* Try to include more information when an internal consistency
check is triggered (e.g., the dependency that the program was
looking at).
* Only print an error about being unable to acquire a lock after
downloading when an error actually occurred during the call to
GetLock(); this message was getting triggered by stray errors
from methods invoked earlier in the download/install
process. (Closes: #422700)
* Don't ever display more than one "really quit?" dialog box, so
people who hold down the "q" key don't have to also hold down
"n". (Closes: #411158)
* When writing out the aptitude state file, open it mode 0644 and
explicitly chmod it to mode 0644, so it doesn't start out
world-writable, but ends up group- and world-readable even if
root has a more restrictive imask. pkgstates isn't
security-sensitive, and aptitude produces surprising results if
it can't read this file. If you really need to hide pkgstates
from non-root users for some reason, you can chmod -x the
directory /var/lib/aptitude.
(Closes: #41809, #421811)
* If a command (e.g., update) takes no arguments, aptitude will
produce an error if it receives arguments. (Closes: #411152)
* Write "[Enter]" instead of "enter" in the media-change prompt,
to make it clear that the user should press the key of that
name. (Closes: #414777)
* Remove *.gmo in distclean, so the Debian package can be built
twice in a row. (Closes: #424102)
+ Potential bugs:
* Delete some internal cache arrays using operator delete[]
instead of operator delete.
* Initialize package selection states to the Unknown state
explicitly.
+ Documentation:
* Fix the docbook encoding of the users manual and manpages.
* Fix an error in the DocBook code of the manual page that caused
the AUTHOR section to appear twice.
* Fix how bolding is applied to literal elements in the manpage,
so that the manpages are no longer screwed up.
(Closes: #415468, #416232)
* Users manual corrections (thanks to Noritada Kobayashi for
patches).
* Improve the description of the Recommends-Important,
Keep-Recommends, and Keep-Suggests: clean up the language and
try to make their precise behavior clearer. Thanks to Stefan
Kangas for the initial suggestion. (Closes: #405002)
* Try to make it clearer in both the manpage and the user's manual
that "aptitude search" does an implicit OR on its command-line
parameters, rather than an implicit AND. (arguably it SHOULD do
an "AND", but it's probably too late to change this now)
* Add some commands to the online help that weren't previously
documented. (Closes: #402360)
* Fix misaligned items in the online help. (Closes: #399048)
- Translation updates:
* Task group names localized.
* Basque (Closes: #418862)
* Catalan (Closes: #353308)
* Chinese (Simplified) (Closes: #405166)
* Chinese (Traditional) (Closes: #338056, #418139)
* Danish (Closes: #409480)
* Finnish (Closes: #392305)
* French (Closes: #403561, #388504)
* Galacian (Closes: #412829, #425358)
* Greek
* Hungarian (Closes: #405550)
* Japanese users manual added.
* Marathi (Closes: #416807)
* Nepali (Closes: #452278)
* Portuguese (Closes: #418940)
* Romanian (Closes: #415763)
* Slovak (Closes: #401105)
* Spanish (Closes: #416339)
* Ukranian (Closes: #415448)
[10/26/2006]
Version 0.4.4 "I shall smite you with my
Ultimate Power of Cuteness!"
- New features:
* "unhold" now just clears the hold flag; it doesn't try to upgrade
the package that was just unheld.
* The grammar used to parse bulleted lists has changed. Full stops
are no longer considered to be paragraph breaks or otherwise
significant unless they are indented by exactly one space (i.e.,
unless they are significant in the standard grammar).
A second change introduced by this patch is that a full stop by
itself on a line no longer terminates a bullet list; the list will
continue as long as the text after the paragraph break is indented
at the same level as the rest of the list.
This fixes some cases where aptitude badly mangled descriptions
that used to work, and means I feel safe re-enabling bullets by
default. (Closes: #388594)
- Bug fixes:
* By default, don't remove Linux kernel images that are unused.
(Closes: #386307)
* Generate a more useful error message for corrupted or unverifiable
file downloads. (Closes: #387537)
* Fix minibuffer messages so that they go away when you press a
key. (Closes: #395201)
* Apparently time is allowed to go backwards, so don't assert that
it doesn't in the test suite. (Closes: #381481)
* Document what "unhold" does. (Closes: #387336)
* Consistently use instead of