aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/simplerpm.py
blob: f248317448beff1262d683170daef54acbaab495 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from MgaRepo.util import execcmd

class SRPM:
    def __init__(self, filename):
        self.filename = filename
        self._getinfo()

    def _getinfo(self):
        args = ["rpm", "-qp", "--qf", "%{name} %{epoch} %{release} %{version}",
                self.filename]
        status, output = execcmd(args)
        self.name, self.epoch, self.release, self.version = output.split()
        if self.epoch == "(none)":
            self.epoch = None

    def unpack(self, topdir):
        args = ["rpm", "-i", "--nodeps", 
              "--define", "_sourcedir {0}/SOURCES".format(topdir),
              "--define", "_specdir {0}/SPECS".format(topdir),
              "--define", "_patchdir {0}/SOURCES".format(topdir),
              self.filename]
        execcmd(args)

# vim:et:ts=4:sw=4