> Well ... there is the MD5 which should be an okay unique ID, > but in general what Florin ask is his own view of the constraints > but there are others (for example you may want to pick the -devel > or -debuginfo packages from the same source, or make sure that > your mod_xxx packages come from the same source as your apache). > I'm firmly convinced that trying to handle a large set of heterogenous > sources with conflicts in a totally automated fashion does not work, > you will have to provide policies to resolve conflicts. > One policy is to hierarchise sources and order them so that > all packages can be sorted by priority order and update/upgrade > would only pick teh first match in that list. Other policies are > possible for example stating that all packages requiring (directly > or indirectly) apache should come from a given source. > > Trying to provide easy way to plug policies in the engine > sounds to me a far more productive way to spend the developpers > limited time ... For the new depsolver I get back a list of package objects that can solve for a particular dep or for the requested install. each package object has a repo it came from w/i it. There is a space to figure out which package to use (all other things being equal. However, this is based on the packages being equal versions, and picking one location MORE than the other. The problem I have is that you want to say: even if repofoo has package bar as the newest, I want package bar to come from repobaz. It seems like these are policies best applied in advance so yum doesn't have to know about them and realize it's not allowed to use them. but then what people normally want is, use repobaz for package bar, but only if they are w/i the same major version, otherwise use whatever is the highest. and that is next to impossible to code for or handle intelligibly. my goals right now are to get yum with the new metadata working as well as yum with the .hdrs. Then we'll need to go back and see what we can do to augment the resolution with policies. -sv