From 55c52041442a629962a4317a1a7cf9fce50da05b Mon Sep 17 00:00:00 2001 From: jbj Date: Sat, 11 Sep 1999 23:57:59 +0000 Subject: [PATCH] fix: avoid db problems with self-obsoleting packages on install. CVS patchset: 3278 CVS date: 1999/09/11 23:57:59 --- CHANGES | 1 + lib/depends.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGES b/CHANGES index 2afb671..d4c932c 100644 --- a/CHANGES +++ b/CHANGES @@ -46,6 +46,7 @@ - Tru64: avoid find-requires variable size limit (Tim Mooney). - Solaris: use getpassphrase rather than getpass if available. - pgp and pgp5 have compatible RSA signature (#4780). + - fix: avoid db problems with self-obsoleting packages on install. 3.0.1 -> 3.0.2 - eliminate armv4 entries from rpmrc (Andrew E. Mileski). diff --git a/lib/depends.c b/lib/depends.c index 99039ee..8ab4534 100644 --- a/lib/depends.c +++ b/lib/depends.c @@ -551,6 +551,11 @@ int rpmtransAddPackage(rpmTransactionSet rpmdep, Header h, FD_t fd, headerGetEntry(h, RPMTAG_OBSOLETEFLAGS, NULL, (void **) &obsoletesFlags, NULL); for (j = 0; j < count; j++) { + + /* XXX avoid self-obsoleting packages. */ + if (!strcmp(name, obsoletes[j])) + continue; + if (rpmdbFindPackage(rpmdep->db, obsoletes[j], &matches)) continue; for (i = 0; i < dbiIndexSetCount(matches); i++) { -- 2.7.4