Просмотр исходного кода

* apt-pkg/depcache.cc:
- do the autoremove mark process also for required packages to handle
these illegally depending on lower priority packages (Closes: #583517)

David Kalnischkies лет назад: 16
Родитель
Сommit
8378913047
2 измененных файлов с 9 добавлено и 3 удалено
  1. 5 2
      apt-pkg/depcache.cc
  2. 4 1
      debian/changelog

+ 5 - 2
apt-pkg/depcache.cc

@@ -1638,8 +1638,11 @@ bool pkgDepCache::MarkRequired(InRootSetFunc &userFunc)
    {
       if(!(PkgState[p->ID].Flags & Flag::Auto) ||
 	  (p->Flags & Flag::Essential) ||
-	  userFunc.InRootSet(p))
-          
+	  userFunc.InRootSet(p) ||
+	  // be nice even then a required package violates the policy (#583517)
+	  // and do the full mark process also for required packages
+	  (p.CurrentVer().end() != true &&
+	   p.CurrentVer()->Priority == pkgCache::State::Required))
       {
 	 // the package is installed (and set to keep)
 	 if(PkgState[p->ID].Keep() && !p.CurrentVer().end())

+ 4 - 1
debian/changelog

@@ -6,8 +6,11 @@ apt (0.7.26~exp6) UNRELEASED; urgency=low
     - forward manual-installed bit on package disappearance
   * apt-pkg/deb/debsystem.cc:
     - add better config item for extended_states file
+  * apt-pkg/depcache.cc:
+    - do the autoremove mark process also for required packages to handle
+      these illegally depending on lower priority packages (Closes: #583517)
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Thu, 27 May 2010 17:34:51 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com>  Fri, 28 May 2010 19:03:30 +0200
 
 apt (0.7.26~exp5) experimental; urgency=low