On Wed, 2 May 2001, Barnet Wagman wrote:
I wonder if anyone could explain how YaST (and/or YaST2) resolves package dependencies. (I've been having problems with bad dependencies and am thinking about how to resolve these problems).
As far as I can tell, 'rpm -q -requires' yields a list of required files, not packages. To satisfy dependencies, you need to find the packages that contain these required files. The SuSE CDs have lists of packages, but no database that lets you find the the package that contains a particular file.
Or if it does, I couldn't find it. Does YaST actually run 'rpm -q -provides' on every package to find dependencies? This seems unlikely - otherwise you'd have to be constantly switching CDs whenever YaST does a dependency check, which is not the case.
Any information on this subject would be appreciated. (Or if you know of any documentation on this subject, please let me know).
Well, there is not much magic involved. In fact, there is a file that keeps track of all these dependencies and that is being used by the YaSTs: CD1:/suse/setup/descr/common.pkd This file is being created during the creation of the CDs (basically using RPM -q -provides as you have guessed) and is being used to resolve package dependencies. If you need to find a package that contains a certain file, you can grep for this file in the directory CD1:/suse/contents/* Hope that helps! Bye, LenZ -- ------------------------------------------------------------------ Lenz Grimmer SuSE GmbH mailto:grimmer@suse.de Schanzaeckerstr. 10 http://www.suse.de/~grimmer/ 90443 Nuernberg, Germany One who is always in a stew generally goes to pot.