On Monday 21 July 2003 10:51, Charles A Edwards wrote: > On Mon, 21 Jul 2003 08:44:23 -0700 > > Andi Payn <[EMAIL PROTECTED]> wrote: > > 4. Come up with a new policy for provides/obsoletes when replacing old > > packages. Just versioning the obsoletes will solve 95% of the > > problems. (If gimp-1.2 and gimp1_3-1.3 both said "Obsoletes: hackgimp > > < 1.2" instead of "Obsoletes: hackgimp" everything would work fine.) > > To solve the other 5%, don't ever copy over obsoletes tags from the > > previous major version (except where it makes sense, of course). > > I am wondering if this same is also occurring with Conflicts/Provides. > > When I uploaded gettext_0.12-0.12.1 each sub pkg carried the tag > Conflicts: [foo] < %version > Provides: [foo] = %version > > If urpmi/rpmdrake is used to install gettext_0.12 it naturally wants to > remove the currently installed gettext-0.11.5, But it also wants to > Remove All pkg and children which have a Require for gettext. > It is disregarding the Provides for the gettext_0.12 pkgs. > > If the 0.12 rpms are manually installed the Provides are accepted since > --auto-select does not want to remove anything due to failed Depends.
I don't think this is the same problem. My guess is that what's happening is this: urpmi sees the conflicts, and decides to remove the gettext packages before trying to install the gettext_0.12 packages. To remove all of those packages, it has to remove everything that requires those packages. So it does so. Then it installs the new packages. If the new packages obsoleted the old ones rather than conflicting with them, then urpmi could just use rpm to upgrade to the new versions, so it wouldn't try to uninstall the old versions first, so all the dependent packages wouldn't get removed. In other words, if I'm right, this is almost the exact opposite problem: instead of being caused by adding unnecessary obsoletes tags, it's caused by omitting necessary obsoletes tags....
