def run(self): if not Mock.is_available(): self.set_passed(self.PENDING, "No installation test done (mock unavailable)") return if Settings.nobuild: bad_ones = self.check_build_installed() if bad_ones == []: self.set_passed(self.PASS) else: bad_ones = list(set(bad_ones)) self.set_passed(self.FAIL, '--no-build: package(s) not installed') self.log.info('Packages required by --no-build are' ' not installed: ' + ', '.join(bad_ones)) return _mock_root_setup('While installing built packages', force=True) rpms = Mock.get_package_rpm_paths(self.spec) rpms.extend( Mock.get_package_debuginfo_paths(self.spec.get_package_nvr())) self.log.info('Installing built package(s)') output = Mock.install(rpms) if not output: self.set_passed(self.PASS) else: attachments = [self.Attachment('Installation errors', output, 3)] self.set_passed(self.FAIL, "Installation errors (see attachment)", attachments)
def run(self): if not Mock.is_available(): self.set_passed(self.PENDING, "No installation test done (mock unavailable)") return if Settings.nobuild: bad_ones = self.check_build_installed() if bad_ones == []: self.set_passed(self.PASS) else: bad_ones = list(set(bad_ones)) self.set_passed(self.FAIL, '--no-build: package(s) not installed') self.log.info('Packages required by --no-build are' ' not installed: ' + ', '.join(bad_ones)) return _mock_root_setup('While installing built packages', force=True) rpms = Mock.get_package_rpm_paths(self.spec) rpms.extend( Mock.get_package_debuginfo_paths(self.spec.get_package_nvr())) self.log.info('Installing built package(s)') output = Mock.install(rpms) if not output: self.set_passed(self.PASS) else: attachments = [ self.Attachment('Installation errors', output, 3)] self.set_passed(self.FAIL, "Installation errors (see attachment)", attachments)
def run(self): if not Mock.is_available(): self.set_passed(self.NA) return Mock.clear_builddir() errmsg = Mock.rpmbuild_bp(self.srpm) if errmsg: self.log.debug( "Cannot do rpmbuild -bp, trying with builddeps") Mock.install(self.spec.build_requires) Mock.rpmbuild_bp(self.srpm) if os.path.lexists('BUILD'): if os.path.islink('BUILD'): os.unlink('BUILD') else: shutil.rmtree('BUILD') os.symlink(Mock.get_builddir('BUILD'), 'BUILD') self.log.info('Active plugins: ' + ', '.join(self.checks.get_plugins(True))) self.set_passed(self.NA, None, [self.setup_attachment()])
def run(self): if not Mock.is_available(): self.log.info( "Mock unavailable, build and installation not checked.") self.set_passed(self.NA) return Mock.clear_builddir() errmsg = Mock.rpmbuild_bp(self.srpm) if errmsg: self.log.debug("Cannot do rpmbuild -bp, trying with builddeps") Mock.install(self.spec.build_requires) Mock.rpmbuild_bp(self.srpm) if os.path.lexists('BUILD'): if os.path.islink('BUILD'): os.unlink('BUILD') else: shutil.rmtree('BUILD') os.symlink(Mock.get_builddir('BUILD'), 'BUILD') self.log.info('Active plugins: ' + ', '.join(self.checks.get_plugins(True))) self.set_passed(self.NA, None, [self.setup_attachment()])
def _mock_root_setup(while_what, force=False): ''' Wrap mock --init. ''' class DependencyInstallError(ReviewError): ''' Raised when a package in local repo can't be installed. ''' pass Mock.init(force) if Settings.repo: repodir = Settings.repo if not repodir.startswith('/'): repodir = os.path.join(ReviewDirs.startdir, repodir) rpms = glob.glob(os.path.join(repodir, '*.rpm')) error = Mock.install(rpms) if error: raise DependencyInstallError(while_what + ': ' + error)