예제 #1
0
    def _get_spec_from_srpm(self):
        path = urlparse(self.srpm_url).path
        name = os.path.basename(path).rsplit('-', 2)[0]
        ReviewDirs.workdir_setup(name)
        self.do_download_srpm()

        SRPMFile(self.srpm_file).unpack()
        file = glob(os.path.join(ReviewDirs.srpm_unpacked, name + '*.spec'))[0]
        self.spec_file = file
        self.spec_url = 'file://' + file
예제 #2
0
 def __init__(self, spec_file, srpm_file):
     ''' Create a Checks set. srpm_file and spec_file are required,
     unless invoked from ChecksLister.
     '''
     _ChecksLoader.__init__(self)
     self.spec = SpecFile(spec_file, self.flags)
     self.srpm = SRPMFile(srpm_file)
     self.srpm.unpack()
     self.data = self.Data()
     self.data.rpms = RpmDataSource(self.spec)
     self.data.buildsrc = BuildFilesSource()
     self.data.sources = SourcesDataSource(self.spec)
     self._clock = None
예제 #3
0
    def _get_spec_from_srpm(self):
        ''' Extract spec from srpm and update self.spec_url. '''
        path = urlparse(self.srpm_url).path
        name = os.path.basename(path).rsplit('-', 2)[0]
        ReviewDirs.workdir_setup(name, Settings.cache)
        self.do_download_srpm()

        SRPMFile(self.srpm_file).unpack()
        try:
            path = glob(os.path.join(ReviewDirs.srpm_unpacked,
                                     name + '*.spec'))[0]
        except IndexError:
            raise ReviewError("Cannot find spec file in srpm")
        self.spec_file = path
        self.spec_url = 'file://' + path