From 83cb4069352c9e30482dcbb75a5c60de26a3cf90 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 12 Aug 2009 01:07:54 +0200 Subject: With the introduction of the Is{Delete,Install}Ok hooks the apt flag --ignore-hold only works partly: The holds are to strongly enforced in these hooks - this commit brings the old (and expected) behaviour back. [apt-pkg/depcache.cc] - restore the --ignore-hold effect in the Is{Delete,Install}Ok hooks --- apt-pkg/depcache.cc | 4 ++-- debian/changelog | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 13abbe5ed..228750b74 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -823,7 +823,7 @@ void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, bool pkgDepCache::IsDeleteOk(PkgIterator const &Pkg,bool rPurge, unsigned long Depth, bool FromUser) { - if (FromUser == false && Pkg->SelectedState == pkgCache::State::Hold) + if (FromUser == false && Pkg->SelectedState == pkgCache::State::Hold && _config->FindB("APT::Ignore-Hold",false) == false) { if (DebugMarker == true) std::clog << OutputInDepth(Depth) << "Hold prevents MarkDelete of " << Pkg << " FU=" << FromUser << std::endl; @@ -1085,7 +1085,7 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, bool pkgDepCache::IsInstallOk(PkgIterator const &Pkg,bool AutoInst, unsigned long Depth, bool FromUser) { - if (FromUser == false && Pkg->SelectedState == pkgCache::State::Hold) + if (FromUser == false && Pkg->SelectedState == pkgCache::State::Hold && _config->FindB("APT::Ignore-Hold",false) == false) { if (DebugMarker == true) std::clog << OutputInDepth(Depth) << "Hold prevents MarkInstall of " << Pkg << " FU=" << FromUser << std::endl; diff --git a/debian/changelog b/debian/changelog index 16394b067..0f7669930 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,6 +25,8 @@ apt (0.7.22.3) unstable; urgency=low * ftparchive/writer.cc: - add lzma support also here, patch for this (and inspiration for the one above) by Robert Millan, thanks! + * apt-pkg/depcache.cc: + - restore the --ignore-hold effect in the Is{Delete,Install}Ok hooks [ George Danchev ] * cmdline/apt-cache.cc: -- cgit v1.2.3