[PATCH] adding rpm lookup by pattern

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 func/minion/modules/rpms.py |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/func/minion/modules/rpms.py b/func/minion/modules/rpms.py
index ae26cb4..b0f8bba 100644
--- a/func/minion/modules/rpms.py
+++ b/func/minion/modules/rpms.py
@@ -42,3 +42,26 @@ class RpmModule(func_module.FuncModule):
             else:
                 results.append([name, epoch, version, release, arch])
         return results
+
+    def glob(self, pattern, flatten=True):
+        """
+        Return a list of installed packages that match a pattern
+        """
+        ts = rpm.TransactionSet()
+        mi = ts.dbMatch()
+        results = []
+        if not mi:
+            return        
+        mi.pattern('name', rpm.RPMMIRE_GLOB, pattern)
+        for hdr in mi:
+            name = hdr['name']
+            epoch = (hdr['epoch'] or 0)
+            version = hdr['version']
+            release = hdr['release']
+            arch = hdr['arch']
+            if flatten:
+                results.append("%s %s %s %s %s" % (name, epoch, version,
+                                                       release, arch))
+            else:
+                results.append([name, epoch, version, release, arch])
+        return results
-- 
1.5.3.3


--------------090907050409010206020304--

_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list

[Index of Archives]     [Fedora Users]     [Linux Networking]     [Fedora Legacy List]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux