]> git.saurik.com Git - apt.git/commitdiff
simplify Origin matchmaking for status files
authorDavid Kalnischkies <david@kalnischkies.de>
Wed, 17 Jun 2015 17:22:13 +0000 (19:22 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 10 Aug 2015 15:25:25 +0000 (17:25 +0200)
The old check is overly complicated nowadays as we have a pretty
defining difference between packages from a Packages files coming
from with a Release file (even if the file itself doesn't exist) and
packages coming from the dpkg.status or directly out of *.deb's
as these have no associated Release file.

Git-Dch: Ignore

apt-pkg/versionmatch.cc

index c215f522c09b6e7b2dac79235bc0ce37291e2a62..2376ca8fd80de21596b866fd42b5626da1447102 100644 (file)
@@ -281,12 +281,9 @@ bool pkgVersionMatch::FileMatch(pkgCache::PkgFileIterator File)
       if (OrSite.empty() == false) {
         if (File.Site() == NULL)
            return false;
-      } else // so we are talking about file:// or status file
-      {
-        pkgCache::RlsFileIterator const RlsFile = File.ReleaseFile();
-        if (strcmp(File.Site(),"") == 0 && RlsFile->Archive != 0 && strcmp(RlsFile.Archive(),"now") == 0) // skip the status file
-           return false;
       }
+      else if (File->Release == 0)// only 'bad' files like dpkg.status file has no release file
+        return false;
       return (ExpressionMatches(OrSite, File.Site())); /* both strings match */
    }