summaryrefslogtreecommitdiff
path: root/apt-pkg/algorithms.cc
Commit message (Collapse)AuthorAgeFilesLines
* make ResolveByKeep() more clever and hold back packages that would go into a ↵Michael Vogt2011-07-141-6/+34
| | | | broken policy state by the upgrade
* convert a lot of places to use IsNegative instead of checking by handDavid Kalnischkies2011-05-111-23/+8
| | | | for the three different dependencies
* cppcheck: (style) Variable 'State' is assigned a value that is never usedDavid Kalnischkies2011-04-161-3/+1
|
* Remove the "pseudopackage" handling of Architecture: all packages forDavid Kalnischkies2011-03-081-64/+0
| | | | | | | | | Multi-Arch; instead, Arch: all packages only satisfy dependencies for the native arch, except where the Arch: all package is declared Multi-Arch: foreign. (Closes: #613584) This has the sideeffect that arch:all packages internally show up as coming from the native arch - so packages with the architecture "all" doesn't exist any longer in the pkgcache
* merged from lp:~mvo/apt/mvoMichael Vogt2011-02-101-2/+2
|\
| * * merged lp:~evfool/apt/fix641673:Michael Vogt2011-02-101-2/+2
| | | | | | | | * merged lp:~evfool/apt/fix418552: - Grammar fix for bug LP: #418552, thanks to Robert Roth
* | * apt-pkg/algorithms.cc:David Kalnischkies2011-02-071-1/+22
|/ | | | - mark pseudo packages of installed all packages as configured in the simulation as we don't call configure for these packages
* * apt-pkg/algorithms.cc:David Kalnischkies2010-11-291-0/+7
| | | | | - mark all installed packages first without auto installation in a dist-upgrade to prefer upgrading packages instead of installing new packages in versioned or-groups (Closes: #605394)
* * apt-pkg/algorithms.cc:David Kalnischkies2010-11-101-0/+1
| | | | - if the package was explicitly marked as ToRemove don't consider it as a candidate for FixByInstall
* merged lp:~mvo/apt/conflicts-on-virtuals to better deal withMichael Vogt2010-09-151-10/+19
|\ | | | | conflicts/breaks against virtual packages (LP: #614993)
| * remove duplicated test, move test for conflicts higher up, better debug outputMichael Vogt2010-09-031-24/+15
| |
| * apt-pkg/algorithms.cc: show debug output only if debug option is givenMichael Vogt2010-08-311-3/+4
| |
| * apt-pkg/algorithms.cc: if a package was added to the kill list via a ↵Michael Vogt2010-08-311-1/+2
| | | | | | | | DpkgBreaks, make sure to break in the loop (just like for a conflict)
| * apt-pkg/algorithms.cc: in the case of conflicts/breaks against a Provide ↵Michael Vogt2010-08-311-0/+17
|/ | | | Start.AllTarget() returns all non-canidates as well, we want to filter them out
* do not unconditional print the new debugoutput for "FixByInstall"David Kalnischkies2010-08-141-1/+2
|
* * apt-pkg/algorithms.cc:David Kalnischkies2010-08-131-11/+29
| | | | | | | | | | | | | | | | | - 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
* * apt-pkg/algorithms.cc:David Kalnischkies2010-08-101-37/+37
| | | | - change the debug outputs to display also arch of the package and version dependencies information
* * merge the remaining Ubuntu change:Michael Vogt2010-06-091-2/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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)
| * merged from debianMichael Vogt2009-07-301-37/+77
| |\
| * \ merged from debian-sidMichael Vogt2008-11-241-3/+8
| |\ \
| * \ \ * apt-pkg/algorithms.cc: Michael Vogt2008-02-211-1/+5
| |\ \ \ | | | | | | | | | | | | | | | - add APT::Update::Post-Invoke-Success script slot (LP: #188127)
| * \ \ \ merged from mvoMichael Vogt2008-02-061-6/+7
| |\ \ \ \
| * \ \ \ \ * Merged apt-authentication-reliabilty branch. This meansMichael Vogt2008-01-161-2/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | | implement AptAuthenticationReliabtlity specMichael Vogt2007-12-211-2/+1
| | | | | | |
| * | | | | | * apt-pkg/algorithms.cc:Colin Watson2008-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | | | | | | * apt-pkg/contrib/fileutl.cc:David Kalnischkies2010-04-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | | | | | fix compiler error if compiled with -std=c++0xDavid Kalnischkies2010-03-011-5/+5
| | | | | | |
* | | | | | | Add yet another pseudo package which isn't as pseudo as the others:David Kalnischkies2010-02-121-4/+48
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | The 'not dead yet' releaseMichael Vogt2009-07-211-23/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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)
| * | | | | | * add hook for MarkInstall and MarkDelete (closes: #470035)David Kalnischkies2009-06-301-20/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | | | | add the various foldmarkers in apt-pkg & cmdline (no code change)David Kalnischkies2009-06-301-3/+0
| | | | | | |
* | | | | | | * apt-pkg/acquire.cc:Michael Vogt2009-07-211-3/+10
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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)
| * | | | | | * apt-pkg/algorithms.cc:Michael Vogt2009-06-231-2/+6
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | - consider recommends when making the scores for the problem resolver
* | | | | | merge the AutoInstOk patch from debian-experimentalMichael Vogt2009-06-301-1/+1
| | | | | |
* | | | | | * support IsAutoInstallOk in the resolver tooMichael Vogt2009-06-291-8/+20
| | | | | | | | | | | | | | | | | | * honor the dpkg hold state in IsAutoInstallOk (closes: #64141)
* | | | | | * add Debug::pkgDepCache::Marker with more detailed debug output Michael Vogt2009-06-291-26/+65
|/ / / / / | | | | | | | | | | | | | | | * add Debug::pkgProblemResolver::ShowScores and make the scores adjustable
* | | | | * apt-pkg/acquire-item.cc:Michael Vogt2008-10-281-1/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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)
| * | | | | Forgot to remove regex.h include in previous commit. Now doneEugene V. Lyubimkin2008-10-261-1/+0
| | | | | |
| * | | | | Switched from regexp to using existing URI class to strip user/password.Eugene V. Lyubimkin2008-10-261-15/+4
| | | | | |
| * | | | | Corrected determining if regexp matched.Eugene V. Lyubimkin2008-10-251-2/+3
| | | | | |
| * | | | | Strip user/password from URL in error message.Eugene V. Lyubimkin2008-10-251-1/+17
|/ / / / /
* | | | | Fix some typos in docs and translations (thanks to timeless, closes: 368665)Luca Bruno2008-10-031-1/+1
| | | | |
* | | | | * apt-pkg/packagemanager.cc, apt-pkg/deb/dpkgpm.cc:Michael Vogt2008-10-011-1/+2
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | - 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)
* | | | - Make the breaks handling use the kill list. This means, that aMichael Vogt2008-02-061-6/+7
| |_|/ |/| | | | | Breaks: Pkg (<< version) may put Pkg onto the remove list.
* | | * apt-pkg/algorithms.cc: Michael Vogt2008-02-011-1/+5
| | | | | | | | | - add APT::Update::Post-Invoke-Success script slot
* | | * apt-pkg/algorithms.cc:Michael Vogt2008-01-101-1/+1
|/ / | | | | | | | | | | | | - 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.
* / * move the ListUpdate() code from cachefile.h into algorithms.{cc,h}Michael Vogt2008-01-071-1/+75
|/ | | | as it does not require a cachefile at all
* * Applied patch from Peter Eisentraut <peter_e@gmx.net> to fix aOtavio Salvador2007-12-161-2/+2
| | | | | grammatical error ("manual installed" -> "manually installed"), closes: #438136. *
* * dpkg-triggers: Deal properly with new package states.Michael Vogt2007-09-061-0/+2
|
* * Removed the more leftover #pragma interface/implementationMichael Vogt2007-06-081-3/+0
|\ | | | | closes: #306937 (thanks to Andreas Henriksson for the patch)