With the recent generation of updateinfo.xml it's become obvious that
info-security is doing the wrong thing, as it displays the entire
updateinfo metadata for each package (when multiple packages can refferr
to the same metadata). This means you can get spammed with the exact
same information multiple times, for instance using:

   yum info-security FEDORA-2007-2214

 This is the obvious fix to stop that.

 You can pull it from:

   git pull http://people.redhat.com/jantill/gits/yum-utils 
yum-sec-upmd-info-uniq

...or just apply the attached patch.

-- 
James Antill <[EMAIL PROTECTED]>
diff --git a/plugins/security/security.py b/plugins/security/security.py
index f8f1cf8..a2d0ff4 100755
--- a/plugins/security/security.py
+++ b/plugins/security/security.py
@@ -159,6 +159,9 @@ class SecurityListCommands:
                 msg(" %s %-8s %s" % (str(ref['id']), md['type'], pkg))
         else:
             msg("%s %-8s %s" % (md['update_id'], md['type'], pkg))
+
+    def show_pkg_exit(self):
+        pass
             
     def doCommand(self, base, basecmd, extcmds):
         ygh = base.doPackageLists('updates')
@@ -207,18 +210,27 @@ class SecurityListCommands:
                     continue                
                 self.show_pkg(msg, pkg, md)
         ysp_chk_used_map(used_map, msg)
+
+        self.show_pkg_exit()
 #        else:
 #            return 1, [str(PluginYumExit('Bad %s commands' % basecmd))]
         return 0, [basecmd + ' done']
             
 class SecurityInfoCommands(SecurityListCommands):
+    show_pkg_info_done = {}
     def getNames(self):
         return ['info-security', 'info-sec']
 
     def show_pkg(self, msg, pkg, md, disp=None):
+        if md['update_id'] in self.show_pkg_info_done:
+            return
+        self.show_pkg_info_done[md['update_id']] = True
         msg(md)
         msg('')
     
+    def show_pkg_exit(self):
+        self.show_pkg_info_done = {}
+            
 def config_hook(conduit):
     '''
     Yum Plugin Config Hook: 

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel

Reply via email to