From e1e43cefedad0f1aea0bc1476a891d72c4b2295c Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Tue, 11 Sep 2007 09:01:19 +0300 Subject: [PATCH] Fake callbacks on erasure for packages without files (rhbz#259961) --- lib/psm.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/psm.c b/lib/psm.c index 8366a34..a47c08f 100644 --- a/lib/psm.c +++ b/lib/psm.c @@ -1753,7 +1753,14 @@ psm->te->h = headerLink(fi->h); if (rpmtsFlags(ts) & RPMTRANS_FLAG_JUSTDB) break; if (rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY) break; - if (fc <= 0) break; + + /* XXX Synthesize callbacks for packages with no files. */ + if (rpmfiFC(fi) <= 0) { + void * ptr; + ptr = rpmtsNotify(ts, fi->te, RPMCALLBACK_UNINST_START, 0, 100); + ptr = rpmtsNotify(ts, fi->te, RPMCALLBACK_UNINST_STOP, 0, 100); + break; + } psm->what = RPMCALLBACK_UNINST_START; psm->amount = fc; /* XXX W2DO? looks wrong. */ -- 2.7.4