summaryrefslogtreecommitdiff
path: root/apt-pkg/packagemanager.cc
AgeCommit message (Collapse)Author
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
2011-07-02The modification to orderlist.cc is from a patch DonKult (David) gave me, ↵Christopher Baines
The modifications to the packagemanager should fix the test-provides-gone-with-upgrade testcase.
2011-06-27Removed temp debug lines.Christopher Baines
2011-06-27Fixed missing argument in VerifyConfigure call.Christopher Baines
2011-06-27Initial commit from my GSoC project. Added a verification function ↵Christopher Baines
(VerifyConfigure) to the configuration methods.
2011-05-17* apt-pkg/pkgcache.h:David Kalnischkies
- clean up mess with the "all" handling in MultiArch to fix LP: #733741 cleanly for everyone now
2011-05-16* apt-pkg/packagemanager.cc:David Kalnischkies
- ensure for Multi-Arch:same packages that they are unpacked in lock step even in immediate configuration (Closes: #618288)
2011-03-08Remove the "pseudopackage" handling of Architecture: all packages forDavid Kalnischkies
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
2010-09-29* apt-pkg/packagemanager.cc:David Kalnischkies
- Add a space between period and 'Please' and unfuzzy all translations
2010-06-10* apt-pkg/orderlist.cc:David Kalnischkies
- untouched packages are never missing * apt-pkg/packagemanager.cc: - packages that are not touched doesn't need to be unpacked
2010-04-03* apt-pkg/packagemanager.cc:David Kalnischkies
- don't try to "unpack" pseudo packages twice
2010-04-01merged from lp:~donkult/apt/sidMichael Vogt
2010-03-16apt-pkg/packagemanager.cc: more debug output for debug::pkgPackageManagerMichael Vogt
2010-03-01Remove and Unpack operations should not be ignored for pseudo packages -David Kalnischkies
they should trigger the remove/unpack of the "all" package. Otherwise - as this package has no dependencies - it will be triggered to late. The Configuration step doesn't need it as the "all" package is a dependency of the pseudo-package, so it will be configured before the pseudo packages are tried: So at this step the ignorance is okay. Also IsMissing() should report the status of the all package if an pseudo package is checked instead of always reporting no-miss.
2010-02-13[BREAK] merge MultiArch-ABI. We don't support MultiArch,David Kalnischkies
but we support the usage of the new ABI so libapt users can start to prepare for MultiArch (Closes: #536029) MultiArch isn't ready for Primetime usage for now, but the branch has managed to be a NOP if used in SingleArch-mode so we can start to promote the use of the new MultiArchable API-extensions.
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.