Example #1
0
 def rpms_from_spec(self):
     '''
     Returns list of rpms created from spec_file
     '''
     rpm_pattern = re.compile("(^.*?)-\d+.\d+.*$")
     proc_data = utils.subprocess_popen_call(["rpm", "-q", "--specfile", "--define",
                                              "scl_prefix " + type(self).prefix,
                                              self.full_path_spec])
     if proc_data['returncode']:
         raise CalledProcessError(cmd='rpm', returncode=proc_data['returncode'])
     rpms = proc_data['stdout'].splitlines()
     return {rpm_pattern.search(x).groups()[0] for x in rpms}
Example #2
0
    def download(self):
        '''
        Download srpm of package from selected repo using koji.
        '''
        with ChangeDir(self.pkg_dir):
            proc_data = subprocess_popen_call([
                "koji", "download-build", "--arch=src",
                "--latestfrom=" + type(self).koji_tag, self.package
            ])
            if proc_data['returncode']:
                raise DownloadFailException(proc_data['stderr'])

        self.srpm_file = self.get_file(".src.rpm")
Example #3
0
    def download(self):
        '''
        Download srpm of package from selected repo using koji.
        '''
        with ChangeDir(self.pkg_dir):
            proc_data = subprocess_popen_call(["koji", "download-build",
                                               "--arch=src",
                                               "--latestfrom=" + type(self).koji_tag,
                                               self.package])
            if proc_data['returncode']:
                raise DownloadFailException(proc_data['stderr'])

        self.srpm_file = self.get_file(".src.rpm")
Example #4
0
    def dependencies(self):
        '''
        Returns all dependencies of the package found in selected repo
        '''
        proc_data = subprocess_popen_call(["dnf", "repoquery", "--arch=src",
                                           "--disablerepo=*", "--enablerepo=" + type(self).repo,
                                           "--requires", self.package])
        if proc_data['returncode']:
            if proc_data['stderr'] == "Error: Unknown repo: '{0}'\n".format(type(self).repo):
                raise ex.UnknownRepoException('Repository {} is probably disabled'.format(
                    type(self).repo))

        all_deps = set(proc_data['stdout'].splitlines()[1:])
        return all_deps
Example #5
0
    def download(self):
        '''
        Download srpm of package from selected repo using dnf.
        '''
        proc_data = subprocess_popen_call(["dnf", "download", "--disablerepo=*",
                                           "--enablerepo=" + type(self).repo,
                                           "--destdir", self.pkg_dir,
                                           "--source", self.package])

        if proc_data['returncode']:
            if proc_data['stderr'] == "Error: Unknown repo: '{0}'\n".format(type(self).repo):
                raise ex.UnknownRepoException('Repository {} is probably disabled'.format(
                    type(self).repo))
            else:
                raise ex.DownloadFailException(proc_data['stderr'])
        self.srpm_file = self.get_file('.src.rpm')