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}
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")
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")
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
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')