Michael Vogt лет назад: 18
Родитель
Сommit
5292fdba6e
4 измененных файлов с 22 добавлено и 8 удалено
  1. 7 6
      apt-pkg/algorithms.cc
  2. 9 0
      apt-pkg/deb/debmetaindex.cc
  3. 1 1
      configure.in
  4. 5 1
      debian/changelog

+ 7 - 6
apt-pkg/algorithms.cc

@@ -985,17 +985,17 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
 
 		  if (Start->Type == pkgCache::Dep::DpkgBreaks)
 		  {
-		     /* Would it help if we upgraded? */
-		     if (Cache[End] & pkgDepCache::DepGCVer) {
+		     // first, try upgradring the package, if that
+		     // does not help, the breaks goes onto the
+		     // kill list
+		     // FIXME: use DoUpgrade(Pkg) instead?
+		     if (Cache[End] & pkgDepCache::DepGCVer) 
+		     {
 			if (Debug)
 			   clog << "  Upgrading " << Pkg.Name() << " due to Breaks field in " << I.Name() << endl;
 			Cache.MarkInstall(Pkg, false, 0, false);
 			continue;
 		     }
-		     if (Debug)
-			clog << "  Will not break " << Pkg.Name() << " as stated in Breaks field in " << I.Name() <<endl;
-		     Cache.MarkKeep(I, false, false);
-		     continue;
 		  }
 
 		  // Skip adding to the kill list if it is protected
@@ -1066,6 +1066,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
 	       if ((Cache[J->Dep] & pkgDepCache::DepGNow) == 0)
 	       {
 		  if (J->Dep->Type == pkgCache::Dep::Conflicts || 
+		      J->Dep->Type == pkgCache::Dep::DpkgBreaks ||
 		      J->Dep->Type == pkgCache::Dep::Obsoletes)
 		  {
 		     if (Debug == true)

+ 9 - 0
apt-pkg/deb/debmetaindex.cc

@@ -146,7 +146,16 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool GetAll) const
 	 new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description,
 			 (*Target)->ShortDesc, HashString());
       }
+      // this is normally created in pkgAcqMetaSig, but if we run
+      // in --print-uris mode, we add it here
+      new pkgAcqMetaIndex(Owner, MetaIndexURI("Release"),
+		     MetaIndexInfo("Release"), "Release",
+		     MetaIndexURI("Release.gpg"), 
+		     ComputeIndexTargets(),
+		     new indexRecords (Dist));
+
    }
+
    new pkgAcqMetaSig(Owner, MetaIndexURI("Release.gpg"),
 		     MetaIndexInfo("Release.gpg"), "Release.gpg",
 		     MetaIndexURI("Release"), MetaIndexInfo("Release"), "Release",

+ 1 - 1
configure.in

@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 
 dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.7.9ubuntu5")
+AC_DEFINE_UNQUOTED(VERSION,"0.7.9ubuntu6")
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)

+ 5 - 1
debian/changelog

@@ -1,6 +1,5 @@
 apt (0.7.9ubuntu6) hardy; urgency=low
 
-  [ Michael Vogt ]
   * cmdline/apt-key:
     - add support for a master-keyring that contains signing keys
       that can be used to sign the archive signing keys. This should
@@ -10,9 +9,14 @@ apt (0.7.9ubuntu6) hardy; urgency=low
       on amd64 in sbuild
   * apt-pkg/algorithms.cc: 
     - add APT::Update::Post-Invoke-Success script slot
+    - Make the breaks handling use the kill list. This means, that a
+      Breaks: Pkg (<< version) may put Pkg onto the remove list.
   * apt-pkg/deb/dpkgpm.cc:
     - add APT::Apport::MaxReports to limit the maximum number
       of reports generated in a single run (default to 3)
+  * apt-pkg/deb/debmetaindex.cc:
+    - add missing "Release" file uri when apt-get update --print-uris
+      is run
 
  -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 04 Feb 2008 14:28:02 +0100