On 08/21/2007 02:12 PM, Jeroen van Meeuwen wrote:
This [1] is a rather ugly dependency checker for any number of repositories. It uses yum to search for requirements that cannot be resolved.
I thought maybe because there's no dependency checking yet on updates and such (don't know the details), and I needed this anyway, I'd just dump it here and collect some useful comments.
When executing the script you'll have a few options:
--config pass it a yum config with repos listed in it (in fact it's just walking over all sections, check if they're enabled and take the name, baseurl and mirrorlist) It doesn't do el-reposdir thingies.
--repo Just check this or that repo (provide full "baseurl")
--recent Just check the most recent set of packages and ignore any older versions of foo, bar and baz
--efficient This is the really weird one because I could just iterate over all packages and try to resolve their requirements one by one, but in this mode the script just builds a list of requirements, yum.misc.unique()'s them, and searches the providers for each of these. Saves like a ton of time.
--arch Obvious. Maybe useless. Defaults to i386.
--debuglevel Description says: "Whatever debuglevel yum takes" < and that's true, because the only thing the script does with it is writing it to the temp yum config.
Again, one morning rather well-spent.
[1] http://git.fedoraproject.org/?p=hosted/revisor;a=blob_plain;f=scripts/depche...
Not 100% sure what your script does, but have you had a look at repoclose?
Usage: /usr/bin/repoclosure [-c <config file>] [-a <arch>] [-r <repoid>] [-r <repoid2>]
Options: -h, --help show this help message and exit -c CONFIG, --config=CONFIG config file to use (defaults to /etc/yum.conf) -a ARCH, --arch=ARCH check packages of the given archs, can be specified multiple times (default: current arch) -b, --builddeps check build dependencies only (needs source repos enabled) -r REPOID, --repoid=REPOID specify repo ids to query, can be specified multiple times (default is all enabled) -t, --tempcache Use a temp dir for storing/accessing yum-cache -q, --quiet quiet (no output to stderr) -n, --newest check only the newest packages in the repos
-of