summaryrefslogtreecommitdiff
path: root/apt-pkg/packagemanager.cc
AgeCommit message (Collapse)Author
2012-03-06merge with apt/experimentalDavid Kalnischkies
* 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
2012-03-06* apt-pkg/packagemanager.cc:Michael Vogt
- fix bug in predepends handling - ensure that packages that needs unpackaging are unpacked before they are configured (LP: #927993)
2012-03-05* Treat the Important flag like the Essential flag with two differences:Julian Andres Klode
- No Immediate configuration (see above) - Not automatically installed during dist-upgrade
2012-03-05* apt-pkg/packagemanager.cc:Julian Andres Klode
- Do not use immediate configuration for packages with the Important flag
2012-03-04fix a bunch of cppcheck "(warning) Member variable '<#>' is notDavid Kalnischkies
initialized in the constructor." messages (no functional change)
2012-03-03* apt-pkg/packagemanager.cc:David Kalnischkies
- do not try to a void a breaks if the broken package pre-depends on the breaker, but let dpkg auto-deconfigure it
2012-03-03show in the debug output if we are looping in the avoid breaksDavid Kalnischkies
2012-03-03eanup the ordering-code avoiding a break (no function change)David Kalnischkies
2012-03-02* apt-pkg/packagemanager.cc:Michael Vogt
- when calculating pre-dependencies ensure that both unpack and configure are considered (instead of only configure) LP: #927993
2012-01-20fix a few esoteric cppcheck errors/warnings/infosDavid Kalnischkies
2012-01-20fix typos in comments reported by the lintian in very-picky-modesDavid Kalnischkies
2012-01-19* apt-pkg/packagemanager.cc:David Kalnischkies
- ignore breaks on not-installed versions while searching for breakage loops as we don't have to avoid them
2012-01-19* apt-pkg/cacheiterators.h:David Kalnischkies
- 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)
2012-01-13factor out the detection of self-conflicts into Dep::IsIgnorableDavid Kalnischkies
2011-10-31do not enter an endless loop for (essential) pre-dependency loopsDavid Kalnischkies
2011-10-17* apt-pkg/packagemanager.cc:David Kalnischkies
- do not fail on unpacked packages in SmartUnPack, just don't shedule them for unpack, but do all checks and configure them
2011-09-19remove an extra argument for the error mesage formatDavid Kalnischkies
2011-09-14enable APT in unpack/configure ordering to handle loops as wellDavid Kalnischkies
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)
2011-09-13merge with debian/sidDavid Kalnischkies
2011-09-13merge with debian/experimentalDavid Kalnischkies
2011-09-13reorder includes: add <config.h> if needed and include it at firstDavid Kalnischkies
2011-09-09M-A:same lockstep unpack should operate on installedDavid Kalnischkies
packages first (LP: #835625)
2011-08-17* apt-pkg/packagemanager.cc, apt-pkg/pkgcache.cc:David Kalnischkies
- ignore "self"-conflicts for all architectures of a package instead of just for the architecture of the package locked at in the ordering of installations too (Closes: #802901)
2011-08-16Fixed a problem where the loop flag would be removed prematurely.Christopher Baines
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.
2011-08-15Fixed a bug where SmartUnPack would be called with Immediate=true (to ↵Christopher Baines
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.
2011-08-15merged from the debian-sid branchMichael Vogt
2011-08-14Applied DonKult (David)'s excellent fix for inproving the loop management. ↵Christopher Baines
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.
2011-08-13Fix a bug introduced in Rev.2159 on line 398, also fix another potential bug.Christopher Baines
2011-08-12Added code to allow SmartConfigure to be called mutiple times on the same ↵Christopher Baines
package to ensure all dependancies are satisfied.
2011-08-12Inproved debug with versioningChristopher Baines
2011-08-12Small fix for loop handeling.Christopher Baines
2011-08-11fix a few more cppcheck performance and scope warningsDavid Kalnischkies
2011-08-11cppcheck complains about some possible speed improvements which could beDavid Kalnischkies
done on the mirco-optimazation level, so lets fix them: (performance) Possible inefficient checking for emptiness. (performance) Prefer prefix ++/-- operators for non-primitive types.
2011-08-11Added a RmFlag function to remvoe the loop flag, this should prevent any ↵Christopher Baines
errors or wierd behaviour because of the loop flag being used at mutiple stages in both SmartUnpack and SmartConfigure.
2011-08-07Improved errors and messages in general and improved the comments.Christopher Baines
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.
2011-08-07Fixed a bug on line 623, I picked this up after seeing SmartUnpack trying to ↵Christopher Baines
remove packages once they were confiured to solve Conflicts with the previous version! Luckily EarlyRemove is sane, and properly checks, so I think this was just cosmetic. Also fixed a bug on line 374 with SmartUnpack not checking if a dependancy has been removed, this bug was definately harmful.
2011-08-01Only stop on SigInt if the system state is right (still needs more testing).Christopher Baines
More inprovements to the package manager to prevent packages from being configured twice.
2011-07-27SmartConfigure and SmartUnPack have got smarter! The full descriptions of ↵Christopher Baines
what they now do is in the apt-pkg/packagemanager.cc file. The short version is that they will both put the system in a state where there operation can be achived, this involves calling themselves and each other recursively. Because SmartConfigure can now configure a package and all its dependancies itself, there is no current need for DepAdd (at least in packagemanager.cc), SmartConfigure also performs the function of the short lived VerifyConfigure as it checks through all the dependancies before performing configuration. Another change is to use the ConfigureAll method in OrderInstall to clean up any packages left unconfigured during ImmConfigureAll. This is necessary to inprove the safety of ImmConfiguration and because of the new SIGINT functionality of dpkgpm.cc relies on no packages being left unconfigured between pairs of dpkg calls. While writing this commit log, I have realised that the SIGINT stuff is a prototype and not ready to be used yet as I have only tested it twice.
2011-07-16Dont try to configure packages using SmartConfigure when not performing ↵Christopher Baines
immediate configuration.
2011-07-14Inproved errors and warnings, will now warn if package configuration fails, ↵Christopher Baines
but only error if the package is not configured at the end.
2011-07-14More changes to make imediate configuration work for all packages, Christopher Baines
I have stolen the Loop flag from orderlist.cc as it didnt seem to use it anymore.
2011-07-13More changes to the SmartUnpack method to allow imediate configuration of ↵Christopher Baines
all packages.
2011-07-06Added a APT::Immediate-Configure-All option to enable imediate configuration ↵Christopher Baines
for all packages. Began adding to the SmartUnpack method to prevent dependancy loops breaking apt.
2011-07-05Flag the package in the SmartUnPack method as UnPacked while solving ↵Christopher Baines
breakages to prevent loops.
2011-07-05Fix for reinstallation of packagesChristopher Baines
2011-07-05[ David Kalnischkies ]Christopher Baines
* doc/makefile: - create doxygen directory to avoid depending on magic (Closes: #628799) * cmdline/apt-key: - explicitly state that net-update is not supported if no url is set - require to be root for add, rm, update and net-update - clarify update vs. net-update in different distros (Closes: #632043) * debian/apt.symbols: - forgot 'mips' in the list for all architecture dependent symbols - comment out gcc-4.5 specific symbols as gcc-4.6 is now default - the symbol for PrintStatus() is architecture dependent * apt-pkg/policy.cc: - do not segfault in pinning if a package with this name doesn't exist. Thanks to Ferdinand Thommes for the report! - Defaults is a vector of Pin not of PkgPin - ensure that only the first specific stanza for a package is used - save all stanzas which had no effect in Unmatched - allow package:architecure in Package: - remove invalid pkgcache.bin and rebuild it if possible - log reinstall commands in history.log * apt-pkg/init.cc: - don't set deprecated APT::Acquire::Translation, thanks Jörg Sommer! * cmdline/apt-config.cc: - show Acquire::Languages and APT::Architectures settings in 'dump' (Closes: 626739) * apt-pkg/orderlist.cc: - ensure that an old version of a package with a provides can never satisfy a dependency of a newer version of this package [ Michael Vogt ] * methods/mirror.cc: - ignore lines starting with "#" in the mirror file - ignore non http urls in the mirrors - append the dist (e.g. sid, wheezy) as a query string when asking for a suitable mirror * apt-pkg/deb/deblistparser.cc: - include all known languages when building the apt cache (LP: #794907) * apt-pkg/deb/debindexfile.cc: - remove some no longer valid checks for "TranslationsAvailable()" [ Kenneth Solbø Andersen ] * apt-pkg/deb/dpkgpm.cc: - set permissions of term.log to root.adm and 644 (LP: #404724) [ Chris Leick ] * various typo and syntax corrections in doc/*.xml [Chris Baines] * Began to fix DepAdd for imediate configuration of all packages
2011-07-05Changed check in the SmartUnpack method, reverted change in the DepAdd method.Christopher Baines
2011-07-05Removed some debug stuff, corrected the VerifyConfigure calls to ↵Christopher Baines
VerifyAndConfigure
2011-07-04Added temp debug statement.Christopher Baines
2011-07-03Added debug output to package manager.Christopher Baines