Age | Commit message (Collapse) | Author |
|
MarkInstall to be a bit more easy to read and possibily a bit faster -
and add a small testcase for these situations to ensure the same behaviour
|
|
as if the recommends can't be installed there is not much sense in checking
if it a new recommends or not
|
|
for the three different dependencies
|
|
|
|
* apt-pkg/depcache.cc:
- Really release action groups only once (Closes: #622744)
* apt-pkg/acquire-item.cc:
- Only try to rename existing Release files (Closes: #622912)
|
|
|
|
- really include 'rc' packages in the delete count by fixing a
typo which exists since 1999 in the source… (LP: #761175)
|
|
|
|
- remove pseudo handling leftover from SetReInstall
|
|
seperate IsModeChangeOk which checks sanity and dpkg holds
|
|
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
|
|
- party revert fix in 0.8.11.2 which marked all packages as manual
installed if the FromUser bit is set in the MarkInstall call.
The default for this bit is true and aptitude depends on the old
behavior so the package is only marked as manual if its not marked
("old" behavior) or if automatic installation is enabled - which
aptitude disables always (see also #613775)
|
|
- mark a package which was requested to be installed on commandline
always as manual regardless if it is already marked or not as the
marker could be lost later by the removal of rdepends (Closes: #612557)
|
|
|
|
|
|
- add a RealFileExists method and check that your configuration files
are real files to avoid endless loops if not (Closes: #604401)
|
|
be installed before setting the InstallVer as otherwise the Sizes states
will be confused in some cases - this can happen now as SetCandidateRelease
works also on packages which are not installed now (or will never in the
final solution)
|
|
- add SetCandidateRelease() to set a candidate version and
the candidates of dependencies if needed to a specified
release (Closes: #572709)
- change pkg/release behavior to use the new SetCandidateRelease
so installing packages from experimental or backports is easier
|
|
of a package to the version which is already the candidate
(apt-get does that for all packages it installs for simplicity)
|
|
- don't install previously not installed providers in a try
to statisfy a "Breaks: provides" dependency by upgrade
|
|
- do not remove packages which the user requested for installation
explicitly while satisfying other install requests (Closes: #598669)
|
|
- support 100-pinning in Release file with ButAutomaticUpgrades
as requested by the backports crew (Closes: #596097)
* apt-pkg/deb/deblistparser.cc:
- overrule NotAutomatic in case of ButAutomaticUpgrades
|
|
- now that apt-get purge works on 'rc' packages let the MarkDelete
pass this purge forward to the non-pseudo package for pseudos
|
|
|
|
- Only try upgrade for Breaks if there is a newer version, otherwise
handle it as Conflicts (by removing it) (helps for #591881).
|
|
- handle "circular" conflicts for "all" packages correctly
|
|
- add another round of const& madness as the previous round accidently
NOT override the virtual GetCandidateVer() method (Closes: #587725)
|
|
|
|
* apt-pkg/contrib/configuration.{cc,h}:
- add a wrapper to match strings against configurable regex patterns
|
|
- SetCandidateVer for all pseudo packages
- SetReInstall for the "all" package of a pseudo package
|
|
- switch {,Install-}Size to unsigned long long
- deal with long long, not with int to remove 2GB Limit (LP: #250909)
- deprecate AddSize with Multiplier as it is unused and switch to
boolean instead to handle the sizes more gracefully.
- switch i{Download,Usr}Size from double to (un)signed long long
* cmdline/apt-get.cc:
- use unsigned long long instead of double to store values it gets
|
|
boolean instead to handle the sizes more gracefully.
|
|
- switch {,Install-}Size to unsigned long long
* apt-pkg/depcache.cc:
- deal with long long, not with int to remove 2GB Limit (LP: #250909)
|
|
- correct "Dangerous iterator usage." pointed out by cppcheck
|
|
|
|
- do the autoremove mark process also for required packages to handle
these illegally depending on lower priority packages (Closes: #583517)
|
|
- add better config item for extended_states file
|
|
- be doublesure that the killer query is empty before starting reinstall
|
|
|
|
|
|
|
|
in his package choices
The previous implementation tried to install the package for arch A and
if this fails B, C and so on. This results in wrong architecture choices
for packages which depend on other pseudo packages, so he will now try
to install the dependencies first before trying the package itself and
only if this fails he tries the next architecture.
|
|
- fix incorrect std::cout usage for debug output
|
|
- "reinstall" the correct version for a killed pseudo package
|
|
but we support the usage of the new ABI so libapt users
can start to prepare for MultiArch (Closes: #536029)
|
|
- remove Auto-Installed information from extended_states
together with the package itself (Closes: #572364)
|
|
Removing pseudo packages is cool so far, the problem is that we will
remove with the not required removing so many pseudo packages that
we will have after the remove a few packages with NO installed pseudo
package (e.g. metapackages are good candidates) - so we will walk over
all these packages and try to find a pseudopackage for this package
we can install without breaking something.
|
|
installed reverse dependency and which also doesn't provide something.
They cause problems if this pseudo packages get new dependencies.
As a consequence we also need to recheck the dependencies of a killed
pseudo package (and especially the providers of these dependencies)
to really kill all non required packages.
|
|
packages in a group if one is marked.
The auto-installed flag is from now on Architecture bound:
A section without an architecture tag will be treated as applying
to all architectures - the next write operation will take care of
this by creating separate sections for the architectures.
|
|
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.
|