]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/depcache.cc:
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 14 Mar 2007 10:38:41 +0000 (11:38 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 14 Mar 2007 10:38:41 +0000 (11:38 +0100)
  - added "APT::Never-MarkAuto-Section" and consider dependencies
    of packages in this section manual
* debian/apt.conf.ubuntu:
  - added APT::Never-MarkAuto-Section "metapackages";

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

index 81e1eeb336237986a59bc94ed6358077fd782a56..fe8a617acba070f73ebf509b785a0a5c9de0e4c4 100644 (file)
@@ -955,11 +955,23 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst,
               std::clog << "Installing " << InstPkg.Name() 
                         << " as dep of " << Pkg.Name() 
                         << std::endl;
-           MarkInstall(InstPkg,true,Depth + 1, false, ForceImportantDeps);
 
-           // Set the autoflag, after MarkInstall because MarkInstall unsets it
-           if (P->CurrentVer == 0)
-              PkgState[InstPkg->ID].Flags |= Flag::Auto;
+           // 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(_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;
+              MarkInstall(InstPkg,true,Depth + 1, true, ForceImportantDeps);
+           }
+           else 
+           {
+              // mark automatic dependency
+              MarkInstall(InstPkg,true,Depth + 1, false, ForceImportantDeps);
+              // Set the autoflag, after MarkInstall because MarkInstall unsets it
+              if (P->CurrentVer == 0)
+                 PkgState[InstPkg->ID].Flags |= Flag::Auto;
+           }
         }
         continue;
       }
index 8d095f17e63436dfa8c1676669fec29ac6a07c41..3a9945b54d103d307c1b2b9fed04bdacd005c041 100644 (file)
@@ -7,4 +7,5 @@ APT
   };
 
   Install-Recommends-Section "metapackages";
+  Never-MarkAuto-Section "metapackages";
 };
index aa6a01692a89e252e372aee15a5ddebb496cb8cb..3038e49bdf6defb4e12a3e1c9c9e54a75ca025cf 100644 (file)
@@ -1,3 +1,13 @@
+apt (0.6.46.4ubuntu10) feisty; urgency=low
+
+  * apt-pkg/depcache.cc:
+    - added "APT::Never-MarkAuto-Section" and consider dependencies 
+      of packages in this section manual
+  * debian/apt.conf.ubuntu:
+    - added APT::Never-MarkAuto-Section "metapackages";
+
+ --
+
 apt (0.6.46.4ubuntu9) feisty; urgency=low
 
   * debian/control:
@@ -5,7 +15,6 @@ apt (0.6.46.4ubuntu9) feisty; urgency=low
     - Set Ubuntu maintainer address
   * apt-pkg/cdrom.cc:
     - only unmount if APT::CDROM::NoMount is false
-  * methods/cdrom.cc:  
     - only umount if it was mounted by the method before
   * cmdline/apt-get.cc:
     - fix version output in autoremove list (LP#68941)
@@ -16,7 +25,7 @@ apt (0.6.46.4ubuntu9) feisty; urgency=low
   * doc/examples/configure-index:
     - document APT::Acquire::Translation
   
- -- 
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 13 Mar 2007 15:24:39 +0100
 
 apt (0.6.46.4ubuntu8) feisty; urgency=low
 
index e5d1f2ab30704d891ce09876a944f60f1ac5da91..2bcafa39d69ee99de504216b9e547d93128b1631 100644 (file)
@@ -96,8 +96,14 @@ APT
 
   // consider Recommends, Suggests as important dependencies that should
   // be installed by default
-  APT::Install-Recommends "false";
-  APT::Install-Suggests "false";
+  Install-Recommends "false";
+  Install-Suggests "false";
+
+  // install recommends automatically for packages in this section
+  Install-Recommends-Section "metapackages";
+  
+  // consider dependencies of packages in this section manual
+  Never-MarkAuto-Section "metapackages";
 
   // Write progress messages on this fd (for stuff like base-config)
   Status-Fd "-1";