[yum-cvs] yum-utils yum-builddep.py,1.7,1.8
Panu Matilainen
pmatilai at linux.duke.edu
Thu Jan 11 19:20:51 UTC 2007
Update of /home/groups/yum/cvs/yum-utils
In directory login1.linux.duke.edu:/tmp/cvs-serv27649
Modified Files:
yum-builddep.py
Log Message:
- resurrect builddep by package name (rh #220842)
- enable core type plugins (eg to allow for fastestmirror)
Index: yum-builddep.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/yum-builddep.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- yum-builddep.py 18 Sep 2006 15:31:50 -0000 1.7
+++ yum-builddep.py 11 Jan 2007 19:20:48 -0000 1.8
@@ -40,7 +40,8 @@
logger = logging.getLogger("yum.verbose.yumbuilddep")
opts, args = parseArgs()
base = cli.YumBaseCli()
- base.doConfigSetup(init_plugins=False) # init yum, without plugins
+ base.doConfigSetup(init_plugins=True,
+ plugin_types=(yum.plugins.TYPE_CORE,))
base.conf.uid = os.geteuid()
if base.conf.uid != 0:
@@ -62,26 +63,32 @@
base.doSackSetup(archlist)
+ srcnames = []
+ srpms = []
for arg in args:
- if arg.endswith(".src.rpm"):
- srpms = [yum.packages.YumLocalPackage(ts, arg)]
+ if arg.endswith('.src.rpm'):
+ srpms.append(yum.packages.YumLocalPackage(ts, arg))
+ elif arg.endswith('.src'):
+ srcnames.append(arg)
else:
+ srcnames.append('%s.src' % arg)
+
+ exact, match, unmatch = yum.packages.parsePackages(base.pkgSack.returnPackages(), srcnames, casematch=1)
+ srpms += exact + match
+ if len(unmatch) > 0:
+ 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:
- srpms = base.pkgSack.returnNewestByNameArch((arg, 'src'))
+ pkg = base.returnPackageByDep(dep)
+ if not base.rpmdb.installed(name=pkg.name):
+ base.tsInfo.addInstall(pkg)
except yum.Errors.PackageSackError, e:
logger.error("Error: %s" % e)
sys.exit(1)
-
- for srpm in srpms:
- for dep in srpm.requiresList():
- if dep.startswith("rpmlib("): continue
- try:
- pkg = base.returnPackageByDep(dep)
- if not base.rpmdb.installed(name=pkg.name):
- base.tsInfo.addInstall(pkg)
- except yum.Errors.PackageSackError, e:
- logger.error("Error: %s" % e)
- sys.exit(1)
(result, resultmsgs) = base.buildTransaction()
if len(base.tsInfo) == 0:
More information about the Yum-cvs-commits
mailing list