X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm-provides-dont-obsolete.patch;h=1054bdcfbdfde34e66af442d35a29f622dba052c;hp=51d1d7f508418d5504d5ffe414c41db660fefb88;hb=e842fa7e2dfeac0fd135c419a89ac5f538c408fc;hpb=692038331429a07e3b60c05c3ba5befbd9b82a62 diff --git a/rpm-provides-dont-obsolete.patch b/rpm-provides-dont-obsolete.patch index 51d1d7f..1054bdc 100644 --- a/rpm-provides-dont-obsolete.patch +++ b/rpm-provides-dont-obsolete.patch @@ -1,15 +1,17 @@ --- rpm-4.3/lib/depends.c.orig 2003-05-15 18:16:51.000000000 +0200 +++ rpm-4.3/lib/depends.c 2003-06-29 00:17:42.000000000 +0200 -@@ -254,7 +254,11 @@ +@@ -343,8 +343,12 @@ /* On upgrade, erase older packages of same color (if any). */ -- mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, rpmteN(p), 0); + /* NOTE: in PLD we don't want to remove packages which only provided + * %{name} (e.g. perl-modules in case of some newer perl modules), + * so we use NAME instead of PROVIDENAME (as in vanilla rpm) here */ + + if (!(depFlags & RPMDEPS_FLAG_NOUPGRADE)) { +- mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, rpmteN(p), 0); + mi = rpmtsInitIterator(ts, RPMTAG_NAME, rpmteN(p), 0); while((oh = rpmdbNextIterator(mi)) != NULL) { - - /* Ignore colored packages not in our rainbow. */ + int lastx; + rpmte q; +