aboutsummaryrefslogtreecommitdiffstats
path: root/RepSys/simplerpm.py
diff options
context:
space:
mode:
authorBogdano Arendartchuk <bogdano@mandriva.org>2007-05-03 21:03:27 +0000
committerBogdano Arendartchuk <bogdano@mandriva.org>2007-05-03 21:03:27 +0000
commit928b0bed6fff9a002fcd10533fd1fa464e1bc10b (patch)
tree4341cb184f0d27e846b730ead9c94a9ebe38bf47 /RepSys/simplerpm.py
parent023b84f8f91df6f3062ff2992d1ebe3e94254532 (diff)
downloadmgarepo-928b0bed6fff9a002fcd10533fd1fa464e1bc10b.tar
mgarepo-928b0bed6fff9a002fcd10533fd1fa464e1bc10b.tar.gz
mgarepo-928b0bed6fff9a002fcd10533fd1fa464e1bc10b.tar.bz2
mgarepo-928b0bed6fff9a002fcd10533fd1fa464e1bc10b.tar.xz
mgarepo-928b0bed6fff9a002fcd10533fd1fa464e1bc10b.zip
Added one cheap copy of the sync subcommand from mdvsys.
It required two sensitive changes: - in order to parse the spec file, "rpm" module was used, so this is the brand new package dependency; and - as RepSys already had one "rpm" module, we had to rename it to "simplerpm" in order to allow access to the module from python-rpm (I think py2.4 is still used a lot so we can't use absolute imports)
Diffstat (limited to 'RepSys/simplerpm.py')
-rw-r--r--RepSys/simplerpm.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/RepSys/simplerpm.py b/RepSys/simplerpm.py
new file mode 100644
index 0000000..d448c5f
--- /dev/null
+++ b/RepSys/simplerpm.py
@@ -0,0 +1,19 @@
+#!/usr/bin/python
+from RepSys.util import execcmd
+
+class SRPM:
+ def __init__(self, filename):
+ self.filename = filename
+ self._getinfo()
+
+ def _getinfo(self):
+ cmdstr = "rpm -qp --qf '%%{name} %%{epoch} %%{release} %%{version}' %s"
+ status, output = execcmd(cmdstr % self.filename)
+ self.name, self.epoch, self.release, self.version = output.split()
+ if self.epoch == "(none)":
+ self.epoch = None
+
+ def unpack(self, topdir):
+ execcmd("rpm -i --define '_topdir %s' %s" % (topdir, self.filename))
+
+# vim:et:ts=4:sw=4