Starting with tag: [TAG 0.4.5 Daniel Burrows **20070524144402] [Add support in the internal package-state-detection function for an "unconfigured" state that collects the "unpacked" and "half-configured" states. Daniel Burrows **20070531234518] [Add useful UI-level descriptions of the new package state. This change means that aptitude will now let you try to configure your unconfigured packages again, instead of complaining that there's nothing to do. (Closes: #424709) Daniel Burrows **20070531234625] [Vietnamese translation update. Closes: #426976 bubulle@debian.org**20070601174528 426976_vi ] [French translation update (no bug report) bubulle@debian.org**20070601183611 fr_update ] [Portuguese translation update bubulle@debian.org**20070524045719 425779_pt ] [French translation corrected bubulle@debian.org**20070612061712 fr_corrected ] [Handle the new StatTransientNetworkError transfer status. Daniel Burrows **20070613042312] [French translation completed. Closes: #428826 bubulle@debian.org**20070614162935 428826_fr-help ] [French manpages translation update bubulle@debian.org**20070613063758 428585_fr-man ] [Forward-port the auto-mark patches by hand. Daniel Burrows **20070615043715 THIS WILL CONFLICT with the auto-mark branch; I don't recommend pulling the patches from there into this branch with darcs. Everything seems to work for me, but I'm a little nervous about the massive blind patching I just did; more testing is probably indicated to flush out any bugs that are left. ] [Update the version to 0.4.5.1 and write a NEWS entry. Daniel Burrows **20070615153049] [Ran 'make update-po' Daniel Burrows **20070615153221] [TAG 0.4.5.1 Daniel Burrows **20070615154054] [Fix a broken link in the manpage. Daniel Burrows **20070616001246] [Invoke pre_package_state_changed before applying a solution, so that the resolver gets destroyed (otherwise it still claims that there are broken packages). Daniel Burrows **20070616035223] [Don't set the hold flag when applying a solution that keeps a package at its current version. Daniel Burrows **20070616035904] [Don't save undo information for setting the candidate version of a package (while applying a solution) twice. Daniel Burrows **20070616040033] [Set the auto flag on packages that get installed by the resolver. Daniel Burrows **20070616040053] [Write changelog entry for 0.4.5.2, update version in configure. Daniel Burrows **20070616040734] [Ran 'make update-po' Daniel Burrows **20070616041016] [TAG 0.4.5.2 Daniel Burrows **20070616041121] [Add utility code in threads:: to make it easier to create proxies for uncopyable thread bootstrap functions. Daniel Burrows **20070616164153] [Use the new bootstrap proxy code to simplify the timeout thread. Daniel Burrows **20070616164232] [Rewrite the input thread to eliminate a race condition. (Closes: #414838, #406193) Daniel Burrows **20070616164258 The problem here is that get_wch() and its friend getch() both implicitly invoke refresh(). So instead of calling get_wch() from the background thread, I select() on fd 0, then spawn an event that causes the foreground thread to run get_wch() and dispatch the result. The tricky bit is that obviously I don't want to keep selecting and posting events, so I have synchronization to block the background thread until the event completes. ] [Explicitly cast "line" to an unsigned int to avoid build failures on platforms where not doing this tosses a warning. Daniel Burrows **20070616182703] [Add a new command "aptitude why" that interrogates the package dependency tree to deduce a justification for the presence of a single package. Daniel Burrows **20070617044538 This command can answer the questions "why is this installed?", "what conflicts with this?", and "why does installing A pull in B?" It does *not* do full dependency resolution, so it can't answer "why can't I install this?"; it just walks the dependency tree until it finds an answer. ]