summaryrefslogtreecommitdiff
path: root/apt-pkg/packagemanager.cc
Commit message (Collapse)AuthorAgeFilesLines
* restore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && ↵Michael Vogt2013-10-311-6/+30
| | | | APT_PKG_MINOR >= 13)
* restore binary compatiblity with the pkgPackageManager interfaceMichael Vogt2013-10-211-0/+25
|
* re-add APT::Keep-Fds:: for the dpkg status-fd in dpkgpm.cc as we always need ↵Michael Vogt2013-10-141-13/+5
| | | | this
* move the status-fd progress reporting out of the pkgDPkgPM class, at this ↵Michael Vogt2013-10-131-5/+9
| | | | point, breaks ABI/API, lets see what we can do about this
* apt-pkg/packagemanager.cc:Michael Vogt2013-07-101-2/+2
| | | | | * apt-pkg/packagemanager.cc: - increate APT::pkgPackageManager::MaxLoopCount to 5000
* do not modify DepIterator as we might check againDavid Kalnischkies2013-06-241-5/+7
| | | | | | | | | | | | | fixup for 42d51f333e8ef522fed02cdfc48663488d56c3a3 The for-loop iterating over the DepIterators which need configuration can (and will be in 'complicated' situations) run multiple times, so we can't just GlobOr on the DepIterator as it modifies it, so that the next iteration over the list ends up checking another dependency leading us into a 'Internal error, packages left unconfigured. foopkg' maybe or we are 'lucky' and calculate a solution which might break down the line Git-Dch: Ignore
* do unpacks before configures in SmartConfigureDavid Kalnischkies2013-06-091-45/+68
| | | | | | | | | | | | | | | | | | Splits the big loop over dependencies in SmartConfigure which unpacks and configures dependencies into two loops and reverse their order, so that all dependencies which need to be unpacked are handled first and only after that configures are issued for dependencies. This is needed as otherwise the unpack of a (new) dependency will be issued in between a configure call for two (or more) packages which form a loop, which means the configure calls aren't part of the same dpkg call and therefore dpkg bails out. Such tight loops should really be avoided as they are usually wrong – and in reality the dependencies in libreoffice were greatly simplified thanks to Rene Engelhard so the problem is gone for the benefit of all. Closes: 707578
* * apt-pkg/packagemanager.cc:David Kalnischkies2012-10-241-0/+2
| | | | | - do not do lock-step configuration for a M-A:same package if it isn't unpacked yet in SmartConfigure and do not unpack a M-A:same package again in SmartUnPack if we have already configured it (LP: #1062503)
* unpack versions only in case a different version from the packageDavid Kalnischkies2012-09-031-1/+4
| | | and avoid re-unpack otherwise (Closes: #670900)
* * apt-pkg/packagemanager.cc:David Kalnischkies2012-08-301-1/+3
| | | | | - unpack versions in case a different version from the package is currently in unpack state to recover from broken system states (like different file in M-A:same package and other dpkg errors)
* * apt-pkg/packagemanager.cc:David Kalnischkies2012-07-181-1/+1
| | | | - do not segfault if nothing can be configured to statisfy a pre-depends (e.g. in a pre-depends loop) (Closes: #681958)
* * apt-pkg/packagemanager.cc:David Kalnischkies2012-05-191-1/+1
| | | - do not run into loop on new-pre-depends-breaks (Closes: #673536)
* ensure that apti18n.h is included last as advertised (Closes: #671623)David Kalnischkies2012-05-051-1/+2
|
* * apt-pkg/packagemanager.cc:Malcolm Scott2012-04-191-2/+2
| | | | | - iterate over all pre-depends or-group member instead of looping endlessly over the first member in SmartUnpack (LP: #985852)
* * apt-pkg/packagemanager.cc:David Kalnischkies2012-04-161-1/+1
| | | | - init counter in SmartConfigure so that the loop-breaker isn't triggered at random… (Closes: #669060)
* apt-pkg/packagemanager.cc: tweak MaxLoopCount to 500 and improve the error ↵Michael Vogt2012-04-121-3/+3
| | | | message
* add APT::pkgPackageManager::MaxLoopCount to ensure that theMichael Vogt2012-03-131-2/+12
| | | | ordering code does not get into a endless loop when it flip-flops between two states
* merged from lp:~donkult/apt/experimentalMichael Vogt2012-03-131-264/+327
|\
| * recheck dependencies in SmartUnpack after a change, tooDavid Kalnischkies2012-03-131-165/+196
| |
| * * apt-pkg/packagemanager.cc:David Kalnischkies2012-03-131-79/+111
| | | | | | | | - recheck all dependencies if we changed a package in SmartConfigure as this could break an earlier dependency (LP: #940396)
| * ensure that the fullname of a package is displayed in the debug outputDavid Kalnischkies2012-03-121-29/+29
| |
| * show which dependency couldn't be satisfied in the debug outputDavid Kalnischkies2012-03-071-1/+1
| |
* | * apt-pkg/packagemanager.cc:Michael Vogt2012-03-071-13/+13
|/ | | - fix inconsistent clog/cout usage in the debug output
* merge with apt/experimentalDavid Kalnischkies2012-03-061-8/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * apt-pkg/packagemanager.cc: - fix bug in predepends handling - ensure that packages that needs unpackaging are unpacked before they are configured (LP: #927993) [ Julian Andres Klode ] * apt-pkg/deb/deblistparser.cc: - Set the Essential flag on APT instead of only Important * apt-pkg/packagemanager.cc: - Do not use immediate configuration for packages with the Important flag * Treat the Important flag like the Essential flag with those differences: - No Immediate configuration (see above) - Not automatically installed during dist-upgrade - No higher score for installation ordering
| * * apt-pkg/packagemanager.cc:Michael Vogt2012-03-061-4/+13
| |\ | | | | | | | | | - fix bug in predepends handling - ensure that packages that needs unpackaging are unpacked before they are configured (LP: #927993)
| | * * apt-pkg/packagemanager.cc:Michael Vogt2012-03-021-4/+13
| | | | | | | | | | | | - when calculating pre-dependencies ensure that both unpack and configure are considered (instead of only configure) LP: #927993
| * | * Treat the Important flag like the Essential flag with two differences:Julian Andres Klode2012-03-051-2/+4
| | | | | | | | | | | | - No Immediate configuration (see above) - Not automatically installed during dist-upgrade
| * | * apt-pkg/packagemanager.cc:Julian Andres Klode2012-03-051-2/+1
| |/ | | | | - Do not use immediate configuration for packages with the Important flag
* | fix a bunch of cppcheck "(warning) Member variable '<#>' is notDavid Kalnischkies2012-03-041-6/+5
| | | | | | | | initialized in the constructor." messages (no functional change)
* | * apt-pkg/packagemanager.cc:David Kalnischkies2012-03-031-12/+40
| | | | | | | | - do not try to a void a breaks if the broken package pre-depends on the breaker, but let dpkg auto-deconfigure it
* | show in the debug output if we are looping in the avoid breaksDavid Kalnischkies2012-03-031-1/+6
| |
* | eanup the ordering-code avoiding a break (no function change)David Kalnischkies2012-03-031-28/+23
|/
* fix a few esoteric cppcheck errors/warnings/infosDavid Kalnischkies2012-01-201-1/+0
|
* fix typos in comments reported by the lintian in very-picky-modesDavid Kalnischkies2012-01-201-5/+5
|
* * apt-pkg/packagemanager.cc:David Kalnischkies2012-01-191-1/+7
| | | | - ignore breaks on not-installed versions while searching for breakage loops as we don't have to avoid them
* * apt-pkg/cacheiterators.h:David Kalnischkies2012-01-191-1/+1
| | | | | | | | | - return the correct version arch for all+foreign, too The flag is interpreted at a few other places in different styles so this commit ensures that the flag check is consistent everywhere (checking for Same in flag style is a bit too much as it isn't used in combination with others anyway, but who knows and just for consistency)
* factor out the detection of self-conflicts into Dep::IsIgnorableDavid Kalnischkies2012-01-131-1/+1
|
* do not enter an endless loop for (essential) pre-dependency loopsDavid Kalnischkies2011-10-311-12/+17
|
* * apt-pkg/packagemanager.cc:David Kalnischkies2011-10-171-9/+2
| | | | - do not fail on unpacked packages in SmartUnPack, just don't shedule them for unpack, but do all checks and configure them
* remove an extra argument for the error mesage formatDavid Kalnischkies2011-09-191-1/+1
|
* enable APT in unpack/configure ordering to handle loops as wellDavid Kalnischkies2011-09-141-156/+301
|\ | | | | | | | | as tight dependencies between immediate packages better enabling also the possibility to mark all packages as immediate (at least Closes: #353290, #540227, #559733, #621836, #639290)
| * Fixed a problem where the loop flag would be removed prematurely.Christopher Baines2011-08-161-15/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SmartConfigure xserver-xorg-video-apm (1:1.2.3-0ubuntu1) SmartConfigure xserver-xorg-core (2:1.9.0-0ubuntu7.3) <- Loop flag set on xserver-xorg-core SmartConfigure xserver-xorg (1:7.5+6ubuntu3) SmartConfigure xserver-xorg-core (2:1.9.0-0ubuntu7.3) (Only Correct Dependancies) <- Loop flag removed prematurely SmartConfigure libpciaccess0 (0.12.0-1) SmartConfigure libpixman-1-0 (0.18.4-1) SmartConfigure xserver-xorg-video-all (1:7.5+6ubuntu3) SmartConfigure xserver-xorg-video-apm (1:1.2.3-0ubuntu1) (Only Correct Dependancies) SmartConfigure xserver-xorg-core (2:1.9.0-0ubuntu7.3) <- Incorrectly detects first run as no loop flag Also applied this fix to the SmartUnpack method.
| * Fixed a bug where SmartUnPack would be called with Immediate=true (to ↵Christopher Baines2011-08-151-35/+40
| | | | | | | | | | | | | | | | | | resolve dependancies in SmartConfigure) yet Pkg would not be immediately configured. This was because SmartUnPack still required the immediate flag to be set on Pkg. Also inproved the debuging adding indented output for SmartUnPack and SmartConfigure and specifying in the output if SmartConfigure or SmartUnPack was called just to Correct something (PkgLoop = true) or not.
| * Applied DonKult (David)'s excellent fix for inproving the loop management. ↵Christopher Baines2011-08-141-8/+11
| | | | | | | | | | | | | | Now both SmartConfigure and SmartUnPack can be called mutiple times on the same package, this is to make sure that when loops are broken all packages that are required are kept in the same dpkg run.
| * Fix a bug introduced in Rev.2159 on line 398, also fix another potential bug.Christopher Baines2011-08-131-5/+5
| |
| * Added code to allow SmartConfigure to be called mutiple times on the same ↵Christopher Baines2011-08-121-9/+17
| | | | | | | | package to ensure all dependancies are satisfied.
| * Inproved debug with versioningChristopher Baines2011-08-121-5/+13
| |
| * Small fix for loop handeling.Christopher Baines2011-08-121-1/+1
| |
| * Added a RmFlag function to remvoe the loop flag, this should prevent any ↵Christopher Baines2011-08-111-4/+11
| | | | | | | | | | | | errors or wierd behaviour because of the loop flag being used at mutiple stages in both SmartUnpack and SmartConfigure.
| * Improved errors and messages in general and improved the comments.Christopher Baines2011-08-071-132/+63
| | | | | | | | | | | | Removed quite a bit of code I used while learning about how apt handles things. Added some extra checks and warnings relevent for Immediate Configuration. Removed a wierd section I put in to prevent a segfault at 724+, this appears no longer to be needed.