36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
|
From c3638240da5f1b56a807cdf802495704bd395cc2 Mon Sep 17 00:00:00 2001
|
||
|
From: Pino Toscano <ptoscano@redhat.com>
|
||
|
Date: Thu, 18 Sep 2014 16:58:54 +0200
|
||
|
Subject: [PATCH] rpm: reuse the same iteration set
|
||
|
|
||
|
When resolving the requirements of a package, use the same set with the
|
||
|
results, instead of creating a new set and merging it with the results
|
||
|
set.
|
||
|
---
|
||
|
src/rpm.ml | 5 ++---
|
||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/rpm.ml b/src/rpm.ml
|
||
|
index 3a75ea0..4c2156a 100644
|
||
|
--- a/src/rpm.ml
|
||
|
+++ b/src/rpm.ml
|
||
|
@@ -212,13 +212,12 @@ let rpm_get_all_requires pkgs =
|
||
|
let provides =
|
||
|
try Hashtbl.find rpm_providers x
|
||
|
with Not_found -> rpm_pkg_whatprovides (get_rpm ()) x in
|
||
|
- let newset = Array.fold_left (
|
||
|
+ Array.fold_left (
|
||
|
fun newset p ->
|
||
|
match rpm_package_of_string p with
|
||
|
| None -> newset
|
||
|
| Some x -> StringSet.add p newset
|
||
|
- ) StringSet.empty provides in
|
||
|
- StringSet.union set newset
|
||
|
+ ) set provides
|
||
|
with Not_found -> set
|
||
|
) StringSet.empty reqs in
|
||
|
pkgs'
|
||
|
--
|
||
|
1.9.3
|
||
|
|