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

* 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";

Michael Vogt лет назад: 19
Родитель
Сommit
e6065cfcf0
4 измененных файлов с 36 добавлено и 8 удалено
  1. 16 4
      apt-pkg/depcache.cc
  2. 1 0
      debian/apt.conf.ubuntu
  3. 11 2
      debian/changelog
  4. 8 2
      doc/examples/configure-index

+ 16 - 4
apt-pkg/depcache.cc

@@ -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;
       }

+ 1 - 0
debian/apt.conf.ubuntu

@@ -7,4 +7,5 @@ APT
   };
 
   Install-Recommends-Section "metapackages";
+  Never-MarkAuto-Section "metapackages";
 };

+ 11 - 2
debian/changelog

@@ -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
 

+ 8 - 2
doc/examples/configure-index

@@ -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";