On Wed, 15 Dec 2004 06:49:22 +0000, Michael A. Peters <mpeters@xxxxxxx> wrote: > You can specifically exclude packages from one or the other - or use a > really nify package manager called smart (it's available from dag I > believe) and set priority - as in freshrpms could have a priority of 0, > fedora extras/livna could have a priority of 1, base OS could have a > priority of 3, updates-released could have a priority of 4. I will repeat my concerns about the approach smart takes. If a package is 'too smart' and gladly picks up whatever combination of packages that best fit the users dependancy chain from a number of sources... you run the risk of not having packaging errors reported by users. I'm also concerned about packaging problems leading to unexpected chains of package removals and replacing them with a chain of packages from another repository if the package tool is 'too smart'. Packaging errors do happen.... and if the tool is too flexible these errors will be less likely reported. I also look at priorities as the way smart exposes them as a workaround and not a solution. Users can only adjust priorities after they have personal experience. And while priorities provide advanced experienced users with a convient tool to address their frustrations, its not a reasonably useful mechanism for inexperienced users to navigate. I'm much more interested in finding a way for repositories to encode their peering and inter-repository dependancy policies into the metadata for tools to use as sane defaults. So when repository A states a policy that it does not conflict with repository B or repository C. The package manager is made aware of that and flags any conflict between A and B or between B and C as a 'bug' for the user to report. And when a reposoitory named cruftyrpms states a policy that it uses base and extras as dependant repositories, that can be encoded into the metadata of the repository and the package manager can use that information and find deps for cruftyrpms in the stated locations. And if a dep is unfullfilled, it flags the problem as a 'bug' and tells the user to report the problem. -jef