2012-08-01 14:59:23 +04:00
|
|
|
--- rpm-5.4.9/lib/psm.c.scriptlet~ 2012-04-19 19:26:06.000000000 +0200
|
|
|
|
+++ rpm-5.4.9/lib/psm.c 2012-05-15 01:43:59.841922573 +0200
|
|
|
|
@@ -2195,6 +2195,10 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage s
|
2012-02-01 14:15:49 +04:00
|
|
|
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@*/
|
2012-08-01 14:59:23 +04:00
|
|
|
@@ -2416,11 +2420,11 @@ assert(he->p.argv != NULL);
|
2012-02-01 14:15:49 +04:00
|
|
|
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERUN)) {
|
|
|
|
/* Run triggers in this package other package(s) set off. */
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
|
2012-02-01 14:15:49 +04:00
|
|
|
- if (rc) break;
|
|
|
|
+ if(rc && !non_pre_scripts_dont_fail) break;
|
|
|
|
|
|
|
|
/* Run triggers in other package(s) this package sets off. */
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_TRIGGERS);
|
2012-02-01 14:15:49 +04:00
|
|
|
- if (rc) break;
|
|
|
|
+ if(rc && !non_pre_scripts_dont_fail) break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPREUN))
|
2012-08-01 14:59:23 +04:00
|
|
|
@@ -2759,16 +2763,16 @@ assert(psm->te != NULL);
|
2012-02-01 14:15:49 +04:00
|
|
|
|
|
|
|
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOST)) {
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_SCRIPT);
|
2012-02-01 14:15:49 +04:00
|
|
|
- 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. */
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_TRIGGERS);
|
2012-02-01 14:15:49 +04:00
|
|
|
- if (rc) break;
|
|
|
|
+ if(rc && !non_pre_scripts_dont_fail) break;
|
|
|
|
|
|
|
|
/* Run triggers in this package other package(s) set off. */
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
|
2012-02-01 14:15:49 +04:00
|
|
|
- if (rc) break;
|
|
|
|
+ if(rc && !non_pre_scripts_dont_fail) break;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2012-08-01 14:59:23 +04:00
|
|
|
@@ -2801,17 +2805,17 @@ assert(psm->te != NULL);
|
2012-02-01 14:15:49 +04:00
|
|
|
|
|
|
|
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUN)) {
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_SCRIPT);
|
2012-02-01 14:15:49 +04:00
|
|
|
- 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. */
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_TRIGGERS);
|
2012-02-01 14:15:49 +04:00
|
|
|
- if (rc) break;
|
|
|
|
+ if(rc && !non_pre_scripts_dont_fail) break;
|
|
|
|
|
|
|
|
/* Run triggers in this package other package(s) set off. */
|
2012-08-01 14:59:23 +04:00
|
|
|
rc = (rpmRC) rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
|
2012-02-01 14:15:49 +04:00
|
|
|
- if (rc) break;
|
|
|
|
+ if(rc && !non_pre_scripts_dont_fail) break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY))
|