]> git.saurik.com Git - apt.git/commitdiff
Don't download "optional" files not in Release :/. master cydia_1.1.29
authorJay Freeman (saurik) <saurik@saurik.com>
Wed, 15 Feb 2017 23:17:52 +0000 (15:17 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Wed, 15 Feb 2017 23:17:52 +0000 (15:17 -0800)
apt-pkg/acquire-item.cc

index f27ef28d31b781fc07dc90585b0f07709aeffa19..82bf8a1eb917a2df2d7c64f0f38bc4d39ecec2b9 100644 (file)
@@ -1411,7 +1411,7 @@ void pkgAcqMetaClearSig::QueueIndexes(bool const verify)                  /*{{{*/
         if (TransactionManager->MetaIndexParser->Exists(Target.MetaKey) == false)
         {
            // optional targets that we do not have in the Release file are skipped
-           if (hasHashes == true && Target.IsOptional)
+           if (Target.IsOptional)
            {
               new CleanupItem(Owner, TransactionManager, Target);
               continue;
@@ -1535,6 +1535,13 @@ void pkgAcqMetaClearSig::QueueIndexes(bool const verify)                 /*{{{*/
       }
       else
       {
+        // if the source wanted these files they should have given us a release file :/
+        if (Target.IsOptional)
+        {
+           new CleanupItem(Owner, TransactionManager, Target);
+           continue;
+        }
+
         // if we have no file to patch, no point in trying
         trypdiff &= (GetExistingFilename(GetFinalFileNameFromURI(Target.URI)).empty() == false);
       }