--- gather.py-original 2007-05-03 18:35:02.000000000 +0200 +++ gather.py-JG 2007-05-04 17:25:21.000000000 +0200 @@ -16,6 +16,9 @@ import os import shutil import sys +import logging + +log = logging.getLogger("pungi") class Gather(yum.YumBase): def __init__(self, config, pkglist): @@ -46,7 +49,6 @@ #self.doSackSetup(arches) self.doSackSetup(archlist=arches) # work around temp break in yum api self.doSackFilelistPopulate() - self.logger = yum.logging.getLogger("yum.verbose.pungi") self.pkglist = pkglist self.polist = [] self.srpmlist = [] @@ -56,15 +58,8 @@ self.compsobj.add(self.config.get('default', 'comps')) def doLoggingSetup(self, debuglevel, errorlevel): - """Setup the logging facility.""" - - - logdir = os.path.join(self.config.get('default', 'destdir'), 'logs') - if not os.path.exists(logdir): - os.makedirs(logdir) - logfile = os.path.join(logdir, '%s.%s.log' % (self.config.get('default', 'flavor'), - self.config.get('default', 'arch'))) - yum.logging.basicConfig(level=yum.logging.DEBUG, filename=logfile) + # We want to use our own logger. + pass def doFileLogSetup(self, uid, logfile): # This function overrides a yum function, allowing pungi to control @@ -76,8 +71,7 @@ transaction info""" - if not self.config.has_option('default', 'quiet'): - self.logger.info('Checking deps of %s.%s' % (po.name, po.arch)) + log.info('Checking deps of %s.%s' % (po.name, po.arch)) reqs = po.requires provs = po.provides @@ -93,13 +87,12 @@ deps = self.whatProvides(r, f, v).returnPackages() if deps is None: - self.logger.warning("Unresolvable dependency %s in %s.%s" % (r, po.name, po.arch)) + log.warning("Unresolvable dependency %s in %s.%s" % (r, po.name, po.arch)) continue for dep in deps: self.tsInfo.addInstall(dep) - if not self.config.has_option('default', 'quiet'): - self.logger.info('Added %s.%s for %s.%s' % (dep.name, dep.arch, po.name, po.arch)) + log.info('Added %s.%s for %s.%s' % (dep.name, dep.arch, po.name, po.arch)) self.resolved_deps[req] = None @@ -124,7 +117,7 @@ # Check if we have the group if not self.compsobj.has_group(group): - self.logger.error("Group %s not found in comps!" % group) + log.error("Group %s not found in comps!" % group) return packages # Get the group object to work with @@ -175,22 +168,18 @@ for line in self.pkglist: line = line.strip() if line.startswith('#'): - if not self.config.has_option('default', 'quiet'): - self.logger.info('Skipping comment: %s' % line) + log.info('Skipping comment: %s' % line) continue if line.startswith('@'): - if not self.config.has_option('default', 'quiet'): - self.logger.info('Adding group: %s' % line) + log.info('Adding group: %s' % line) grouplist.append(line.strip('@')) continue if line.startswith('-'): - if not self.config.has_option('default', 'quiet'): - self.logger.info('Adding exclude: %s' % line) + log.info('Adding exclude: %s' % line) excludelist.append(line.strip('-')) continue else: - if not self.config.has_option('default', 'quiet'): - self.logger.info('Adding package: %s' % line) + log.info('Adding package: %s' % line) addlist.append(line) # First remove the excludes @@ -219,12 +208,10 @@ mysack = yum.packageSack.ListPackageSack(matches) for match in mysack.returnNewestByNameArch(): self.tsInfo.addInstall(match) - if not self.config.has_option('default', 'quiet'): - self.logger.info('Found %s.%s' % (match.name, match.arch)) + log.info('Found %s.%s' % (match.name, match.arch)) for pkg in unmatched: - if not pkg in matchdict.keys(): - self.logger.warn('Could not find a match for %s' % pkg) + log.warn('Could not find a match for %s' % pkg) if len(self.tsInfo) == 0: raise yum.Errors.MiscError, 'No packages found to download.' @@ -262,7 +249,7 @@ for pkg in self.polist: downloads.append('%s.%s' % (pkg.name, pkg.arch)) downloads.sort() - self.logger.info("Download list: %s" % downloads) + log.info("Download list: %s" % downloads) # Package location within destdir, name subject to change/config pkgdir = os.path.join(self.config.get('default', 'destdir'), self.config.get('default', 'version'), @@ -282,8 +269,7 @@ if (os.path.exists(local) and str(os.path.getsize(local)) == pkg.packagesize): - if not self.config.has_option('default', 'quiet'): - self.logger.info("%s already exists and appears to be complete" % local) + log.info("%s already exists and appears to be complete" % local) target = os.path.join(pkgdir, os.path.basename(remote)) if os.path.exists(target): os.remove(target) # avoid traceback after interrupted download @@ -292,8 +278,7 @@ # Disable cache otherwise things won't download repo.cache = 0 - if not self.config.has_option('default', 'quiet'): - self.logger.info('Downloading %s' % os.path.basename(remote)) + log.info('Downloading %s' % os.path.basename(remote)) pkg.localpath = local # Hack: to set the localpath to what we want. # do a little dance for file:// repos... @@ -348,19 +333,16 @@ local = os.path.join(self.config.get('default', 'cachedir'), local) if os.path.exists(local) and str(os.path.getsize(local)) == pkg.packagesize: - if not self.config.has_option('default', 'quiet'): - self.logger.info("%s already exists and appears to be complete" % local) + log.info("%s already exists and appears to be complete" % local) if os.path.exists(os.path.join(pkgdir, os.path.basename(remote))) and str(os.path.getsize(os.path.join(pkgdir, os.path.basename(remote)))) == pkg.packagesize: - if not self.config.has_option('default', 'quiet'): - self.logger.info("%s already exists in tree and appears to be complete" % local) + log.info("%s already exists in tree and appears to be complete" % local) else: os.link(local, os.path.join(pkgdir, os.path.basename(remote))) continue # Disable cache otherwise things won't download repo.cache = 0 - if not self.config.has_option('default', 'quiet'): - self.logger.info('Downloading %s' % os.path.basename(remote)) + log.info('Downloading %s' % os.path.basename(remote)) pkg.localpath = local # Hack: to set the localpath to what we want. # do a little dance for file:// repos...