RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 24-Mar-2011 17:55:06 Branch: rpm-5_3 Handle: 2011032416550600 Modified files: (Branch: rpm-5_3) rpm/lib psm.c Log: commit fire-file-triggers-only-once patch from mandriva under #ifdef Summary: Revision Changes Path 2.394.2.7 +21 -0 rpm/lib/psm.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/lib/psm.c ============================================================================ $ cvs diff -u -r2.394.2.6 -r2.394.2.7 psm.c --- rpm/lib/psm.c 24 Mar 2011 16:47:31 -0000 2.394.2.6 +++ rpm/lib/psm.c 24 Mar 2011 16:55:06 -0000 2.394.2.7 @@ -1476,11 +1476,32 @@ /*@innercontinue@*/ continue; rc |= handleOneTrigger(psm, fi->h, triggeredH, arg2); prev = instance; + +#if !defined(RPM_VENDOR_MANDRIVA) + /* + * 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); +#else + /* 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; + xx = argiAdd(&instances, -1, instance); + xx = argiSort(instances, NULL); +#endif } mi = rpmmiFree(mi); +#if defined(RPM_VENDOR_MANDRIVA) + /* again don't fire same trigger over and over.. */ + if(tagno == RPMTAG_BASENAMES || RPMTAG_DIRNAMES) + break; +#endif } instances = argiFree(instances); @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org