| |
@@ -5,6 +5,7 @@
|
| |
import copy
|
| |
import json
|
| |
import os
|
| |
+ from collections import namedtuple
|
| |
|
| |
import productmd
|
| |
from kobo.rpmlib import parse_nvra
|
| |
@@ -41,15 +42,31 @@
|
| |
)
|
| |
return result
|
| |
|
| |
+ def get_diff_rpms_file(self, rpms_file_path, new_compose_path):
|
| |
+ """
|
| |
+ Diffs rpms from a new compose againts an rpms.json file
|
| |
+ """
|
| |
+ old_rm = productmd.Rpms()
|
| |
+ old_rm.load(rpms_file_path)
|
| |
+
|
| |
+ new_rm = productmd.compose.Compose(new_compose_path).rpms
|
| |
+
|
| |
+ result = self._make_diff(old_rm, new_rm)
|
| |
+
|
| |
+ return result
|
| |
+
|
| |
def get_diff(self, old_compose_path, new_compose_path):
|
| |
"""Compare composes and produce a dict with difference information"""
|
| |
- result = {}
|
| |
-
|
| |
old_rm = productmd.compose.Compose(old_compose_path).rpms
|
| |
- result["old_compose"] = old_rm.compose.id
|
| |
-
|
| |
new_rm = productmd.compose.Compose(new_compose_path).rpms
|
| |
- result["new_compose"] = new_rm.compose.id
|
| |
+
|
| |
+ result = self._make_diff(old_rm, new_rm)
|
| |
+
|
| |
+ return result
|
| |
+
|
| |
+ def _make_diff(self, old_rm, new_rm):
|
| |
+ """ Creates a diff between two productmd Rpms objects. """
|
| |
+ result = {}
|
| |
|
| |
srpms_old = self.get_srpms(old_rm)
|
| |
srpms_new = self.get_srpms(new_rm)
|
| |
@@ -57,6 +74,9 @@
|
| |
rpms_old = self.get_rpms(old_rm)
|
| |
rpms_new = self.get_rpms(new_rm)
|
| |
|
| |
+ result["old_compose"] = old_rm.compose.id
|
| |
+ result["new_compose"] = new_rm.compose.id
|
| |
+
|
| |
for i in (
|
| |
list(srpms_old.keys())
|
| |
+ list(srpms_new.keys())
|
| |
@lsedlar can you take look?
Signed-off-by: Martin Curlej mcurlej@redhat.com