Blame patch

Packit 436967
RHBZ: #1729039
Packit 436967
Upstream status: RHEL >= 8.0.0 only
Packit 436967
Packit 436967
Add modinfo -F vermagic KMOD to the ksc-report, namely the section
Packit 436967
identifier.
Packit 436967
Packit 436967
Before: {kmod.ko}
Packit 436967
Now:    {kmod.ko@4.18.0-48.el8.x86_64 SMP mod_unload modversions}
Packit 436967
Packit 436967
This will help to determine against which kernel were modules
Packit 436967
compiled against. This is a non-intrusive change that does not
Packit 436967
alter the existing structure of ksc report and requires only minor
Packit 436967
changes to existing ksc parsers/lexers.
Packit 436967
Packit 436967
Signed-off-by: Čestmír Kalina <ckalina@redhat.com>
Packit 436967
---
Packit 436967
 ksc.py | 13 ++++++++++++-
Packit 436967
 1 file changed, 12 insertions(+), 1 deletion(-)
Packit 436967
Packit 436967
diff --git a/ksc.py b/ksc.py
Packit 436967
index 2664d26..57df894 100755
Packit 436967
--- a/ksc.py
Packit 436967
+++ b/ksc.py
Packit 436967
@@ -63,6 +63,7 @@ class Ksc(object):
Packit 436967
         self.releasedir = None
Packit 436967
         self.symvers = None
Packit 436967
         self.arch = None
Packit 436967
+        self.vermagic = {}
Packit 436967
         if mock:
Packit 436967
             self.releasename = '7.0'
Packit 436967
         else:
Packit 436967
@@ -77,6 +78,7 @@ class Ksc(object):
Packit 436967
         self.justifications = {}
Packit 436967
         self.matchdata = None
Packit 436967
         self.total = None
Packit 436967
+        self.vermagic = {}
Packit 436967
Packit 436967
     def main(self, mock_options=None):
Packit 436967
         """
Packit 436967
@@ -401,7 +403,10 @@ class Ksc(object):
Packit 436967
Packit 436967
                 f.write(command)
Packit 436967
                 for ko_file in self.all_symbols_used:
Packit 436967
-                    f.write("\n{%s}\n\n" % os.path.basename(ko_file))
Packit 436967
+                    f.write("\n{%s@%s}\n\n" % (
Packit 436967
+                        os.path.basename(ko_file),
Packit 436967
+                        self.vermagic[ko_file].strip()
Packit 436967
+                    ))
Packit 436967
                     self.write_result(f, ko_file)
Packit 436967
Packit 436967
             if not self.mock:
Packit 436967
@@ -544,6 +549,12 @@ class Ksc(object):
Packit 436967
Packit 436967
         self.defined_symbols[path] = set()
Packit 436967
Packit 436967
+        try:
Packit 436967
+            self.vermagic[path] = run("modinfo -F vermagic '%s'" % path)
Packit 436967
+        except Exception as e:
Packit 436967
+            print(e)
Packit 436967
+            sys.exit(1)
Packit 436967
+
Packit 436967
         try:
Packit 436967
             out = run("nm '%s'" % path)
Packit 436967
         except Exception as e:
Packit 436967
-- 
Packit 436967
2.21.0