summaryrefslogtreecommitdiff
path: root/apt-pkg/algorithms.cc
AgeCommit message (Collapse)Author
2010-08-13* apt-pkg/algorithms.cc:David Kalnischkies
- let the problem resolver install packages to fix or-groups as a needed remove nuked another or-member (helps for #591882) The resolver sometimes need to break or-groups because he need to remove the previous satisfier as a result of a breaks/conflicts. In such broken or-groups he now tries to install a non-installed non-deleted member of the or-group to statisfy it again. This move is dangerous as it introduces the possibility of a bunch of "new" broken breaks/conflicts on the new statisfier or its dependencies and we don't know about them beforehand. We also don't have the infrastructure to undo the decision later, so we just do it and pray! For now a test option is provided to disable this behavior on the fly to test if the situation is worse: pkgProblemResolver::FixByInstall
2010-08-10* apt-pkg/algorithms.cc:David Kalnischkies
- change the debug outputs to display also arch of the package and version dependencies information
2010-06-09* merge the remaining Ubuntu change:Michael Vogt
- on gpg verification failure warn and restore the last known good state - on failure display the IP of the server (useful for servers that use round robin DNS) - support Original-Maintainer in RewritePackageOrder - enable cdrom autodetection via libudev by default - show messsage about Vcs in use when apt-get source is run for packages maintained in a Vcs - better support transitional packages with mark auto-installed. when the transitional package is in "oldlibs" the new package is not marked auto installed (same is true for section metapackages) - provide new "deb mirror://archive.foo/mirrors.list sid main" method expects a list of mirrors (generated on the server e.g. via geoip) and will use that, including cycle on failure - write apport crash file on package failure (disabled by default on debian until apport is available) - support mirror failure reporting (disabled by default on debian)
2010-04-07* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- add a parent-guarded "mkdir -p" as CreateDirectory() * apt-pkg/acquire.{cc,h}: - add a delayed constructor with Setup() for success reporting - check for and create directories in Setup if needed instead of error out unfriendly in the Constructor (Closes: #523920, #525783) - optional handle a lock file in Setup() * cmdline/apt-get.cc: - remove the lock file handling and let Acquire take care of it instead
2010-03-01fix compiler error if compiled with -std=c++0xDavid Kalnischkies
2010-02-12Add yet another pseudo package which isn't as pseudo as the others:David Kalnischkies
Arch all packages are now represented by arch depending packages which all depend on a package with the same name and the special arch "all". This packages has NO dependencies, but beside this the same information. It is the only package which has a size, the arch depending ones all have a zero size. While the arch depending pseudo packages are used for dependency resolution the arch "all" package is used for downloading and ordering of the package.
2009-07-30merged from debianMichael Vogt
2009-07-21The 'not dead yet' releaseMichael Vogt
* add hook for MarkInstall and MarkDelete (closes: #470035) * add the various foldmarkers in apt-pkg & cmdline (no code change) * versions with a pin of -1 shouldn't be a candidate (Closes: #355237) * prefer mmap as memory allocator in MMap instead of a static char array which can (at least in theory) grow dynamic * eliminate (hopefully all) segfaults in pkgcachegen.cc and mmap.cc which can arise if cache doesn't fit into the mmap (Closes: #535218) * display warnings instead of errors if the parts dirs doesn't exist * honor the dpkg hold state in new Marker hooks (closes: #64141)
2009-07-21* apt-pkg/acquire.cc:Michael Vogt
- make the max pipeline depth of the acquire queue configurable via Acquire::Max-Pipeline-Depth * apt-pkg/deb/dpkgpm.cc: - add Dpkg::UseIoNice boolean option to run dpkg with ionice -c3 (off by default) - send "dpkg-exec" message on the status fd when dpkg is run - provide DPkg::Chroot-Directory config option (useful for testing) - fix potential hang when in a backgroud process group * apt-pkg/algorithms.cc: - consider recommends when making the scores for the problem resolver * apt-pkg/acquire-worker.cc: - show error details of failed methods * apt-pkg/contrib/fileutl.cc: - if a process aborts with signal, show signal number * methods/http.cc: - ignore SIGPIPE, we deal with EPIPE from write in HttpMethod::ServerDie() (LP: #385144) * apt-pkg/indexcopy.cc: - support having CDs with no Packages file (just a Packages.gz) by not forcing a verification on non-existing files (LP: #255545) - remove the gettext from a string that consists entirely of variables (LP: #56792) * apt-pkg/cacheiterators.h: - add missing checks for Owner == 0 in end() * apt-pkg/indexrecords.cc: - fix some i18n issues * apt-pkg/contrib/strutl.h: - add new strprintf() function to make i18n strings easier - fix compiler warning * apt-pkg/deb/debsystem.cc: - make strings i18n able * fix problematic use of tolower() when calculating the version hash by using locale independant tolower_ascii() function. Thanks to M. Vefa Bicakci (LP: #80248) * build fixes for g++-4.4 * cmdline/apt-mark: - add "showauto" option to show automatically installed packages * document --install-recommends and --no-install-recommends (thanks to Dereck Wonnacott, LP: #126180) * Updated cron script to support backups by hardlinks and verbose levels. All features turned off by default. * Added more error handlings. Closes: #438803, #462734, #454989, * Refactored condition structure to make download and upgrade performed if only previous steps succeeded. Closes: #341970 * Documented all cron script related configuration items in configure-index. * apt-ftparchive might write corrupt Release files (LP: #46439) * Apply --important option to apt-cache depends (LP: #16947)
2009-06-30* add hook for MarkInstall and MarkDelete (closes: #470035)David Kalnischkies
* honor the dpkg hold state in new Marker hooks (closes: #64141) Combine the proposed AutoInstOk and IsAutoInstallOk to more general hooks for MarkInstall (and another one for MarkDelete) with the same parameters as the call these hooks should check.
2009-06-30add the various foldmarkers in apt-pkg & cmdline (no code change)David Kalnischkies
2009-06-30merge the AutoInstOk patch from debian-experimentalMichael Vogt
2009-06-29* support IsAutoInstallOk in the resolver tooMichael Vogt
* honor the dpkg hold state in IsAutoInstallOk (closes: #64141)
2009-06-29* add Debug::pkgDepCache::Marker with more detailed debug output Michael Vogt
* add Debug::pkgProblemResolver::ShowScores and make the scores adjustable
2009-06-23* apt-pkg/algorithms.cc:Michael Vogt
- consider recommends when making the scores for the problem resolver
2008-11-24merged from debian-sidMichael Vogt
2008-10-28* apt-pkg/acquire-item.cc:Michael Vogt
- Added fallback to uncompressed 'Packages' if neither 'bz2' nor 'gz' available. (Closes: #409284) * apt-pkg/algorithm.cc: - Strip username and password from source URL in error message. (Closes: #425150)
2008-10-26Forgot to remove regex.h include in previous commit. Now doneEugene V. Lyubimkin
2008-10-26Switched from regexp to using existing URI class to strip user/password.Eugene V. Lyubimkin
2008-10-25Corrected determining if regexp matched.Eugene V. Lyubimkin
2008-10-25Strip user/password from URL in error message.Eugene V. Lyubimkin
2008-10-03Fix some typos in docs and translations (thanks to timeless, closes: 368665)Luca Bruno
2008-10-01* apt-pkg/packagemanager.cc, apt-pkg/deb/dpkgpm.cc:Michael Vogt
- move the state file writting into the Go() implementation of dpkgpm (closes: #498799) * apt-pkg/algorithms.cc: - fix simulation performance drop (thanks to Ferenc Wagner for reporting the issue)
2008-02-21* apt-pkg/algorithms.cc: Michael Vogt
- add APT::Update::Post-Invoke-Success script slot (LP: #188127)
2008-02-06merged from mvoMichael Vogt
2008-02-06 - Make the breaks handling use the kill list. This means, that aMichael Vogt
Breaks: Pkg (<< version) may put Pkg onto the remove list.
2008-02-01* apt-pkg/algorithms.cc: Michael Vogt
- add APT::Update::Post-Invoke-Success script slot
2008-01-16* Merged apt-authentication-reliabilty branch. This meansMichael Vogt
that apt will refuse to update and use the old lists if the authentication of a repository that used to be authenticated fails. See https://wiki.ubuntu.com/AptAuthenticationReliability for more details.
2008-01-10* apt-pkg/algorithms.cc:Michael Vogt
- Since APT::Get::List-Cleanup and APT::List-Cleanup both default to true, the effect of the compatibility code was to require both of them to be set to false in order to disable list cleanup; this broke the installer. Instead, disable list cleanup if either of them is set to false.
2008-01-09* apt-pkg/algorithms.cc:Colin Watson
- Since APT::Get::List-Cleanup and APT::List-Cleanup both default to true, the effect of the compatibility code was to require both of them to be set to false in order to disable list cleanup; this broke the installer. Instead, disable list cleanup if either of them is set to false.
2008-01-07* move the ListUpdate() code from cachefile.h into algorithms.{cc,h}Michael Vogt
as it does not require a cachefile at all
2007-12-21implement AptAuthenticationReliabtlity specMichael Vogt
2007-12-16* Applied patch from Peter Eisentraut <peter_e@gmx.net> to fix aOtavio Salvador
grammatical error ("manual installed" -> "manually installed"), closes: #438136. *
2007-09-06* dpkg-triggers: Deal properly with new package states.Michael Vogt
2007-06-08* Removed the more leftover #pragma interface/implementationMichael Vogt
closes: #306937 (thanks to Andreas Henriksson for the patch)
2007-06-08* remove all the remaining #pragma implementationMichael Vogt
2007-06-08* add "purge" commandline argument, closes: #133421)Michael Vogt
(thanks to Julien Danjou for the patch) * fix FTBFS with gcc 4.3, closes: #417090 (thanks to Martin Michlmayr for the patch) * add --dsc-only option, thanks to K. Richard Pixley
2007-06-08* fix FTBFS with gcc 4.3, closes: #417090Michael Vogt
(thanks to Martin Michlmayr for the patch)
2007-01-12* merged from apt--mvoMichael Vogt
2006-12-20* apt-pkg/algorithms.cc:Michael Vogt
- make sure we have a candidateVer if we check it for downloadability
2006-12-19* apt-pkg/algorithms.cc:Michael Vogt
- when encountering a or-group in pkgProblemResolver::Resolver(), check if it IsCritical(), otherwise we may do checking on weak-depends and confuse the system badly
2006-12-19* merged apt--curl-https branchMichael Vogt
2006-12-18* apt-pkg/algorithms.cc: Michael Vogt
- only increase the score of installed applications if they are not obsolte (still downloadable)
2006-12-14* merged the apt-breaks-iwj branchMichael Vogt
* pulled in the other remaining ubuntu changes
2006-12-14* merged with apt--debian-sidMichael Vogt
2006-12-13* apt-pkg/algorithms.cc:Michael Vogt
- use clog instead of cout in debug
2006-12-080.6.46.3ubuntu2 change as uploaded: fix dist-upgradeIan Jackson
2006-09-08* apt-pkg/algorithms.cc:Michael Vogt
- bugfix in the InstallProcted() code (preserver the auto-install information) * cmdline/makefile: - install apt-mark as well
2006-08-25initial Breaks implementationIan Jackson
2005-11-09* merged daniel burrows fixes for the auto-mark codeMichael Vogt
Patches applied: * dburrows@debian.org--2005/apt--auto-mark--0--base-0 tag of michael.vogt@ubuntu.com--2005/apt--auto-mark--0--patch-22 * dburrows@debian.org--2005/apt--auto-mark--0--patch-1 doxygenize the new automark stuff * dburrows@debian.org--2005/apt--auto-mark--0--patch-2 Automatically update package markings after every state-changing public operation, and allow users of the dep-cache to group actions into a single action. * dburrows@debian.org--2005/apt--auto-mark--0--patch-3 Automatically update package markings after every state-changing public operation, and allow users of the dep-cache to group actions into a single action. * dburrows@debian.org--2005/apt--auto-mark--0--patch-4 Make action groups noncopyable * dburrows@debian.org--2005/apt--auto-mark--0--patch-5 Typo fix * dburrows@debian.org--2005/apt--auto-mark--0--patch-6 Add a FromUser flag to MarkKeep. * dburrows@debian.org--2005/apt--auto-mark--0--patch-7 Somehow the ActionGroup definition got duplicated; kill the duplicate. * dburrows@debian.org--2005/apt--auto-mark--0--patch-8 Cancel the automatic flag on packages that are being kept only if they are garbage. * dburrows@debian.org--2005/apt--auto-mark--0--patch-9 Don't clear the 'automatically installed' flag in MarkDelete. * dburrows@debian.org--2005/apt--auto-mark--0--patch-10 Add a FromUser flag to MarkInstall, and fix its handling of the Auto flag. * dburrows@debian.org--2005/apt--auto-mark--0--patch-11 Only clear the Auto flag on manual changes in MarkKeep. * dburrows@debian.org--2005/apt--auto-mark--0--patch-12 Make changes from the internal algorithms automatic. * dburrows@debian.org--2005/apt--auto-mark--0--patch-13 Use ActionGroups in algorithms that make lots of changes, and fix a compile error. * dburrows@debian.org--2005/apt--auto-mark--0--patch-14 Split the sweep code into a separate routine from pkgMarkUsed * dburrows@debian.org--2005/apt--auto-mark--0--patch-15 Update another call of MarkKeep to indicate that it's automatic. * dburrows@debian.org--2005/apt--auto-mark--0--patch-16 Move the mark-and-sweep code into pkgDepCache; call Sweep and document what it and Garbage are for; add a hook that can be used to generate a custom root-set function; move the big blob of regexp stuff into the custom root-set; fix the memory leak in the regexp stuff. * dburrows@debian.org--2005/apt--auto-mark--0--patch-17 Make ActionGroup take a reference instead of a pointer to the cache. * dburrows@debian.org--2005/apt--auto-mark--0--patch-18 Don't mark already-to-be-deleted packages as garbage, to imitate aptitude's behavior. * dburrows@debian.org--2005/apt--auto-mark--0--patch-19 Update apt-get for the new auto-mark protocol. * dburrows@debian.org--2005/apt--auto-mark--0--patch-20 Add a setter method for the Auto flag. * dburrows@debian.org--2005/apt--auto-mark--0--patch-21 Fix the test in apt-get about what to delete. * dburrows@debian.org--2005/apt--auto-mark--0--patch-22 Add a zero-argument mark-and-sweep routine and use it to do a mark-and-sweep on startup (so the garbage flags are initialized properly). * dburrows@debian.org--2005/apt--auto-mark--0--patch-23 Right, Status is 2 for new installs, not 0. * dburrows@debian.org--2005/apt--auto-mark--0--patch-24 POT updates. * dburrows@debian.org--2005/apt--auto-mark--0--patch-25 Actually initialize group_level to 0. * dburrows@debian.org--2005/apt--auto-mark--0--patch-26 Don't make an ActionGroup in Sweep, since there's no point and it also is an infinite loop. * dburrows@debian.org--2005/apt--auto-mark--0--patch-27 Add virtual hooks to control whether the garbage collector considers recommends and/or suggests to be strong links. * dburrows@debian.org--2005/apt--auto-mark--0--patch-28 Call the progress methods in the right order so we don't generate nonsensical progress notifications. * dburrows@debian.org--2005/apt--auto-mark--0--patch-29 Typo fix. * dburrows@debian.org--2005/apt--auto-mark--0--patch-30 Make RecommendsImportant default to true in apt, too. * dburrows@debian.org--2005/apt--auto-mark--0--patch-31 Add a release() method to action groups. * dburrows@debian.org--2005/apt--auto-mark--0--patch-32 Add an 'autoremove' command that is synonymous to '--auto-remove remove'.