diff options
author | Bogdano Arendartchuk <bogdano@mandriva.org> | 2007-05-03 21:03:27 +0000 |
---|---|---|
committer | Bogdano Arendartchuk <bogdano@mandriva.org> | 2007-05-03 21:03:27 +0000 |
commit | 928b0bed6fff9a002fcd10533fd1fa464e1bc10b (patch) | |
tree | 4341cb184f0d27e846b730ead9c94a9ebe38bf47 /RepSys/simplerpm.py | |
parent | 023b84f8f91df6f3062ff2992d1ebe3e94254532 (diff) | |
download | mgarepo-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.py | 19 |
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 |