]> git.saurik.com Git - apt.git/commitdiff
* Applied patch from Guillem Jover <guillem.jover@nokia.com> to use
authorMichael Vogt <michael.vogt@ubuntu.com>
Thu, 26 Jul 2007 08:27:28 +0000 (10:27 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Thu, 26 Jul 2007 08:27:28 +0000 (10:27 +0200)
  dpkg-architecture to get the host architecture (closes: #407187)
      * vi.po: completed to 532t, again. Closes: #429899
      * gl.po: completed to 532t. Closes: #429506
      * vi.po: completed to 532t. Closes: #428672

apt-pkg/depcache.cc
debian/changelog
doc/examples/configure-index

index 7f571945412cf7be2b3173c0f18bff5aa1343454..c2187244907fa241779449e3e1080bc5e523b3a0 100644 (file)
 
 #include <apti18n.h>    
 
+// helper for Install-Recommends-Sections and Never-MarkAuto-Sections
+static bool 
+ConfigValueInSubTree(const char* SubTree, const char *needle)
+{
+   Configuration::Item const *Opts;
+   Opts = _config->Tree(SubTree);
+   if (Opts != 0 && Opts->Child != 0)
+   {
+      Opts = Opts->Child;
+      for (; Opts != 0; Opts = Opts->Next)
+      {
+        if (Opts->Value.empty() == true)
+           continue;
+        if (strcmp(needle, Opts->Value.c_str()) == 0)
+           return true;
+      }
+   }
+   return false;
+}
+
+
 pkgDepCache::ActionGroup::ActionGroup(pkgDepCache &cache) :
   cache(cache), released(false)
 {
@@ -954,11 +975,10 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
                         << " as dep of " << Pkg.Name() 
                         << std::endl;
            // now check if we should consider it a automatic dependency or not
-           string sec = _config->Find("APT::Never-MarkAuto-Section","");
-           if(Pkg.Section() && (string(Pkg.Section()) ==  sec))
+           if(Pkg.Section() && ConfigValueInSubTree("APT::Never-MarkAuto-Sections", Pkg.Section()))
            {
               if(_config->FindB("Debug::pkgDepCache::AutoInstall",false) == true)
-                 std::clog << "Setting NOT as auto-installed because its a direct dep of a package in section " << sec << std::endl;
+                 std::clog << "Setting NOT as auto-installed (direct dep of pkg in APT::Never-MarkAuto-Section)" << std::endl;
               MarkInstall(InstPkg,true,Depth + 1, true);
            }
            else 
@@ -1131,6 +1151,7 @@ pkgCache::VerIterator pkgDepCache::Policy::GetCandidateVer(PkgIterator Pkg)
    return Last;
 }
                                                                        /*}}}*/
+
 // Policy::IsImportantDep - True if the dependency is important                /*{{{*/
 // ---------------------------------------------------------------------
 /* */
@@ -1146,13 +1167,9 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator Dep)
       // sections
       // FIXME: this is a meant as a temporarly solution until the 
       //        recommends are cleaned up
-      string s = _config->Find("APT::Install-Recommends-Section","");
-      if(s.size() > 0) 
-      {
-        const char *sec = Dep.ParentVer().Section();
-        if (sec && strcmp(sec, s.c_str()) == 0)
-           return true;
-      }
+      const char *sec = Dep.ParentVer().Section();
+      if (sec && ConfigValueInSubTree("APT::Install-Recommends-Sections", sec))
+        return true;
    }
    else if(Dep->Type == pkgCache::Dep::Suggests)
      return _config->FindB("APT::Install-Suggests", false);
index 579dd4e5f0955fc828296d70abc9062f6b9c5021..8961a0257386417892408474bfc89abf2506f33e 100644 (file)
@@ -1,8 +1,15 @@
 apt (0.7.5) UNRELEASED; urgency=low
 
+  [ Otavio Salvador ]
   * Applied patch from Guillem Jover <guillem.jover@nokia.com> to use
     dpkg-architecture to get the host architecture (closes: #407187)
 
+  [ Michael Vogt ]
+  * apt-pkg/depcache.cc:
+    - support a list of sections for:
+      APT::Install-Recommends-Sections
+      APT::Never-MarkAuto-Sections
+
  -- Otavio Salvador <otavio@ossystems.com.br>  Wed, 25 Jul 2007 20:16:46 -0300
 
 apt (0.7.4) unstable; urgency=low
index bf086e9c10f8411c65f6b803a25c55af3fa5e4d5..ab3657a586e595feef45864d050013bee62466dc 100644 (file)
@@ -101,7 +101,7 @@ APT
   Install-Suggests "false";
 
   // consider dependencies of packages in this section manual
-  Never-MarkAuto-Section "metapackages";
+  Never-MarkAuto-Sections {"metapackages"; "universe/metapackages"; };
 
   // Write progress messages on this fd (for stuff like base-config)
   Status-Fd "-1";