Hi all!

With the help of TobiG I wrote a simple helper, for all those who need to 
update packages. Sometimes, as you all know, it's non-trivial to get all 
depencies or reverse depencies of a package - that's what this little helper 
will calculate for you. 

If you upgrade a package, the script will be able to find out which packages 
you also need to rebuild/update. Also it gives you a hint (reverse depencies) 
about which packages might break after your upgrade. You should always 
investigate that listing, because if any package that's part of the 
buildenvironment depends on the package you're trying to upgrade, the update 
might result in a broken buildenvironment. You might consult TobiG or me in 
such cases ;)

To use that script, you have to do the following:

checkout the whole rpmlookup svn tree at $SVNROOT/yoper/projects/rpmlookup

copy the file $SVNROOT/yoper/projects/rpmlookup/Default.cfg to your homedir 
at: ~/.yoperbuild/rpmlookup/Default.cfg

Modify the contents of the file:
cache: should point to a file location holding the svn spec cache (that's just 
used to speed up lookups)
svndir: should point to the local svn working copy of the spec files, namely 
$SVNROOT/yoper, usually containing 3.0, 3.1, devel, playground, projects 
and "robots.text". Use path's only, no environment variables are supported.

After that is done, you're ready for your first run of svnCacheLookup.py. The 
usage of that script should be self explanational. It does support the 
options "-r" and "-d", "-r" meaning calculate reverse depencies, "-d" 
depencies. E.g. running "svnCacheLookup.py -d bison" will result in the 
following output:

[EMAIL PROTECTED] ~/svn/yoper/projects/rpmlookup $ ./svnCacheLookup.py -d bison
building cache from  /home/armin/svn/yoper/3.0/rocketfuel
done
package bison found at:  /home/armin/svn/yoper/3.0/rocketfuel/bison/bison.spec
/home/armin/svn/yoper/3.0/rocketfuel/texinfo/texinfo.spec
/home/armin/svn/yoper/3.0/rocketfuel/pkg-config/pkg-config.spec
/home/armin/svn/yoper/3.0/rocketfuel/e2fsprogs/e2fsprogs.spec
/home/armin/svn/yoper/3.0/rocketfuel/linux-libc-headers/linux-libc-headers.spec
/home/armin/svn/yoper/3.0/rocketfuel/flex/flex.spec
/home/armin/svn/yoper/3.0/rocketfuel/diffutils/diffutils.spec
/home/armin/svn/yoper/3.0/rocketfuel/gawk/gawk.spec
/home/armin/svn/yoper/3.0/rocketfuel/autoconf/autoconf.spec
/home/armin/svn/yoper/3.0/rocketfuel/automake/automake.spec
/home/armin/svn/yoper/3.0/rocketfuel/automake16/automake16.spec
/home/armin/svn/yoper/3.0/rocketfuel/libtool/libtool.spec
/home/armin/svn/yoper/3.0/rocketfuel/gcc-opt/gcc-opt.spec
/home/armin/svn/yoper/3.0/rocketfuel/gpm/gpm.spec
/home/armin/svn/yoper/3.0/rocketfuel/ncurses/ncurses.spec
/home/armin/svn/yoper/3.0/rocketfuel/readline/readline.spec
/home/armin/svn/yoper/3.0/rocketfuel/gmp/gmp.spec
/home/armin/svn/yoper/3.0/rocketfuel/which/which.spec
/home/armin/svn/yoper/3.0/rocketfuel/binutils/binutils.spec
/home/armin/svn/yoper/3.0/rocketfuel/yopermaintain/yopermaintain.spec
/home/armin/svn/yoper/3.0/rocketfuel/gcc/gcc.spec
/home/armin/svn/yoper/3.0/rocketfuel/m4/m4.spec
/home/armin/svn/yoper/3.0/rocketfuel/bison/bison.spec

Found 22 depencies

You can also redirect the output to a file with the shell, only the paths are 
printed to stdout, all other output goes to stderr and is therefore leftout 
in normal redirection. Notice the direction of the output, it shows the 
package depending on the given package that's at the highest depth in the 
depency graph, meaning you should update packages in the exact order that's 
printed here.

Another thing about what package names are supported: actually all. The 
internal cache of the script is built using all (sub-)package definitions and 
provides of a spec file, so e.g. calculating depencies of qt4-devel will in 
fact calculate those for qt4 instead. Keep that in mind.

I hope that this little script is useful - TobiG and me will continue 
developing it much further.

Regards

Armin Kazmi
_______________________________________________
yoper-dev mailing list
yoper-dev@lists.yoper.com
http://lists.frank-hosting.de/cgi-bin/mailman/listinfo/yoper-dev

Reply via email to