summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-07-12Bump version to 0.6.9.1HEADmasterDaniel Hartwig3-9/+17
2012-07-12Revert translated why/why-not in Swedish --helpDaniel Hartwig1-2/+2
2012-07-10Use dpkg package names when calling dpkgDaniel Hartwig2-2/+6
Closes: #680333
2012-07-10Add helpers for interfacing with dpkgDaniel Hartwig3-0/+205
These should rather be in libapt-pkg but too late for Wheezy. * generic/apt/dpkg.{cc,h}: - dpkg_base_args: base arguments for dpkg from APT conf - dpkg_mult_arch: true if dpkg is multi-arch aware - dpkg_package_name: returns the name that dpkg uses for a package
2012-07-10Really silence errors when debtags is not installedDaniel Hartwig2-0/+7
Closes: #681021
2012-07-10Mention French update in NEWSDaniel Hartwig1-0/+1
2012-07-05French documentation translation updateChristian PERRIER2-3585/+4306
Closes: #680040
2012-07-04French programs translation updateChristian PERRIER1-21/+23
2012-06-30Disable test_tags which is no longer relevantDaniel Hartwig1-1/+3
2012-06-30Shamelessly copy installsize sortpolicy as debsize sortpolicyMarcel Partap4-0/+35
2012-06-30Do not group packages as tasks section based on their nameDaniel Hartwig2-6/+9
Closes: #679602
2012-06-30Disable use of libept by default; enable with --enable-eptDaniel Hartwig2-6/+8
Closes: #504153 Closes: #501732
2012-06-30Read tags from debtags database even when libept is disabledDaniel Hartwig2-7/+80
.. but fall back to Packages files if the database is not available.
2012-06-30Treat debtags always as strings; unify ept/non-ept interface to debtagsDaniel Hartwig8-409/+155
The behaviour of the non-ept interface has been updated and corrected, so that, for example, the debtags browser works correctly.
2012-06-30Trim NEWS slightly to make it more readableDaniel Hartwig1-43/+19
2012-06-30Partial fix for using debtags without libeptDaniel Hartwig2-1/+6
2012-06-30Use standard apt-xapian-index location, rather than libeptDaniel Hartwig3-40/+23
Part of the process to drop libept (see bug #677551): In src/generic/apt/matching/match.cc there's already #ifdefs to do everything via libxapian. The only ept-only bit is ept::axi::path_db(). That can be replaced with "/var/lib/apt-xapian-index/index", which is the standard index location which is NOT going to change (that's actually a xapian pointer to the real index location: try "cat /var/lib/apt-xapian-index/index"). Also add configure check for libxapian headers.
2012-06-30Drop support for ancient libept features; make libept use really optionalDaniel Hartwig4-293/+125
The tree included several checks for various ways that libept previously did things. These old code paths have been dropped along with the checks for them. configure now also supports --disable-ept to build without using the ept library.
2012-06-29Fix build failure in download_install_managerDaniel Hartwig1-0/+6
2012-06-29Update po files; unfuzzyDaniel Hartwig41-350/+221
2012-06-29Remove newline from error messageDaniel Hartwig1-1/+1
2012-06-29Merge translations for some new strings from aptDaniel Hartwig38-180/+139
2012-06-29Update po files; unfuzzyDaniel Hartwig41-25604/+25358
2012-06-29Fix typo in main.ccDaniel Hartwig1-1/+1
2012-06-28Guess changelog URI for third-party sitesDaniel Hartwig5-53/+114
Contruct a changelog file path for third party sites that do not use packages.debian.org/changelogs This simply uses the ArchiveURI() of the source pkg and looks for a .changelog file there. LP: #563155
2012-06-28Merge changelog URI construction from apt-getDaniel Hartwig5-107/+36
* src/generic/apt/pkg_changelog.cc: - use up-to-date changelog uri construction from apt-get using APT::Changelogs::Server * src/apt_options.cc: - drop disused Aptitude::Changelog-URL-Template * src/cmdline/cmdline_changelog.cc: - remove extraneous guess-work with source packages, which happened to also download the wrong changelog sometimes (Closes: #631464) - changelog download works with no deb-src lines, so we don't need to instruct the user to add any (Closes: #587775, #537393)
2012-06-28Update Polish translationMichał Kułach3-85/+50
Closes: #678153
2012-06-28Indicate more closed bugsDaniel Hartwig1-2/+5
Closes: #576212 LP: #919216 LP: #585408 Closes: #639789 LP: #734737
2012-06-28Improve arch-qualified pkg names with versions commandDaniel Hartwig1-1/+15
2012-06-28Improve multi-arch handling of package argumentsDaniel Hartwig3-5/+66
* [cmdline]: Package arguments without an arch-qualifier will also consider foreign-arch packages, in order of preference. (LP: #892074) * [cmdline]: Package arguments can use '*' wildcard in their arch-qualifier to select all matching packages, where 'any' would select only the first such package. LP: #892074
2012-06-28?architecture supports arch specification strings, wildcardsDaniel Hartwig7-12/+80
See Debian Policy § 11.1 for more info.
2012-06-21Document that --visual-preview exits with non-zero statusDaniel Hartwig1-0/+6
* [cmdline]: --visual-preview exits with non-zero status: - user quits (1); - a package fails to download and the user chooses not to continue (100); or - a package fails to install (100). (Closes: #282408) Closes: #282408
2012-06-20Use real candidate version, not default-releaseDaniel Hartwig3-23/+1
2012-06-20Do not do FixMissing automatically for command-line actionsDaniel Hartwig9-1/+74
When a package is not available or fails to download incorrectly aptitude would try to continue without it. This made it hard to detect errors automatically using the exit status. This behaviour is no longer the default, instead if there are missing packages an error will be displayed and the program exit with failure (100). If the user wishes to continue anyway, they can use --fix-missing or configure Aptitude::CmdLine::Fix-Missing in apt.conf. * [cmdline]: An install run will no longer proceed if any package was unavailable or failed to download correctly, instead an error will be shown and exit with non-zero status (100). (Closes: #121313, #302784) The old behaviour can be obtained with the new --fix-missing option or setting Aptitude::CmdLine::Fix-Missing. Closes: #121313 Closes: #302784
2012-06-20Tidy error handling in main, cmdline actionsDaniel Hartwig29-592/+734
Error conditions are much stricter, detecting errors is more reliable, and the exit status of all command-line actions is well-defined. All commands will return one of these values as their exit status: 0 – success 1 – user aborted (install, remove, …); or no matches (search, why, why-not); 100 – failure For commands whose arguments are lists of packages or search patterns the following general conditions hold: It is a failure if any package argument does not exactly name a package. It is a failure if any versioned argument requests a version which is not available for every package identified by that argument. Versioned arguments are those which end with a version or archive (release) specifier, respectively “=<version>” and “/<archive>”. If a command includes a request to install, remove, or purge any package that command will not proceed if any of the above failures occur. Other commands may still proceed in case of such failures but will exit with non-zero status to indicate they were not completely effective. Some commands have exceptions and/or extensions to the general conditions: install, upgrade, remove, …: Where a request specifies a virtual package it is a failure if it has either no provider or multiple providers. If there is only one provider that package will be selected instead of the virtual package. search: All arguments are considered patterns. Arguments without an explicit search term will be wrapped in an implicit ‘?name’ term. This is a major change from previous versions where the program would have proceeded and possibly exited with a status indicating success (0) despite some requested actions being either invalid or ineffective. The new, stricter behaviour is desirable for two reasons: - to prevent the situation where a request to replace one set of packages with another set proceeds when (some of) the replacements are not found or unavailable could cause the undesired removal of arbitrary other packages; - to make the program more atomic and reliable when used for automated tasks – by considering the entire request as being essential to success another program can rely on an exit status of 0 to mean that the request was completely carried out. Summary of changes: * Most errors are now displayed at the end of a command's output which makes them easier to spot when there is lots of output. (Closes: #430392) * [cmdline]: Virtual packages which have an already installed provider are only skipped when the requested action is to install them. * [cmdline]: install and similar actions have much stronger error checking and will exit more reliably with non-zero status on failures Failures which result in no action and a non-zero exit status (100): - a package argument does not exactly name an available package; - a versioned argument requests a version which is not available for every package it applies to (Closes: #590686); * [cmdline]: changelog exits with non-zero status on any error (Closes: #675833) * [cmdline]: search exit with status 1 if it found no matches (Closes: #497299) * [cmdline]: why exits with status 1 if it found no reasons given the particular arguments * [cmdline]: show will exit with status 100 if it found no packages or a named package was not found * unknown arguments do not show the usage screen * more errors are reported using GlobalError * clean up some strings used as error messages * download_install_manager.cc: - repeat if package manager result is DoAgain; - report all download errors not just the first; * cmdline_util.cc: - pkgset_from_string by default is no longer an error if a pattern matches no packages * [doc]: add section on exit status to the man page Closes: #430392 Closes: #497299 Closes: #590686 Closes: #675833
2012-06-16Use apt's CommandLine parserDaniel Hartwig6-485/+383
Previously aptitude was using it's own command line parser implemented on top of getopt. Replacing this with the standard apt class means there are no longer subtle quirks with our parser (such as "-qq" not being valid, when it is fine for other apt programs). The parser is closely tied to the Configuration, and reads options directly in to the global apt config. Some options were tracked independently of the global config; this change is the first part rectifying that situation. The goal is to keep all program options, configuration state, etc. in the global config rather than passing state variables between functions. Many options which previously did not have an associated configuration item now do; some remain undocumented for now as they are transitional. * handle "-qq" like other apt-utils * properly process all -o command line options (Closes: #587671) * unknown command line options trigger an error (Closes: #434502) * --add-user-tag-to, --remove-user-tag-from are working; no bug reports suggests that noone has noticed they were broken New aliases for some command-line options: --yes, for --assume-yes (apt-get) --default-release, for --target-release (apt-utils) --install-on-startup, for -i --update-on-startup, for -u New configuration item: Aptitude::CmdLine::Sorting, equivalent to --sort Other new configuration items are for internal use only at this point. Closes: #587671 Closes: #434502
2012-06-15Typo in cmdline_showDaniel Hartwig1-1/+1
2012-06-14Use arch-qualified names for virtual packages in more placesDaniel Hartwig2-9/+21
2012-06-08Touch copyright notice in cmdline_utilDaniel Hartwig2-0/+2
2012-06-08Regex strings count as search patternsDaniel Hartwig3-3/+15
Apt-utils treat regex strings as a search pattern, we should too.
2012-06-08Add pkgset helpersDaniel Hartwig9-312/+224
Ported some code from apt cacheset.cc to populate a pkgset. The function pkgset_from_string will fill a given pkgset with either the exactly named package, or the packages matched by a string predicated by is_pattern. In the future, we should look to directly use the apt cacheset infrastructure. This is currently blocked by our custom implementation of pkgCacheFile (see aptcache.h). Errors that occur in looking up the package (such as no package with that name, or an invalid search pattern) are pushed to the global error list with a customizable error_type (default: ERROR).
2012-06-08Update build files for 0.6.9Daniel Hartwig3-2/+5
2012-06-08Add typedefs for vectors of package, version search resultsDaniel Hartwig9-29/+36
typedef vector<pair<PkgIterator,ref_ptr<structural_match> > > pkg_results_list; typedef vector<pair<VerIterator,ref_ptr<structural_match> > > ver_results_list;
2012-06-04Recursive delete of output-html/images/Daniel Hartwig1-1/+1
2012-06-04Conditional use of locale mandirDaniel Hartwig1-1/+1
2012-06-04Temporary fix to install man pages: specify targets manuallyDaniel Hartwig12-8/+39
2012-06-03Update po files; unfuzzyDaniel Hartwig41-13024/+11993
2012-06-03Include manual translations in .gitignoreDaniel Hartwig1-2/+7
2012-06-03make dist uses xz compressionDaniel Hartwig1-1/+1
2012-06-03Use RSVG_CONVERT in build filesDaniel Hartwig2-4/+4