diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2007-09-11 09:01:19 +0300 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2007-09-11 09:01:19 +0300 |
commit | e1e43cefedad0f1aea0bc1476a891d72c4b2295c (patch) | |
tree | a8b59496e7c27686fc4f6f41cc1c0c67193f43c0 /lib | |
parent | 39e601dac901f82c6ba5c2474bec7bbd3b69b3e4 (diff) | |
download | rpm-e1e43cefedad0f1aea0bc1476a891d72c4b2295c.tar.gz rpm-e1e43cefedad0f1aea0bc1476a891d72c4b2295c.tar.bz2 rpm-e1e43cefedad0f1aea0bc1476a891d72c4b2295c.zip |
Fake callbacks on erasure for packages without files (rhbz#259961)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/psm.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -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. */ |