repoclosure.py

seth vidal skvidal at phy.duke.edu
Sat Feb 5 08:17:43 UTC 2005


Hey,
 I just wrote a script using the yum modules to check to see if a set of
repositories have dependency closure for all packages in the
repositories.

it's very simple and obvious but it has some nice results:
I ran:

cutter:~$ python ./repoclosure.py development
Not running a root, might not be able to import all of cache
Reading in repository metadata - please wait....
Checking Dependencies
Repos looked at: 1
   development
Num Packages in Repos: 2663
package: openoffice.org - 1.1.3-2.7.i386 from development
  unresolved deps:
     libedataserver.so.3
     libebook.so.8
package: gnome-python2-nautilus - 2.6.0-5.i386 from development
  unresolved deps:
     libnautilus.so.2
package: struts11-webapps-tomcat5 - 1.1-1jpp_2fc.noarch from development
  unresolved deps:
     tomcat5
package: nautilus-media - 0.8.1-4.i386 from development
  unresolved deps:
     libnautilus.so.2
package: evolution-connector - 2.0.3-1.i386 from development
  unresolved deps:
     libcamel.so.0
     libedata-book.so.1
     libedata-cal.so.5
     libedataserver.so.3
     libgal-a11y-2.2.so.1
     libgal-2.2.so.1
     libebook.so.8
     libecal.so.6

so that's kinda cool b/c now we know what packages simply aren't going
to resolve out in development right now if you tried to install or
update to them.

http://linux.duke.edu/yum/download/misc/repoclosure.py

I think it works okay, it seems to at least :)

You run it like:
repoclosure.py repoid repoid repoid

or if you want it to check your default repositories that you have
enabled in your yum configuration then just run:
repoclosure.py

You need to have yum 2.1.13 installed to really test it.

The only other thing you might want to do is either:
 1. run repoclosure.py as root
 2. run yum makecache as root with the repositories you want to use
enabled.

thanks,
-sv








More information about the fedora-devel-list mailing list