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

policy: Assign per-version pins

Julian Andres Klode лет назад: 11
Родитель
Сommit
7fd9c353e1
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      apt-pkg/policy.cc

+ 11 - 0
apt-pkg/policy.cc

@@ -284,6 +284,17 @@ void pkgPolicy::CreatePin(pkgVersionMatch::MatchType Type,string Name,
 	 P->Priority = Priority;
 	 P->Data = Data;
 	 matched = true;
+
+	 // Find matching version(s) and copy the pin into it
+	 pkgVersionMatch Match(P->Data,P->Type);
+	 for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() != true; Ver++)
+	 {
+	    if (Match.VersionMatches(Ver)) {
+	       Pin *VP = VerPins + Ver->ID;
+	       if (VP->Type == pkgVersionMatch::None)
+		  *VP = *P;
+	    }
+	 }
       }
    }