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:47:31 Branch: rpm-5_3 Handle: 2011032416473100 Modified files: (Branch: rpm-5_3) rpm/lib psm.c Log: commit non-pre-scripts-dont-fail patch from mandriva under #ifdef Summary: Revision Changes Path 2.394.2.6 +12 -8 rpm/lib/psm.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/lib/psm.c ============================================================================ $ cvs diff -u -r2.394.2.5 -r2.394.2.6 psm.c --- rpm/lib/psm.c 29 Dec 2010 15:04:06 -0000 2.394.2.5 +++ rpm/lib/psm.c 24 Mar 2011 16:47:31 -0000 2.394.2.6 @@ -2178,6 +2178,10 @@ rpmRC rc = psm->rc; int saveerrno; int xx; + int non_pre_scripts_dont_fail = 0; +#if defined(RPM_VENDOR_MANDRIVA) + non_pre_scripts_dont_fail = rpmExpandNumeric("%{?_legacy_compat_non_pre_scripts_dont_fail}"); +#endif /* XXX hackery to assert(!scareMem) in rpmfiNew. */ /*@-castexpose@*/ @@ -2399,11 +2403,11 @@ if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERUN)) { /* Run triggers in this package other package(s) set off. */ rc = rpmpsmNext(psm, PSM_IMMED_TRIGGERS); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; /* Run triggers in other package(s) this package sets off. */ rc = rpmpsmNext(psm, PSM_TRIGGERS); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; } if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPREUN)) @@ -2743,16 +2747,16 @@ if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOST)) { rc = rpmpsmNext(psm, PSM_SCRIPT); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; } if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERIN)) { /* Run triggers in other package(s) this package sets off. */ rc = rpmpsmNext(psm, PSM_TRIGGERS); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; /* Run triggers in this package other package(s) set off. */ rc = rpmpsmNext(psm, PSM_IMMED_TRIGGERS); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; } /* @@ -2785,17 +2789,17 @@ if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUN)) { rc = rpmpsmNext(psm, PSM_SCRIPT); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; } if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERPOSTUN)) { /* Run triggers in other package(s) this package sets off. */ rc = rpmpsmNext(psm, PSM_TRIGGERS); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; /* Run triggers in this package other package(s) set off. */ rc = rpmpsmNext(psm, PSM_IMMED_TRIGGERS); - if (rc) break; + if(rc && !non_pre_scripts_dont_fail) break; } if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY)) @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org