Merge pull request #644 from jberry-suse/leaper-sle-origin

Leaper modification for SLE workflow
This commit is contained in:
Ludwig Nussel 2017-01-18 13:49:02 +01:00 committed by GitHub
commit 6079cf4359
2 changed files with 33 additions and 6 deletions

View File

@ -63,6 +63,7 @@ class ReviewBot(object):
def __init__(self, apiurl = None, dryrun = False, logger = None, user = None, group = None):
self.apiurl = apiurl
self.ibs = apiurl.startswith('https://api.suse.de')
self.dryrun = dryrun
self.logger = logger
self.review_user = user

View File

@ -89,6 +89,9 @@ class Leaper(ReviewBot.ReviewBot):
self.packages = {}
def prepare_review(self):
# SLE workflow is not concerned with origin.
if self.ibs:
return
# update lookup information on every run
self.factory.parse_lookup('openSUSE:Leap:42.3')
@ -128,6 +131,28 @@ class Leaper(ReviewBot.ReviewBot):
self.logger.warn("Could not get source info for %s/%s@%s" % (src_project, src_package, src_rev))
return False
if self.ibs and target_project.startswith('SUSE:SLE'):
# True or None (open request) are acceptable for SLE.
if self._check_factory(target_package, src_srcinfo, 'openSUSE.org:openSUSE:Factory') is not False:
self.logger.info('found package in openSUSE.org:openSUSE:Factory')
return True
if self._check_factory(target_package, src_srcinfo, 'openSUSE.org:openSUSE:Leap:42.2') is not False:
self.logger.info('found package in openSUSE.org:openSUSE:Leap:42.2')
return True
devel_project, devel_package = self.get_devel_project('openSUSE.org:openSUSE:Factory', target_package)
if devel_project is not None and devel_package is not None:
if self._check_factory(devel_package, src_srcinfo, devel_project) is not False:
self.logger.info('found package in {}/{}'.format(devel_project, devel_package))
return True
else:
self.logger.info('no devel project found for {}/{}'.format('openSUSE.org:openSUSE:Factory', target_package))
self.logger.info('sources not found in Factory, Leap:42.2, or devel project')
return False
origin = None
if package in self.lookup_423:
origin = self.lookup_423[package]
@ -276,20 +301,21 @@ class Leaper(ReviewBot.ReviewBot):
return False
def _check_factory(self, target_package, src_srcinfo):
good = self.factory._check_project('openSUSE:Factory', target_package, src_srcinfo.verifymd5)
def _check_factory(self, target_package, src_srcinfo, target_project='openSUSE:Factory'):
good = self.factory._check_project(target_project, target_package, src_srcinfo.verifymd5)
if good:
return good
good = self.factory._check_requests('openSUSE:Factory', target_package, src_srcinfo.verifymd5)
good = self.factory._check_requests(target_project, target_package, src_srcinfo.verifymd5)
if good or good == None:
self.logger.debug("found request to Factory")
return good
good = self.factory._check_project('openSUSE:Factory:NonFree', target_package, src_srcinfo.verifymd5)
target_project_nonfree = '{}:NonFree'.format(target_project)
good = self.factory._check_project(target_project_nonfree, target_package, src_srcinfo.verifymd5)
if good:
return good
good = self.factory._check_requests('openSUSE:Factory:NonFree', target_package, src_srcinfo.verifymd5)
good = self.factory._check_requests(target_project_nonfree, target_package, src_srcinfo.verifymd5)
if good or good == None:
self.logger.debug("found request to Factory:NonFree")
self.logger.debug('found request to {}'.format(target_project_nonfree))
return good
return False