Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 316735 Details for
Bug 452283
Traceback from yum-builddep while doing transaction
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
new yum-builddep which fixes this issue
yum-builddep.py (text/plain), 5.58 KB, created by
seth vidal
on 2008-09-15 12:27:34 UTC
(
hide
)
Description:
new yum-builddep which fixes this issue
Filename:
MIME Type:
Creator:
seth vidal
Created:
2008-09-15 12:27:34 UTC
Size:
5.58 KB
patch
obsolete
>#!/usr/bin/python -tt > ># This program is free software; you can redistribute it and/or modify ># it under the terms of the GNU General Public License as published by ># the Free Software Foundation; either version 2 of the License, or ># (at your option) any later version. ># ># This program is distributed in the hope that it will be useful, ># but WITHOUT ANY WARRANTY; without even the implied warranty of ># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ># GNU Library General Public License for more details. ># ># You should have received a copy of the GNU General Public License ># along with this program; if not, write to the Free Software ># Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. > >import sys >sys.path.insert(0,'/usr/share/yum-cli') > >import yum >from yum.misc import getCacheDir > >from cli import * >from utils import YumUtilBase > >from urlparse import urljoin >from urlgrabber.progress import TextMeter > > >class YumBuildDep(YumUtilBase): > NAME = 'yum-builddep' > VERSION = '1.0' > USAGE = '"usage: yum-builddep [options] package1 [package2] [package..]' > > def __init__(self): > YumUtilBase.__init__(self, > YumBuildDep.NAME, > YumBuildDep.VERSION, > YumBuildDep.USAGE) > self.logger = logging.getLogger("yum.verbose.cli.yumbuildep") > self.main() > > def main(self): > # Add util commandline options to the yum-cli ones > self.optparser = self.getOptionParser() > # Parse the commandline option and setup the basics. > try: > opts = self.doUtilConfigSetup() > except yum.Errors.RepoError, e: > self.logger.error("Cannot handle specific enablerepo/disablerepo options.") > sys.exit(50) > > # Check if there is anything to do. > if len(self.cmds) < 1: > self.optparser.print_help() > sys.exit(0) > > if self.conf.uid != 0: > self.logger.error("Error: You must be root to install packages") > sys.exit(1) > > # Setup yum (Ts, RPM db, Repo & Sack) > self.doUtilYumSetup() > # Do the real action > # solve for each srpm and put the pkgs into a ts > self.get_build_deps() > > self.buildTransaction() > if len(self.tsInfo) < 1: > print 'No uninstalled build requires' > sys.exit() > > self.doTransaction() > > def setupSourceRepos(self): > # enable the -source repos for enabled primary repos > archlist = rpmUtils.arch.getArchList() + ['src'] > for repo in self.repos.listEnabled(): > if not repo.id.endswith('-source'): > srcrepo = '%s-source' % repo.id > else: > repo.close() > self.repos.disableRepo(repo.id) > srcrepo = repo.id > > for r in self.repos.findRepos(srcrepo): > if r in self.repos.listEnabled(): > continue > self.logger.info('Enabling %s repository' % r.id) > r.enable() > # Setup the repo, without a cache > r.setup(0) > # Setup pkgSack with 'src' in the archlist > self._getSacks(archlist=archlist,thisrepo=r.id) > > # go through each of the pkgs, figure out what they are/where they are > # if they are not a local package then run > # Setup source repos > #self.setupSourceRepos() > # get all of their deps > # throw them into a ts > # run the ts > > def get_build_deps(self): > srcnames = [] > srpms = [] > for arg in self.cmds: > if arg.endswith('.src.rpm'): > srpms.append(yum.packages.YumLocalPackage(self.ts, arg)) > elif arg.endswith('.src'): > srcnames.append(arg) > else: > srcnames.append('%s.src' % arg) > > if srcnames: > self.setupSourceRepos() > exact, match, unmatch = yum.packages.parsePackages(self.pkgSack.returnPackages(), srcnames, casematch=1) > srpms += exact + match > > if len(unmatch): > exact, match, unmatch = yum.packages.parsePackages(self.rpmdb.returnPackages(), unmatch, casematch=1) > if len(unmatch): > self.logger.error("No such package(s): %s" % > ", ".join(unmatch)) > sys.exit(1) > > for srpm in srpms: > for dep in srpm.requiresList(): > if dep.startswith("rpmlib("): continue > try: > pkg = self.returnPackageByDep(dep) > print pkg > if not self.rpmdb.installed(name=pkg.name): > self.tsInfo.addInstall(pkg) > > except yum.Errors.YumBaseError, e: > self.logger.error("Error: %s" % e) > sys.exit(1) > > >if __name__ == '__main__': > import locale > # This test needs to be before locale.getpreferredencoding() as that > # does setlocale(LC_CTYPE, "") > try: > locale.setlocale(locale.LC_ALL, '') > except locale.Error, e: > # default to C locale if we get a failure. > print >> sys.stderr, 'Failed to set locale, defaulting to C' > os.environ['LC_ALL'] = 'C' > locale.setlocale(locale.LC_ALL, 'C') > > if True: # not sys.stdout.isatty(): > import codecs > sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout) > sys.stdout.errors = 'replace' > > util = YumBuildDep() > >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 452283
: 316735