--- rpm-5.3.8/lib/psm.c.trigger_once~ 2011-02-21 22:35:22.081663000 +0100 +++ rpm-5.3.8/lib/psm.c 2011-02-21 22:35:25.023663001 +0100 @@ -1482,11 +1482,23 @@ static rpmRC runTriggersLoop(rpmpsm psm, /*@innercontinue@*/ continue; rc |= handleOneTrigger(psm, fi->h, triggeredH, arg2); prev = instance; + + /* FIXME: 'instances' is never really used for anything later, + * and seems to have some bug making it eat it all memory xx = argiAdd(&instances, -1, instance); - xx = argiSort(instances, NULL); + xx = argiSort(instances, NULL);*/ + /* As no filenames or anything is passed to the trigger script, + * there doesn't seem to be any reason to fire the same trigger + * over and over.. + */ + if(tagno == RPMTAG_BASENAMES || RPMTAG_DIRNAMES) + break; } mi = rpmmiFree(mi); + /* again don't fire same trigger over and over.. */ + if(tagno == RPMTAG_BASENAMES || RPMTAG_DIRNAMES) + break; } instances = argiFree(instances);