With the introduction of the Is{Delete,Install}Ok hooks the apt flag
authorDavid Kalnischkies <kalnischkies@gmail.com>
Tue, 11 Aug 2009 23:07:54 +0000 (01:07 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Tue, 11 Aug 2009 23:07:54 +0000 (01:07 +0200)
--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
debian/changelog

index 13abbe5..228750b 100644 (file)
@@ -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;
index 16394b0..0f76699 100644 (file)
@@ -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: