Nick Rout wrote:

>>Last time I looked rpm tells you which dependencies are not satisfied,
>>but not which packages satisfy them (how could it?). That's where the
>>guesswork comes in.
>>
>
>true, but go to rpmfind.net and search for the dependency, eg
>libcomplex.so.4 and it will tell you what rpm it is in. You can then
>download it from rpmfind, or your cd or a close mirror or whatever.
>
>The point that was being made is that if rpm is given a whole list of
>rpm files it will locate dependencies within thiose files and not give
>any error. Of course if there are needed dependencies that  are not in
>the given list you are back to square one.
>
>
>Or you can use up2date or the equivalent tool from you distro that
>automatically downloads all dependencies. Some people object to up2date
>because you must register (for free) to use it, and it only downloads
>from redhat, which can be slow.
>
>apt-rpm may indeed be the solution, but I have yet to use it given the
>warnings about it last time I looked at its homepage. (beta , may trash
>system, we take no reponsibility etc). 
>
>I think urpmi in mandrake does a similar job, and there is a gui wrapper.
>It has the advantages that (1) it will take dependencies from cdrom
>sources as well as from the net (2) you can put your own mirror
>definitions in, so you can download from a closer site, or even your own
>lan if you have a number of machines to update.
>
>Then there is the BSD/sorcerer/gentoo approach of always downloading &
>compiling the latest sources, my gentoo distro which I installed over
>the weekend is running kde3 quite nicely, and kde2 never touched it.
>
Yes, urpmi does and the software manager frontend in Mandrake Control 
Center works very well indeed.  You can specify it to check a local 
directory first for the needed dep then have it get it from your 
local/preferred mirror.  It also handles nested deps pretty well which 
other methods may not.

gFTP also has a nice directory compare feature so for example, should 
you want to stay bleeding edge (in Mandrake for ex) you just compare 
your local RPM's directory with the mirror, delete older rpm's on your 
dir then download the newer RPM's from the mirror. Since the distro's 
ensure that the mirror contains all RPM's to satisfy any dependencies 
for the distro you can be certain you have the needed rpm on your system 
at all times.

Then, from the command line run:

rpm --freshen *.rpm   or

rpm -Fvh *.rpm   whateva,

then, as discussed all installed rpm's will be updated after the deps 
are fulfilled which it will list if needed.

If you update fairly often then software manager/urpmi/apt get won't be 
necessary as there will rarely be deps that must be fulfilled.

Also, just FYI, I find that http://rpm.pbone.net/index.php3/stat/2  is 
often better than RPM find for RPM's/deps.

Regards,

Jason

Reply via email to