[prev in list] [next in list] [prev in thread] [next in thread]
List: rpmorg-maint
Subject: [Rpm-maint] RPM 4.13.0-alpha released
From: thierry.vignaud () gmail ! com (Thierry Vignaud)
Date: 2015-08-25 13:46:42
Message-ID: CAONrEtZOmF9spAHgZzX_Lc3ue1MptSfno9id4B0hxHr2ktibAQ () mail ! gmail ! com
[Download RAW message or body]
On 25 August 2015 at 13:41, Thierry Vignaud <thierry.vignaud at gmail.com> wrote:
>>> The problem is when you upgrade distro N to N+2 both triggers should
>>> be run but only one was run, which was confusing so we disallowed
>>> triggers fired by the same package with overlapping version intervals.
>>> And initscripts <= 4.72 and initscripts <= 8.38-2 overlaps.
>>> Have a look at bugs #585384, #702378 that initiate this change.
>>
>> OK for that but there's a related issue with file triggers:
>> I was testing converting our old filetriggers to new upstream filetriggers.
>> However it looks like it's no more possible to have 2 different
>> filetriggers (for %trans* ones) on the same directory:
>>
>> D: %triggerin(null-1:11-11.mga6.x86_64): waitpid(19591) rc 19591 status 0
>> rpm: backend/dbiset.c:62: dbiIndexSetUniq: Assertion `set->count > 0' failed.
>>
>> See the calls to rpmtsUniqTriggers() in lib/rpmtriggers.c
> err, s/rpmtsUniqTriggers/rpmdbUniqIterator/
>
>> Why is that?
>>
>> For now, I've workarounded the case I've seen but there may be other cases...
And I've encountered more cases.
The attached patch fixes that situation
-------------- next part --------------
diff -up ./lib/rpmtriggers.c.tv ./lib/rpmtriggers.c
--- ./lib/rpmtriggers.c.tv 2015-07-23 08:41:00.651210888 -0400
+++ ./lib/rpmtriggers.c 2015-08-25 09:41:58.339200191 -0400
@@ -124,7 +124,6 @@ void rpmtriggersPrepPostUnTransFileTrigs
}
rpmdbIndexIteratorFree(ii);
- rpmdbUniqIterator(mi);
if (rpmdbGetIteratorCount(mi)) {
/* Filter triggers and save only trans postun triggers into ts */
while((trigH = rpmdbNextIterator(mi)) != NULL) {
@@ -317,7 +316,6 @@ static const char *matchFilesNext(matchF
RPMDBI_DIRNAMES, mfi->pfx, 0);
rpmdbFilterIterator(mfi->pi, mfi->tranPkgs, 0);
- rpmdbUniqIterator(mfi->pi);
} while (fx >= 0);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic